summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--DONORS.md83
-rw-r--r--core/array.cpp72
-rw-r--r--core/array.h3
-rw-r--r--core/input/input_event.cpp2
-rw-r--r--core/io/logger.cpp11
-rw-r--r--core/math/octree.h4
-rw-r--r--core/math/transform_2d.cpp12
-rw-r--r--core/math/transform_2d.h11
-rw-r--r--core/os/os.h2
-rw-r--r--core/project_settings.cpp35
-rw-r--r--core/variant.h9
-rw-r--r--doc/classes/@GlobalScope.xml7
-rw-r--r--doc/classes/AnimatedTexture.xml2
-rw-r--r--doc/classes/BaseMaterial3D.xml2
-rw-r--r--doc/classes/CPUParticles2D.xml1
-rw-r--r--doc/classes/GPUParticles2D.xml1
-rw-r--r--doc/classes/Generic6DOFJoint3D.xml12
-rw-r--r--doc/classes/MeshInstance2D.xml1
-rw-r--r--doc/classes/MultiMeshInstance2D.xml1
-rw-r--r--doc/classes/Node2D.xml4
-rw-r--r--doc/classes/Node3D.xml2
-rw-r--r--doc/classes/Polygon2D.xml2
-rw-r--r--doc/classes/ProjectSettings.xml7
-rw-r--r--doc/classes/RenderingServer.xml2
-rw-r--r--doc/classes/SpinBox.xml2
-rw-r--r--doc/classes/Sprite2D.xml1
-rw-r--r--doc/classes/StyleBoxTexture.xml1
-rw-r--r--doc/classes/TileSet.xml1
-rw-r--r--doc/classes/Tween.xml2
-rw-r--r--doc/classes/Viewport.xml22
-rw-r--r--doc/translations/classes.pot7385
-rw-r--r--doc/translations/fr.po7391
-rw-r--r--editor/editor_help.cpp2
-rw-r--r--editor/editor_inspector.cpp26
-rw-r--r--editor/editor_node.cpp2
-rw-r--r--editor/node_3d_editor_gizmos.cpp2
-rw-r--r--editor/plugins/material_editor_plugin.cpp6
-rw-r--r--editor/plugins/mesh_editor_plugin.cpp6
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp26
-rw-r--r--editor/plugins/script_editor_plugin.cpp2
-rw-r--r--editor/plugins/script_text_editor.cpp37
-rw-r--r--editor/plugins/script_text_editor.h2
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp17
-rw-r--r--editor/scene_tree_dock.cpp13
-rw-r--r--editor/translations/ar.po597
-rw-r--r--editor/translations/bn.po9
-rw-r--r--editor/translations/de.po15
-rw-r--r--editor/translations/eo.po27
-rw-r--r--editor/translations/es.po92
-rw-r--r--editor/translations/es_AR.po28
-rw-r--r--editor/translations/fi.po19
-rw-r--r--editor/translations/fr.po54
-rw-r--r--editor/translations/he.po50
-rw-r--r--editor/translations/hu.po1
-rw-r--r--editor/translations/it.po17
-rw-r--r--editor/translations/ja.po111
-rw-r--r--editor/translations/ko.po16
-rw-r--r--editor/translations/mr.po20
-rw-r--r--editor/translations/nl.po55
-rw-r--r--editor/translations/pl.po11
-rw-r--r--editor/translations/pt_BR.po33
-rw-r--r--editor/translations/pt_PT.po41
-rw-r--r--editor/translations/ru.po17
-rw-r--r--editor/translations/sk.po26
-rw-r--r--editor/translations/uk.po10
-rw-r--r--editor/translations/zh_CN.po17
-rw-r--r--editor/translations/zh_HK.po587
-rw-r--r--main/main.cpp12
-rw-r--r--modules/csg/csg_shape.cpp4
-rw-r--r--modules/gdscript/gdscript.cpp19
-rw-r--r--modules/gdscript/gdscript_editor.cpp12
-rw-r--r--modules/gdscript/gdscript_functions.cpp3
-rw-r--r--modules/gdscript/gdscript_parser.cpp14
-rw-r--r--modules/gridmap/grid_map.cpp14
-rw-r--r--modules/gridmap/grid_map_editor_plugin.cpp12
-rw-r--r--modules/mono/utils/string_utils.cpp10
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java11
-rw-r--r--platform/javascript/os_javascript.cpp2
-rw-r--r--platform/linuxbsd/display_server_x11.cpp94
-rw-r--r--platform/linuxbsd/display_server_x11.h5
-rw-r--r--platform/windows/display_server_windows.cpp139
-rw-r--r--platform/windows/display_server_windows.h120
-rw-r--r--scene/2d/navigation_region_2d.cpp2
-rw-r--r--scene/2d/navigation_region_2d.h2
-rw-r--r--scene/2d/node_2d.cpp42
-rw-r--r--scene/2d/node_2d.h5
-rw-r--r--scene/2d/tile_map.cpp7
-rw-r--r--scene/3d/audio_stream_player_3d.cpp8
-rw-r--r--scene/3d/camera_3d.cpp10
-rw-r--r--scene/3d/collision_object_3d.cpp2
-rw-r--r--scene/3d/cpu_particles_3d.cpp1
-rw-r--r--scene/3d/node_3d.cpp6
-rw-r--r--scene/3d/node_3d.h2
-rw-r--r--scene/3d/physics_joint_3d.cpp6
-rw-r--r--scene/3d/ray_cast_3d.cpp2
-rw-r--r--scene/3d/soft_body_3d.cpp2
-rw-r--r--scene/3d/spring_arm_3d.cpp4
-rw-r--r--scene/3d/visibility_notifier_3d.cpp8
-rw-r--r--scene/3d/visual_instance_3d.cpp4
-rw-r--r--scene/3d/world_environment.cpp50
-rw-r--r--scene/animation/animation_player.cpp4
-rw-r--r--scene/animation/tween.cpp10
-rw-r--r--scene/gui/text_edit.cpp2
-rw-r--r--scene/main/scene_tree.cpp10
-rw-r--r--scene/main/viewport.cpp110
-rw-r--r--scene/main/viewport.h16
-rw-r--r--scene/resources/visual_shader.cpp45
-rw-r--r--scene/resources/visual_shader.h17
-rw-r--r--scene/resources/visual_shader_nodes.cpp66
-rw-r--r--scene/resources/visual_shader_nodes.h14
-rw-r--r--servers/register_server_types.cpp1
-rw-r--r--servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp22
-rw-r--r--thirdparty/README.md1
-rw-r--r--thirdparty/misc/stb_vorbis.c2
114 files changed, 10266 insertions, 7775 deletions
diff --git a/DONORS.md b/DONORS.md
index f11cb85822..134dc0484b 100644
--- a/DONORS.md
+++ b/DONORS.md
@@ -25,7 +25,6 @@ generous deed immortalized in the next stable release of Godot Engine.
AD Ford
Alan Beauchamp
Anand Mallik
- Andres Hernandez
Andrew Dunai
Brandon Lamb
Christian Baune
@@ -36,7 +35,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Edward Flick
Gamechuck
GameDev.net
- GameDev.tv
Grady
Hein-Pieter van Braam
Jacob McKenney
@@ -60,13 +58,10 @@ generous deed immortalized in the next stable release of Godot Engine.
## Gold donors
- Andrei
- Dave
David Gehrig
David Graham
David Snopek
Ed Morley
- Florian Krick
Florian Rämisch
Jakub Grzesik
Manuele Finocchiaro
@@ -85,11 +80,9 @@ generous deed immortalized in the next stable release of Godot Engine.
David Giardi
Default Name
eggs
- Felix Bohmann
Florian Breisch
Gamejunkey
Javier Roman
- Jay Horton
Jon Woodward
Karl Werf
Keinan Powers
@@ -100,6 +93,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Matthew Hillier
Mohamed Ikbel Boulabiar
Mored4u
+ Rene
Retro Village
Rob Messick
Ryan Badour
@@ -122,15 +116,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Darrian Little
Horváth Péter
Ivan Trombley
- Jakub Dering
Joan Fons
Joshua Flores
- Krzysztof Jankowski
- Lord Bloodhound
- Pascal Grüter
Petr Malac
Rami
- Reneator
Rob
Robert Willes
Ronnie Ashlock
@@ -144,9 +133,9 @@ generous deed immortalized in the next stable release of Godot Engine.
Adam Nakonieczny
Adam Neumann
+ Adrian Demetrescu
Alexander J Maynard
Alexey Dyadchenko
- Alex Z
Andreas Funke
André Frélicot
aoshiwik
@@ -158,50 +147,42 @@ generous deed immortalized in the next stable release of Godot Engine.
Christian Alexander Bjørklund Bøhler
Christian Leth Jeppesen
Christoph Schröder
+ Codee Leaf
Cody Parker
Coldragon
Craig Ostrin
D
- Daniel Eichler
- David White
- Denis Janßen
Easypete
Eric Monson
- ethan ball
Eugenio Hugo Salgüero Jáñez
Fain
flesk
Gary Hulst
gavlig
GGGames.org
- Green Fox
Guilherme Felipe de C. G. da Silva
Halom Vered
Heath Hayes
- Idzard Kwadijk
Isaac Clausman
Jared White
Jeff Nyte
- Jeremy Sims
- Jerry Ling
Joe Flood
John G Gentzel
- Jon Hermansen
Jose Malheiro
Joshua Lesperance
Juan Velandia
Juraj Móza
Kelteseth
+ kickmaniac
kinfox
+ Lain Ballard
Marcelo Dornbusch Lopes
Markus Fehr
Markus Wiesner
Martin Eigel
Matt Eunson
- Max Bulai
m kaersten
MuffinManKen
- Nick Nikitin
Oliver Dick
Oscar Campos
Patrick Ting
@@ -210,9 +191,8 @@ generous deed immortalized in the next stable release of Godot Engine.
Pete Goodwin
pl
Ranoller
- Robert Larnach
+ Rob McInroy
Rocknight Studios
- Romildo Franco
Ryan
Samuel Judd
Scott Pilet
@@ -221,10 +201,8 @@ generous deed immortalized in the next stable release of Godot Engine.
Sindre Sømme
SleepCircle
spilldata
- Steve Hyatt
Stoned Xander
TheLevelOfDetail .
- Thomas Krampl
Thomas Kurz
Tobias Bocanegra
Urho
@@ -237,6 +215,7 @@ generous deed immortalized in the next stable release of Godot Engine.
1D_Inc
Abraham Haskins
+ Acheron
Adam
Adam Brunnmeier
Adam Carr
@@ -247,7 +226,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Adam Smeltzer
Adam Szymański
Adisibio
- Adrian Demetrescu
Agustinus Arya
Aidan O'Flannagain
Aki Mimoto
@@ -279,14 +257,13 @@ generous deed immortalized in the next stable release of Godot Engine.
B A
Balázs Batári
Benedikt
- Ben G
- Ben Phelan
Ben Vercammen
Bernd Jänichen
Bjarne
Black Block
Blair Allen
Bobby CC Wong
+ Bram
brian
bugcaptor
Burney Waring
@@ -294,6 +271,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Carlo Sitaro
Carl van der Geest
Carwyn Edwards
+ Cas Brugman
Cassidy James
Chris Brown
Chris Chapin
@@ -304,17 +282,17 @@ generous deed immortalized in the next stable release of Godot Engine.
Christopher Schmitt
Christoph Woinke
Clay Heaton
+ Cole Johnson
Curt King
Daniel Johnson
Daniel Kimblad
- Daniel Pontillo
+ Daniel Tebbutt
David May
David Woodard
DiCola Jamn
Dominic Cooney
Dominik Wetzel
Donn Eddy
- Donovan Hutcheon
Dragontrapper
Dr Ewan Murray
Duobix
@@ -322,9 +300,9 @@ generous deed immortalized in the next stable release of Godot Engine.
Dylan Todd
Eduardo Teixeira
Edward Herbert
- Edward Moulsdale
Edward Swartz
Egon Elbre
+ Elgenzay
Elias Nykrem
Elmeri '- Duy Kevin Nguyen
Ephemeral
@@ -335,20 +313,21 @@ generous deed immortalized in the next stable release of Godot Engine.
Evan Rose
Fancy Ants Studios
Fekinox
+ Felix Bohmann
Felix Kollmann
Flaredown
Forty Doubleu
+ fox
FuDiggity
Gadzhi Kharkharov
gamedev by Celio
Gary Thomas
George Marques
- GiulianoB
Greg Olson
GREGORY C FEIN
- Greg P
Greyson Richey
Grid
+ Guillaume Audirac
Guldoman
Hal A
Heribert Hirth
@@ -358,6 +337,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Iiari
iKlem
IndustrialRobot
+ Ivan Nikolaev
Jacob
Jaiden Gerig
Jaime Ruiz-Borau Vizárraga
@@ -368,26 +348,26 @@ generous deed immortalized in the next stable release of Godot Engine.
JARKKO PARVIAINEN
Jeff Hungerford
Jennifer Graves
- Jeremy Kahn
Jesse Dubay
Joel Fivat
Joel Höglund
Joel Setterberg
- Johannes Wuensch
John Gabriel
+ John Walker
Jomei Jackson
+ Jonas
Jonas Bernemann
Jonas Rudlang
Jonas Yamazaki
Jonatan R
Jonathan G
- Jonathon
Jon Bonazza
Jon Sully
Jorge Caballero
Jose Aleman
Jose C. Rubio
Joseph Catrambone
+ Josh Mitchell
Juanfran
Judd
Julian Murgia
@@ -395,16 +375,16 @@ generous deed immortalized in the next stable release of Godot Engine.
Justin Hamilton
Justin Spedding
KaDokta
+ Karel Němec
Kauzig
Keedong Park
Keith Bradner
+ Kent Jofur
Kevin McPhillips
- kickmaniac
Kiri Jolly
Kiyohiro Kawamura (kyorohiro)
Kjetil Haugland
Klagsam
- KR McGinley
KsyTek Games
Kuan Cheang
kycho
@@ -415,6 +395,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Lin Chear
Linus Lind Lundgren
Lionel Gaillard
+ Lukáš Rendvanský
Luigi Renna
LunaticInAHat
Lurkars
@@ -429,10 +410,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Mathieu Rimelen
Matt Edwards
Matthew Little
- Matti Pohjanvirta
+ Mauro Pellegrini
+ Max Fiedler
Maxime Blade
Maxwell
- medecau
Megasploot
Melissa Mears
mewin
@@ -447,6 +428,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Mike Cunningham
Mitchell J. Wagner
MoM
+ Mored4u
Nathan Fish
Natrim
nee
@@ -456,9 +438,9 @@ generous deed immortalized in the next stable release of Godot Engine.
Nicholas
Nicholas Girga
Nick Macholl
+ Niclas Eriksen
Nicolás Montaña
Nicolas SAN AGUSTIN
- Nima Farid
NZ
Oleg Reva
Olivier
@@ -471,13 +453,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Paweł Kowal
Pedro Assuncao
Penguin
- Petrus Prinsloo
Philip Cohoe
Point08
Rad Cat
Rafa Laguna
rainerLinux
- Raphael Leroux
Remi Rampin
Rémi Verschelde
Ricardo Alcantara
@@ -485,7 +465,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Richard Ivánek
Robert Farr (Larington)
Robert Hernandez
- Roberto Sánchez
Roger Smith
Roland Rząsa
Roman Tinkov
@@ -493,26 +472,28 @@ generous deed immortalized in the next stable release of Godot Engine.
Ronan
Ryan Groom
Ryan Hentz
- Sam.C
Sam Edson
Samuele Zolfanelli
- Sasori Olkof
Scott D. Yelich
Scott Longley
+ ScottMakesGames
Sebastian Michailidis
Sebastian Vetter
Sergio Mello-Grand
- sgnsajgon
Shane
Shane Sicienski
Shane Spoor
Siim Raidma
+ Simon Jonas Larsen
Simon Wenner
+ Sintinium
SK
smbe19
smo1704
Stefano Caronia
+ Steve Cloete
Svenne Krap
+ Taylor Fahlman
Terry
tezuvholovdr
thomas
@@ -521,10 +502,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Thomas Kelly
Tim Drumheller
Timothy B. MacDonald
- tinyBigGames LLC
Title Plinsut
Tobbun
Tom Glenn
+ Toni Duran
Torgeir Lilleskog
Torsten Crass
Travis O'Brien
diff --git a/core/array.cpp b/core/array.cpp
index cd4e0fb4c8..7c0129ffde 100644
--- a/core/array.cpp
+++ b/core/array.cpp
@@ -285,59 +285,49 @@ Array Array::duplicate(bool p_deep) const {
return new_arr;
}
-int Array::_fix_slice_index(int p_index, int p_arr_len, int p_top_mod) {
- p_index = CLAMP(p_index, -p_arr_len, p_arr_len + p_top_mod);
- if (p_index < 0) {
- p_index = (p_index % p_arr_len + p_arr_len) % p_arr_len; // positive modulo
- }
- return p_index;
-}
+int Array::_clamp_slice_index(int p_index) const {
-int Array::_clamp_index(int p_index) const {
- return CLAMP(p_index, -size() + 1, size() - 1);
+ int arr_size = size();
+ int fixed_index = CLAMP(p_index, -arr_size, arr_size - 1);
+ if (fixed_index < 0) {
+ fixed_index = arr_size + fixed_index;
+ }
+ return fixed_index;
}
-#define ARRAY_GET_DEEP(idx, is_deep) is_deep ? get(idx).duplicate(is_deep) : get(idx)
-
Array Array::slice(int p_begin, int p_end, int p_step, bool p_deep) const { // like python, but inclusive on upper bound
- Array new_arr;
-
- if (empty()) // Don't try to slice empty arrays.
- return new_arr;
- p_begin = Array::_fix_slice_index(p_begin, size(), -1); // can't start out of range
- p_end = Array::_fix_slice_index(p_end, size(), 0);
+ Array new_arr;
- int x = p_begin;
- int new_arr_i = 0;
+ ERR_FAIL_COND_V_MSG(p_step == 0, new_arr, "Array slice step size cannot be zero.");
- ERR_FAIL_COND_V(p_step == 0, new_arr);
- if (Array::_clamp_index(p_begin) == Array::_clamp_index(p_end)) { // don't include element twice
- new_arr.resize(1);
- // new_arr[0] = 1;
- new_arr[0] = ARRAY_GET_DEEP(Array::_clamp_index(p_begin), p_deep);
+ if (empty()) // Don't try to slice empty arrays.
return new_arr;
- } else {
- int element_count = ceil((int)MAX(0, (p_end - p_begin) / p_step)) + 1;
- if (element_count == 1) { // delta going in wrong direction to reach end
- new_arr.resize(0);
+ if (p_step > 0) {
+ if (p_begin >= size() || p_end < -size())
+ return new_arr;
+ } else { // p_step < 0
+ if (p_begin < -size() || p_end >= size())
return new_arr;
- }
- new_arr.resize(element_count);
}
- // if going backwards, have to have a different terminating condition
- if (p_step < 0) {
- while (x >= p_end) {
- new_arr[new_arr_i] = ARRAY_GET_DEEP(Array::_clamp_index(x), p_deep);
- x += p_step;
- new_arr_i += 1;
+ int begin = _clamp_slice_index(p_begin);
+ int end = _clamp_slice_index(p_end);
+
+ int new_arr_size = MAX(((end - begin + p_step) / p_step), 0);
+ new_arr.resize(new_arr_size);
+
+ if (p_step > 0) {
+ int dest_idx = 0;
+ for (int idx = begin; idx <= end; idx += p_step) {
+ ERR_FAIL_COND_V_MSG(dest_idx < 0 || dest_idx >= new_arr_size, Array(), "Bug in Array slice()");
+ new_arr[dest_idx++] = p_deep ? get(idx).duplicate(p_deep) : get(idx);
}
- } else if (p_step > 0) {
- while (x <= p_end) {
- new_arr[new_arr_i] = ARRAY_GET_DEEP(Array::_clamp_index(x), p_deep);
- x += p_step;
- new_arr_i += 1;
+ } else { // p_step < 0
+ int dest_idx = 0;
+ for (int idx = begin; idx >= end; idx += p_step) {
+ ERR_FAIL_COND_V_MSG(dest_idx < 0 || dest_idx >= new_arr_size, Array(), "Bug in Array slice()");
+ new_arr[dest_idx++] = p_deep ? get(idx).duplicate(p_deep) : get(idx);
}
}
diff --git a/core/array.h b/core/array.h
index 2840ce199c..14db57f15f 100644
--- a/core/array.h
+++ b/core/array.h
@@ -44,8 +44,7 @@ class Array {
void _ref(const Array &p_from) const;
void _unref() const;
- int _clamp_index(int p_index) const;
- static int _fix_slice_index(int p_index, int p_arr_len, int p_top_mod);
+ inline int _clamp_slice_index(int p_index) const;
protected:
Array(const Array &p_base, uint32_t p_type, const StringName &p_class_name, const Variant &p_script);
diff --git a/core/input/input_event.cpp b/core/input/input_event.cpp
index d18adb1983..4b8c104f39 100644
--- a/core/input/input_event.cpp
+++ b/core/input/input_event.cpp
@@ -708,7 +708,7 @@ String InputEventMouseMotion::as_text() const {
button_mask_string = itos(get_button_mask());
break;
}
- return "InputEventMouseMotion : button_mask=" + button_mask_string + ", position=(" + String(get_position()) + "), relative=(" + String(get_relative()) + "), speed=(" + String(get_speed()) + ")";
+ return "InputEventMouseMotion : button_mask=" + button_mask_string + ", position=(" + String(get_position()) + "), relative=(" + String(get_relative()) + "), speed=(" + String(get_speed()) + "), pressure=(" + rtos(get_pressure()) + "), tilt=(" + String(get_tilt()) + ")";
}
bool InputEventMouseMotion::accumulate(const Ref<InputEvent> &p_event) {
diff --git a/core/io/logger.cpp b/core/io/logger.cpp
index 48aebeda3d..ad0cc81023 100644
--- a/core/io/logger.cpp
+++ b/core/io/logger.cpp
@@ -34,17 +34,6 @@
#include "core/os/os.h"
#include "core/print_string.h"
-// va_copy was defined in the C99, but not in C++ standards before C++11.
-// When you compile C++ without --std=c++<XX> option, compilers still define
-// va_copy, otherwise you have to use the internal version (__va_copy).
-#if !defined(va_copy)
-#if defined(__GNUC__)
-#define va_copy(d, s) __va_copy((d), (s))
-#else
-#define va_copy(d, s) ((d) = (s))
-#endif
-#endif
-
#if defined(MINGW_ENABLED) || defined(_MSC_VER)
#define sprintf sprintf_s
#endif
diff --git a/core/math/octree.h b/core/math/octree.h
index 2060a61b4b..ffb405bd0f 100644
--- a/core/math/octree.h
+++ b/core/math/octree.h
@@ -1290,10 +1290,12 @@ void Octree<T, use_pairs, AL>::_cull_point(Octant *p_octant, const Vector3 &p_po
template <class T, bool use_pairs, class AL>
int Octree<T, use_pairs, AL>::cull_convex(const Vector<Plane> &p_convex, T **p_result_array, int p_result_max, uint32_t p_mask) {
- if (!root)
+ if (!root || p_convex.size() == 0)
return 0;
Vector<Vector3> convex_points = Geometry::compute_convex_mesh_points(&p_convex[0], p_convex.size());
+ if (convex_points.size() == 0)
+ return 0;
int result_count = 0;
pass++;
diff --git a/core/math/transform_2d.cpp b/core/math/transform_2d.cpp
index 97a9216a5a..ed95baa233 100644
--- a/core/math/transform_2d.cpp
+++ b/core/math/transform_2d.cpp
@@ -70,6 +70,18 @@ void Transform2D::rotate(real_t p_phi) {
*this = Transform2D(p_phi, Vector2()) * (*this);
}
+real_t Transform2D::get_skew() const {
+
+ real_t det = basis_determinant();
+ return Math::acos(elements[0].normalized().dot(SGN(det) * elements[1].normalized())) - Math_PI * 0.5;
+}
+
+void Transform2D::set_skew(float p_angle) {
+
+ real_t det = basis_determinant();
+ elements[1] = SGN(det) * elements[0].rotated((Math_PI * 0.5 + p_angle)).normalized() * elements[1].length();
+}
+
real_t Transform2D::get_rotation() const {
real_t det = basis_determinant();
Transform2D m = orthonormalized();
diff --git a/core/math/transform_2d.h b/core/math/transform_2d.h
index fa43762aa4..459ceed7a9 100644
--- a/core/math/transform_2d.h
+++ b/core/math/transform_2d.h
@@ -70,7 +70,10 @@ struct Transform2D {
void set_rotation(real_t p_rot);
real_t get_rotation() const;
+ real_t get_skew() const;
+ void set_skew(float p_angle);
_FORCE_INLINE_ void set_rotation_and_scale(real_t p_rot, const Size2 &p_scale);
+ _FORCE_INLINE_ void set_rotation_scale_and_skew(real_t p_rot, const Size2 &p_scale, float p_skew);
void rotate(real_t p_phi);
void scale(const Size2 &p_scale);
@@ -184,6 +187,14 @@ void Transform2D::set_rotation_and_scale(real_t p_rot, const Size2 &p_scale) {
elements[0][1] = Math::sin(p_rot) * p_scale.x;
}
+void Transform2D::set_rotation_scale_and_skew(real_t p_rot, const Size2 &p_scale, float p_skew) {
+
+ elements[0][0] = Math::cos(p_rot) * p_scale.x;
+ elements[1][1] = Math::cos(p_rot + p_skew) * p_scale.y;
+ elements[1][0] = -Math::sin(p_rot + p_skew) * p_scale.y;
+ elements[0][1] = Math::sin(p_rot) * p_scale.x;
+}
+
Rect2 Transform2D::xform_inv(const Rect2 &p_rect) const {
Vector2 ends[4] = {
diff --git a/core/os/os.h b/core/os/os.h
index 714a10bf76..38114e6814 100644
--- a/core/os/os.h
+++ b/core/os/os.h
@@ -59,6 +59,7 @@ class OS {
bool _allow_layered;
bool _use_vsync;
bool _vsync_via_compositor;
+ bool _disable_wintab;
char *last_error;
@@ -148,6 +149,7 @@ public:
bool is_layered_allowed() const { return _allow_layered; }
bool is_hidpi_allowed() const { return _allow_hidpi; }
+ bool is_wintab_disabled() const { return _disable_wintab; }
void ensure_user_data_dir();
diff --git a/core/project_settings.cpp b/core/project_settings.cpp
index 63b52661b4..8829181489 100644
--- a/core/project_settings.cpp
+++ b/core/project_settings.cpp
@@ -362,40 +362,29 @@ Error ProjectSettings::_setup(const String &p_path, const String &p_main_pack, b
// We need to test both possibilities as extensions for Linux binaries are optional
// (so both 'mygame.bin' and 'mygame' should be able to find 'mygame.pck').
- bool found = false;
-
String exec_dir = exec_path.get_base_dir();
String exec_filename = exec_path.get_file();
String exec_basename = exec_filename.get_basename();
- // Try to load data pack at the location of the executable
- // As mentioned above, we have two potential names to attempt
-
- if (_load_resource_pack(exec_dir.plus_file(exec_basename + ".pck")) ||
- _load_resource_pack(exec_dir.plus_file(exec_filename + ".pck"))) {
- found = true;
- } else {
- // If we couldn't find them next to the executable, we attempt
- // the current working directory. Same story, two tests.
- if (_load_resource_pack(exec_basename + ".pck") ||
- _load_resource_pack(exec_filename + ".pck")) {
- found = true;
- }
- }
+ // Attempt with PCK bundled into executable
+ bool found = _load_resource_pack(exec_path);
#ifdef OSX_ENABLED
- // Attempt to load PCK from macOS .app bundle resources
if (!found) {
- if (_load_resource_pack(OS::get_singleton()->get_bundle_resource_dir().plus_file(exec_basename + ".pck"))) {
- found = true;
- }
+ // Attempt to load PCK from macOS .app bundle resources
+ found = _load_resource_pack(OS::get_singleton()->get_bundle_resource_dir().plus_file(exec_basename + ".pck"));
}
#endif
- // Attempt with PCK bundled into executable
if (!found) {
- if (_load_resource_pack(exec_path)) {
- found = true;
+ // Try to load data pack at the location of the executable
+ // As mentioned above, we have two potential names to attempt
+ found = _load_resource_pack(exec_dir.plus_file(exec_basename + ".pck")) || _load_resource_pack(exec_dir.plus_file(exec_filename + ".pck"));
+
+ if (!found) {
+ // If we couldn't find them next to the executable, we attempt
+ // the current working directory. Same story, two tests.
+ found = _load_resource_pack(exec_basename + ".pck") || _load_resource_pack(exec_filename + ".pck");
}
}
diff --git a/core/variant.h b/core/variant.h
index a832f7ccf8..1ae09ad82f 100644
--- a/core/variant.h
+++ b/core/variant.h
@@ -67,13 +67,6 @@ typedef Vector<Vector2> PackedVector2Array;
typedef Vector<Vector3> PackedVector3Array;
typedef Vector<Color> PackedColorArray;
-// Temporary workaround until c++11 alignas()
-#ifdef __GNUC__
-#define GCC_ALIGNED_8 __attribute__((aligned(8)))
-#else
-#define GCC_ALIGNED_8
-#endif
-
class Variant {
public:
// If this changes the table in variant_op must be updated
@@ -211,7 +204,7 @@ private:
PackedArrayRefBase *packed_array;
void *_ptr; //generic pointer
uint8_t _mem[sizeof(ObjData) > (sizeof(real_t) * 4) ? sizeof(ObjData) : (sizeof(real_t) * 4)];
- } _data GCC_ALIGNED_8;
+ } _data alignas(8);
void reference(const Variant &p_variant);
void clear();
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index b3cd1c1af7..222b70c9c7 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -77,6 +77,9 @@
<member name="ProjectSettings" type="ProjectSettings" setter="" getter="">
The [ProjectSettings] singleton.
</member>
+ <member name="RenderingDevice" type="RenderingDevice" setter="" getter="">
+ The [RenderingDevice] singleton.
+ </member>
<member name="RenderingServer" type="RenderingServer" setter="" getter="">
The [RenderingServer] singleton.
</member>
@@ -1177,10 +1180,10 @@
[codeblock]
var err = method_that_returns_error()
if err != OK:
- print("Failure!)
+ print("Failure!")
# Or, equivalent:
if err:
- print("Still failing!)
+ print("Still failing!")
[/codeblock]
</constant>
<constant name="FAILED" value="1" enum="Error">
diff --git a/doc/classes/AnimatedTexture.xml b/doc/classes/AnimatedTexture.xml
index ddd51cc6b3..285e0d5f39 100644
--- a/doc/classes/AnimatedTexture.xml
+++ b/doc/classes/AnimatedTexture.xml
@@ -75,7 +75,7 @@
If [code]true[/code], the animation will only play once and will not loop back to the first frame after reaching the end. Note that reaching the end will not set [member pause] to [code]true[/code].
</member>
<member name="pause" type="bool" setter="set_pause" getter="get_pause" default="false">
- If [code]true[/code], the animation will pause where it currently is (i.e. at [member current_frame]). The animation will continue from where it was paused when changing this property to [code]false[/code].
+ If [code]true[/code], the animation will pause where it currently is (i.e. at [member current_frame]). The animation will continue from where it was paused when changing this property to [code]false[/code].
</member>
</members>
<constants>
diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml
index 76abc31451..1da4e23437 100644
--- a/doc/classes/BaseMaterial3D.xml
+++ b/doc/classes/BaseMaterial3D.xml
@@ -159,6 +159,7 @@
</member>
<member name="detail_normal" type="Texture2D" setter="set_texture" getter="get_texture">
Texture that specifies the per-pixel normal of the detail overlay.
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="detail_uv_layer" type="int" setter="set_detail_uv" getter="get_detail_uv" enum="BaseMaterial3D.DetailUV">
Specifies whether to use [code]UV[/code] or [code]UV2[/code] for the detail layer. See [enum DetailUV] for options.
@@ -250,6 +251,7 @@
</member>
<member name="normal_texture" type="Texture2D" setter="set_texture" getter="get_texture">
Texture used to specify the normal at a given pixel. The [code]normal_texture[/code] only uses the red and green channels. The normal read from [code]normal_texture[/code] is oriented around the surface normal provided by the [Mesh].
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="orm_texture" type="Texture2D" setter="set_texture" getter="get_texture">
</member>
diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml
index c2b821699d..df3ef71a2a 100644
--- a/doc/classes/CPUParticles2D.xml
+++ b/doc/classes/CPUParticles2D.xml
@@ -240,6 +240,7 @@
</member>
<member name="normalmap" type="Texture2D" setter="set_normalmap" getter="get_normalmap">
Normal map to be used for the [member texture] property.
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
diff --git a/doc/classes/GPUParticles2D.xml b/doc/classes/GPUParticles2D.xml
index 64a2522f2f..ee67b5052c 100644
--- a/doc/classes/GPUParticles2D.xml
+++ b/doc/classes/GPUParticles2D.xml
@@ -53,6 +53,7 @@
</member>
<member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map">
Normal map to be used for the [member texture] property.
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
diff --git a/doc/classes/Generic6DOFJoint3D.xml b/doc/classes/Generic6DOFJoint3D.xml
index fae567dc58..ae86ab7365 100644
--- a/doc/classes/Generic6DOFJoint3D.xml
+++ b/doc/classes/Generic6DOFJoint3D.xml
@@ -373,6 +373,12 @@
<constant name="PARAM_LINEAR_MOTOR_FORCE_LIMIT" value="6" enum="Param">
The maximum force the linear motor will apply while trying to reach the velocity target.
</constant>
+ <constant name="PARAM_LINEAR_SPRING_STIFFNESS" value="7" enum="Param">
+ </constant>
+ <constant name="PARAM_LINEAR_SPRING_DAMPING" value="8" enum="Param">
+ </constant>
+ <constant name="PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT" value="9" enum="Param">
+ </constant>
<constant name="PARAM_ANGULAR_LOWER_LIMIT" value="10" enum="Param">
The minimum rotation in negative direction to break loose and rotate around the axes.
</constant>
@@ -400,6 +406,12 @@
<constant name="PARAM_ANGULAR_MOTOR_FORCE_LIMIT" value="18" enum="Param">
Maximum acceleration for the motor at the axes.
</constant>
+ <constant name="PARAM_ANGULAR_SPRING_STIFFNESS" value="19" enum="Param">
+ </constant>
+ <constant name="PARAM_ANGULAR_SPRING_DAMPING" value="20" enum="Param">
+ </constant>
+ <constant name="PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT" value="21" enum="Param">
+ </constant>
<constant name="PARAM_MAX" value="22" enum="Param">
Represents the size of the [enum Param] enum.
</constant>
diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml
index 0cfc8deb0a..689f8d83e1 100644
--- a/doc/classes/MeshInstance2D.xml
+++ b/doc/classes/MeshInstance2D.xml
@@ -17,6 +17,7 @@
</member>
<member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map">
The normal map that will be used if using the default [CanvasItemMaterial].
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="texture" type="Texture2D" setter="set_texture" getter="get_texture">
The [Texture2D] that will be used if using the default [CanvasItemMaterial]. Can be accessed as [code]TEXTURE[/code] in CanvasItem shader.
diff --git a/doc/classes/MultiMeshInstance2D.xml b/doc/classes/MultiMeshInstance2D.xml
index 07f21514ef..a461c8e056 100644
--- a/doc/classes/MultiMeshInstance2D.xml
+++ b/doc/classes/MultiMeshInstance2D.xml
@@ -17,6 +17,7 @@
</member>
<member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map">
The normal map that will be used if using the default [CanvasItemMaterial].
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="texture" type="Texture2D" setter="set_texture" getter="get_texture">
The [Texture2D] that will be used if using the default [CanvasItemMaterial]. Can be accessed as [code]TEXTURE[/code] in CanvasItem shader.
diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml
index d4517f0588..d29c556216 100644
--- a/doc/classes/Node2D.xml
+++ b/doc/classes/Node2D.xml
@@ -142,6 +142,10 @@
<member name="scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2( 1, 1 )">
The node's scale. Unscaled value: [code](1, 1)[/code].
</member>
+ <member name="skew" type="float" setter="set_skew" getter="get_skew" default="0.0">
+ </member>
+ <member name="skew_degrees" type="float" setter="set_skew_degrees" getter="get_skew_degrees" default="0.0">
+ </member>
<member name="transform" type="Transform2D" setter="set_transform" getter="get_transform">
Local [Transform2D].
</member>
diff --git a/doc/classes/Node3D.xml b/doc/classes/Node3D.xml
index 3e7d4d4c05..05d00b9f31 100644
--- a/doc/classes/Node3D.xml
+++ b/doc/classes/Node3D.xml
@@ -26,7 +26,7 @@
Returns the parent [Node3D], or an empty [Object] if no parent exists or parent is not of type [Node3D].
</description>
</method>
- <method name="get_world" qualifiers="const">
+ <method name="get_world_3d" qualifiers="const">
<return type="World3D">
</return>
<description>
diff --git a/doc/classes/Polygon2D.xml b/doc/classes/Polygon2D.xml
index 13332ca4f0..335df1ac3f 100644
--- a/doc/classes/Polygon2D.xml
+++ b/doc/classes/Polygon2D.xml
@@ -102,6 +102,8 @@
If [code]true[/code], polygon will be inverted, containing the area outside the defined points and extending to the [code]invert_border[/code].
</member>
<member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map">
+ The normal map gives depth to the Polygon2D.
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The offset applied to each vertex.
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 9e917fb4dd..a111b5bdde 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -414,6 +414,9 @@
<member name="display/mouse_cursor/tooltip_position_offset" type="Vector2" setter="" getter="" default="Vector2( 10, 10 )">
Position offset for tooltips, relative to the mouse cursor's hotspot.
</member>
+ <member name="display/window/disable_wintab_api" type="bool" setter="" getter="" default="false">
+ Disables WinTab API and always use Windows Ink API for the pen input (Windows only).
+ </member>
<member name="display/window/dpi/allow_hidpi" type="bool" setter="" getter="" default="false">
If [code]true[/code], allows HiDPI display on Windows and macOS. This setting has no effect on desktop Linux, as DPI-awareness fallbacks are not supported there.
</member>
@@ -469,6 +472,8 @@
<member name="gui/common/swap_ok_cancel" type="bool" setter="" getter="" default="false">
If [code]true[/code], swaps OK and Cancel buttons in dialogs on Windows and UWP to follow interface conventions.
</member>
+ <member name="gui/common/text_edit_undo_stack_max_size" type="int" setter="" getter="" default="1024">
+ </member>
<member name="gui/theme/custom" type="String" setter="" getter="" default="&quot;&quot;">
Path to a custom [Theme] resource file to use for the project ([code]theme[/code] or generic [code]tres[/code]/[code]res[/code] extension).
</member>
@@ -977,6 +982,8 @@
<member name="rendering/limits/rendering/max_renderable_elements" type="int" setter="" getter="" default="128000">
Max amount of elements renderable in a frame. If more than this are visible per frame, they will be dropped. Keep in mind elements refer to mesh surfaces and not meshes themselves.
</member>
+ <member name="rendering/limits/time/time_rollover_secs" type="float" setter="" getter="" default="3600">
+ </member>
<member name="rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround" type="bool" setter="" getter="" default="false">
Some NVIDIA GPU drivers have a bug which produces flickering issues for the [code]draw_rect[/code] method, especially as used in [TileMap]. Refer to [url=https://github.com/godotengine/godot/issues/9913]GitHub issue 9913[/url] for details.
If [code]true[/code], this option enables a "safe" code path for such NVIDIA GPUs at the cost of performance. This option only impacts the GLES2 rendering backend, and only desktop platforms. It is not necessary when using the Vulkan backend.
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 4e0762a68b..648f4d0107 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -9,7 +9,7 @@
The rendering server can be used to bypass the scene system entirely.
Resources are created using the [code]*_create[/code] functions.
All objects are drawn to a viewport. You can use the [Viewport] attached to the [SceneTree] or you can create one yourself with [method viewport_create]. When using a custom scenario or canvas, the scenario or canvas needs to be attached to the viewport using [method viewport_set_scenario] or [method viewport_attach_canvas].
- In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the rendering server from a running game, the scenario can be accessed from the scene tree from any [Node3D] node with [method Node3D.get_world]. Otherwise, a scenario can be created with [method scenario_create].
+ In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the rendering server from a running game, the scenario can be accessed from the scene tree from any [Node3D] node with [method Node3D.get_world_3d]. Otherwise, a scenario can be created with [method scenario_create].
Similarly in 2D, a canvas is needed to draw all canvas items.
In 3D, all visible objects are comprised of a resource and an instance. A resource can be a mesh, a particle system, a light, or any other 3D object. In order to be visible resources must be attached to an instance using [method instance_set_base]. The instance must also be attached to the scenario using [method instance_set_scenario] in order to be visible.
In 2D, all visible objects are some form of canvas item. In order to be visible, a canvas item needs to be the child of a canvas attached to a viewport, or it needs to be the child of another canvas item that is eventually attached to the canvas.
diff --git a/doc/classes/SpinBox.xml b/doc/classes/SpinBox.xml
index c8ba8ab697..e674ceb57e 100644
--- a/doc/classes/SpinBox.xml
+++ b/doc/classes/SpinBox.xml
@@ -45,7 +45,7 @@
Adds the specified [code]prefix[/code] string before the numerical value of the [SpinBox].
</member>
<member name="suffix" type="String" setter="set_suffix" getter="get_suffix" default="&quot;&quot;">
- Adds the specified [code]prefix[/code] string after the numerical value of the [SpinBox].
+ Adds the specified [code]suffix[/code] string after the numerical value of the [SpinBox].
</member>
</members>
<constants>
diff --git a/doc/classes/Sprite2D.xml b/doc/classes/Sprite2D.xml
index 950fda4e20..92f561d7b5 100644
--- a/doc/classes/Sprite2D.xml
+++ b/doc/classes/Sprite2D.xml
@@ -54,6 +54,7 @@
</member>
<member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map">
The normal map gives depth to the Sprite2D.
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
The texture's drawing offset.
diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml
index 8ed94c8c26..f8aa14cb2b 100644
--- a/doc/classes/StyleBoxTexture.xml
+++ b/doc/classes/StyleBoxTexture.xml
@@ -121,6 +121,7 @@
</member>
<member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map">
The normal map to use when drawing this style box.
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</member>
<member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )">
Species a sub-region of the texture to use.
diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml
index 65988ae2b7..c647f83598 100644
--- a/doc/classes/TileSet.xml
+++ b/doc/classes/TileSet.xml
@@ -590,6 +590,7 @@
</argument>
<description>
Sets the tile's normal map texture.
+ [b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
</description>
</method>
<method name="tile_set_occluder_offset">
diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml
index f9320ac55e..1938a3facb 100644
--- a/doc/classes/Tween.xml
+++ b/doc/classes/Tween.xml
@@ -16,7 +16,7 @@
[/codeblock]
Many methods require a property name, such as [code]"position"[/code] above. You can find the correct property name by hovering over the property in the Inspector. You can also provide the components of a property directly by using [code]"property:component"[/code] (eg. [code]position:x[/code]), where it would only apply to that particular component.
Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [url=https://easings.net/]easings.net[/url] for some examples). The second accepts an [enum EaseType] constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [constant EASE_IN_OUT], and use the one that looks best.
- [b][url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url][/b]
+ [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index a2d53f8e0c..3b52c80c9a 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -16,18 +16,18 @@
<link>https://docs.godotengine.org/en/latest/tutorials/viewports/index.html</link>
</tutorials>
<methods>
- <method name="find_world" qualifiers="const">
- <return type="World3D">
+ <method name="find_world_2d" qualifiers="const">
+ <return type="World2D">
</return>
<description>
- Returns the 3D world of the viewport, or if none the world of the parent viewport.
+ Returns the 2D world of the viewport.
</description>
</method>
- <method name="find_world_2d" qualifiers="const">
- <return type="World2D">
+ <method name="find_world_3d" qualifiers="const">
+ <return type="World3D">
</return>
<description>
- Returns the 2D world of the viewport.
+ Returns the 3D world of the viewport, or if none the world of the parent viewport.
</description>
</method>
<method name="get_camera" qualifiers="const">
@@ -219,8 +219,8 @@
<member name="msaa" type="int" setter="set_msaa" getter="get_msaa" enum="Viewport.MSAA" default="0">
The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 4 is best unless targeting very high-end systems.
</member>
- <member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world" default="false">
- If [code]true[/code], the viewport will use [World3D] defined in [code]world[/code] property.
+ <member name="own_world_3d" type="bool" setter="set_use_own_world_3d" getter="is_using_own_world_3d" default="false">
+ If [code]true[/code], the viewport will use the [World3D] defined in [member world_3d].
</member>
<member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false">
If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process.
@@ -247,12 +247,12 @@
<member name="transparent_bg" type="bool" setter="set_transparent_background" getter="has_transparent_background" default="false">
If [code]true[/code], the viewport should render its background as transparent.
</member>
- <member name="world" type="World3D" setter="set_world" getter="get_world">
- The custom [World3D] which can be used as 3D environment source.
- </member>
<member name="world_2d" type="World2D" setter="set_world_2d" getter="get_world_2d">
The custom [World2D] which can be used as 2D environment source.
</member>
+ <member name="world_3d" type="World3D" setter="set_world_3d" getter="get_world_3d">
+ The custom [World3D] which can be used as 3D environment source.
+ </member>
</members>
<signals>
<signal name="gui_focus_changed">
diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot
index d5351403dd..d58b9d9472 100644
--- a/doc/translations/classes.pot
+++ b/doc/translations/classes.pot
@@ -1204,19 +1204,19 @@ msgid ""
msgstr ""
#: doc/classes/@GlobalScope.xml:16
-msgid "The [ARVRServer] singleton."
+msgid "The [AudioServer] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:19
-msgid "The [AudioServer] singleton."
+msgid "The [CameraServer] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:22
-msgid "The [CameraServer] singleton."
+msgid "The [ClassDB] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:25
-msgid "The [ClassDB] singleton."
+msgid "The [DisplayServer] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:28
@@ -1228,90 +1228,89 @@ msgid "The [Geometry] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:34
-msgid ""
-"The [GodotSharp] singleton. Only available when using Godot's Mono build."
+msgid "The [IP] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:37
-msgid "The [IP] singleton."
+msgid "The [Input] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:40
-msgid "The [InputFilter] singleton."
-msgstr ""
-
-#: doc/classes/@GlobalScope.xml:43
msgid "The [InputMap] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:46
+#: doc/classes/@GlobalScope.xml:43
msgid "The [JSON] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:49
+#: doc/classes/@GlobalScope.xml:46
msgid ""
"The [JavaClassWrapper] singleton.\n"
"[b]Note:[/b] Only implemented on Android."
msgstr ""
-#: doc/classes/@GlobalScope.xml:53
+#: doc/classes/@GlobalScope.xml:50
msgid ""
"The [JavaScript] singleton.\n"
"[b]Note:[/b] Only implemented on HTML5."
msgstr ""
-#: doc/classes/@GlobalScope.xml:57
+#: doc/classes/@GlobalScope.xml:54
msgid "The [Marshalls] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:60
+#: doc/classes/@GlobalScope.xml:57
msgid "The [NavigationMeshGenerator] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:63 doc/classes/@GlobalScope.xml:66
+#: doc/classes/@GlobalScope.xml:60 doc/classes/@GlobalScope.xml:63
msgid "The [NavigationServer2D] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:69
+#: doc/classes/@GlobalScope.xml:66
msgid "The [OS] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:72
+#: doc/classes/@GlobalScope.xml:69
msgid "The [Performance] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:75
+#: doc/classes/@GlobalScope.xml:72
msgid "The [PhysicsServer2D] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:78
+#: doc/classes/@GlobalScope.xml:75
msgid "The [PhysicsServer3D] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:81
+#: doc/classes/@GlobalScope.xml:78
msgid "The [ProjectSettings] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:84
+#: doc/classes/@GlobalScope.xml:81
msgid "The [RenderingServer] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:87
+#: doc/classes/@GlobalScope.xml:84
msgid "The [ResourceLoader] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:90
+#: doc/classes/@GlobalScope.xml:87
msgid "The [ResourceSaver] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:93
+#: doc/classes/@GlobalScope.xml:90
msgid "The [TranslationServer] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:96
+#: doc/classes/@GlobalScope.xml:93
msgid "The [VisualScriptEditor] singleton."
msgstr ""
+#: doc/classes/@GlobalScope.xml:96
+msgid "The [XRServer] singleton."
+msgstr ""
+
#: doc/classes/@GlobalScope.xml:101
msgid "Left margin, usually used for [Control] or [StyleBox]-derived classes."
msgstr ""
@@ -1394,7 +1393,7 @@ msgid "Tab key."
msgstr ""
#: doc/classes/@GlobalScope.xml:158
-msgid "Shift+Tab key."
+msgid "Shift + Tab key."
msgstr ""
#: doc/classes/@GlobalScope.xml:161
@@ -3124,305 +3123,311 @@ msgid "Used to categorize properties together in the editor."
msgstr ""
#: doc/classes/@GlobalScope.xml:1424
-msgid "The property does not save its state in [PackedScene]."
+msgid ""
+"Used to group properties together in the editor in a subgroup (under a "
+"group)."
msgstr ""
#: doc/classes/@GlobalScope.xml:1427
-msgid "Editing the property prompts the user for restarting the editor."
+msgid "The property does not save its state in [PackedScene]."
msgstr ""
#: doc/classes/@GlobalScope.xml:1430
+msgid "Editing the property prompts the user for restarting the editor."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml:1433
msgid ""
"The property is a script variable which should be serialized and saved in "
"the scene file."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1433
+#: doc/classes/@GlobalScope.xml:1436
msgid "Default usage (storage, editor and network)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1436
+#: doc/classes/@GlobalScope.xml:1439
msgid ""
"Default usage for translatable strings (storage, editor, network and "
"internationalized)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1439
+#: doc/classes/@GlobalScope.xml:1442
msgid ""
"Default usage but without showing the property in the editor (storage, "
"network)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1442
+#: doc/classes/@GlobalScope.xml:1445
msgid "Flag for a normal method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1445
+#: doc/classes/@GlobalScope.xml:1448
msgid "Flag for an editor method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1448 doc/classes/@GlobalScope.xml:1454
-#: doc/classes/@GlobalScope.xml:1460
+#: doc/classes/@GlobalScope.xml:1451 doc/classes/@GlobalScope.xml:1457
+#: doc/classes/@GlobalScope.xml:1463
msgid "Deprecated method flag, unused."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1451
+#: doc/classes/@GlobalScope.xml:1454
msgid "Flag for a constant method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1457
+#: doc/classes/@GlobalScope.xml:1460
msgid "Flag for a virtual method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1463
+#: doc/classes/@GlobalScope.xml:1466
msgid "Default method flags."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1466
+#: doc/classes/@GlobalScope.xml:1469
msgid "Variable is [code]null[/code]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1469
+#: doc/classes/@GlobalScope.xml:1472
msgid "Variable is of type [bool]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1472
+#: doc/classes/@GlobalScope.xml:1475
msgid "Variable is of type [int]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1475
+#: doc/classes/@GlobalScope.xml:1478
msgid "Variable is of type [float] (real)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1478
+#: doc/classes/@GlobalScope.xml:1481
msgid "Variable is of type [String]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1481
+#: doc/classes/@GlobalScope.xml:1484
msgid "Variable is of type [Vector2]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1484
+#: doc/classes/@GlobalScope.xml:1487
msgid "Variable is of type [Vector2i]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1487
+#: doc/classes/@GlobalScope.xml:1490
msgid "Variable is of type [Rect2]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1490
+#: doc/classes/@GlobalScope.xml:1493
msgid "Variable is of type [Rect2i]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1493
+#: doc/classes/@GlobalScope.xml:1496
msgid "Variable is of type [Vector3]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1496
+#: doc/classes/@GlobalScope.xml:1499
msgid "Variable is of type [Vector3i]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1499
+#: doc/classes/@GlobalScope.xml:1502
msgid "Variable is of type [Transform2D]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1502
+#: doc/classes/@GlobalScope.xml:1505
msgid "Variable is of type [Plane]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1505
+#: doc/classes/@GlobalScope.xml:1508
msgid "Variable is of type [Quat]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1508
+#: doc/classes/@GlobalScope.xml:1511
msgid "Variable is of type [AABB]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1511
+#: doc/classes/@GlobalScope.xml:1514
msgid "Variable is of type [Basis]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1514
+#: doc/classes/@GlobalScope.xml:1517
msgid "Variable is of type [Transform]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1517
+#: doc/classes/@GlobalScope.xml:1520
msgid "Variable is of type [Color]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1520
+#: doc/classes/@GlobalScope.xml:1523
msgid "Variable is of type [StringName]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1523
+#: doc/classes/@GlobalScope.xml:1526
msgid "Variable is of type [NodePath]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1526
+#: doc/classes/@GlobalScope.xml:1529
msgid "Variable is of type [RID]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1529
+#: doc/classes/@GlobalScope.xml:1532
msgid "Variable is of type [Object]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1532
+#: doc/classes/@GlobalScope.xml:1535
msgid "Variable is of type [Callable]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1535
+#: doc/classes/@GlobalScope.xml:1538
msgid "Variable is of type [Signal]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1538
+#: doc/classes/@GlobalScope.xml:1541
msgid "Variable is of type [Dictionary]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1541
+#: doc/classes/@GlobalScope.xml:1544
msgid "Variable is of type [Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1544
+#: doc/classes/@GlobalScope.xml:1547
msgid "Variable is of type [PackedByteArray]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1547
+#: doc/classes/@GlobalScope.xml:1550
msgid "Variable is of type [PackedInt32Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1550
+#: doc/classes/@GlobalScope.xml:1553
msgid "Variable is of type [PackedInt64Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1553
+#: doc/classes/@GlobalScope.xml:1556
msgid "Variable is of type [PackedFloat32Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1556
+#: doc/classes/@GlobalScope.xml:1559
msgid "Variable is of type [PackedFloat64Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1559
+#: doc/classes/@GlobalScope.xml:1562
msgid "Variable is of type [PackedStringArray]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1562
+#: doc/classes/@GlobalScope.xml:1565
msgid "Variable is of type [PackedVector2Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1565
+#: doc/classes/@GlobalScope.xml:1568
msgid "Variable is of type [PackedVector3Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1568
+#: doc/classes/@GlobalScope.xml:1571
msgid "Variable is of type [PackedColorArray]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1571
+#: doc/classes/@GlobalScope.xml:1574
msgid "Represents the size of the [enum Variant.Type] enum."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1574
+#: doc/classes/@GlobalScope.xml:1577
msgid "Equality operator ([code]==[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1577
+#: doc/classes/@GlobalScope.xml:1580
msgid "Inequality operator ([code]!=[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1580
+#: doc/classes/@GlobalScope.xml:1583
msgid "Less than operator ([code]<[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1583
+#: doc/classes/@GlobalScope.xml:1586
msgid "Less than or equal operator ([code]<=[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1586
+#: doc/classes/@GlobalScope.xml:1589
msgid "Greater than operator ([code]>[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1589
+#: doc/classes/@GlobalScope.xml:1592
msgid "Greater than or equal operator ([code]>=[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1592
+#: doc/classes/@GlobalScope.xml:1595
msgid "Addition operator ([code]+[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1595
+#: doc/classes/@GlobalScope.xml:1598
msgid "Subtraction operator ([code]-[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1598
+#: doc/classes/@GlobalScope.xml:1601
msgid "Multiplication operator ([code]*[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1601
+#: doc/classes/@GlobalScope.xml:1604
msgid "Division operator ([code]/[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1604
+#: doc/classes/@GlobalScope.xml:1607
msgid "Unary negation operator ([code]-[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1607
+#: doc/classes/@GlobalScope.xml:1610
msgid "Unary plus operator ([code]+[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1610
+#: doc/classes/@GlobalScope.xml:1613
msgid "Remainder/modulo operator ([code]%[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1613
+#: doc/classes/@GlobalScope.xml:1616
msgid "String concatenation operator ([code]+[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1616
+#: doc/classes/@GlobalScope.xml:1619
msgid "Left shift operator ([code]<<[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1619
+#: doc/classes/@GlobalScope.xml:1622
msgid "Right shift operator ([code]>>[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1622
+#: doc/classes/@GlobalScope.xml:1625
msgid "Bitwise AND operator ([code]&[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1625
+#: doc/classes/@GlobalScope.xml:1628
msgid "Bitwise OR operator ([code]|[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1628
+#: doc/classes/@GlobalScope.xml:1631
msgid "Bitwise XOR operator ([code]^[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1631
+#: doc/classes/@GlobalScope.xml:1634
msgid "Bitwise NOT operator ([code]~[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1634
+#: doc/classes/@GlobalScope.xml:1637
msgid "Logical AND operator ([code]and[/code] or [code]&&[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1637
+#: doc/classes/@GlobalScope.xml:1640
msgid "Logical OR operator ([code]or[/code] or [code]||[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1640
+#: doc/classes/@GlobalScope.xml:1643
msgid "Logical XOR operator (not implemented in GDScript)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1643
+#: doc/classes/@GlobalScope.xml:1646
msgid "Logical NOT operator ([code]not[/code] or [code]![/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1646
+#: doc/classes/@GlobalScope.xml:1649
msgid "Logical IN operator ([code]in[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1649
+#: doc/classes/@GlobalScope.xml:1652
msgid "Represents the size of the [enum Variant.Operator] enum."
msgstr ""
@@ -3794,6 +3799,10 @@ msgid ""
msgstr ""
#: doc/classes/AnimatedTexture.xml:65
+msgid "Sets the currently visible frame of the texture."
+msgstr ""
+
+#: doc/classes/AnimatedTexture.xml:68
msgid ""
"Animation speed in frames per second. This value defines the default time "
"interval between two frames of the animation, and thus the overall duration "
@@ -3804,7 +3813,7 @@ msgid ""
"code] value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds."
msgstr ""
-#: doc/classes/AnimatedTexture.xml:69
+#: doc/classes/AnimatedTexture.xml:72
msgid ""
"Number of frames to use in the animation. While you can create the frames "
"independently with [method set_frame_texture], you need to set this value "
@@ -3812,7 +3821,21 @@ msgid ""
"frames is [constant MAX_FRAMES]."
msgstr ""
-#: doc/classes/AnimatedTexture.xml:74
+#: doc/classes/AnimatedTexture.xml:75
+msgid ""
+"If [code]true[/code], the animation will only play once and will not loop "
+"back to the first frame after reaching the end. Note that reaching the end "
+"will not set [member pause] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/AnimatedTexture.xml:78
+msgid ""
+"If [code]true[/code], the animation will pause where it currently is (i.e. "
+"at [member current_frame]). The animation will continue from where it was "
+"paused when changing this property to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/AnimatedTexture.xml:83
msgid ""
"The maximum number of frames supported by [AnimatedTexture]. If you need "
"more frames in your animation, use [AnimationPlayer] or [AnimatedSprite2D]."
@@ -6092,22 +6115,27 @@ msgid ""
"var m = MeshInstance3D.new()\n"
"m.mesh = arr_mesh\n"
"[/codeblock]\n"
-"The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown."
+"The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown.\n"
+"See also [ImmediateGeometry3D], [MeshDataTool] and [SurfaceTool] for "
+"procedural geometry generation.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/ArrayMesh.xml:27
+#: doc/classes/ArrayMesh.xml:29
msgid ""
"https://docs.godotengine.org/en/latest/tutorials/content/procedural_geometry/"
"arraymesh.html"
msgstr ""
-#: doc/classes/ArrayMesh.xml:36
+#: doc/classes/ArrayMesh.xml:38
msgid ""
"Adds name for a blend shape that will be added with [method "
"add_surface_from_arrays]. Must be called before surface is added."
msgstr ""
-#: doc/classes/ArrayMesh.xml:55
+#: doc/classes/ArrayMesh.xml:57
msgid ""
"Creates a new surface.\n"
"Surfaces are created to be rendered using a [code]primitive[/code], which "
@@ -6125,141 +6153,139 @@ msgid ""
"it is used.\n"
"Adding an index array puts this function into \"index mode\" where the "
"vertex and other arrays become the sources of data, and the index array "
-"defines the order of the vertices.\n"
-"Godot uses clockwise winding order for front faces of triangle primitive "
-"modes."
+"defines the order of the vertices."
msgstr ""
-#: doc/classes/ArrayMesh.xml:66
+#: doc/classes/ArrayMesh.xml:67
msgid "Removes all blend shapes from this [ArrayMesh]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:73
+#: doc/classes/ArrayMesh.xml:74
msgid "Removes all surfaces from this [ArrayMesh]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:80
+#: doc/classes/ArrayMesh.xml:81
msgid "Returns the number of blend shapes that the [ArrayMesh] holds."
msgstr ""
-#: doc/classes/ArrayMesh.xml:89
+#: doc/classes/ArrayMesh.xml:90
msgid "Returns the name of the blend shape at this index."
msgstr ""
-#: doc/classes/ArrayMesh.xml:100
+#: doc/classes/ArrayMesh.xml:101
msgid ""
"Will perform a UV unwrap on the [ArrayMesh] to prepare the mesh for "
"lightmapping."
msgstr ""
-#: doc/classes/ArrayMesh.xml:107
+#: doc/classes/ArrayMesh.xml:108
msgid "Will regenerate normal maps for the [ArrayMesh]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:116
+#: doc/classes/ArrayMesh.xml:117
msgid ""
"Returns the index of the first surface with this name held within this "
"[ArrayMesh]. If none are found, -1 is returned."
msgstr ""
-#: doc/classes/ArrayMesh.xml:125
+#: doc/classes/ArrayMesh.xml:126
msgid ""
"Returns the length in indices of the index array in the requested surface "
"(see [method add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:134
+#: doc/classes/ArrayMesh.xml:135
msgid ""
"Returns the length in vertices of the vertex array in the requested surface "
"(see [method add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:143
+#: doc/classes/ArrayMesh.xml:144
msgid ""
"Returns the format mask of the requested surface (see [method "
"add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:152
+#: doc/classes/ArrayMesh.xml:153
msgid "Gets the name assigned to this surface."
msgstr ""
-#: doc/classes/ArrayMesh.xml:161
+#: doc/classes/ArrayMesh.xml:162
msgid ""
"Returns the primitive type of the requested surface (see [method "
"add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:172
+#: doc/classes/ArrayMesh.xml:173
msgid "Sets a name for a given surface."
msgstr ""
-#: doc/classes/ArrayMesh.xml:185
+#: doc/classes/ArrayMesh.xml:186
msgid ""
"Updates a specified region of mesh arrays on the GPU.\n"
"[b]Warning:[/b] Only use if you know what you are doing. You can easily "
"cause crashes by calling this function with improper arguments."
msgstr ""
-#: doc/classes/ArrayMesh.xml:192
+#: doc/classes/ArrayMesh.xml:193
msgid "Sets the blend shape mode to one of [enum Mesh.BlendShapeMode]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:195
+#: doc/classes/ArrayMesh.xml:196
msgid ""
"Overrides the [AABB] with one defined by user for use with frustum culling. "
"Especially useful to avoid unexpected culling when using a shader to offset "
"vertices."
msgstr ""
-#: doc/classes/ArrayMesh.xml:200
+#: doc/classes/ArrayMesh.xml:201
msgid "Default value used for index_array_len when no indices are present."
msgstr ""
-#: doc/classes/ArrayMesh.xml:203
+#: doc/classes/ArrayMesh.xml:204
msgid "Amount of weights/bone indices per vertex (always 4)."
msgstr ""
-#: doc/classes/ArrayMesh.xml:206
+#: doc/classes/ArrayMesh.xml:207
msgid ""
"[PackedVector3Array], [PackedVector2Array], or [Array] of vertex positions."
msgstr ""
-#: doc/classes/ArrayMesh.xml:209
+#: doc/classes/ArrayMesh.xml:210
msgid "[PackedVector3Array] of vertex normals."
msgstr ""
-#: doc/classes/ArrayMesh.xml:212
+#: doc/classes/ArrayMesh.xml:213
msgid ""
"[PackedFloat32Array] of vertex tangents. Each element in groups of 4 floats, "
"first 3 floats determine the tangent, and the last the binormal direction as "
"-1 or 1."
msgstr ""
-#: doc/classes/ArrayMesh.xml:215
+#: doc/classes/ArrayMesh.xml:216
msgid "[PackedColorArray] of vertex colors."
msgstr ""
-#: doc/classes/ArrayMesh.xml:218
+#: doc/classes/ArrayMesh.xml:219
msgid "[PackedVector2Array] for UV coordinates."
msgstr ""
-#: doc/classes/ArrayMesh.xml:221
+#: doc/classes/ArrayMesh.xml:222
msgid "[PackedVector2Array] for second UV coordinates."
msgstr ""
-#: doc/classes/ArrayMesh.xml:224
+#: doc/classes/ArrayMesh.xml:225
msgid ""
"[PackedFloat32Array] or [PackedInt32Array] of bone indices. Each element in "
"groups of 4 floats."
msgstr ""
-#: doc/classes/ArrayMesh.xml:227
+#: doc/classes/ArrayMesh.xml:228
msgid ""
"[PackedFloat32Array] of bone weights. Each element in groups of 4 floats."
msgstr ""
-#: doc/classes/ArrayMesh.xml:230
+#: doc/classes/ArrayMesh.xml:231
msgid ""
"[PackedInt32Array] of integers used as indices referencing vertices, colors, "
"normals, tangents, and textures. All of those arrays must have the same "
@@ -6273,709 +6299,47 @@ msgid ""
"the start and end of each line."
msgstr ""
-#: doc/classes/ArrayMesh.xml:234 doc/classes/Mesh.xml:210
-#: doc/classes/RenderingServer.xml:3180
+#: doc/classes/ArrayMesh.xml:235 doc/classes/Mesh.xml:210
+#: doc/classes/RenderingServer.xml:3232
msgid "Represents the size of the [enum ArrayType] enum."
msgstr ""
-#: doc/classes/ArrayMesh.xml:237
+#: doc/classes/ArrayMesh.xml:238
msgid "Array format will include vertices (mandatory)."
msgstr ""
-#: doc/classes/ArrayMesh.xml:240
+#: doc/classes/ArrayMesh.xml:241
msgid "Array format will include normals."
msgstr ""
-#: doc/classes/ArrayMesh.xml:243
+#: doc/classes/ArrayMesh.xml:244
msgid "Array format will include tangents."
msgstr ""
-#: doc/classes/ArrayMesh.xml:246
+#: doc/classes/ArrayMesh.xml:247
msgid "Array format will include a color array."
msgstr ""
-#: doc/classes/ArrayMesh.xml:249
+#: doc/classes/ArrayMesh.xml:250
msgid "Array format will include UVs."
msgstr ""
-#: doc/classes/ArrayMesh.xml:252
+#: doc/classes/ArrayMesh.xml:253
msgid "Array format will include another set of UVs."
msgstr ""
-#: doc/classes/ArrayMesh.xml:255
+#: doc/classes/ArrayMesh.xml:256
msgid "Array format will include bone indices."
msgstr ""
-#: doc/classes/ArrayMesh.xml:258
+#: doc/classes/ArrayMesh.xml:259
msgid "Array format will include bone weights."
msgstr ""
-#: doc/classes/ArrayMesh.xml:261
+#: doc/classes/ArrayMesh.xml:262
msgid "Index array will be used."
msgstr ""
-#: doc/classes/ARVRAnchor.xml:4
-msgid "An anchor point in AR space."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:7
-msgid ""
-"The [ARVRAnchor] point is a spatial node that maps a real world location "
-"identified by the AR platform to a position within the game world. For "
-"example, as long as plane detection in ARKit is on, ARKit will identify and "
-"update the position of planes (tables, floors, etc) and create anchors for "
-"them.\n"
-"This node is mapped to one of the anchors through its unique ID. When you "
-"receive a signal that a new anchor is available, you should add this node to "
-"your scene for that anchor. You can predefine nodes and set the ID; the "
-"nodes will simply remain on 0,0,0 until a plane is recognized.\n"
-"Keep in mind that, as long as plane detection is enabled, the size, placing "
-"and orientation of an anchor will be updated as the detection logic learns "
-"more about the real world out there especially if only part of the surface "
-"is in view."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:18
-msgid "Returns the name given to this anchor."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:25
-msgid ""
-"Returns [code]true[/code] if the anchor is being tracked and [code]false[/"
-"code] if no anchor with this ID is currently known."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:32
-msgid ""
-"If provided by the [ARVRInterface], this returns a mesh object for the "
-"anchor. For an anchor, this can be a shape related to the object being "
-"tracked or it can be a mesh that provides topology related to the anchor and "
-"can be used to create shadows/reflections on surfaces or for generating "
-"collision shapes."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:39
-msgid ""
-"Returns a plane aligned with our anchor; handy for intersection testing."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:46
-msgid ""
-"Returns the estimated size of the plane that was detected. Say when the "
-"anchor relates to a table in the real world, this is the estimated size of "
-"the surface of that table."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:52
-msgid ""
-"The anchor's ID. You can set this before the anchor itself exists. The first "
-"anchor gets an ID of [code]1[/code], the second an ID of [code]2[/code], "
-"etc. When anchors get removed, the engine can then assign the corresponding "
-"ID to new anchors. The most common situation where anchors \"disappear\" is "
-"when the AR server identifies that two anchors represent different parts of "
-"the same plane and merges them."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:60
-msgid ""
-"Emitted when the mesh associated with the anchor changes or when one becomes "
-"available. This is especially important for topology that is constantly "
-"being [code]mesh_updated[/code]."
-msgstr ""
-
-#: doc/classes/ARVRCamera.xml:4
-msgid ""
-"A camera node with a few overrules for AR/VR applied, such as location "
-"tracking."
-msgstr ""
-
-#: doc/classes/ARVRCamera.xml:7
-msgid ""
-"This is a helper spatial node for our camera; note that, if stereoscopic "
-"rendering is applicable (VR-HMD), most of the camera properties are ignored, "
-"as the HMD information overrides them. The only properties that can be "
-"trusted are the near and far planes.\n"
-"The position and orientation of this node is automatically updated by the "
-"ARVR Server to represent the location of the HMD if such tracking is "
-"available and can thus be used by game logic. Note that, in contrast to the "
-"ARVR Controller, the render thread has access to the most up-to-date "
-"tracking data of the HMD and the location of the ARVRCamera can lag a few "
-"milliseconds behind what is used for rendering as a result."
-msgstr ""
-
-#: doc/classes/ARVRCamera.xml:11 doc/classes/ARVRController.xml:12
-#: doc/classes/ARVRInterface.xml:11 doc/classes/ARVROrigin.xml:13
-#: doc/classes/ARVRPositionalTracker.xml:12 doc/classes/ARVRServer.xml:10
-msgid "https://docs.godotengine.org/en/latest/tutorials/vr/index.html"
-msgstr ""
-
-#: doc/classes/ARVRController.xml:4
-msgid "A spatial node representing a spatially-tracked controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:7
-msgid ""
-"This is a helper spatial node that is linked to the tracking of controllers. "
-"It also offers several handy passthroughs to the state of buttons and such "
-"on the controllers.\n"
-"Controllers are linked by their ID. You can create controller nodes before "
-"the controllers are available. If your game always uses two controllers (one "
-"for each hand), you can predefine the controllers with ID 1 and 2; they will "
-"become active as soon as the controllers are identified. If you expect "
-"additional controllers to be used, you should react to the signals and add "
-"ARVRController nodes to your scene.\n"
-"The position of the controller node is automatically updated by the "
-"[ARVRServer]. This makes this node ideal to add child nodes to visualize the "
-"controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:19
-msgid ""
-"If active, returns the name of the associated controller if provided by the "
-"AR/VR SDK used."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:26
-msgid ""
-"Returns the hand holding this controller, if known. See [enum "
-"ARVRPositionalTracker.TrackerHand]."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:33
-msgid ""
-"Returns [code]true[/code] if the bound controller is active. ARVR systems "
-"attempt to track active controllers."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:42
-msgid ""
-"Returns the value of the given axis for things like triggers, touchpads, "
-"etc. that are embedded into the controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:49
-msgid ""
-"Returns the ID of the joystick object bound to this. Every controller "
-"tracked by the [ARVRServer] that has buttons and axis will also be "
-"registered as a joystick within Godot. This means that all the normal "
-"joystick tracking and input mapping will work for buttons and axis found on "
-"the AR/VR controllers. This ID is purely offered as information so you can "
-"link up the controller with its joystick entry."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:56
-msgid ""
-"If provided by the [ARVRInterface], this returns a mesh associated with the "
-"controller. This can be used to visualize the controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:65
-msgid ""
-"Returns [code]true[/code] if the button at index [code]button[/code] is "
-"pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] "
-"constants."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:71
-msgid ""
-"The controller's ID.\n"
-"A controller ID of 0 is unbound and will always result in an inactive node. "
-"Controller ID 1 is reserved for the first controller that identifies itself "
-"as the left-hand controller and ID 2 is reserved for the first controller "
-"that identifies itself as the right-hand controller.\n"
-"For any other controller that the [ARVRServer] detects, we continue with "
-"controller ID 3.\n"
-"When a controller is turned off, its slot is freed. This ensures controllers "
-"will keep the same ID even when controllers with lower IDs are turned off."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:77
-msgid ""
-"The degree to which the controller vibrates. Ranges from [code]0.0[/code] to "
-"[code]1.0[/code] with precision [code].01[/code]. If changed, updates "
-"[member ARVRPositionalTracker.rumble] accordingly.\n"
-"This is a useful property to animate if you want the controller to vibrate "
-"for a limited duration."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:86
-msgid "Emitted when a button on this controller is pressed."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:93
-msgid "Emitted when a button on this controller is released."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:100
-msgid ""
-"Emitted when the mesh associated with the controller changes or when one "
-"becomes available. Generally speaking this will be a static mesh after "
-"becoming available."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:4
-msgid "Base class for an AR/VR interface implementation."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:7
-msgid ""
-"This class needs to be implemented to make an AR or VR platform available to "
-"Godot and these should be implemented as C++ modules or GDNative modules "
-"(note that for GDNative the subclass ARVRScriptInterface should be used). "
-"Part of the interface is exposed to GDScript so you can detect, enable and "
-"configure an AR or VR platform.\n"
-"Interfaces should be written in such a way that simply enabling them will "
-"give us a working setup. You can query the available interfaces through "
-"[ARVRServer]."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:18
-msgid ""
-"If this is an AR interface that requires displaying a camera feed as the "
-"background, this method returns the feed ID in the [CameraServer] for this "
-"interface."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:25
-msgid ""
-"Returns a combination of [enum Capabilities] flags providing information "
-"about the capabilities of this interface."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:32
-msgid "Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:39
-msgid ""
-"Returns the resolution at which we should render our intermediate results "
-"before things like lens distortion are applied by the VR platform."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:46
-msgid ""
-"If supported, returns the status of our tracking. This will allow you to "
-"provide feedback to the user whether there are issues with positional "
-"tracking."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:53
-msgid ""
-"Call this to initialize this interface. The first interface that is "
-"initialized is identified as the primary interface and it will be used for "
-"rendering output.\n"
-"After initializing the interface you want to use you then need to enable the "
-"AR/VR mode of a viewport and rendering should commence.\n"
-"[b]Note:[/b] You must enable the AR/VR mode on the main viewport for any "
-"device that uses the main output of Godot, such as for mobile VR.\n"
-"If you do this for a platform that handles its own output (such as OpenVR) "
-"Godot will show just one eye without distortion on screen. Alternatively, "
-"you can add a separate viewport node to your scene and enable AR/VR on that "
-"viewport. It will be used to output to the HMD, leaving you free to do "
-"anything you like in the main window, such as using a separate camera as a "
-"spectator camera or rendering something completely different.\n"
-"While currently not used, you can activate additional interfaces. You may "
-"wish to do this if you want to track controllers from other platforms. "
-"However, at this point in time only one interface can render to an HMD."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:64
-msgid ""
-"Returns [code]true[/code] if the current output of this interface is in "
-"stereo."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:71
-msgid "Turns the interface off."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:77
-msgid "On an AR interface, [code]true[/code] if anchor detection is enabled."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:80
-msgid "[code]true[/code] if this interface been initialized."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:83
-msgid "[code]true[/code] if this is the primary interface."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:88
-msgid "No ARVR capabilities."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:91
-msgid ""
-"This interface can work with normal rendering output (non-HMD based AR)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:94
-msgid "This interface supports stereoscopic rendering."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:97
-msgid "This interface supports AR (video background and real world tracking)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:100
-msgid ""
-"This interface outputs to an external device. If the main viewport is used, "
-"the on screen output is an unmodified buffer of either the left or right eye "
-"(stretched if the viewport size is not changed to the same aspect ratio of "
-"[method get_render_targetsize]). Using a separate viewport node frees up the "
-"main viewport for other purposes."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:103
-msgid ""
-"Mono output, this is mostly used internally when retrieving positioning "
-"information for our camera node or when stereo scopic rendering is not "
-"supported."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:106
-msgid ""
-"Left eye output, this is mostly used internally when rendering the image for "
-"the left eye and obtaining positioning and projection information."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:109
-msgid ""
-"Right eye output, this is mostly used internally when rendering the image "
-"for the right eye and obtaining positioning and projection information."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:112
-msgid "Tracking is behaving as expected."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:115
-msgid ""
-"Tracking is hindered by excessive motion (the player is moving faster than "
-"tracking can keep up)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:118
-msgid ""
-"Tracking is hindered by insufficient features, it's too dark (for camera-"
-"based tracking), player is blocked, etc."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:121
-msgid ""
-"We don't know the status of the tracking or this interface does not provide "
-"feedback."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:124
-msgid ""
-"Tracking is not functional (camera not plugged in or obscured, lighthouses "
-"turned off, etc.)."
-msgstr ""
-
-#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml:4
-msgid "GDNative wrapper for an ARVR interface."
-msgstr ""
-
-#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml:7
-msgid ""
-"This is a wrapper class for GDNative implementations of the ARVR interface. "
-"To use a GDNative ARVR interface, simply instantiate this object and set "
-"your GDNative library containing the ARVR interface implementation."
-msgstr ""
-
-#: doc/classes/ARVROrigin.xml:4
-msgid "The origin point in AR/VR."
-msgstr ""
-
-#: doc/classes/ARVROrigin.xml:7
-msgid ""
-"This is a special node within the AR/VR system that maps the physical "
-"location of the center of our tracking space to the virtual location within "
-"our game world.\n"
-"There should be only one of these nodes in your scene and you must have one. "
-"All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct "
-"children of this node for spatial tracking to work correctly.\n"
-"It is the position of this node that you update when your character needs to "
-"move through your game world while we're not moving in the real world. "
-"Movement in the real world is always in relation to this origin point.\n"
-"For example, if your character is driving a car, the ARVROrigin node should "
-"be a child node of this car. Or, if you're implementing a teleport system to "
-"move your character, you should change the position of this node."
-msgstr ""
-
-#: doc/classes/ARVROrigin.xml:19
-msgid ""
-"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
-"assume a scale of 1 game world unit = 1 real world meter.\n"
-"[b]Note:[/b] This method is a passthrough to the [ARVRServer] itself."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:4
-msgid "A tracked object."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:7
-msgid ""
-"An instance of this object represents a device that is tracked, such as a "
-"controller or anchor point. HMDs aren't represented here as they are handled "
-"internally.\n"
-"As controllers are turned on and the AR/VR interface detects them, instances "
-"of this object are automatically added to this list of active tracking "
-"objects accessible through the [ARVRServer].\n"
-"The [ARVRController] and [ARVRAnchor] both consume objects of this type and "
-"should be used in your project. The positional trackers are just under-the-"
-"hood objects that make this all work. These are mostly exposed so that "
-"GDNative-based interfaces can interact with them."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:19
-msgid ""
-"Returns the hand holding this tracker, if known. See [enum TrackerHand] "
-"constants."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:26
-msgid ""
-"If this is a controller that is being tracked, the controller will also be "
-"represented by a joystick entry with this ID."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:33
-msgid ""
-"Returns the mesh related to a controller or anchor point if one is available."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:40
-msgid "Returns the controller or anchor point's name if available."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:47
-msgid "Returns the controller's orientation matrix."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:54
-msgid "Returns the world-space controller position."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:61
-msgid ""
-"Returns the internal tracker ID. This uniquely identifies the tracker per "
-"tracker type and matches the ID you need to specify for nodes such as the "
-"[ARVRController] and [ARVRAnchor] nodes."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:68
-msgid "Returns [code]true[/code] if this device tracks orientation."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:75
-msgid "Returns [code]true[/code] if this device tracks position."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:84
-msgid "Returns the transform combining this device's orientation and position."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:91
-msgid "Returns the tracker's type."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:97
-msgid ""
-"The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to "
-"[code]1.0[/code] with precision [code].01[/code]."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:102
-msgid "The hand this tracker is held in is unknown or not applicable."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:105
-msgid "This tracker is the left hand controller."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:108
-msgid "This tracker is the right hand controller."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:4
-msgid "Server for AR and VR features."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:7
-msgid ""
-"The AR/VR server is the heart of our Advanced and Virtual Reality solution "
-"and handles all the processing."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:21
-msgid ""
-"This is an important function to understand correctly. AR and VR platforms "
-"all handle positioning slightly differently.\n"
-"For platforms that do not offer spatial tracking, our origin point (0,0,0) "
-"is the location of our HMD, but you have little control over the direction "
-"the player is facing in the real world.\n"
-"For platforms that do offer spatial tracking, our origin point depends very "
-"much on the system. For OpenVR, our origin point is usually the center of "
-"the tracking space, on the ground. For other platforms, it's often the "
-"location of the tracking camera.\n"
-"This method allows you to center your tracker on the location of the HMD. It "
-"will take the current location of the HMD and use that to adjust all your "
-"tracking data; in essence, realigning the real world to your player's "
-"current position in the game world.\n"
-"For this method to produce usable results, tracking information must be "
-"available. This often takes a few frames after starting your game.\n"
-"You should call this method after a few seconds have passed. For instance, "
-"when the user requests a realignment of the display holding a designated "
-"button on a controller for a short period of time, or when implementing a "
-"teleport mechanism."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:35
-msgid ""
-"Finds an interface by its name. For instance, if your project uses "
-"capabilities of an AR/VR platform, you can find the interface for that "
-"platform by name and initialize it."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:42
-msgid "Returns the primary interface's transformation."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:51
-msgid ""
-"Returns the interface registered at a given index in our list of interfaces."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:58
-msgid ""
-"Returns the number of interfaces currently registered with the AR/VR server. "
-"If your project supports multiple AR/VR platforms, you can look through the "
-"available interface, and either present the user with a selection or simply "
-"try to initialize each interface and use the first one that returns "
-"[code]true[/code]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:65
-msgid ""
-"Returns a list of available interfaces the ID and name of each interface."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:72
-msgid ""
-"Returns the absolute timestamp (in μs) of the last [ARVRServer] commit of "
-"the AR/VR eyes to [RenderingServer]. The value comes from an internal call "
-"to [method OS.get_ticks_usec]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:79
-msgid ""
-"Returns the duration (in μs) of the last frame. This is computed as the "
-"difference between [method get_last_commit_usec] and [method "
-"get_last_process_usec] when committing."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:86
-msgid ""
-"Returns the absolute timestamp (in μs) of the last [ARVRServer] process "
-"callback. The value comes from an internal call to [method OS."
-"get_ticks_usec]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:93
-msgid ""
-"Returns the reference frame transform. Mostly used internally and exposed "
-"for GDNative build interfaces."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:102
-msgid "Returns the positional tracker at the given ID."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:109
-msgid "Returns the number of trackers currently registered."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:115
-msgid "The primary [ARVRInterface] currently bound to the [ARVRServer]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:118
-msgid ""
-"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
-"assume a scale of 1 game world unit = 1 real world meter."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:126
-msgid "Emitted when a new interface has been added."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:133
-msgid "Emitted when an interface is removed."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:144
-msgid ""
-"Emitted when a new tracker has been added. If you don't use a fixed number "
-"of controllers or if you're using [ARVRAnchor]s for an AR solution, it is "
-"important to react to this signal to add the appropriate [ARVRController] or "
-"[ARVRAnchor] nodes related to this new tracker."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:155
-msgid ""
-"Emitted when a tracker is removed. You should remove any [ARVRController] or "
-"[ARVRAnchor] points if applicable. This is not mandatory, the nodes simply "
-"become inactive and will be made active again when a new tracker becomes "
-"available (i.e. a new controller is switched on that takes the place of the "
-"previous one)."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:161
-msgid "The tracker tracks the location of a controller."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:164
-msgid "The tracker tracks the location of a base station."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:167
-msgid "The tracker tracks the location and size of an AR anchor."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:170
-msgid "Used internally to filter trackers of any known type."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:173
-msgid "Used internally if we haven't set the tracker type yet."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:176
-msgid "Used internally to select all trackers."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:179
-msgid ""
-"Fully reset the orientation of the HMD. Regardless of what direction the "
-"user is looking to in the real world. The user will look dead ahead in the "
-"virtual world."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:182
-msgid ""
-"Resets the orientation but keeps the tilt of the device. So if we're looking "
-"down, we keep looking down but heading will be reset."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:185
-msgid ""
-"Does not reset the orientation of the HMD, only the position of the player "
-"gets centered."
-msgstr ""
-
#: doc/classes/AStar.xml:4
msgid ""
"An implementation of A* to find shortest paths among connected points in "
@@ -8377,7 +7741,9 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml:64 doc/classes/AudioStreamPlayer2D.xml:70
#: doc/classes/AudioStreamPlayer3D.xml:94
-msgid "Changes the pitch and the tempo of the audio."
+msgid ""
+"The pitch and the tempo of the audio, as a multiplier of the audio sample's "
+"sample rate."
msgstr ""
#: doc/classes/AudioStreamPlayer.xml:67 doc/classes/AudioStreamPlayer2D.xml:73
@@ -8622,15 +7988,23 @@ msgid "Audio format. See [enum Format] constants for values."
msgstr ""
#: doc/classes/AudioStreamSample.xml:33
-msgid "Loop start in bytes."
+msgid ""
+"The loop start point (in number of samples, relative to the beginning of the "
+"sample). This information will be imported automatically from the WAV file "
+"if present."
msgstr ""
#: doc/classes/AudioStreamSample.xml:36
-msgid "Loop end in bytes."
+msgid ""
+"The loop end point (in number of samples, relative to the beginning of the "
+"sample). This information will be imported automatically from the WAV file "
+"if present."
msgstr ""
#: doc/classes/AudioStreamSample.xml:39
-msgid "Loop mode. See [enum LoopMode] constants for values."
+msgid ""
+"The loop mode. This information will be imported automatically from the WAV "
+"file if present. See [enum LoopMode] constants for values."
msgstr ""
#: doc/classes/AudioStreamSample.xml:42
@@ -8659,19 +8033,19 @@ msgstr ""
#: doc/classes/AudioStreamSample.xml:62
msgid ""
-"Audio loops the data between [member loop_begin] and [member loop_end] "
+"Audio loops the data between [member loop_begin] and [member loop_end], "
"playing forward only."
msgstr ""
#: doc/classes/AudioStreamSample.xml:65
msgid ""
-"Audio loops the data between [member loop_begin] and [member loop_end] "
+"Audio loops the data between [member loop_begin] and [member loop_end], "
"playing back and forth."
msgstr ""
#: doc/classes/AudioStreamSample.xml:68
msgid ""
-"Audio loops the data between [member loop_begin] and [member loop_end] "
+"Audio loops the data between [member loop_begin] and [member loop_end], "
"playing backward only."
msgstr ""
@@ -8688,30 +8062,35 @@ msgid ""
"in the BackBufferCopy node is bufferized with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
-"access the buffer."
+"access the buffer.\n"
+"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
+"anchors and margins won't apply to child [Control]-derived nodes. This can "
+"be problematic when resizing the window. To avoid this, add [Control]-"
+"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"adding them as children."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:15
+#: doc/classes/BackBufferCopy.xml:16
msgid "Buffer mode. See [enum CopyMode] constants."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:18
+#: doc/classes/BackBufferCopy.xml:19
msgid ""
"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:23
+#: doc/classes/BackBufferCopy.xml:24
msgid ""
"Disables the buffering mode. This means the BackBufferCopy node will "
"directly use the portion of screen it covers."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:26
+#: doc/classes/BackBufferCopy.xml:27
msgid "BackBufferCopy buffers a rectangular region."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:29
+#: doc/classes/BackBufferCopy.xml:30
msgid "BackBufferCopy buffers the entire screen."
msgstr ""
@@ -8781,80 +8160,83 @@ msgstr ""
#: doc/classes/BaseButton.xml:62
msgid ""
"If [code]true[/code], the button stays pressed when moving the cursor "
-"outside the button while pressing it."
+"outside the button while pressing it.\n"
+"[b]Note:[/b] This property only affects the button's visual appearance. "
+"Signals will be emitted at the same moment regardless of this property's "
+"value."
msgstr ""
-#: doc/classes/BaseButton.xml:65
+#: doc/classes/BaseButton.xml:66
msgid ""
"If [code]true[/code], the button's state is pressed. Means the button is "
"pressed down or toggled (if [member toggle_mode] is active)."
msgstr ""
-#: doc/classes/BaseButton.xml:68
+#: doc/classes/BaseButton.xml:69
msgid "[ShortCut] associated to the button."
msgstr ""
-#: doc/classes/BaseButton.xml:71
+#: doc/classes/BaseButton.xml:72
msgid ""
"If [code]true[/code], the button will add information about its shortcut in "
"the tooltip."
msgstr ""
-#: doc/classes/BaseButton.xml:74
+#: doc/classes/BaseButton.xml:75
msgid ""
"If [code]true[/code], the button is in toggle mode. Makes the button flip "
"state between pressed and unpressed each time its area is clicked."
msgstr ""
-#: doc/classes/BaseButton.xml:80
+#: doc/classes/BaseButton.xml:81
msgid "Emitted when the button starts being held down."
msgstr ""
-#: doc/classes/BaseButton.xml:85
+#: doc/classes/BaseButton.xml:86
msgid "Emitted when the button stops being held down."
msgstr ""
-#: doc/classes/BaseButton.xml:90
+#: doc/classes/BaseButton.xml:91
msgid ""
"Emitted when the button is toggled or pressed. This is on [signal "
"button_down] if [member action_mode] is [constant ACTION_MODE_BUTTON_PRESS] "
"and on [signal button_up] otherwise."
msgstr ""
-#: doc/classes/BaseButton.xml:97
+#: doc/classes/BaseButton.xml:98
msgid ""
"Emitted when the button was just toggled between pressed and normal states "
"(only if [member toggle_mode] is active). The new state is contained in the "
"[code]button_pressed[/code] argument."
msgstr ""
-#: doc/classes/BaseButton.xml:103
+#: doc/classes/BaseButton.xml:104
msgid ""
"The normal state (i.e. not pressed, not hovered, not toggled and enabled) of "
"buttons."
msgstr ""
-#: doc/classes/BaseButton.xml:106
+#: doc/classes/BaseButton.xml:107
msgid "The state of buttons are pressed."
msgstr ""
-#: doc/classes/BaseButton.xml:109
+#: doc/classes/BaseButton.xml:110
msgid "The state of buttons are hovered."
msgstr ""
-#: doc/classes/BaseButton.xml:112
+#: doc/classes/BaseButton.xml:113
msgid "The state of buttons are disabled."
msgstr ""
-#: doc/classes/BaseButton.xml:115
+#: doc/classes/BaseButton.xml:116
msgid "The state of buttons are both hovered and pressed."
msgstr ""
-#: doc/classes/BaseButton.xml:118
+#: doc/classes/BaseButton.xml:119
msgid "Require just a press to consider the button clicked."
msgstr ""
-#: doc/classes/BaseButton.xml:121
+#: doc/classes/BaseButton.xml:122
msgid ""
"Require a press and a subsequent release before considering the button "
"clicked."
@@ -8978,8 +8360,8 @@ msgid ""
"the object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:109 doc/classes/BaseMaterial3D.xml:275
-#: doc/classes/BaseMaterial3D.xml:296
+#: doc/classes/BaseMaterial3D.xml:109 doc/classes/BaseMaterial3D.xml:284
+#: doc/classes/BaseMaterial3D.xml:305
msgid ""
"Specifies the channel of the [member ao_texture] in which the ambient "
"occlusion information is stored. This is useful when you store the "
@@ -8990,29 +8372,45 @@ msgstr ""
#: doc/classes/BaseMaterial3D.xml:112
msgid ""
+"The color used by the backlight effect. Represents the light passing through "
+"an object."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:115
+msgid "If [code]true[/code], the backlight effect is enabled."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:118
+msgid ""
+"Texture used to control the backlight effect per-pixel. Added to [member "
+"backlight]."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:121
+msgid ""
"If [code]true[/code], the shader will keep the scale set for the mesh. "
"Otherwise the scale is lost when billboarding. Only applies when [member "
"billboard_mode] is [constant BILLBOARD_ENABLED]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:115
+#: doc/classes/BaseMaterial3D.xml:124
msgid "Controls how the object faces the camera. See [enum BillboardMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:118
+#: doc/classes/BaseMaterial3D.xml:127
msgid ""
"The material's blend mode.\n"
"[b]Note:[/b] Values other than [code]Mix[/code] force the object into the "
"transparent pipeline. See [enum BlendMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:122
+#: doc/classes/BaseMaterial3D.xml:131
msgid ""
"Sets the strength of the clearcoat effect. Setting to [code]0[/code] looks "
"the same as disabling the clearcoat effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:125
+#: doc/classes/BaseMaterial3D.xml:134
msgid ""
"If [code]true[/code], clearcoat rendering is enabled. Adds a secondary "
"transparent pass to the lighting calculation resulting in an added specular "
@@ -9020,42 +8418,42 @@ msgid ""
"can be either glossy or rough."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:128
+#: doc/classes/BaseMaterial3D.xml:137
msgid ""
"Sets the roughness of the clearcoat pass. A higher value results in a "
"smoother clearcoat while a lower value results in a rougher clearcoat."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:131
+#: doc/classes/BaseMaterial3D.xml:140
msgid ""
"Texture that defines the strength of the clearcoat effect and the glossiness "
"of the clearcoat. Strength is specified in the red channel while glossiness "
"is specified in the green channel."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:134
+#: doc/classes/BaseMaterial3D.xml:143
msgid ""
"Which side of the object is not drawn when backfaces are rendered. See [enum "
"CullMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:137
+#: doc/classes/BaseMaterial3D.xml:146
msgid ""
"Determines when depth rendering takes place. See [enum DepthDrawMode]. See "
"also [member transparency]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:140
+#: doc/classes/BaseMaterial3D.xml:149
msgid "Texture that specifies the color of the detail overlay."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:143
+#: doc/classes/BaseMaterial3D.xml:152
msgid ""
"Specifies how the [member detail_albedo] should blend with the current "
"[code]ALBEDO[/code]. See [enum BlendMode] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:146
+#: doc/classes/BaseMaterial3D.xml:155
msgid ""
"If [code]true[/code], enables the detail overlay. Detail is a second texture "
"that gets mixed over the surface of the object based on [member "
@@ -9063,99 +8461,99 @@ msgid ""
"between two different albedo/normal textures."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:149
+#: doc/classes/BaseMaterial3D.xml:158
msgid ""
"Texture used to specify how the detail textures get blended with the base "
"textures."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:152
+#: doc/classes/BaseMaterial3D.xml:161
msgid "Texture that specifies the per-pixel normal of the detail overlay."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:155
+#: doc/classes/BaseMaterial3D.xml:164
msgid ""
"Specifies whether to use [code]UV[/code] or [code]UV2[/code] for the detail "
"layer. See [enum DetailUV] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:158
+#: doc/classes/BaseMaterial3D.xml:167
msgid ""
"The algorithm used for diffuse light scattering. See [enum DiffuseMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:161
+#: doc/classes/BaseMaterial3D.xml:170
msgid "If [code]true[/code], the object receives no ambient light."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:164
+#: doc/classes/BaseMaterial3D.xml:173
msgid ""
"If [code]true[/code], the object receives no shadow that would otherwise be "
"cast onto it."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:167
+#: doc/classes/BaseMaterial3D.xml:176
msgid "Distance at which the object fades fully and is no longer visible."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:170
+#: doc/classes/BaseMaterial3D.xml:179
msgid ""
"Distance at which the object starts to fade. If the object is less than this "
"distance away it will appear normal."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:173
+#: doc/classes/BaseMaterial3D.xml:182
msgid ""
"Specifies which type of fade to use. Can be any of the [enum "
"DistanceFadeMode]s."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:176
+#: doc/classes/BaseMaterial3D.xml:185
msgid "The emitted light's color. See [member emission_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:179
+#: doc/classes/BaseMaterial3D.xml:188
msgid ""
"If [code]true[/code], the body emits light. Emitting light makes the object "
"appear brighter. The object can also cast light on other objects if a "
"[GIProbe] is used and this object is used in baked lighting."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:182
+#: doc/classes/BaseMaterial3D.xml:191
msgid "The emitted light's strength. See [member emission_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:185
+#: doc/classes/BaseMaterial3D.xml:194
msgid "Use [code]UV2[/code] to read from the [member emission_texture]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:188
+#: doc/classes/BaseMaterial3D.xml:197
msgid ""
"Sets how [member emission] interacts with [member emission_texture]. Can "
"either add or multiply. See [enum EmissionOperator] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:191
+#: doc/classes/BaseMaterial3D.xml:200
msgid "Texture that specifies how much surface emits light at a given point."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:194
+#: doc/classes/BaseMaterial3D.xml:203
msgid ""
"If [code]true[/code], the object is rendered at the same size regardless of "
"distance."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:197
+#: doc/classes/BaseMaterial3D.xml:206
msgid ""
"If [code]true[/code], enables the vertex grow setting. See [member "
"grow_amount]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:200
+#: doc/classes/BaseMaterial3D.xml:209
msgid "Grows object vertices in the direction of their normals."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:221
+#: doc/classes/BaseMaterial3D.xml:230
msgid ""
"A high value makes the material appear more like a metal. Non-metals use "
"their albedo as the diffuse color and add diffuse to the specular "
@@ -9168,7 +8566,7 @@ msgid ""
"roughness]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:224
+#: doc/classes/BaseMaterial3D.xml:233
msgid ""
"Sets the size of the specular lobe. The specular lobe is the bright spot "
"that is reflected from light sources.\n"
@@ -9177,13 +8575,13 @@ msgid ""
"roughness]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:228
+#: doc/classes/BaseMaterial3D.xml:237
msgid ""
"Texture used to specify metallic for an object. This is multiplied by "
"[member metallic]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:231
+#: doc/classes/BaseMaterial3D.xml:240
msgid ""
"Specifies the channel of the [member metallic_texture] in which the metallic "
"information is stored. This is useful when you store the information for "
@@ -9192,21 +8590,21 @@ msgid ""
"you could reduce the number of textures you use."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:234
+#: doc/classes/BaseMaterial3D.xml:243
msgid ""
"If [code]true[/code], depth testing is disabled and the object will be drawn "
"in render order."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:237
+#: doc/classes/BaseMaterial3D.xml:246
msgid "If [code]true[/code], normal mapping is enabled."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:240
+#: doc/classes/BaseMaterial3D.xml:249
msgid "The strength of the normal map's effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:243
+#: doc/classes/BaseMaterial3D.xml:252
msgid ""
"Texture used to specify the normal at a given pixel. The "
"[code]normal_texture[/code] only uses the red and green channels. The normal "
@@ -9214,93 +8612,100 @@ msgid ""
"provided by the [Mesh]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:248
+#: doc/classes/BaseMaterial3D.xml:257
msgid ""
"The number of horizontal frames in the particle sprite sheet. Only enabled "
"when using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:251
+#: doc/classes/BaseMaterial3D.xml:260
msgid ""
"If [code]true[/code], particle animations are looped. Only enabled when "
"using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:254
+#: doc/classes/BaseMaterial3D.xml:263
msgid ""
"The number of vertical frames in the particle sprite sheet. Only enabled "
"when using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:257
+#: doc/classes/BaseMaterial3D.xml:266
msgid "The point size in pixels. See [member use_point_size]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:260
+#: doc/classes/BaseMaterial3D.xml:269
msgid ""
"Distance over which the fade effect takes place. The larger the distance the "
"longer it takes for an object to fade."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:263
+#: doc/classes/BaseMaterial3D.xml:272
msgid ""
"If [code]true[/code], the proximity fade effect is enabled. The proximity "
"fade effect fades out each pixel based on its distance to another object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:266
+#: doc/classes/BaseMaterial3D.xml:275
msgid ""
"If [code]true[/code], the refraction effect is enabled. Distorts "
"transparency based on light from behind the object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:269
+#: doc/classes/BaseMaterial3D.xml:278
msgid "The strength of the refraction effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:272
+#: doc/classes/BaseMaterial3D.xml:281
msgid ""
"Texture that controls the strength of the refraction per-pixel. Multiplied "
"by [member refraction_scale]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:278
+#: doc/classes/BaseMaterial3D.xml:287
msgid "Sets the strength of the rim lighting effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:281
+#: doc/classes/BaseMaterial3D.xml:290
msgid ""
"If [code]true[/code], rim effect is enabled. Rim lighting increases the "
"brightness at glancing angles on an object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:284
+#: doc/classes/BaseMaterial3D.xml:293
msgid ""
"Texture used to set the strength of the rim lighting effect per-pixel. "
"Multiplied by [member rim]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:287
+#: doc/classes/BaseMaterial3D.xml:296
msgid ""
"The amount of to blend light and albedo color when rendering rim effect. If "
"[code]0[/code] the light color is used, while [code]1[/code] means albedo "
"color is used. An intermediate value generally works best."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:290
+#: doc/classes/BaseMaterial3D.xml:299
msgid ""
"Surface reflection. A value of [code]0[/code] represents a perfect mirror "
"while a value of [code]1[/code] completely blurs the reflection. See also "
"[member metallic]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:293
+#: doc/classes/BaseMaterial3D.xml:302
msgid ""
"Texture used to control the roughness per-pixel. Multiplied by [member "
"roughness]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:301
+#: doc/classes/BaseMaterial3D.xml:308
+msgid ""
+"Sets whether the shading takes place per-pixel or per-vertex. Per-vertex "
+"lighting is faster, making it the best choice for mobile applications, "
+"however it looks considerably worse than per-pixel."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:311
msgid ""
"If [code]true[/code], enables the \"shadow to opacity\" render mode where "
"lighting modifies the alpha so shadowed areas are opaque and non-shadowed "
@@ -9308,77 +8713,67 @@ msgid ""
"AR."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:304
+#: doc/classes/BaseMaterial3D.xml:314
msgid "The method for rendering the specular blob. See [enum SpecularMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:307
+#: doc/classes/BaseMaterial3D.xml:317
msgid ""
"If [code]true[/code], subsurface scattering is enabled. Emulates light that "
"penetrates an object's surface, is scattered, and then emerges."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:312
+#: doc/classes/BaseMaterial3D.xml:320
+msgid ""
+"If [code]true[/code], subsurface scattering will use a special mode "
+"optimized for the color and density of human skin."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:323
msgid "The strength of the subsurface scattering effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:315
+#: doc/classes/BaseMaterial3D.xml:326
msgid ""
"Texture used to control the subsurface scattering strength. Stored in the "
"red texture channel. Multiplied by [member subsurf_scatter_strength]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:318
+#: doc/classes/BaseMaterial3D.xml:341
msgid "Filter flags for the texture. See [enum TextureFilter] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:321
+#: doc/classes/BaseMaterial3D.xml:344
msgid "Repeat flags for the texture. See [enum TextureFilter] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:324
-msgid ""
-"The color used by the transmission effect. Represents the light passing "
-"through an object."
-msgstr ""
-
-#: doc/classes/BaseMaterial3D.xml:327
-msgid "If [code]true[/code], the transmission effect is enabled."
-msgstr ""
-
-#: doc/classes/BaseMaterial3D.xml:330
-msgid ""
-"Texture used to control the transmission effect per-pixel. Added to [member "
-"transmission]."
-msgstr ""
-
-#: doc/classes/BaseMaterial3D.xml:333
+#: doc/classes/BaseMaterial3D.xml:347
msgid ""
"If [code]true[/code], transparency is enabled on the body. See also [member "
"blend_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:336
+#: doc/classes/BaseMaterial3D.xml:350
msgid ""
"If [code]true[/code], render point size can be changed.\n"
"[b]Note:[/b] this is only effective for objects whose geometry is point-"
"based rather than triangle-based. See also [member point_size]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:340
+#: doc/classes/BaseMaterial3D.xml:354
msgid ""
"How much to offset the [code]UV[/code] coordinates. This amount will be "
"added to [code]UV[/code] in the vertex function. This can be used to offset "
"a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:343
+#: doc/classes/BaseMaterial3D.xml:357
msgid ""
"How much to scale the [code]UV[/code] coordinates. This is multiplied by "
"[code]UV[/code] in the vertex function."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:346
+#: doc/classes/BaseMaterial3D.xml:360
msgid ""
"If [code]true[/code], instead of using [code]UV[/code] textures will use a "
"triplanar texture lookup to determine how to apply textures. Triplanar uses "
@@ -9392,32 +8787,32 @@ msgid ""
"when you are trying to achieve crisp texturing."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:349 doc/classes/BaseMaterial3D.xml:364
+#: doc/classes/BaseMaterial3D.xml:363 doc/classes/BaseMaterial3D.xml:378
msgid ""
"A lower number blends the texture more softly while a higher number blends "
"the texture more sharply."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:352
+#: doc/classes/BaseMaterial3D.xml:366
msgid ""
"If [code]true[/code], triplanar mapping for [code]UV[/code] is calculated in "
"world space rather than object local space. See also [member uv1_triplanar]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:355
+#: doc/classes/BaseMaterial3D.xml:369
msgid ""
"How much to offset the [code]UV2[/code] coordinates. This amount will be "
"added to [code]UV2[/code] in the vertex function. This can be used to offset "
"a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:358
+#: doc/classes/BaseMaterial3D.xml:372
msgid ""
"How much to scale the [code]UV2[/code] coordinates. This is multiplied by "
"[code]UV2[/code] in the vertex function."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:361
+#: doc/classes/BaseMaterial3D.xml:375
msgid ""
"If [code]true[/code], instead of using [code]UV2[/code] textures will use a "
"triplanar texture lookup to determine how to apply textures. Triplanar uses "
@@ -9431,368 +8826,443 @@ msgid ""
"when you are trying to achieve crisp texturing."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:367
+#: doc/classes/BaseMaterial3D.xml:381
msgid ""
"If [code]true[/code], triplanar mapping for [code]UV2[/code] is calculated "
"in world space rather than object local space. See also [member "
"uv2_triplanar]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:370
+#: doc/classes/BaseMaterial3D.xml:384
msgid ""
"If [code]true[/code], the model's vertex colors are processed as sRGB mode."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:373
+#: doc/classes/BaseMaterial3D.xml:387
msgid "If [code]true[/code], the vertex color is used as albedo color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:378
+#: doc/classes/BaseMaterial3D.xml:392
msgid "Texture specifying per-pixel color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:381
+#: doc/classes/BaseMaterial3D.xml:395
msgid "Texture specifying per-pixel metallic value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:384
+#: doc/classes/BaseMaterial3D.xml:398
msgid "Texture specifying per-pixel roughness value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:387
+#: doc/classes/BaseMaterial3D.xml:401
msgid "Texture specifying per-pixel emission color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:390
+#: doc/classes/BaseMaterial3D.xml:404
msgid "Texture specifying per-pixel normal vector."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:393
+#: doc/classes/BaseMaterial3D.xml:407
msgid "Texture specifying per-pixel rim value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:396
+#: doc/classes/BaseMaterial3D.xml:410
msgid "Texture specifying per-pixel clearcoat value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:399
+#: doc/classes/BaseMaterial3D.xml:413
msgid ""
"Texture specifying per-pixel flowmap direction for use with [member "
"anisotropy]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:402
+#: doc/classes/BaseMaterial3D.xml:416
msgid "Texture specifying per-pixel ambient occlusion value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:405
+#: doc/classes/BaseMaterial3D.xml:419
msgid "Texture specifying per-pixel height."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:408
+#: doc/classes/BaseMaterial3D.xml:422
msgid "Texture specifying per-pixel subsurface scattering."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:411
-msgid "Texture specifying per-pixel transmission color."
+#: doc/classes/BaseMaterial3D.xml:425
+msgid "Texture specifying per-pixel transmittance for subsurface scattering."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:428
+msgid "Texture specifying per-pixel backlight color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:414
+#: doc/classes/BaseMaterial3D.xml:431
msgid "Texture specifying per-pixel refraction strength."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:417
+#: doc/classes/BaseMaterial3D.xml:434
msgid "Texture specifying per-pixel detail mask blending value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:420
+#: doc/classes/BaseMaterial3D.xml:437
msgid "Texture specifying per-pixel detail color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:423
+#: doc/classes/BaseMaterial3D.xml:440
msgid "Texture specifying per-pixel detail normal."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:428
+#: doc/classes/BaseMaterial3D.xml:443
+msgid "Texture holding ambient occlusion, roughness, and metallic."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:446
msgid "Represents the size of the [enum TextureParam] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:431
+#: doc/classes/BaseMaterial3D.xml:449 doc/classes/RenderingServer.xml:3774
+#: doc/classes/Viewport.xml:390
msgid ""
"The texture filter reads from the nearest pixel only. The simplest and "
"fastest method of filtering, but the texture will look pixelized."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:434 doc/classes/CanvasItem.xml:665
+#: doc/classes/BaseMaterial3D.xml:452 doc/classes/RenderingServer.xml:3777
+#: doc/classes/Viewport.xml:393
msgid ""
-"The texture filter blends between the nearest four pixels. Use this for most "
-"cases where you want to avoid a pixelated style."
+"The texture filter blends between the nearest 4 pixels. Use this when you "
+"want to avoid a pixelated style, but do not want mipmaps."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:445 doc/classes/CanvasItem.xml:676
+#: doc/classes/BaseMaterial3D.xml:455 doc/classes/RenderingServer.xml:3780
+#: doc/classes/Viewport.xml:396
+msgid ""
+"The texture filter reads from the nearest pixel in the nearest mipmap. The "
+"fastest way to read from textures with mipmaps."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:458
+msgid ""
+"The texture filter blends between the nearest 4 pixels and between the "
+"nearest 2 mipmaps. Use this for most cases as mipmaps are important to "
+"smooth out pixels that are far from the camera."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:461 doc/classes/RenderingServer.xml:3786
+msgid ""
+"The texture filter reads from the nearest pixel, but selects a mipmap based "
+"on the angle between the surface and the camera view. This reduces artifacts "
+"on surfaces that are almost in line with the camera."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:464 doc/classes/RenderingServer.xml:3789
+msgid ""
+"The texture filter blends between the nearest 4 pixels and selects a mipmap "
+"based on the angle between the surface and the camera view. This reduces "
+"artifacts on surfaces that are almost in line with the camera. This is the "
+"slowest of the filtering options, but results in the highest quality "
+"texturing."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:467 doc/classes/CanvasItem.xml:677
msgid "Represents the size of the [enum TextureFilter] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:448
+#: doc/classes/BaseMaterial3D.xml:470
msgid "Use [code]UV[/code] with the detail texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:451
+#: doc/classes/BaseMaterial3D.xml:473
msgid "Use [code]UV2[/code] with the detail texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:454
+#: doc/classes/BaseMaterial3D.xml:476
msgid "The material will not use transparency."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:457
+#: doc/classes/BaseMaterial3D.xml:479
msgid "The material will use the texture's alpha values for transparency."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:464
+#: doc/classes/BaseMaterial3D.xml:482
+msgid ""
+"The material will cut off all values below a threshold, the rest will remain "
+"opaque."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:485
+msgid ""
+"The material will use the texture's alpha value for transparency, but will "
+"still be rendered in the pre-pass."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:488
msgid "Represents the size of the [enum Transparency] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:467
+#: doc/classes/BaseMaterial3D.xml:491
msgid "The object will not receive shadows."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:470
+#: doc/classes/BaseMaterial3D.xml:494
msgid ""
"The object will be shaded per pixel. Useful for realistic shading effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:473
+#: doc/classes/BaseMaterial3D.xml:497
msgid ""
"The object will be shaded per vertex. Useful when you want cheaper shaders "
"and do not care about visual quality."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:476
+#: doc/classes/BaseMaterial3D.xml:500
msgid "Represents the size of the [enum ShadingMode] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:479
+#: doc/classes/BaseMaterial3D.xml:503
msgid "Constant for setting [member emission_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:482
+#: doc/classes/BaseMaterial3D.xml:506
msgid "Constant for setting [member normal_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:485
+#: doc/classes/BaseMaterial3D.xml:509
msgid "Constant for setting [member rim_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:488
+#: doc/classes/BaseMaterial3D.xml:512
msgid "Constant for setting [member clearcoat_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:491
+#: doc/classes/BaseMaterial3D.xml:515
msgid "Constant for setting [member anisotropy_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:494
+#: doc/classes/BaseMaterial3D.xml:518
msgid "Constant for setting [member ao_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:499
+#: doc/classes/BaseMaterial3D.xml:521
+msgid "Constant for setting [member heightmap_enabled]."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:524
msgid "Constant for setting [member subsurf_scatter_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:502
-msgid "Constant for setting [member transmission_enabled]."
+#: doc/classes/BaseMaterial3D.xml:527
+msgid "Constant for setting [member subsurf_scatter_transmittance_enabled]."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:530
+msgid "Constant for setting [member backlight_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:505
+#: doc/classes/BaseMaterial3D.xml:533
msgid "Constant for setting [member refraction_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:508
+#: doc/classes/BaseMaterial3D.xml:536
msgid "Constant for setting [member detail_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:511 doc/classes/EditorFeatureProfile.xml:148
+#: doc/classes/BaseMaterial3D.xml:539 doc/classes/EditorFeatureProfile.xml:148
msgid "Represents the size of the [enum Feature] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:514
+#: doc/classes/BaseMaterial3D.xml:542
msgid ""
"Default blend mode. The color of the object is blended over the background "
"based on the object's alpha value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:517
+#: doc/classes/BaseMaterial3D.xml:545
msgid "The color of the object is added to the background."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:520
+#: doc/classes/BaseMaterial3D.xml:548
msgid "The color of the object is subtracted from the background."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:523
+#: doc/classes/BaseMaterial3D.xml:551
msgid "The color of the object is multiplied by the background."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:526
+#: doc/classes/BaseMaterial3D.xml:554
msgid "Default depth draw mode. Depth is drawn only for opaque objects."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:529
+#: doc/classes/BaseMaterial3D.xml:557
msgid "Depth draw is calculated for both opaque and transparent objects."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:532
+#: doc/classes/BaseMaterial3D.xml:560
msgid "No depth draw."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:535
+#: doc/classes/BaseMaterial3D.xml:563
msgid "Default cull mode. The back of the object is culled when not visible."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:538
+#: doc/classes/BaseMaterial3D.xml:566
msgid "The front of the object is culled when not visible."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:541
+#: doc/classes/BaseMaterial3D.xml:569
msgid "No culling is performed."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:544
+#: doc/classes/BaseMaterial3D.xml:572
msgid ""
"Disables the depth test, so this object is drawn on top of all others. "
"However, objects drawn after it in the draw order may cover it."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:547
+#: doc/classes/BaseMaterial3D.xml:575
msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:550
+#: doc/classes/BaseMaterial3D.xml:578
msgid ""
"Vertex color is in sRGB space and needs to be converted to linear. Only "
"applies in the Vulkan renderer."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:553
+#: doc/classes/BaseMaterial3D.xml:581
msgid ""
"Uses point size to alter the size of primitive points. Also changes the "
"albedo texture lookup to use [code]POINT_COORD[/code] instead of [code]UV[/"
"code]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:556
+#: doc/classes/BaseMaterial3D.xml:584
msgid ""
"Object is scaled by depth so that it always appears the same size on screen."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:559
+#: doc/classes/BaseMaterial3D.xml:587
msgid ""
"Shader will keep the scale set for the mesh. Otherwise the scale is lost "
"when billboarding. Only applies when [member billboard_mode] is [constant "
"BILLBOARD_ENABLED]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:562 doc/classes/BaseMaterial3D.xml:568
+#: doc/classes/BaseMaterial3D.xml:590 doc/classes/BaseMaterial3D.xml:596
msgid ""
"Use triplanar texture lookup for all texture lookups that would normally use "
"[code]UV[/code]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:565 doc/classes/BaseMaterial3D.xml:571
+#: doc/classes/BaseMaterial3D.xml:593 doc/classes/BaseMaterial3D.xml:599
msgid ""
"Use triplanar texture lookup for all texture lookups that would normally use "
"[code]UV2[/code]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:574
+#: doc/classes/BaseMaterial3D.xml:602
msgid ""
"Use [code]UV2[/code] coordinates to look up from the [member ao_texture]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:577
+#: doc/classes/BaseMaterial3D.xml:605
msgid ""
"Use [code]UV2[/code] coordinates to look up from the [member "
"emission_texture]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:580
+#: doc/classes/BaseMaterial3D.xml:608
msgid "Forces the shader to convert albedo from sRGB space to linear space."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:583
+#: doc/classes/BaseMaterial3D.xml:611
msgid "Disables receiving shadows from other objects."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:586
+#: doc/classes/BaseMaterial3D.xml:614
msgid "Disables receiving ambient light."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:589
+#: doc/classes/BaseMaterial3D.xml:617
msgid "Enables the shadow to opacity feature."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:594
+#: doc/classes/BaseMaterial3D.xml:620 doc/classes/RenderingServer.xml:3801
+#: doc/classes/Viewport.xml:408
+msgid ""
+"Enables the texture to repeat when UV coordinates are outside the 0-1 range. "
+"If using one of the linear filtering modes, this can result in artifacts at "
+"the edges of a texture when the sampler filters across the edges of the "
+"texture."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:623
msgid ""
"Invert values read from a depth texture to convert them to height values "
"(heightmap)."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:599 doc/classes/CPUParticles2D.xml:355
-#: doc/classes/CPUParticles3D.xml:364 doc/classes/GeometryInstance3D.xml:100
+#: doc/classes/BaseMaterial3D.xml:626
+msgid ""
+"Enables the skin mode for subsurface scattering which is used to improve the "
+"look of subsurface scattering when used for human skin."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:629 doc/classes/CPUParticles2D.xml:355
+#: doc/classes/CPUParticles3D.xml:364 doc/classes/GeometryInstance3D.xml:118
#: doc/classes/ParticlesMaterial.xml:315
msgid "Represents the size of the [enum Flags] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:602
+#: doc/classes/BaseMaterial3D.xml:632
msgid "Default diffuse scattering algorithm."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:605
+#: doc/classes/BaseMaterial3D.xml:635
msgid "Diffuse scattering ignores roughness."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:608
+#: doc/classes/BaseMaterial3D.xml:638
msgid "Extends Lambert to cover more than 90 degrees when roughness increases."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:611
+#: doc/classes/BaseMaterial3D.xml:641
msgid "Attempts to use roughness to emulate microsurfacing."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:614
+#: doc/classes/BaseMaterial3D.xml:644
msgid "Uses a hard cut for lighting, with smoothing affected by roughness."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:617
+#: doc/classes/BaseMaterial3D.xml:647
msgid "Default specular blob."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:620 doc/classes/BaseMaterial3D.xml:623
+#: doc/classes/BaseMaterial3D.xml:650 doc/classes/BaseMaterial3D.xml:653
msgid "Older specular algorithm, included for compatibility."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:626
+#: doc/classes/BaseMaterial3D.xml:656
msgid "Toon blob which changes size based on roughness."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:629
+#: doc/classes/BaseMaterial3D.xml:659
msgid "No specular blob."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:632
+#: doc/classes/BaseMaterial3D.xml:662
msgid "Billboard mode is disabled."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:635
+#: doc/classes/BaseMaterial3D.xml:665
msgid "The object's Z axis will always face the camera."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:638
+#: doc/classes/BaseMaterial3D.xml:668
msgid "The object's X axis will always face the camera."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:641
+#: doc/classes/BaseMaterial3D.xml:671
msgid ""
"Used for particle systems when assigned to [GPUParticles3D] and "
"[CPUParticles3D] nodes. Enables [code]particles_anim_*[/code] properties.\n"
@@ -9800,45 +9270,45 @@ msgid ""
"anim_speed] should also be set to a positive value for the animation to play."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:645
+#: doc/classes/BaseMaterial3D.xml:675
msgid "Used to read from the red channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:648
+#: doc/classes/BaseMaterial3D.xml:678
msgid "Used to read from the green channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:651
+#: doc/classes/BaseMaterial3D.xml:681
msgid "Used to read from the blue channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:654
+#: doc/classes/BaseMaterial3D.xml:684
msgid "Used to read from the alpha channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:657
+#: doc/classes/BaseMaterial3D.xml:687
msgid "Currently unused."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:660
+#: doc/classes/BaseMaterial3D.xml:690
msgid "Adds the emission color to the color from the emission texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:663
+#: doc/classes/BaseMaterial3D.xml:693
msgid "Multiplies the emission color by the color from the emission texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:666
+#: doc/classes/BaseMaterial3D.xml:696
msgid "Do not use distance fade."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:669
+#: doc/classes/BaseMaterial3D.xml:699
msgid ""
"Smoothly fades the object out based on each pixel's distance from the camera "
"using the alpha channel."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:672
+#: doc/classes/BaseMaterial3D.xml:702
msgid ""
"Smoothly fades the object out based on each pixel's distance from the camera "
"using a dither approach. Dithering discards pixels based on a set pattern to "
@@ -9846,7 +9316,7 @@ msgid ""
"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:675
+#: doc/classes/BaseMaterial3D.xml:705
msgid ""
"Smoothly fades the object out based on the object's distance from the camera "
"using a dither approach. Dithering discards pixels based on a set pattern to "
@@ -10520,176 +9990,181 @@ msgid ""
"scenes than manually changing the position of [CanvasItem]-based nodes.\n"
"This node is intended to be a simple helper to get things going quickly and "
"it may happen that more functionality is desired to change how the camera "
-"works. To make your own custom camera node, simply inherit from [Node2D] and "
-"change the transform of the canvas by calling get_viewport()."
-"set_canvas_transform(m) in [Viewport]."
+"works. To make your own custom camera node, inherit from [Node2D] and change "
+"the transform of the canvas by setting [member Viewport.canvas_transform] in "
+"[Viewport] (you can obtain the current [Viewport] by using [method Node."
+"get_viewport]).\n"
+"Note that the [Camera2D] node's [code]position[/code] doesn't represent the "
+"actual position of the screen, which may differ due to applied smoothing or "
+"limits. You can use [method get_camera_screen_center] to get the real "
+"position."
msgstr ""
-#: doc/classes/Camera2D.xml:17
+#: doc/classes/Camera2D.xml:18
msgid "Aligns the camera to the tracked node."
msgstr ""
-#: doc/classes/Camera2D.xml:24
+#: doc/classes/Camera2D.xml:25
msgid ""
"Removes any [Camera2D] from the ancestor [Viewport]'s internal currently-"
"assigned camera."
msgstr ""
-#: doc/classes/Camera2D.xml:31
+#: doc/classes/Camera2D.xml:32
msgid "Forces the camera to update scroll immediately."
msgstr ""
-#: doc/classes/Camera2D.xml:38
+#: doc/classes/Camera2D.xml:39
msgid "Returns the camera position."
msgstr ""
-#: doc/classes/Camera2D.xml:45
+#: doc/classes/Camera2D.xml:46
msgid ""
"Returns the location of the [Camera2D]'s screen-center, relative to the "
"origin."
msgstr ""
-#: doc/classes/Camera2D.xml:54
+#: doc/classes/Camera2D.xml:55
msgid ""
"Returns the specified margin. See also [member drag_margin_bottom], [member "
"drag_margin_top], [member drag_margin_left], and [member drag_margin_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:63
+#: doc/classes/Camera2D.xml:64
msgid ""
"Returns the specified camera limit. See also [member limit_bottom], [member "
"limit_top], [member limit_left], and [member limit_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:70
+#: doc/classes/Camera2D.xml:71
msgid ""
"Make this the current 2D camera for the scene (viewport and layer), in case "
"there are many cameras in the scene."
msgstr ""
-#: doc/classes/Camera2D.xml:77
+#: doc/classes/Camera2D.xml:78
msgid ""
"Sets the camera's position immediately to its current smoothing "
"destination.\n"
"This has no effect if smoothing is disabled."
msgstr ""
-#: doc/classes/Camera2D.xml:89
+#: doc/classes/Camera2D.xml:90
msgid ""
"Sets the specified margin. See also [member drag_margin_bottom], [member "
"drag_margin_top], [member drag_margin_left], and [member drag_margin_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:100
+#: doc/classes/Camera2D.xml:101
msgid ""
"Sets the specified camera limit. See also [member limit_bottom], [member "
"limit_top], [member limit_left], and [member limit_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:106
+#: doc/classes/Camera2D.xml:107
msgid "The Camera2D's anchor point. See [enum AnchorMode] constants."
msgstr ""
-#: doc/classes/Camera2D.xml:109
+#: doc/classes/Camera2D.xml:110
msgid ""
"If [code]true[/code], the camera is the active camera for the current scene. "
"Only one camera can be current, so setting a different camera [code]current[/"
"code] will disable this one."
msgstr ""
-#: doc/classes/Camera2D.xml:112
+#: doc/classes/Camera2D.xml:113
msgid ""
"The custom [Viewport] node attached to the [Camera2D]. If [code]null[/code] "
"or not a [Viewport], uses the default viewport instead."
msgstr ""
-#: doc/classes/Camera2D.xml:115
+#: doc/classes/Camera2D.xml:116
msgid ""
"Bottom margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:118
+#: doc/classes/Camera2D.xml:119
msgid ""
"If [code]true[/code], the camera only moves when reaching the horizontal "
"drag margins. If [code]false[/code], the camera moves horizontally "
"regardless of margins."
msgstr ""
-#: doc/classes/Camera2D.xml:121
+#: doc/classes/Camera2D.xml:122
msgid ""
"Left margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:124
+#: doc/classes/Camera2D.xml:125
msgid ""
"Right margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:127
+#: doc/classes/Camera2D.xml:128
msgid ""
"Top margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:130
+#: doc/classes/Camera2D.xml:131
msgid ""
"If [code]true[/code], the camera only moves when reaching the vertical drag "
"margins. If [code]false[/code], the camera moves vertically regardless of "
"margins."
msgstr ""
-#: doc/classes/Camera2D.xml:133
+#: doc/classes/Camera2D.xml:134
msgid ""
"If [code]true[/code], draws the camera's drag margin rectangle in the editor."
msgstr ""
-#: doc/classes/Camera2D.xml:136
+#: doc/classes/Camera2D.xml:137
msgid ""
"If [code]true[/code], draws the camera's limits rectangle in the editor."
msgstr ""
-#: doc/classes/Camera2D.xml:139
+#: doc/classes/Camera2D.xml:140
msgid ""
"If [code]true[/code], draws the camera's screen rectangle in the editor."
msgstr ""
-#: doc/classes/Camera2D.xml:142
+#: doc/classes/Camera2D.xml:143
msgid ""
"Bottom scroll limit in pixels. The camera stops moving when reaching this "
"value."
msgstr ""
-#: doc/classes/Camera2D.xml:145
+#: doc/classes/Camera2D.xml:146
msgid ""
"Left scroll limit in pixels. The camera stops moving when reaching this "
"value."
msgstr ""
-#: doc/classes/Camera2D.xml:148
+#: doc/classes/Camera2D.xml:149
msgid ""
"Right scroll limit in pixels. The camera stops moving when reaching this "
"value."
msgstr ""
-#: doc/classes/Camera2D.xml:151
+#: doc/classes/Camera2D.xml:152
msgid ""
"If [code]true[/code], the camera smoothly stops when reaches its limits."
msgstr ""
-#: doc/classes/Camera2D.xml:154
+#: doc/classes/Camera2D.xml:155
msgid ""
"Top scroll limit in pixels. The camera stops moving when reaching this value."
msgstr ""
-#: doc/classes/Camera2D.xml:157
+#: doc/classes/Camera2D.xml:158
msgid ""
"The camera's offset, useful for looking around or camera shake animations."
msgstr ""
-#: doc/classes/Camera2D.xml:160
+#: doc/classes/Camera2D.xml:161
msgid ""
"The horizontal offset of the camera, relative to the drag margins.\n"
"[b]Note:[/b] Offset H is used only to force offset relative to margins. It's "
@@ -10697,33 +10172,33 @@ msgid ""
"initial offset."
msgstr ""
-#: doc/classes/Camera2D.xml:164
+#: doc/classes/Camera2D.xml:165
msgid ""
"The vertical offset of the camera, relative to the drag margins.\n"
"[b]Note:[/b] Used the same as [member offset_h]."
msgstr ""
-#: doc/classes/Camera2D.xml:168
+#: doc/classes/Camera2D.xml:169
msgid "The camera's process callback. See [enum Camera2DProcessMode]."
msgstr ""
-#: doc/classes/Camera2D.xml:171
+#: doc/classes/Camera2D.xml:172
msgid "If [code]true[/code], the camera rotates with the target."
msgstr ""
-#: doc/classes/Camera2D.xml:174
+#: doc/classes/Camera2D.xml:175
msgid ""
"If [code]true[/code], the camera smoothly moves towards the target at "
"[member smoothing_speed]."
msgstr ""
-#: doc/classes/Camera2D.xml:177
+#: doc/classes/Camera2D.xml:178
msgid ""
"Speed in pixels per second of the camera's smoothing effect when [member "
"smoothing_enabled] is [code]true[/code]."
msgstr ""
-#: doc/classes/Camera2D.xml:180
+#: doc/classes/Camera2D.xml:181
msgid ""
"The camera's zoom relative to the viewport. Values larger than "
"[code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an "
@@ -10731,23 +10206,23 @@ msgid ""
"[code]Vector2(4, 4)[/code] for a 4× zoom-out."
msgstr ""
-#: doc/classes/Camera2D.xml:185
+#: doc/classes/Camera2D.xml:186
msgid ""
"The camera's position is fixed so that the top-left corner is always at the "
"origin."
msgstr ""
-#: doc/classes/Camera2D.xml:188
+#: doc/classes/Camera2D.xml:189
msgid ""
"The camera's position takes into account vertical/horizontal offsets and the "
"screen size."
msgstr ""
-#: doc/classes/Camera2D.xml:191 doc/classes/ClippedCamera3D.xml:104
+#: doc/classes/Camera2D.xml:192 doc/classes/ClippedCamera3D.xml:104
msgid "The camera updates with the [code]_physics_process[/code] callback."
msgstr ""
-#: doc/classes/Camera2D.xml:194 doc/classes/ClippedCamera3D.xml:107
+#: doc/classes/Camera2D.xml:195 doc/classes/ClippedCamera3D.xml:107
msgid "The camera updates with the [code]_process[/code] callback."
msgstr ""
@@ -11009,6 +10484,72 @@ msgid ""
"Audio's [code]pitch shift[/code])."
msgstr ""
+#: doc/classes/CameraEffects.xml:4
+msgid ""
+"Contains camera-specific effects such as depth of field and exposure "
+"override."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:7
+msgid ""
+"Contains camera-specific effects such as depth of field and exposure "
+"override.\n"
+"See also [Environment] for general 3D environment settings."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:16
+msgid ""
+"The amount of blur for both near and far depth-of-field effects. The amount "
+"of blur increases the radius of the blur effect, making the affected area "
+"blurrier. However, If the amount is too high, you might start to see lines "
+"appearing, especially when using a low quality blur."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:19
+msgid ""
+"The distance from the camera where the far blur effect affects the rendering."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:22
+msgid ""
+"If [code]true[/code], enables the depth-of-field far blur effect. This has a "
+"significant performance cost. Consider disabling it in scenes where there "
+"are no far away objects."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:25
+msgid "The length of the transition between the no-blur area and far blur."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:28
+msgid ""
+"Distance from the camera where the near blur effect affects the rendering."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:31
+msgid ""
+"If [code]true[/code], enables the depth-of-field near blur effect. This has "
+"a significant performance cost. Consider disabling it in scenes where there "
+"are no nearby objects."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:34
+msgid "The length of the transition between the near blur and no-blur area."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:37
+msgid ""
+"The exposure override value to use. Higher values will result in a brighter "
+"scene. Only effective if [member override_exposure_enable] is [code]true[/"
+"code]."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:40
+msgid ""
+"If [code]true[/code], overrides the manual or automatic exposure defined in "
+"the [Environment] with the value in [member override_exposure]."
+msgstr ""
+
#: doc/classes/CameraFeed.xml:4
msgid ""
"A camera feed gives you access to a single physical camera attached to your "
@@ -11019,7 +10560,7 @@ msgstr ""
msgid ""
"A camera feed gives you access to a single physical camera attached to your "
"device. When enabled, Godot will start capturing frames from the camera "
-"which can then be used.\n"
+"which can then be used. See also [CameraServer].\n"
"[b]Note:[/b] Many cameras will return YCbCr images which are split into two "
"textures and need to be combined in a shader. Godot does this automatically "
"for you if you set the environment to show the camera image in the "
@@ -11034,50 +10575,54 @@ msgstr ""
msgid ""
"The [CameraServer] keeps track of different cameras accessible in Godot. "
"These are external cameras such as webcams or the cameras on your phone.\n"
-"It is notably used to provide AR modules with a video feed from the camera."
+"It is notably used to provide AR modules with a video feed from the camera.\n"
+"[b]Note:[/b] This class is currently only implemented on macOS and iOS. On "
+"other platforms, no [CameraFeed]s will be available."
msgstr ""
-#: doc/classes/CameraServer.xml:19
-msgid "Adds a camera feed to the camera server."
+#: doc/classes/CameraServer.xml:20
+msgid "Adds the camera [code]feed[/code] to the camera server."
msgstr ""
-#: doc/classes/CameraServer.xml:26
+#: doc/classes/CameraServer.xml:27
msgid "Returns an array of [CameraFeed]s."
msgstr ""
-#: doc/classes/CameraServer.xml:35
-msgid "Returns the [CameraFeed] with this id."
+#: doc/classes/CameraServer.xml:36
+msgid ""
+"Returns the [CameraFeed] corresponding to the camera with the given "
+"[code]index[/code]."
msgstr ""
-#: doc/classes/CameraServer.xml:42
+#: doc/classes/CameraServer.xml:43
msgid "Returns the number of [CameraFeed]s registered."
msgstr ""
-#: doc/classes/CameraServer.xml:51
-msgid "Removes a [CameraFeed]."
+#: doc/classes/CameraServer.xml:52
+msgid "Removes the specified camera [code]feed[/code]."
msgstr ""
-#: doc/classes/CameraServer.xml:60
-msgid "Emitted when a [CameraFeed] is added (e.g. webcam is plugged in)."
+#: doc/classes/CameraServer.xml:61
+msgid "Emitted when a [CameraFeed] is added (e.g. a webcam is plugged in)."
msgstr ""
-#: doc/classes/CameraServer.xml:67
-msgid "Emitted when a [CameraFeed] is removed (e.g. webcam is unplugged)."
+#: doc/classes/CameraServer.xml:68
+msgid "Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged)."
msgstr ""
-#: doc/classes/CameraServer.xml:73
+#: doc/classes/CameraServer.xml:74
msgid "The RGBA camera image."
msgstr ""
-#: doc/classes/CameraServer.xml:76
-msgid "The YCbCr camera image."
+#: doc/classes/CameraServer.xml:77
+msgid "The [url=https://en.wikipedia.org/wiki/YCbCr]YCbCr[/url] camera image."
msgstr ""
-#: doc/classes/CameraServer.xml:79
+#: doc/classes/CameraServer.xml:80
msgid "The Y component camera image."
msgstr ""
-#: doc/classes/CameraServer.xml:82
+#: doc/classes/CameraServer.xml:83
msgid "The CbCr component camera image."
msgstr ""
@@ -11133,97 +10678,100 @@ msgid ""
"its children) and self modulation (only for itself), as well as its blend "
"mode.\n"
"Ultimately, a transform notification can be requested, which will notify the "
-"node that its global position changed in case the parent tree changed."
+"node that its global position changed in case the parent tree changed.\n"
+"[b]Note:[/b] Unless otherwise specified, all methods that have angle "
+"parameters must have angles specified as [i]radians[/i]. To convert degrees "
+"to radians, use [method @GDScript.deg2rad]."
msgstr ""
-#: doc/classes/CanvasItem.xml:14 doc/classes/CanvasLayer.xml:10
+#: doc/classes/CanvasItem.xml:15 doc/classes/CanvasLayer.xml:10
#: doc/classes/InputEvent.xml:11 doc/classes/Viewport.xml:15
msgid "https://docs.godotengine.org/en/latest/tutorials/2d/2d_transforms.html"
msgstr ""
-#: doc/classes/CanvasItem.xml:15 doc/classes/Control.xml:19
+#: doc/classes/CanvasItem.xml:16 doc/classes/Control.xml:19
#: doc/classes/Node2D.xml:10
msgid ""
"https://docs.godotengine.org/en/latest/tutorials/2d/custom_drawing_in_2d.html"
msgstr ""
-#: doc/classes/CanvasItem.xml:22
+#: doc/classes/CanvasItem.xml:23
msgid ""
"Overridable function called by the engine (if defined) to draw the canvas "
"item."
msgstr ""
-#: doc/classes/CanvasItem.xml:43
+#: doc/classes/CanvasItem.xml:44
msgid ""
"Draws an arc between the given angles. The larger the value of "
"[code]point_count[/code], the smoother the curve."
msgstr ""
-#: doc/classes/CanvasItem.xml:60
+#: doc/classes/CanvasItem.xml:61
msgid ""
"Draws a string character using a custom font. Returns the advance, depending "
"on the character width and kerning with an optional next character."
msgstr ""
-#: doc/classes/CanvasItem.xml:73
+#: doc/classes/CanvasItem.xml:74
msgid "Draws a colored circle."
msgstr ""
-#: doc/classes/CanvasItem.xml:98
+#: doc/classes/CanvasItem.xml:99
msgid "Draws a colored polygon of any amount of points, convex or concave."
msgstr ""
-#: doc/classes/CanvasItem.xml:113
+#: doc/classes/CanvasItem.xml:114
msgid "Draws a line from a 2D point to another, with a given color and width."
msgstr ""
-#: doc/classes/CanvasItem.xml:138
+#: doc/classes/CanvasItem.xml:139
msgid ""
"Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for "
"related documentation."
msgstr ""
-#: doc/classes/CanvasItem.xml:151
+#: doc/classes/CanvasItem.xml:152
msgid "Draws multiple, parallel lines with a uniform [code]color[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:164
+#: doc/classes/CanvasItem.xml:165
msgid ""
"Draws multiple, parallel lines with a uniform [code]width[/code] and segment-"
"by-segment coloring. Colors assigned to line segments match by index between "
"[code]points[/code] and [code]colors[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:185
+#: doc/classes/CanvasItem.xml:186
msgid ""
"Draws a [MultiMesh] in 2D with the provided texture. See "
"[MultiMeshInstance2D] for related documentation."
msgstr ""
-#: doc/classes/CanvasItem.xml:210
+#: doc/classes/CanvasItem.xml:211
msgid "Draws a polygon of any amount of points, convex or concave."
msgstr ""
-#: doc/classes/CanvasItem.xml:223
+#: doc/classes/CanvasItem.xml:224
msgid ""
"Draws interconnected line segments with a uniform [code]color[/code] and "
"[code]width[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:236
+#: doc/classes/CanvasItem.xml:237
msgid ""
"Draws interconnected line segments with a uniform [code]width[/code] and "
"segment-by-segment coloring. Colors assigned to line segments match by index "
"between [code]points[/code] and [code]colors[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:263
+#: doc/classes/CanvasItem.xml:264
msgid ""
"Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points "
"for a triangle, and 4 points for a quad."
msgstr ""
-#: doc/classes/CanvasItem.xml:278
+#: doc/classes/CanvasItem.xml:279
msgid ""
"Draws a rectangle. If [code]filled[/code] is [code]true[/code], the "
"rectangle will be filled with the [code]color[/code] specified. If "
@@ -11233,272 +10781,278 @@ msgid ""
"[code]false[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:292
+#: doc/classes/CanvasItem.xml:293
msgid ""
"Sets a custom transform for drawing via components. Anything drawn "
"afterwards will be transformed by this."
msgstr ""
-#: doc/classes/CanvasItem.xml:301
+#: doc/classes/CanvasItem.xml:302
msgid ""
"Sets a custom transform for drawing via matrix. Anything drawn afterwards "
"will be transformed by this."
msgstr ""
-#: doc/classes/CanvasItem.xml:318
+#: doc/classes/CanvasItem.xml:319
msgid "Draws a string using a custom font."
msgstr ""
-#: doc/classes/CanvasItem.xml:329
+#: doc/classes/CanvasItem.xml:330
msgid "Draws a styled rectangle."
msgstr ""
-#: doc/classes/CanvasItem.xml:352
+#: doc/classes/CanvasItem.xml:353
msgid "Draws a texture at a given position."
msgstr ""
-#: doc/classes/CanvasItem.xml:379
+#: doc/classes/CanvasItem.xml:380
msgid ""
"Draws a textured rectangle at a given position, optionally modulated by a "
"color. If [code]transpose[/code] is [code]true[/code], the texture will have "
"its X and Y coordinates swapped."
msgstr ""
-#: doc/classes/CanvasItem.xml:408
+#: doc/classes/CanvasItem.xml:409
msgid ""
"Draws a textured rectangle region at a given position, optionally modulated "
"by a color. If [code]transpose[/code] is [code]true[/code], the texture will "
"have its X and Y coordinates swapped."
msgstr ""
-#: doc/classes/CanvasItem.xml:415 doc/classes/Node3D.xml:18
+#: doc/classes/CanvasItem.xml:416 doc/classes/Node3D.xml:19
msgid ""
"Forces the transform to update. Transform changes in physics are not instant "
"for performance reasons. Transforms are accumulated and then set. Use this "
"if you need an up-to-date transform when doing physics operations."
msgstr ""
-#: doc/classes/CanvasItem.xml:422
+#: doc/classes/CanvasItem.xml:423
msgid "Returns the [RID] of the [World2D] canvas where this item is in."
msgstr ""
-#: doc/classes/CanvasItem.xml:429
+#: doc/classes/CanvasItem.xml:430
msgid "Returns the canvas item RID used by [RenderingServer] for this item."
msgstr ""
-#: doc/classes/CanvasItem.xml:436
+#: doc/classes/CanvasItem.xml:437
msgid "Returns the transform matrix of this item's canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:443
+#: doc/classes/CanvasItem.xml:444
msgid "Returns the global position of the mouse."
msgstr ""
-#: doc/classes/CanvasItem.xml:450
+#: doc/classes/CanvasItem.xml:451
msgid "Returns the global transform matrix of this item."
msgstr ""
-#: doc/classes/CanvasItem.xml:457
+#: doc/classes/CanvasItem.xml:458
msgid ""
"Returns the global transform matrix of this item in relation to the canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:464
+#: doc/classes/CanvasItem.xml:465
msgid "Returns the mouse position relative to this item's position."
msgstr ""
-#: doc/classes/CanvasItem.xml:471
+#: doc/classes/CanvasItem.xml:472
msgid "Returns the transform matrix of this item."
msgstr ""
-#: doc/classes/CanvasItem.xml:478
+#: doc/classes/CanvasItem.xml:479
msgid "Returns the viewport's boundaries as a [Rect2]."
msgstr ""
-#: doc/classes/CanvasItem.xml:485
+#: doc/classes/CanvasItem.xml:486
msgid "Returns this item's transform in relation to the viewport."
msgstr ""
-#: doc/classes/CanvasItem.xml:492
+#: doc/classes/CanvasItem.xml:493
msgid "Returns the [World2D] where this item is in."
msgstr ""
-#: doc/classes/CanvasItem.xml:499
+#: doc/classes/CanvasItem.xml:500
msgid "Hide the [CanvasItem] if it's currently visible."
msgstr ""
-#: doc/classes/CanvasItem.xml:506
+#: doc/classes/CanvasItem.xml:507
msgid ""
"Returns [code]true[/code] if local transform notifications are communicated "
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml:513
+#: doc/classes/CanvasItem.xml:514
msgid ""
"Returns [code]true[/code] if the node is set as top-level. See [method "
"set_as_toplevel]."
msgstr ""
-#: doc/classes/CanvasItem.xml:520
+#: doc/classes/CanvasItem.xml:521
msgid ""
"Returns [code]true[/code] if global transform notifications are communicated "
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml:527
+#: doc/classes/CanvasItem.xml:528
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and its inherited visibility "
"is also [code]true[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:536
+#: doc/classes/CanvasItem.xml:537
msgid "Assigns [code]screen_point[/code] as this node's new local transform."
msgstr ""
-#: doc/classes/CanvasItem.xml:545
+#: doc/classes/CanvasItem.xml:546
msgid ""
"Transformations issued by [code]event[/code]'s inputs are applied in local "
"space instead of global space."
msgstr ""
-#: doc/classes/CanvasItem.xml:554
+#: doc/classes/CanvasItem.xml:555
msgid ""
"If [code]enable[/code] is [code]true[/code], the node won't inherit its "
"transform from parent canvas items."
msgstr ""
-#: doc/classes/CanvasItem.xml:563
+#: doc/classes/CanvasItem.xml:564
msgid ""
"If [code]enable[/code] is [code]true[/code], children will be updated with "
"local transform data."
msgstr ""
-#: doc/classes/CanvasItem.xml:572
+#: doc/classes/CanvasItem.xml:573
msgid ""
"If [code]enable[/code] is [code]true[/code], children will be updated with "
"global transform data."
msgstr ""
-#: doc/classes/CanvasItem.xml:579
+#: doc/classes/CanvasItem.xml:580
msgid ""
"Show the [CanvasItem] if it's currently hidden. For controls that inherit "
"[Popup], the correct way to make them visible is to call one of the multiple "
"[code]popup*()[/code] functions instead."
msgstr ""
-#: doc/classes/CanvasItem.xml:586
+#: doc/classes/CanvasItem.xml:587
msgid ""
"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
"called on idle time to request redraw."
msgstr ""
-#: doc/classes/CanvasItem.xml:592
+#: doc/classes/CanvasItem.xml:593
msgid ""
"The rendering layers in which this [CanvasItem] responds to [Light2D] nodes."
msgstr ""
-#: doc/classes/CanvasItem.xml:595
+#: doc/classes/CanvasItem.xml:596
msgid "The material applied to textures on this [CanvasItem]."
msgstr ""
-#: doc/classes/CanvasItem.xml:598
+#: doc/classes/CanvasItem.xml:599
msgid "The color applied to textures on this [CanvasItem]."
msgstr ""
-#: doc/classes/CanvasItem.xml:601
+#: doc/classes/CanvasItem.xml:602
msgid ""
"The color applied to textures on this [CanvasItem]. This is not inherited by "
"children [CanvasItem]s."
msgstr ""
-#: doc/classes/CanvasItem.xml:604
+#: doc/classes/CanvasItem.xml:605
msgid "If [code]true[/code], the object draws behind its parent."
msgstr ""
-#: doc/classes/CanvasItem.xml:607
+#: doc/classes/CanvasItem.xml:608
msgid "If [code]true[/code], the object draws on top of its parent."
msgstr ""
-#: doc/classes/CanvasItem.xml:614
+#: doc/classes/CanvasItem.xml:615
msgid ""
"If [code]true[/code], the parent [CanvasItem]'s [member material] property "
"is used as this one's material."
msgstr ""
-#: doc/classes/CanvasItem.xml:617
+#: doc/classes/CanvasItem.xml:618
msgid ""
"If [code]true[/code], this [CanvasItem] is drawn. For controls that inherit "
"[Popup], the correct way to make them visible is to call one of the multiple "
"[code]popup*()[/code] functions instead."
msgstr ""
-#: doc/classes/CanvasItem.xml:623
+#: doc/classes/CanvasItem.xml:624
msgid ""
"Emitted when the [CanvasItem] must redraw. This can only be connected "
"realtime, as deferred will not allow drawing."
msgstr ""
-#: doc/classes/CanvasItem.xml:628
+#: doc/classes/CanvasItem.xml:629
msgid "Emitted when becoming hidden."
msgstr ""
-#: doc/classes/CanvasItem.xml:633
+#: doc/classes/CanvasItem.xml:634
msgid "Emitted when the item rect has changed."
msgstr ""
-#: doc/classes/CanvasItem.xml:638
+#: doc/classes/CanvasItem.xml:639
msgid "Emitted when the visibility (hidden/visible) changes."
msgstr ""
-#: doc/classes/CanvasItem.xml:644
+#: doc/classes/CanvasItem.xml:645
msgid ""
"The [CanvasItem]'s transform has changed. This notification is only received "
"if enabled by [method set_notify_transform] or [method "
"set_notify_local_transform]."
msgstr ""
-#: doc/classes/CanvasItem.xml:647
+#: doc/classes/CanvasItem.xml:648
msgid "The [CanvasItem] is requested to draw."
msgstr ""
-#: doc/classes/CanvasItem.xml:650
+#: doc/classes/CanvasItem.xml:651
msgid "The [CanvasItem]'s visibility has changed."
msgstr ""
-#: doc/classes/CanvasItem.xml:653
+#: doc/classes/CanvasItem.xml:654
msgid "The [CanvasItem] has entered the canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:656
+#: doc/classes/CanvasItem.xml:657
msgid "The [CanvasItem] has exited the canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:659 doc/classes/CanvasItem.xml:679
+#: doc/classes/CanvasItem.xml:660 doc/classes/CanvasItem.xml:680
msgid "The [CanvasItem] will inherit the filter from its parent."
msgstr ""
-#: doc/classes/CanvasItem.xml:662
+#: doc/classes/CanvasItem.xml:663
msgid ""
"The texture filter reads from the nearest pixel only. The simplest and "
"fastest method of filtering. Useful for pixel art."
msgstr ""
-#: doc/classes/CanvasItem.xml:682
+#: doc/classes/CanvasItem.xml:666
+msgid ""
+"The texture filter blends between the nearest four pixels. Use this for most "
+"cases where you want to avoid a pixelated style."
+msgstr ""
+
+#: doc/classes/CanvasItem.xml:683
msgid "Texture will not repeat."
msgstr ""
-#: doc/classes/CanvasItem.xml:685
+#: doc/classes/CanvasItem.xml:686
msgid "Texture will repeat normally."
msgstr ""
-#: doc/classes/CanvasItem.xml:688
+#: doc/classes/CanvasItem.xml:689
msgid ""
"Texture will repeat in a 2x2 tiled mode, where elements at even positions "
"are mirrored."
msgstr ""
-#: doc/classes/CanvasItem.xml:691
+#: doc/classes/CanvasItem.xml:692
msgid "Represents the size of the [enum TextureRepeat] enum."
msgstr ""
@@ -12686,25 +12240,24 @@ msgid ""
"component."
msgstr ""
-#: doc/classes/Color.xml:158
+#: doc/classes/Color.xml:160
msgid ""
-"Returns a new color resulting from making this color lighter by the "
-"specified percentage (ratio from 0 to 1).\n"
+"Returns the linear interpolation with another color. The interpolation "
+"factor [code]t[/code] is between 0 and 1.\n"
"[codeblock]\n"
-"var green = Color(0.0, 1.0, 0.0)\n"
-"var lightgreen = green.lightened(0.2) # 20% lighter than regular green\n"
+"var c1 = Color(1.0, 0.0, 0.0)\n"
+"var c2 = Color(0.0, 1.0, 0.0)\n"
+"var li_c = c1.lerp(c2, 0.5) # A color of an RGBA(128, 128, 0, 255)\n"
"[/codeblock]"
msgstr ""
-#: doc/classes/Color.xml:173
+#: doc/classes/Color.xml:174
msgid ""
-"Returns the linear interpolation with another color. The interpolation "
-"factor [code]t[/code] is between 0 and 1.\n"
+"Returns a new color resulting from making this color lighter by the "
+"specified percentage (ratio from 0 to 1).\n"
"[codeblock]\n"
-"var c1 = Color(1.0, 0.0, 0.0)\n"
-"var c2 = Color(0.0, 1.0, 0.0)\n"
-"var li_c = c1.lerp(c2, 0.5) # A color of an RGBA(128, 128, 0, "
-"255)\n"
+"var green = Color(0.0, 1.0, 0.0)\n"
+"var lightgreen = green.lightened(0.2) # 20% lighter than regular green\n"
"[/codeblock]"
msgstr ""
@@ -13726,7 +13279,7 @@ msgid ""
msgstr ""
#: doc/classes/ConeTwistJoint3D.xml:77 doc/classes/Generic6DOFJoint3D.xml:404
-#: doc/classes/HingeJoint3D.xml:109 doc/classes/Light3D.xml:124
+#: doc/classes/HingeJoint3D.xml:109 doc/classes/Light3D.xml:145
#: doc/classes/SliderJoint3D.xml:170
msgid "Represents the size of the [enum Param] enum."
msgstr ""
@@ -14610,8 +14163,8 @@ msgstr ""
#: doc/classes/Control.xml:801
msgid ""
"Tells Godot which node it should give keyboard focus to if the user presses "
-"Tab on a keyboard by default. You can change the key by editing the "
-"[code]ui_focus_next[/code] input action.\n"
+"[kbd]Tab[/kbd] on a keyboard by default. You can change the key by editing "
+"the [code]ui_focus_next[/code] input action.\n"
"If this property is not set, Godot will select a \"best guess\" based on "
"surrounding nodes in the scene tree."
msgstr ""
@@ -14619,8 +14172,8 @@ msgstr ""
#: doc/classes/Control.xml:805
msgid ""
"Tells Godot which node it should give keyboard focus to if the user presses "
-"Shift+Tab on a keyboard by default. You can change the key by editing the "
-"[code]ui_focus_prev[/code] input action.\n"
+"[kbd]Shift + Tab[/kbd] on a keyboard by default. You can change the key by "
+"editing the [code]ui_focus_prev[/code] input action.\n"
"If this property is not set, Godot will select a \"best guess\" based on "
"surrounding nodes in the scene tree."
msgstr ""
@@ -14702,9 +14255,9 @@ msgstr ""
#: doc/classes/Control.xml:841
msgid ""
-"Enables whether rendering of children should be clipped to this control's "
-"rectangle. If [code]true[/code], parts of a child which would be visibly "
-"outside of this control's rectangle will not be rendered."
+"Enables whether rendering of [CanvasItem] based children should be clipped "
+"to this control's rectangle. If [code]true[/code], parts of a child which "
+"would be visibly outside of this control's rectangle will not be rendered."
msgstr ""
#: doc/classes/Control.xml:844
@@ -16860,6 +16413,172 @@ msgid ""
"stiffness multiplied by the size difference from its resting length."
msgstr ""
+#: doc/classes/Decal.xml:4
+msgid "Node that projects a texture onto a [MeshInstance3D]."
+msgstr ""
+
+#: doc/classes/Decal.xml:7
+msgid ""
+"[Decal]s are used to project a texture onto a [Mesh] in the scene. Use "
+"Decals to add detail to a scene without affecting the underlying [Mesh]. "
+"They are often used to add weathering to building, add dirt or mud to the "
+"ground, or add variety to props. Decals can be moved at any time, making "
+"them suitable for things like blob shadows or laser sight dots.\n"
+"They are made of an [AABB] and a group of [Texture2D]s specifying [Color], "
+"normal, ORM (ambient occlusion, roughness, metallic), and emission. Decals "
+"are projected within their [AABB] so altering the orientation of the Decal "
+"affects the direction in which they are projected. By default, Decals are "
+"projected down (i.e. from positive Y to negative Y).\n"
+"The [Texture2D]s associated with the Decal are automatically stored in a "
+"texture atlas which is used for drawing the decals so all decals can be "
+"drawn at once. Godot uses clustered decals, meaning they are stored in "
+"cluster data and drawn when the mesh is drawn, they are not drawn as a "
+"postprocessing effect after."
+msgstr ""
+
+#: doc/classes/Decal.xml:20
+msgid ""
+"Returns the [Texture2D] associated with the specified [enum DecalTexture]. "
+"This is a convenience method, in most cases you should access the texture "
+"directly. \n"
+"For example, instead of [code]albedo_tex = $Decal.get_texture(Decal."
+"TEXTURE_ALBEDO)[/code], use [code]albedo_tex = $Decal.texture_albedo[/"
+"code].\n"
+"One case where this is better than accessing the texture directly is when "
+"you want to copy one Decal's textures to another. For example:\n"
+"[codeblock]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/Decal.xml:37
+msgid ""
+"Sets the [Texture2D] associated with the specified [enum DecalTexture]. This "
+"is a convenience method, in most cases you should access the texture "
+"directly. \n"
+"For example, instead of [code]$Decal.set_texture(Decal.TEXTURE_ALBEDO, "
+"albedo_tex)[/code], use [code]$Decal.texture_albedo = albedo_tex[/code].\n"
+"One case where this is better than accessing the texture directly is when "
+"you want to copy one Decal's textures to another. For example:\n"
+"[codeblock]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/Decal.xml:49
+msgid ""
+"Blends the albedo [Color] of the decal with albedo [Color] of the underlying "
+"mesh."
+msgstr ""
+
+#: doc/classes/Decal.xml:52
+msgid ""
+"Specifies which [member VisualInstance3D.layers] this decal will project on. "
+"By default, Decals affect all layers. This is used so you can specify which "
+"types of objects receive the Decal and which do not. This is especially "
+"useful so you an ensure that dynamic objects don't accidentally receive a "
+"Decal intended for the terrain under them."
+msgstr ""
+
+#: doc/classes/Decal.xml:55
+msgid "Distance from the camera at which the Decal begins to fade away."
+msgstr ""
+
+#: doc/classes/Decal.xml:58
+msgid ""
+"If [code]true[/code], decals will smoothly fade away when far from the "
+"active [Camera3D] starting at [member distance_fade_begin]. The Decal will "
+"fade out over [member distance_fade_length], after which it will be culled "
+"and not sent to the shader at all. Use this to reduce the number of active "
+"Decals in a scene and thus improve performance."
+msgstr ""
+
+#: doc/classes/Decal.xml:61
+msgid ""
+"Distance over which the Decal fades. The Decal becomes slowly more "
+"transparent over this distance and is completely invisible at the end."
+msgstr ""
+
+#: doc/classes/Decal.xml:64
+msgid ""
+"Energy multiplier for the emission texture. This will make the decal emit "
+"light at a higher intensity."
+msgstr ""
+
+#: doc/classes/Decal.xml:67
+msgid ""
+"Sets the size of the [AABB] used by the decal. The AABB goes from [code]-"
+"extents[/code] to [code]extents[/code]."
+msgstr ""
+
+#: doc/classes/Decal.xml:70 doc/classes/Decal.xml:91
+msgid ""
+"Sets the curve over which the decal will fade as the surface gets further "
+"from the center of the [AABB]."
+msgstr ""
+
+#: doc/classes/Decal.xml:73
+msgid "Changes the [Color] of the Decal by multiplying it with this value."
+msgstr ""
+
+#: doc/classes/Decal.xml:76
+msgid ""
+"Fades the Decal if the angle between the Decal's [AABB] and the target "
+"surface becomes too large. A value of [code]0[/code] projects the Decal "
+"regardless of angle, a value of [code]1[/code] limits the Decal to surfaces "
+"that are nearly perpendicular."
+msgstr ""
+
+#: doc/classes/Decal.xml:79
+msgid ""
+"[Texture2D] with the base [Color] of the Decal. Either this or the [member "
+"texture_emission] must be set for the Decal to be visible. Use the alpha "
+"channel like a mask to smoothly blend the edges of the decal with the "
+"underlying object."
+msgstr ""
+
+#: doc/classes/Decal.xml:82
+msgid ""
+"[Texture2D] with the emission [Color] of the Decal. Either this or the "
+"[member texture_emission] must be set for the Decal to be visible. Use the "
+"alpha channel like a mask to smoothly blend the edges of the decal with the "
+"underlying object."
+msgstr ""
+
+#: doc/classes/Decal.xml:85
+msgid ""
+"[Texture2D] with the per-pixel normalmap for the decal. Use this to add "
+"extra detail to decals."
+msgstr ""
+
+#: doc/classes/Decal.xml:88
+msgid ""
+"[Texture2D] storing ambient occlusion, roughness, and metallic for the "
+"decal. Use this to add extra detail to decals."
+msgstr ""
+
+#: doc/classes/Decal.xml:96
+msgid "[Texture2D] corresponding to [member texture_albedo]."
+msgstr ""
+
+#: doc/classes/Decal.xml:99
+msgid "[Texture2D] corresponding to [member texture_normal]."
+msgstr ""
+
+#: doc/classes/Decal.xml:102
+msgid "[Texture2D] corresponding to [member texture_orm]."
+msgstr ""
+
+#: doc/classes/Decal.xml:105
+msgid "[Texture2D] corresponding to [member texture_emission]."
+msgstr ""
+
+#: doc/classes/Decal.xml:108
+msgid "Max size of [enum DecalTexture] enum."
+msgstr ""
+
#: doc/classes/Dictionary.xml:4
msgid "Dictionary type."
msgstr ""
@@ -16867,30 +16586,40 @@ msgstr ""
#: doc/classes/Dictionary.xml:7
msgid ""
"Dictionary type. Associative container which contains values referenced by "
-"unique keys. Dictionary are composed of pairs of keys (which must be unique) "
-"and values. You can define a dictionary by placing a comma separated list of "
-"[code]key: value[/code] pairs in curly braces [code]{}[/code].\n"
-"Erasing elements while iterating over them [b]is not supported[/b].\n"
+"unique keys. Dictionaries are composed of pairs of keys (which must be "
+"unique) and values. Dictionaries will preserve the insertion order when "
+"adding elements, even though this may not be reflected when printing the "
+"dictionary. In other programming languages, this data structure is sometimes "
+"referred to as an hash map or associative array.\n"
+"You can define a dictionary by placing a comma-separated list of [code]key: "
+"value[/code] pairs in curly braces [code]{}[/code].\n"
+"Erasing elements while iterating over them [b]is not supported[/b] and will "
+"result in undefined behavior.\n"
"Creating a dictionary:\n"
"[codeblock]\n"
"var my_dir = {} # Creates an empty dictionary.\n"
"var points_dir = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
-"var my_dir = {\n"
+"var another_dir = {\n"
" key1: value1,\n"
" key2: value2,\n"
" key3: value3,\n"
"}\n"
"[/codeblock]\n"
-"You can access values of a dictionary by referencing appropriate key in "
-"above example [code]points_dir[\"White\"][/code] would return value of 50.\n"
+"You can access a dictionary's values by referencing the appropriate key. In "
+"the above example, [code]points_dir[\"White\"][/code] will return [code]50[/"
+"code]. You can also write [code]points_dir.White[/code], which is "
+"equivalent. However, you'll have to use the bracket syntax if the key you're "
+"accessing the dictionary with isn't a fixed string (such as a number or "
+"variable).\n"
"[codeblock]\n"
"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n"
"var points_dir = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
"\n"
"func _ready():\n"
+" # We can't use dot syntax here as `my_color` is a variable.\n"
" var points = points_dir[my_color]\n"
"[/codeblock]\n"
-"In the above code [code]points[/code] will be assigned the value that is "
+"In the above code, [code]points[/code] will be assigned the value that is "
"paired with the appropriate color selected in [code]my_color[/code].\n"
"Dictionaries can contain more complex data:\n"
"[codeblock]\n"
@@ -16901,16 +16630,24 @@ msgid ""
"assign to it:\n"
"[codeblock]\n"
"var points_dir = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
-"var points_dir[\"Blue\"] = 150 # Add \"Blue\" as a key and assign 150 as its "
+"points_dir[\"Blue\"] = 150 # Add \"Blue\" as a key and assign 150 as its "
"value.\n"
"[/codeblock]\n"
"Finally, dictionaries can contain different types of keys and values in the "
"same dictionary:\n"
"[codeblock]\n"
-"var my_dir = {\"String Key\": 5, 4: [1, 2, 3], 7: \"Hello\"} # This is a "
-"valid dictionary.\n"
+"# This is a valid dictionary.\n"
+"# To access the string \"Nested value\" below, use `my_dir.sub_dir.sub_key` "
+"or `my_dir[\"sub_dir\"][\"sub_key\"]`.\n"
+"# Indexing styles can be mixed and matched depending on your needs.\n"
+"var my_dir = {\n"
+" \"String Key\": 5,\n"
+" 4: [1, 2, 3],\n"
+" 7: \"Hello\",\n"
+" \"sub_dir\": {\"sub_key\": \"Nested value\"},\n"
+"}\n"
"[/codeblock]\n"
-"[b]Note:[/b] Unlike [Array]s you can't compare dictionaries directly:\n"
+"[b]Note:[/b] Unlike [Array]s, you can't compare dictionaries directly:\n"
"[codeblock]\n"
"array1 = [1, 2, 3]\n"
"array2 = [1, 2, 3]\n"
@@ -16935,49 +16672,52 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Dictionary.xml:65
+#: doc/classes/Dictionary.xml:75
msgid ""
"https://docs.godotengine.org/en/latest/getting_started/scripting/gdscript/"
"gdscript_basics.html#dictionary"
msgstr ""
-#: doc/classes/Dictionary.xml:72
+#: doc/classes/Dictionary.xml:82
msgid "Clear the dictionary, removing all key/value pairs."
msgstr ""
-#: doc/classes/Dictionary.xml:81
-msgid "Creates a copy of the dictionary, and returns it."
+#: doc/classes/Dictionary.xml:91
+msgid ""
+"Creates a copy of the dictionary, and returns it. The [code]deep[/code] "
+"parameter causes inner dictionaries and arrays to be copied recursively, but "
+"does not apply to objects."
msgstr ""
-#: doc/classes/Dictionary.xml:88
+#: doc/classes/Dictionary.xml:98
msgid "Returns [code]true[/code] if the dictionary is empty."
msgstr ""
-#: doc/classes/Dictionary.xml:97
+#: doc/classes/Dictionary.xml:107
msgid ""
"Erase a dictionary key/value pair by key. Returns [code]true[/code] if the "
"given key was present in the dictionary, [code]false[/code] otherwise. Does "
"not erase elements while iterating over the dictionary."
msgstr ""
-#: doc/classes/Dictionary.xml:108
+#: doc/classes/Dictionary.xml:118
msgid ""
"Returns the current value for the specified key in the [Dictionary]. If the "
"key does not exist, the method returns the value of the optional default "
"argument, or [code]null[/code] if it is omitted."
msgstr ""
-#: doc/classes/Dictionary.xml:117
+#: doc/classes/Dictionary.xml:127
msgid "Returns [code]true[/code] if the dictionary has a given key."
msgstr ""
-#: doc/classes/Dictionary.xml:126
+#: doc/classes/Dictionary.xml:136
msgid ""
"Returns [code]true[/code] if the dictionary has all of the keys in the given "
"array."
msgstr ""
-#: doc/classes/Dictionary.xml:133
+#: doc/classes/Dictionary.xml:143
msgid ""
"Returns a hashed integer value representing the dictionary contents. This "
"can be used to compare dictionaries by value:\n"
@@ -16990,15 +16730,15 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Dictionary.xml:146
+#: doc/classes/Dictionary.xml:156
msgid "Returns the list of keys in the [Dictionary]."
msgstr ""
-#: doc/classes/Dictionary.xml:153
+#: doc/classes/Dictionary.xml:163
msgid "Returns the size of the dictionary (in pairs)."
msgstr ""
-#: doc/classes/Dictionary.xml:160
+#: doc/classes/Dictionary.xml:170
msgid "Returns the list of values in the [Dictionary]."
msgstr ""
@@ -17024,37 +16764,42 @@ msgstr ""
#: doc/classes/DirectionalLight3D.xml:16
msgid ""
-"Amount of extra bias for shadow splits that are far away. If self-shadowing "
-"occurs only on the splits far away, increasing this value can fix them."
+"If [code]true[/code], shadow detail is sacrificed in exchange for smoother "
+"transitions between splits."
msgstr ""
#: doc/classes/DirectionalLight3D.xml:19
msgid ""
-"If [code]true[/code], shadow detail is sacrificed in exchange for smoother "
-"transitions between splits."
+"Optimizes shadow rendering for detail versus movement. See [enum "
+"ShadowDepthRange]."
msgstr ""
#: doc/classes/DirectionalLight3D.xml:22
msgid ""
-"Optimizes shadow rendering for detail versus movement. See [enum "
-"ShadowDepthRange]."
+"Proportion of [member directional_shadow_max_distance] at which point the "
+"shadow starts to fade. At [member directional_shadow_max_distance] the "
+"shadow will disappear."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:27
+#: doc/classes/DirectionalLight3D.xml:25
msgid "The maximum distance for shadow splits."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:30
+#: doc/classes/DirectionalLight3D.xml:28
msgid "The light's shadow rendering algorithm. See [enum ShadowMode]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:33
+#: doc/classes/DirectionalLight3D.xml:31 doc/classes/RenderingServer.xml:3371
msgid ""
-"Can be used to fix special cases of self shadowing when objects are "
-"perpendicular to the light."
+"Sets the size of the directional shadow pancake. The pancake offsets the "
+"start of the shadow's camera frustum to provide a higher effective depth "
+"resolution for the shadow. However, a high pancake size can cause artifacts "
+"in the shadows of large objects that are close to the edge of the frustum. "
+"Reducing the pancake size can help. Setting the size to [code]0[/code] turns "
+"off the pancaking effect."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:36
+#: doc/classes/DirectionalLight3D.xml:34
msgid ""
"The distance from camera to shadow split 1. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
@@ -17062,7 +16807,7 @@ msgid ""
"[code]SHADOW_PARALLEL_4_SPLITS[/code]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:39
+#: doc/classes/DirectionalLight3D.xml:37
msgid ""
"The distance from shadow split 1 to split 2. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
@@ -17070,34 +16815,34 @@ msgid ""
"[code]SHADOW_PARALLEL_4_SPLITS[/code]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:42
+#: doc/classes/DirectionalLight3D.xml:40
msgid ""
"The distance from shadow split 2 to split 3. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
"directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:48
+#: doc/classes/DirectionalLight3D.xml:45
msgid ""
"Renders the entire scene's shadow map from an orthogonal point of view. May "
"result in blockier shadows on close objects."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:51
+#: doc/classes/DirectionalLight3D.xml:48
msgid "Splits the view frustum in 2 areas, each with its own shadow map."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:54
+#: doc/classes/DirectionalLight3D.xml:51
msgid "Splits the view frustum in 4 areas, each with its own shadow map."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:57
+#: doc/classes/DirectionalLight3D.xml:54
msgid ""
"Keeps the shadow stable when the camera moves, at the cost of lower "
"effective shadow resolution."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:60
+#: doc/classes/DirectionalLight3D.xml:57
msgid ""
"Tries to achieve maximum shadow resolution. May result in saw effect on "
"shadow edges."
@@ -17387,61 +17132,67 @@ msgid ""
"dynamic_font.font_data = load(\"res://BarlowCondensed-Bold.ttf\")\n"
"dynamic_font.size = 64\n"
"$\"Label\".set(\"custom_fonts/font\", dynamic_font)\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] DynamicFont doesn't support features such as right-to-left "
+"typesetting, ligatures, text shaping, variable fonts and optional font "
+"features yet. If you wish to \"bake\" an optional font feature into a TTF "
+"font file, you can use [url=https://fontforge.org/]FontForge[/url] to do so. "
+"In FontForge, use [b]File > Generate Fonts[/b], click [b]Options[/b], choose "
+"the desired features then generate the font."
msgstr ""
-#: doc/classes/DynamicFont.xml:25
+#: doc/classes/DynamicFont.xml:26
msgid "Adds a fallback font."
msgstr ""
-#: doc/classes/DynamicFont.xml:34
+#: doc/classes/DynamicFont.xml:35
msgid "Returns the fallback font at index [code]idx[/code]."
msgstr ""
-#: doc/classes/DynamicFont.xml:41
+#: doc/classes/DynamicFont.xml:42
msgid "Returns the number of fallback fonts."
msgstr ""
-#: doc/classes/DynamicFont.xml:50
+#: doc/classes/DynamicFont.xml:51
msgid ""
"Returns the spacing for the given [code]type[/code] (see [enum SpacingType])."
msgstr ""
-#: doc/classes/DynamicFont.xml:59
+#: doc/classes/DynamicFont.xml:60
msgid "Removes the fallback font at index [code]idx[/code]."
msgstr ""
-#: doc/classes/DynamicFont.xml:70
+#: doc/classes/DynamicFont.xml:71
msgid "Sets the fallback font at index [code]idx[/code]."
msgstr ""
-#: doc/classes/DynamicFont.xml:81
+#: doc/classes/DynamicFont.xml:82
msgid ""
"Sets the spacing for [code]type[/code] (see [enum SpacingType]) to "
"[code]value[/code] in pixels (not relative to the font size)."
msgstr ""
-#: doc/classes/DynamicFont.xml:87
+#: doc/classes/DynamicFont.xml:88
msgid "Extra spacing at the bottom in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:90
+#: doc/classes/DynamicFont.xml:91
msgid "Extra character spacing in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:93
+#: doc/classes/DynamicFont.xml:94
msgid "Extra space spacing in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:96
+#: doc/classes/DynamicFont.xml:97
msgid "Extra spacing at the top in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:99
+#: doc/classes/DynamicFont.xml:100
msgid "The font data."
msgstr ""
-#: doc/classes/DynamicFont.xml:102
+#: doc/classes/DynamicFont.xml:103
msgid ""
"The font outline's color.\n"
"[b]Note:[/b] It's recommended to leave this at the default value so that you "
@@ -17450,27 +17201,27 @@ msgid ""
"outline modulate theme item."
msgstr ""
-#: doc/classes/DynamicFont.xml:106
+#: doc/classes/DynamicFont.xml:107
msgid "The font outline's thickness in pixels (not relative to the font size)."
msgstr ""
-#: doc/classes/DynamicFont.xml:109
+#: doc/classes/DynamicFont.xml:110
msgid "The font size in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:114
+#: doc/classes/DynamicFont.xml:115
msgid "Spacing at the top."
msgstr ""
-#: doc/classes/DynamicFont.xml:117
+#: doc/classes/DynamicFont.xml:118
msgid "Spacing at the bottom."
msgstr ""
-#: doc/classes/DynamicFont.xml:120
+#: doc/classes/DynamicFont.xml:121
msgid "Character spacing."
msgstr ""
-#: doc/classes/DynamicFont.xml:123
+#: doc/classes/DynamicFont.xml:124
msgid "Space spacing."
msgstr ""
@@ -17585,7 +17336,7 @@ msgstr ""
msgid ""
"Saves the editor feature profile to a file in JSON format. It can then be "
"imported using the feature profile manager's [b]Import[/b] button or the "
-"[method load_from_file] button."
+"[method load_from_file] button."
msgstr ""
#: doc/classes/EditorFeatureProfile.xml:86
@@ -17799,56 +17550,58 @@ msgstr ""
#: doc/classes/EditorFileSystem.xml:7
msgid ""
"This object holds information of all resources in the filesystem, their "
-"types, etc."
+"types, etc.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_resource_filesystem]."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:18
+#: doc/classes/EditorFileSystem.xml:19
msgid "Gets the type of the file, given the full path."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:25
+#: doc/classes/EditorFileSystem.xml:26
msgid "Gets the root directory object."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:34
+#: doc/classes/EditorFileSystem.xml:35
msgid "Returns a view into the filesystem at [code]path[/code]."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:41
+#: doc/classes/EditorFileSystem.xml:42
msgid "Returns the scan progress for 0 to 1 if the FS is being scanned."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:48
+#: doc/classes/EditorFileSystem.xml:49
msgid "Returns [code]true[/code] of the filesystem is being scanned."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:55
+#: doc/classes/EditorFileSystem.xml:56
msgid "Scan the filesystem for changes."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:62
+#: doc/classes/EditorFileSystem.xml:63
msgid "Check if the source of any imported resource changed."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:71
+#: doc/classes/EditorFileSystem.xml:72
msgid ""
"Update a file information. Call this if an external program (not Godot) "
"modified the file."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:78
+#: doc/classes/EditorFileSystem.xml:79
msgid "Scans the script files and updates the list of custom class names."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:85
+#: doc/classes/EditorFileSystem.xml:86
msgid "Emitted if the filesystem changed."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:92
+#: doc/classes/EditorFileSystem.xml:93
msgid "Remitted if a resource is reimported."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:105
+#: doc/classes/EditorFileSystem.xml:106
msgid "Emitted if the source of any imported file changed."
msgstr ""
@@ -18052,7 +17805,9 @@ msgid ""
"editor. It's used to edit the properties of the selected node. For example, "
"you can select a node such as the Sprite2D then edit its transform through "
"the inspector tool. The editor inspector is an essential tool in the game "
-"development workflow."
+"development workflow.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_inspector]."
msgstr ""
#: doc/classes/EditorInspectorPlugin.xml:4
@@ -18122,95 +17877,97 @@ msgid ""
"customizing the window, saving and (re-)loading scenes, rendering mesh "
"previews, inspecting and editing resources and objects, and provides access "
"to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], "
-"[ScriptEditor], the editor viewport, and information about scenes."
+"[ScriptEditor], the editor viewport, and information about scenes.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorPlugin.get_editor_interface]."
msgstr ""
-#: doc/classes/EditorInterface.xml:18
+#: doc/classes/EditorInterface.xml:19
msgid "Edits the given [Resource]."
msgstr ""
-#: doc/classes/EditorInterface.xml:25
+#: doc/classes/EditorInterface.xml:26
msgid ""
"Returns the main container of Godot editor's window. You can use it, for "
"example, to retrieve the size of the container and place your controls "
"accordingly."
msgstr ""
-#: doc/classes/EditorInterface.xml:38
+#: doc/classes/EditorInterface.xml:39
msgid "Returns the edited (current) scene's root [Node]."
msgstr ""
-#: doc/classes/EditorInterface.xml:45
+#: doc/classes/EditorInterface.xml:46
msgid "Returns the [EditorSettings]."
msgstr ""
-#: doc/classes/EditorInterface.xml:52
+#: doc/classes/EditorInterface.xml:53
msgid "Returns the editor [Viewport]."
msgstr ""
-#: doc/classes/EditorInterface.xml:71
+#: doc/classes/EditorInterface.xml:72
msgid "Returns an [Array] with the file paths of the currently opened scenes."
msgstr ""
-#: doc/classes/EditorInterface.xml:78
+#: doc/classes/EditorInterface.xml:79
msgid "Returns the [EditorFileSystem]."
msgstr ""
-#: doc/classes/EditorInterface.xml:85
+#: doc/classes/EditorInterface.xml:86
msgid "Returns the [EditorResourcePreview]."
msgstr ""
-#: doc/classes/EditorInterface.xml:92
+#: doc/classes/EditorInterface.xml:93
msgid "Returns the [ScriptEditor]."
msgstr ""
-#: doc/classes/EditorInterface.xml:105
+#: doc/classes/EditorInterface.xml:106
msgid "Returns the [EditorSelection]."
msgstr ""
-#: doc/classes/EditorInterface.xml:116
+#: doc/classes/EditorInterface.xml:117
msgid ""
"Shows the given property on the given [code]object[/code] in the Editor's "
"Inspector dock."
msgstr ""
-#: doc/classes/EditorInterface.xml:125
+#: doc/classes/EditorInterface.xml:126
msgid ""
"Returns the enabled status of a plugin. The plugin name is the same as its "
"directory name."
msgstr ""
-#: doc/classes/EditorInterface.xml:136
+#: doc/classes/EditorInterface.xml:137
msgid ""
"Returns mesh previews rendered at the given size as an [Array] of "
"[Texture2D]s."
msgstr ""
-#: doc/classes/EditorInterface.xml:145
+#: doc/classes/EditorInterface.xml:146
msgid "Opens the scene at the given path."
msgstr ""
-#: doc/classes/EditorInterface.xml:154
+#: doc/classes/EditorInterface.xml:155
msgid "Reloads the scene at the given path."
msgstr ""
-#: doc/classes/EditorInterface.xml:161
+#: doc/classes/EditorInterface.xml:162
msgid ""
"Saves the scene. Returns either [code]OK[/code] or [code]ERR_CANT_CREATE[/"
"code] (see [@GlobalScope] constants)."
msgstr ""
-#: doc/classes/EditorInterface.xml:172
+#: doc/classes/EditorInterface.xml:173
msgid "Saves the scene as a file at [code]path[/code]."
msgstr ""
-#: doc/classes/EditorInterface.xml:181
+#: doc/classes/EditorInterface.xml:182
msgid ""
"Selects the file, with the path provided by [code]file[/code], in the "
"FileSystem dock."
msgstr ""
-#: doc/classes/EditorInterface.xml:208
+#: doc/classes/EditorInterface.xml:209
msgid ""
"Sets the enabled status of a plugin. The plugin name is the same as its "
"directory name."
@@ -18823,57 +18580,57 @@ msgstr ""
msgid "Used by the inspector, when the property is checked."
msgstr ""
-#: doc/classes/EditorProperty.xml:82
+#: doc/classes/EditorProperty.xml:84
msgid "Used by the inspector, when the property must draw with error color."
msgstr ""
-#: doc/classes/EditorProperty.xml:85
+#: doc/classes/EditorProperty.xml:87
msgid "Used by the inspector, when the property can add keys for animation."
msgstr ""
-#: doc/classes/EditorProperty.xml:88
+#: doc/classes/EditorProperty.xml:90
msgid "Sets this property to change the label (if you want to show one)."
msgstr ""
-#: doc/classes/EditorProperty.xml:91
+#: doc/classes/EditorProperty.xml:93
msgid "Used by the inspector, when the property is read-only."
msgstr ""
-#: doc/classes/EditorProperty.xml:101
+#: doc/classes/EditorProperty.xml:103
msgid ""
"Emit it if you want multiple properties modified at the same time. Do not "
"use if added via [method EditorInspectorPlugin.parse_property]."
msgstr ""
-#: doc/classes/EditorProperty.xml:110
+#: doc/classes/EditorProperty.xml:112
msgid "Used by sub-inspectors. Emit it if what was selected was an Object ID."
msgstr ""
-#: doc/classes/EditorProperty.xml:119
+#: doc/classes/EditorProperty.xml:121
msgid ""
"Do not emit this manually, use the [method emit_changed] method instead."
msgstr ""
-#: doc/classes/EditorProperty.xml:128
+#: doc/classes/EditorProperty.xml:130
msgid "Emitted when a property was checked. Used internally."
msgstr ""
-#: doc/classes/EditorProperty.xml:135
+#: doc/classes/EditorProperty.xml:143
msgid ""
"Emit it if you want to add this value as an animation key (check for keying "
"being enabled first)."
msgstr ""
-#: doc/classes/EditorProperty.xml:144
+#: doc/classes/EditorProperty.xml:152
msgid "Emit it if you want to key a property with a single value."
msgstr ""
-#: doc/classes/EditorProperty.xml:153
+#: doc/classes/EditorProperty.xml:161
msgid ""
"If you want a sub-resource to be edited, emit this signal with the resource."
msgstr ""
-#: doc/classes/EditorProperty.xml:162
+#: doc/classes/EditorProperty.xml:170
msgid "Emitted when selected. Used internally."
msgstr ""
@@ -18882,20 +18639,23 @@ msgid "Helper to generate previews of resources or files."
msgstr ""
#: doc/classes/EditorResourcePreview.xml:7
-msgid "This object is used to generate previews for resources of files."
+msgid ""
+"This object is used to generate previews for resources of files.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_resource_previewer]."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:18
+#: doc/classes/EditorResourcePreview.xml:19
msgid "Create an own, custom preview generator."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:27
+#: doc/classes/EditorResourcePreview.xml:28
msgid ""
"Check if the resource changed, if so, it will be invalidated and the "
"corresponding signal emitted."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:42
+#: doc/classes/EditorResourcePreview.xml:43
msgid ""
"Queue a resource being edited for preview (using an instance). Once the "
"preview is ready, your receiver.receiver_func will be called either "
@@ -18904,7 +18664,7 @@ msgid ""
"can be anything."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:57
+#: doc/classes/EditorResourcePreview.xml:58
msgid ""
"Queue a resource file for preview (using a path). Once the preview is ready, "
"your receiver.receiver_func will be called either containing the preview "
@@ -18912,11 +18672,11 @@ msgid ""
"the format: (path,texture,userdata). Userdata can be anything."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:66
+#: doc/classes/EditorResourcePreview.xml:67
msgid "Removes a custom preview generator."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:75
+#: doc/classes/EditorResourcePreview.xml:76
msgid ""
"Emitted if a preview was invalidated (changed). [code]path[/code] "
"corresponds to the path of the preview."
@@ -19074,7 +18834,7 @@ msgstr ""
msgid ""
"Scripts extending this class and implementing its [method _run] method can "
"be executed from the Script Editor's [b]File > Run[/b] menu option (or by "
-"pressing [code]Ctrl+Shift+X[/code]) while the editor is running. This is "
+"pressing [kbd]Ctrl + Shift + X[/kbd]) while the editor is running. This is "
"useful for adding custom in-editor functionality to Godot. For more complex "
"additions, consider using [EditorPlugin]s instead.\n"
"[b]Note:[/b] Extending scripts need to have [code]tool[/code] mode enabled.\n"
@@ -19114,33 +18874,36 @@ msgid "Manages the SceneTree selection in the editor."
msgstr ""
#: doc/classes/EditorSelection.xml:7
-msgid "This object manages the SceneTree selection in the editor."
+msgid ""
+"This object manages the SceneTree selection in the editor.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_selection]."
msgstr ""
-#: doc/classes/EditorSelection.xml:18
+#: doc/classes/EditorSelection.xml:19
msgid "Adds a node to the selection."
msgstr ""
-#: doc/classes/EditorSelection.xml:25
+#: doc/classes/EditorSelection.xml:26
msgid "Clear the selection."
msgstr ""
-#: doc/classes/EditorSelection.xml:32
+#: doc/classes/EditorSelection.xml:33
msgid "Gets the list of selected nodes."
msgstr ""
-#: doc/classes/EditorSelection.xml:39
+#: doc/classes/EditorSelection.xml:40
msgid ""
"Gets the list of selected nodes, optimized for transform operations (i.e. "
"moving them, rotating, etc). This list avoids situations where a node is "
"selected and also child/grandchild."
msgstr ""
-#: doc/classes/EditorSelection.xml:48
+#: doc/classes/EditorSelection.xml:49
msgid "Removes a node from the selection."
msgstr ""
-#: doc/classes/EditorSelection.xml:55
+#: doc/classes/EditorSelection.xml:56
msgid "Emitted when the selection changes."
msgstr ""
@@ -19157,10 +18920,12 @@ msgid ""
"settings.set(prop,value)\n"
"settings.get(prop)\n"
"list_of_settings = settings.get_property_list()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_editor_settings]."
msgstr ""
-#: doc/classes/EditorSettings.xml:24
+#: doc/classes/EditorSettings.xml:25
msgid ""
"Adds a custom property info to a property. The dictionary must contain:\n"
"- [code]name[/code]: [String] (the name of the property)\n"
@@ -19182,27 +18947,27 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/EditorSettings.xml:49
+#: doc/classes/EditorSettings.xml:50
msgid "Erase a given setting (pass full property path)."
msgstr ""
-#: doc/classes/EditorSettings.xml:56
+#: doc/classes/EditorSettings.xml:57
msgid "Gets the list of favorite files and directories for this project."
msgstr ""
-#: doc/classes/EditorSettings.xml:75
+#: doc/classes/EditorSettings.xml:76
msgid ""
"Gets the specific project settings path. Projects all have a unique sub-"
"directory inside the settings path where project specific settings are saved."
msgstr ""
-#: doc/classes/EditorSettings.xml:82
+#: doc/classes/EditorSettings.xml:83
msgid ""
"Gets the list of recently visited folders in the file dialog for this "
"project."
msgstr ""
-#: doc/classes/EditorSettings.xml:97
+#: doc/classes/EditorSettings.xml:98
msgid ""
"Gets the global settings path for the engine. Inside this path, you can find "
"some standard paths such as:\n"
@@ -19210,21 +18975,21 @@ msgid ""
"[code]settings/templates[/code] - Where export templates are located"
msgstr ""
-#: doc/classes/EditorSettings.xml:132
+#: doc/classes/EditorSettings.xml:133
msgid "Sets the list of favorite files and directories for this project."
msgstr ""
-#: doc/classes/EditorSettings.xml:165
+#: doc/classes/EditorSettings.xml:166
msgid ""
"Sets the list of recently visited folders in the file dialog for this "
"project."
msgstr ""
-#: doc/classes/EditorSettings.xml:182
+#: doc/classes/EditorSettings.xml:183
msgid "Emitted when editor settings change."
msgstr ""
-#: doc/classes/EditorSettings.xml:188
+#: doc/classes/EditorSettings.xml:189
msgid ""
"Emitted when editor settings change. It used by various editor plugins to "
"update their visuals on theme changes or logic on configuration changes."
@@ -19967,7 +19732,7 @@ msgid ""
"is visible, \"ghost trail\" artifacts will be visible when moving the camera."
msgstr ""
-#: doc/classes/Environment.xml:262 doc/classes/RenderingServer.xml:3476
+#: doc/classes/Environment.xml:262 doc/classes/RenderingServer.xml:3563
msgid "Displays a camera feed in the background."
msgstr ""
@@ -19975,64 +19740,103 @@ msgstr ""
msgid "Represents the size of the [enum BGMode] enum."
msgstr ""
-#: doc/classes/Environment.xml:282
+#: doc/classes/Environment.xml:268 doc/classes/RenderingServer.xml:3569
+msgid ""
+"Gather ambient light from whichever source is specified as the background."
+msgstr ""
+
+#: doc/classes/Environment.xml:271 doc/classes/RenderingServer.xml:3572
+msgid "Disable ambient light."
+msgstr ""
+
+#: doc/classes/Environment.xml:274 doc/classes/RenderingServer.xml:3575
+msgid "Specify a specific [Color] for ambient light."
+msgstr ""
+
+#: doc/classes/Environment.xml:277 doc/classes/RenderingServer.xml:3578
+msgid ""
+"Gather ambient light from the [Sky] regardless of what the background is."
+msgstr ""
+
+#: doc/classes/Environment.xml:280 doc/classes/RenderingServer.xml:3581
+msgid "Use the background for reflections."
+msgstr ""
+
+#: doc/classes/Environment.xml:283 doc/classes/RenderingServer.xml:3584
+msgid "Disable reflections."
+msgstr ""
+
+#: doc/classes/Environment.xml:286 doc/classes/RenderingServer.xml:3587
+msgid "Use the [Sky] for reflections regardless of what the background is."
+msgstr ""
+
+#: doc/classes/Environment.xml:289 doc/classes/RenderingServer.xml:3590
msgid ""
"Additive glow blending mode. Mostly used for particles, glows (bloom), lens "
"flare, bright sources."
msgstr ""
-#: doc/classes/Environment.xml:285
+#: doc/classes/Environment.xml:292 doc/classes/RenderingServer.xml:3593
msgid ""
"Screen glow blending mode. Increases brightness, used frequently with bloom."
msgstr ""
-#: doc/classes/Environment.xml:288
+#: doc/classes/Environment.xml:295 doc/classes/RenderingServer.xml:3596
msgid ""
"Soft light glow blending mode. Modifies contrast, exposes shadows and "
"highlights (vivid bloom)."
msgstr ""
-#: doc/classes/Environment.xml:291
+#: doc/classes/Environment.xml:298 doc/classes/RenderingServer.xml:3599
msgid ""
"Replace glow blending mode. Replaces all pixels' color by the glow value. "
"This can be used to simulate a full-screen blur effect by tweaking the glow "
"parameters to match the original image's brightness."
msgstr ""
-#: doc/classes/Environment.xml:296
+#: doc/classes/Environment.xml:301 doc/classes/RenderingServer.xml:3602
+msgid ""
+"Mixes the glow with the underlying color to avoid increasing brightness as "
+"much while still maintaining a glow effect."
+msgstr ""
+
+#: doc/classes/Environment.xml:304
msgid ""
"Linear tonemapper operator. Reads the linear data and passes it on "
"unmodified."
msgstr ""
-#: doc/classes/Environment.xml:299
+#: doc/classes/Environment.xml:307
msgid ""
"Reinhardt tonemapper operator. Performs a variation on rendered pixels' "
"colors by this formula: [code]color = color / (1 + color)[/code]."
msgstr ""
-#: doc/classes/Environment.xml:302
+#: doc/classes/Environment.xml:310
msgid "Filmic tonemapper operator."
msgstr ""
-#: doc/classes/Environment.xml:305
+#: doc/classes/Environment.xml:313
msgid "Academy Color Encoding System tonemapper operator."
msgstr ""
-#: doc/classes/Environment.xml:308
+#: doc/classes/Environment.xml:316
msgid "No blur for the screen-space ambient occlusion effect (fastest)."
msgstr ""
-#: doc/classes/Environment.xml:311
+#: doc/classes/Environment.xml:319
msgid "1×1 blur for the screen-space ambient occlusion effect."
msgstr ""
-#: doc/classes/Environment.xml:314
+#: doc/classes/Environment.xml:322
msgid "2×2 blur for the screen-space ambient occlusion effect."
msgstr ""
-#: doc/classes/Environment.xml:317
-msgid "3×3 blur for the screen-space ambient occlusion effect (slowest)."
+#: doc/classes/Environment.xml:325
+msgid ""
+"3×3 blur for the screen-space ambient occlusion effect. Increases the radius "
+"of the blur for a smoother look, but can result in checkerboard-like "
+"artifacts."
msgstr ""
#: doc/classes/Expression.xml:4
@@ -20293,26 +20097,38 @@ msgid ""
msgstr ""
#: doc/classes/File.xml:299
-msgid "Stores an integer as 16 bits in the file."
+msgid ""
+"Stores an integer as 16 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, "
+"2^16 - 1][/code]."
msgstr ""
-#: doc/classes/File.xml:308
-msgid "Stores an integer as 32 bits in the file."
+#: doc/classes/File.xml:309
+msgid ""
+"Stores an integer as 32 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, "
+"2^32 - 1][/code]."
msgstr ""
-#: doc/classes/File.xml:317
-msgid "Stores an integer as 64 bits in the file."
+#: doc/classes/File.xml:319
+msgid ""
+"Stores an integer as 64 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] must lie in the interval [code][-2^63, "
+"2^63 - 1][/code] (i.e. be a valid [int] value)."
msgstr ""
-#: doc/classes/File.xml:326
-msgid "Stores an integer as 8 bits in the file."
+#: doc/classes/File.xml:329
+msgid ""
+"Stores an integer as 8 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 255]"
+"[/code]."
msgstr ""
-#: doc/classes/File.xml:335
+#: doc/classes/File.xml:339
msgid "Stores the given array of bytes in the file."
msgstr ""
-#: doc/classes/File.xml:346
+#: doc/classes/File.xml:350
msgid ""
"Store the given [PackedStringArray] in the file as a line formatted in the "
"CSV (Comma-Separated Values) format. You can pass a different delimiter "
@@ -20321,45 +20137,45 @@ msgid ""
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:356
+#: doc/classes/File.xml:360
msgid "Stores a floating-point number as 64 bits in the file."
msgstr ""
-#: doc/classes/File.xml:365
+#: doc/classes/File.xml:369
msgid "Stores a floating-point number as 32 bits in the file."
msgstr ""
-#: doc/classes/File.xml:374
+#: doc/classes/File.xml:378
msgid ""
"Stores the given [String] as a line in the file.\n"
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:384
+#: doc/classes/File.xml:388
msgid ""
"Stores the given [String] as a line in the file in Pascal format (i.e. also "
"store the length of the string).\n"
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:394
+#: doc/classes/File.xml:398
msgid "Stores a floating-point number in the file."
msgstr ""
-#: doc/classes/File.xml:403
+#: doc/classes/File.xml:407
msgid ""
"Stores the given [String] in the file.\n"
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:415
+#: doc/classes/File.xml:419
msgid ""
"Stores any Variant value in the file. If [code]full_objects[/code] is "
"[code]true[/code], encoding objects is allowed (and can potentially include "
"code)."
msgstr ""
-#: doc/classes/File.xml:421
+#: doc/classes/File.xml:425
msgid ""
"If [code]true[/code], the file's endianness is swapped. Use this if you're "
"dealing with files written on big-endian machines.\n"
@@ -20367,44 +20183,44 @@ msgid ""
"reset to [code]false[/code] whenever you open the file."
msgstr ""
-#: doc/classes/File.xml:427
+#: doc/classes/File.xml:431
msgid "Opens the file for read operations."
msgstr ""
-#: doc/classes/File.xml:430
+#: doc/classes/File.xml:434
msgid ""
"Opens the file for write operations. Create it if the file does not exist "
"and truncate if it exists."
msgstr ""
-#: doc/classes/File.xml:433
+#: doc/classes/File.xml:437
msgid ""
"Opens the file for read and write operations. Does not truncate the file."
msgstr ""
-#: doc/classes/File.xml:436
+#: doc/classes/File.xml:440
msgid ""
"Opens the file for read and write operations. Create it if the file does not "
"exist and truncate if it exists."
msgstr ""
-#: doc/classes/File.xml:439
+#: doc/classes/File.xml:443
msgid "Uses the [url=http://fastlz.org/]FastLZ[/url] compression method."
msgstr ""
-#: doc/classes/File.xml:442
+#: doc/classes/File.xml:446
msgid ""
"Uses the [url=https://en.wikipedia.org/wiki/DEFLATE]DEFLATE[/url] "
"compression method."
msgstr ""
-#: doc/classes/File.xml:445
+#: doc/classes/File.xml:449
msgid ""
"Uses the [url=https://facebook.github.io/zstd/]Zstandard[/url] compression "
"method."
msgstr ""
-#: doc/classes/File.xml:448
+#: doc/classes/File.xml:452
msgid "Uses the [url=https://www.gzip.org/]gzip[/url] compression method."
msgstr ""
@@ -20708,7 +20524,7 @@ msgstr ""
msgid ""
"A GDNative library can implement [NativeScript]s, global functions to call "
"with the [GDNative] class, or low-level engine extensions through interfaces "
-"such as [ARVRInterfaceGDNative]. The library must be compiled for each "
+"such as [XRInterfaceGDNative]. The library must be compiled for each "
"platform and architecture that the project will run on."
msgstr ""
@@ -21663,99 +21479,99 @@ msgid ""
"object."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:27
+#: doc/classes/GeometryInstance3D.xml:35
msgid ""
"Overrides the bounding box of this node with a custom one. To remove it, set "
"an [AABB] with all fields set to zero."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:38
+#: doc/classes/GeometryInstance3D.xml:46
msgid ""
"Sets the [enum GeometryInstance3D.Flags] specified. See [enum "
"GeometryInstance3D.Flags] for options."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:44
+#: doc/classes/GeometryInstance3D.xml:62
msgid ""
"The selected shadow casting flag. See [enum ShadowCastingSetting] for "
"possible values."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:47
+#: doc/classes/GeometryInstance3D.xml:65
msgid ""
"The extra distance added to the GeometryInstance3D's bounding box ([AABB]) "
"to increase its cull box."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:50
+#: doc/classes/GeometryInstance3D.xml:68
msgid ""
"The GeometryInstance3D's max LOD distance.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:54
+#: doc/classes/GeometryInstance3D.xml:72
msgid ""
"The GeometryInstance3D's max LOD margin.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:58
+#: doc/classes/GeometryInstance3D.xml:76
msgid ""
"The GeometryInstance3D's min LOD distance.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:62
+#: doc/classes/GeometryInstance3D.xml:80
msgid ""
"The GeometryInstance3D's min LOD margin.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:66
+#: doc/classes/GeometryInstance3D.xml:84
msgid ""
"The material override for the whole geometry.\n"
"If a material is assigned to this property, it will be used instead of any "
"material set in any material slot of the mesh."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:72
+#: doc/classes/GeometryInstance3D.xml:90
msgid ""
"If [code]true[/code], this GeometryInstance3D will be used when baking "
"lights using a [GIProbe]."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:77
+#: doc/classes/GeometryInstance3D.xml:95
msgid "Will not cast any shadows."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:80
+#: doc/classes/GeometryInstance3D.xml:98
msgid ""
"Will cast shadows from all visible faces in the GeometryInstance3D.\n"
"Will take culling into account, so faces not being rendered will not be "
"taken into account when shadow casting."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:84
+#: doc/classes/GeometryInstance3D.xml:102
msgid ""
"Will cast shadows from all visible faces in the GeometryInstance3D.\n"
"Will not take culling into account, so all faces will be taken into account "
"when shadow casting."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:88
+#: doc/classes/GeometryInstance3D.xml:106
msgid ""
"Will only show the shadows casted from this object.\n"
"In other words, the actual mesh will not be visible, only the shadows casted "
"from the mesh will be."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:92
+#: doc/classes/GeometryInstance3D.xml:110
msgid ""
"Will allow the GeometryInstance3D to be used when baking lights using a "
"[GIProbe]."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:97
+#: doc/classes/GeometryInstance3D.xml:115
msgid ""
"Unused in this class, exposed for consistency with [enum RenderingServer."
"InstanceFlags]."
@@ -22225,7 +22041,7 @@ msgid ""
msgstr ""
#: doc/classes/GraphEdit.xml:243
-msgid "Emitted when the user presses [code]Ctrl + C[/code]."
+msgid "Emitted when the user presses [kbd]Ctrl + C[/kbd]."
msgstr ""
#: doc/classes/GraphEdit.xml:248
@@ -22248,65 +22064,65 @@ msgstr ""
msgid "Emitted when a GraphNode is selected."
msgstr ""
-#: doc/classes/GraphEdit.xml:278
-msgid "Emitted when the user presses [code]Ctrl + V[/code]."
+#: doc/classes/GraphEdit.xml:284
+msgid "Emitted when the user presses [kbd]Ctrl + V[/kbd]."
msgstr ""
-#: doc/classes/GraphEdit.xml:285
+#: doc/classes/GraphEdit.xml:291
msgid ""
"Emitted when a popup is requested. Happens on right-clicking in the "
"GraphEdit. [code]position[/code] is the position of the mouse pointer when "
"the signal is sent."
msgstr ""
-#: doc/classes/GraphEdit.xml:292
+#: doc/classes/GraphEdit.xml:298
msgid ""
"Emitted when the scroll offset is changed by the user. It will not be "
"emitted when changed in code."
msgstr ""
-#: doc/classes/GraphEdit.xml:306
+#: doc/classes/GraphEdit.xml:312
msgid "The background drawn under the grid."
msgstr ""
-#: doc/classes/GraphEdit.xml:309
+#: doc/classes/GraphEdit.xml:315
msgid "Color of major grid lines."
msgstr ""
-#: doc/classes/GraphEdit.xml:312
+#: doc/classes/GraphEdit.xml:318
msgid "Color of minor grid lines."
msgstr ""
-#: doc/classes/GraphEdit.xml:315
+#: doc/classes/GraphEdit.xml:321
msgid "The icon for the zoom out button."
msgstr ""
-#: doc/classes/GraphEdit.xml:318
+#: doc/classes/GraphEdit.xml:324
msgid "The icon for the zoom in button."
msgstr ""
-#: doc/classes/GraphEdit.xml:321
+#: doc/classes/GraphEdit.xml:327
msgid ""
"The horizontal range within which a port can be grabbed (on both sides)."
msgstr ""
-#: doc/classes/GraphEdit.xml:324
+#: doc/classes/GraphEdit.xml:330
msgid "The vertical range within which a port can be grabbed (on both sides)."
msgstr ""
-#: doc/classes/GraphEdit.xml:327
+#: doc/classes/GraphEdit.xml:333
msgid "The icon for the zoom reset button."
msgstr ""
-#: doc/classes/GraphEdit.xml:330
+#: doc/classes/GraphEdit.xml:336
msgid "The fill color of the selection rectangle."
msgstr ""
-#: doc/classes/GraphEdit.xml:333
+#: doc/classes/GraphEdit.xml:339
msgid "The outline color of the selection rectangle."
msgstr ""
-#: doc/classes/GraphEdit.xml:336
+#: doc/classes/GraphEdit.xml:342
msgid "The icon for the snap toggle button."
msgstr ""
@@ -23039,21 +22855,21 @@ msgstr ""
msgid "The background of the area to the left of the grabber."
msgstr ""
-#: doc/classes/HSlider.xml:23 doc/classes/VSlider.xml:27
+#: doc/classes/HSlider.xml:25 doc/classes/VSlider.xml:29
msgid "The texture for the grabber when it's disabled."
msgstr ""
-#: doc/classes/HSlider.xml:26 doc/classes/VSlider.xml:30
+#: doc/classes/HSlider.xml:28 doc/classes/VSlider.xml:32
msgid "The texture for the grabber when it's focused."
msgstr ""
-#: doc/classes/HSlider.xml:29
+#: doc/classes/HSlider.xml:31
msgid ""
"The background for the whole slider. Determines the height of the "
"[code]grabber_area[/code]."
msgstr ""
-#: doc/classes/HSlider.xml:32 doc/classes/VSlider.xml:36
+#: doc/classes/HSlider.xml:34 doc/classes/VSlider.xml:38
msgid ""
"The texture for the ticks, visible when [member Slider.tick_count] is "
"greater than 0."
@@ -23996,16 +23812,19 @@ msgstr ""
msgid ""
"Native image datatype. Contains image data, which can be converted to a "
"[Texture2D], and several functions to interact with it. The maximum width "
-"and height for an [Image] are [constant MAX_WIDTH] and [constant MAX_HEIGHT]."
+"and height for an [Image] are [constant MAX_WIDTH] and [constant "
+"MAX_HEIGHT].\n"
+"[b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics "
+"hardware limitations. Larger images will fail to import."
msgstr ""
-#: doc/classes/Image.xml:22
+#: doc/classes/Image.xml:23
msgid ""
"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image "
"at coordinates [code]dest[/code]."
msgstr ""
-#: doc/classes/Image.xml:37
+#: doc/classes/Image.xml:38
msgid ""
"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image "
"using [code]mask[/code] image at coordinates [code]dst[/code]. Alpha "
@@ -24016,13 +23835,13 @@ msgid ""
"but they can have different formats."
msgstr ""
-#: doc/classes/Image.xml:50
+#: doc/classes/Image.xml:51
msgid ""
"Copies [code]src_rect[/code] from [code]src[/code] image to this image at "
"coordinates [code]dst[/code]."
msgstr ""
-#: doc/classes/Image.xml:65
+#: doc/classes/Image.xml:66
msgid ""
"Blits [code]src_rect[/code] area from [code]src[/code] image to this image "
"at the coordinates given by [code]dst[/code]. [code]src[/code] pixel is "
@@ -24032,17 +23851,17 @@ msgid ""
"different formats."
msgstr ""
-#: doc/classes/Image.xml:74
+#: doc/classes/Image.xml:75
msgid ""
"Converts a bumpmap to a normalmap. A bumpmap provides a height offset per-"
"pixel, while a normalmap provides a normal direction per pixel."
msgstr ""
-#: doc/classes/Image.xml:81
+#: doc/classes/Image.xml:82
msgid "Removes the image's mipmaps."
msgstr ""
-#: doc/classes/Image.xml:94
+#: doc/classes/Image.xml:95
msgid ""
"Compresses the image to use less memory. Can not directly access pixel data "
"while the image is compressed. Returns error if the chosen compression mode "
@@ -24050,22 +23869,22 @@ msgid ""
"constants."
msgstr ""
-#: doc/classes/Image.xml:115
+#: doc/classes/Image.xml:116
msgid "Converts the image's format. See [enum Format] constants."
msgstr ""
-#: doc/classes/Image.xml:124
+#: doc/classes/Image.xml:125
msgid "Copies [code]src[/code] image to this image."
msgstr ""
-#: doc/classes/Image.xml:139
+#: doc/classes/Image.xml:140
msgid ""
"Creates an empty image of given size and format. See [enum Format] "
"constants. If [code]use_mipmaps[/code] is [code]true[/code] then generate "
"mipmaps for this image. See the [method generate_mipmaps]."
msgstr ""
-#: doc/classes/Image.xml:156
+#: doc/classes/Image.xml:157
msgid ""
"Creates a new image of given size and format. See [enum Format] constants. "
"Fills the image with the given raw data. If [code]use_mipmaps[/code] is "
@@ -24073,49 +23892,49 @@ msgid ""
"generate_mipmaps]."
msgstr ""
-#: doc/classes/Image.xml:167
+#: doc/classes/Image.xml:168
msgid ""
"Crops the image to the given [code]width[/code] and [code]height[/code]. If "
"the specified size is larger than the current size, the extra area is filled "
"with black pixels."
msgstr ""
-#: doc/classes/Image.xml:174
+#: doc/classes/Image.xml:175
msgid ""
"Decompresses the image if it is compressed. Returns an error if decompress "
"function is not available."
msgstr ""
-#: doc/classes/Image.xml:181
+#: doc/classes/Image.xml:182
msgid ""
"Returns [constant ALPHA_BLEND] if the image has data for alpha values. "
"Returns [constant ALPHA_BIT] if all the alpha values are stored in a single "
"bit. Returns [constant ALPHA_NONE] if no data for alpha values is found."
msgstr ""
-#: doc/classes/Image.xml:196
+#: doc/classes/Image.xml:197
msgid ""
"Stretches the image and enlarges it by a factor of 2. No interpolation is "
"done."
msgstr ""
-#: doc/classes/Image.xml:205
+#: doc/classes/Image.xml:206
msgid "Fills the image with a given [Color]."
msgstr ""
-#: doc/classes/Image.xml:212
+#: doc/classes/Image.xml:213
msgid "Blends low-alpha pixels with nearby pixels."
msgstr ""
-#: doc/classes/Image.xml:219
+#: doc/classes/Image.xml:220
msgid "Flips the image horizontally."
msgstr ""
-#: doc/classes/Image.xml:226
+#: doc/classes/Image.xml:227
msgid "Flips the image vertically."
msgstr ""
-#: doc/classes/Image.xml:235
+#: doc/classes/Image.xml:236
msgid ""
"Generates mipmaps for the image. Mipmaps are pre-calculated and lower "
"resolution copies of the image. Mipmaps are automatically used if the image "
@@ -24124,125 +23943,129 @@ msgid ""
"in a custom format or if the image's width/height is 0."
msgstr ""
-#: doc/classes/Image.xml:242
+#: doc/classes/Image.xml:243
msgid "Returns the image's raw data."
msgstr ""
-#: doc/classes/Image.xml:249
+#: doc/classes/Image.xml:250
msgid "Returns the image's format. See [enum Format] constants."
msgstr ""
-#: doc/classes/Image.xml:256
+#: doc/classes/Image.xml:257
msgid "Returns the image's height."
msgstr ""
-#: doc/classes/Image.xml:265
+#: doc/classes/Image.xml:266
msgid ""
"Returns the offset where the image's mipmap with index [code]mipmap[/code] "
"is stored in the [code]data[/code] dictionary."
msgstr ""
-#: doc/classes/Image.xml:276
+#: doc/classes/Image.xml:277
msgid ""
"Returns the color of the pixel at [code](x, y)[/code]. This is the same as "
"[method get_pixelv], but with two integer arguments instead of a [Vector2] "
"argument."
msgstr ""
-#: doc/classes/Image.xml:285
+#: doc/classes/Image.xml:286
msgid ""
"Returns the color of the pixel at [code]src[/code]. This is the same as "
"[method get_pixel], but with a [Vector2] argument instead of two integer "
"arguments."
msgstr ""
-#: doc/classes/Image.xml:294
+#: doc/classes/Image.xml:295
msgid ""
"Returns a new image that is a copy of the image's area specified with "
"[code]rect[/code]."
msgstr ""
-#: doc/classes/Image.xml:301
+#: doc/classes/Image.xml:302
msgid "Returns the image's size (width and height)."
msgstr ""
-#: doc/classes/Image.xml:308
+#: doc/classes/Image.xml:309
msgid ""
"Returns a [Rect2] enclosing the visible portion of the image, considering "
"each pixel with a non-zero alpha channel as visible."
msgstr ""
-#: doc/classes/Image.xml:315
+#: doc/classes/Image.xml:316
msgid "Returns the image's width."
msgstr ""
-#: doc/classes/Image.xml:322
+#: doc/classes/Image.xml:323
msgid "Returns [code]true[/code] if the image has generated mipmaps."
msgstr ""
-#: doc/classes/Image.xml:329
+#: doc/classes/Image.xml:330
msgid "Returns [code]true[/code] if the image is compressed."
msgstr ""
-#: doc/classes/Image.xml:336
+#: doc/classes/Image.xml:337
msgid "Returns [code]true[/code] if the image has no data."
msgstr ""
-#: doc/classes/Image.xml:343
+#: doc/classes/Image.xml:344
msgid ""
"Returns [code]true[/code] if all the image's pixels have an alpha value of "
"0. Returns [code]false[/code] if any pixel has an alpha value higher than 0."
msgstr ""
-#: doc/classes/Image.xml:352
-msgid "Loads an image from file [code]path[/code]."
+#: doc/classes/Image.xml:353
+msgid ""
+"Loads an image from file [code]path[/code]. See [url=https://docs."
+"godotengine.org/en/latest/getting_started/workflow/assets/importing_images."
+"html#supported-image-formats]Supported image formats[/url] for a list of "
+"supported image formats and limitations."
msgstr ""
-#: doc/classes/Image.xml:361
+#: doc/classes/Image.xml:362
msgid "Loads an image from the binary contents of a JPEG file."
msgstr ""
-#: doc/classes/Image.xml:370
+#: doc/classes/Image.xml:371
msgid "Loads an image from the binary contents of a PNG file."
msgstr ""
-#: doc/classes/Image.xml:379
+#: doc/classes/Image.xml:380
msgid "Loads an image from the binary contents of a WebP file."
msgstr ""
-#: doc/classes/Image.xml:386
+#: doc/classes/Image.xml:387
msgid ""
"Converts the image's data to represent coordinates on a 3D plane. This is "
"used when the image represents a normalmap. A normalmap can add lots of "
"detail to a 3D surface without increasing the polygon count."
msgstr ""
-#: doc/classes/Image.xml:393
+#: doc/classes/Image.xml:394
msgid ""
"Multiplies color values with alpha values. Resulting color values for a "
"pixel are [code](color * alpha)/256[/code]."
msgstr ""
-#: doc/classes/Image.xml:406
+#: doc/classes/Image.xml:407
msgid ""
"Resizes the image to the given [code]width[/code] and [code]height[/code]. "
"New pixels are calculated using [code]interpolation[/code]. See "
"[code]interpolation[/code] constants."
msgstr ""
-#: doc/classes/Image.xml:415
+#: doc/classes/Image.xml:416
msgid ""
"Resizes the image to the nearest power of 2 for the width and height. If "
"[code]square[/code] is [code]true[/code] then set width and height to be the "
"same."
msgstr ""
-#: doc/classes/Image.xml:422
+#: doc/classes/Image.xml:423
msgid ""
"Converts a standard RGBE (Red Green Blue Exponent) image to an sRGB image."
msgstr ""
-#: doc/classes/Image.xml:433
+#: doc/classes/Image.xml:434
msgid ""
"Saves the image as an EXR file to [code]path[/code]. If [code]grayscale[/"
"code] is [code]true[/code] and the image has only one channel, it will be "
@@ -24251,11 +24074,11 @@ msgid ""
"TinyEXR module."
msgstr ""
-#: doc/classes/Image.xml:442
+#: doc/classes/Image.xml:443
msgid "Saves the image as a PNG file to [code]path[/code]."
msgstr ""
-#: doc/classes/Image.xml:455
+#: doc/classes/Image.xml:456
msgid ""
"Sets the [Color] of the pixel at [code](x, y)[/code]. Example:\n"
"[codeblock]\n"
@@ -24265,7 +24088,7 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Image.xml:471
+#: doc/classes/Image.xml:472
msgid ""
"Sets the [Color] of the pixel at [code](dst.x, dst.y)[/code]. Note that the "
"[code]dst[/code] values must be integers. Example:\n"
@@ -24276,51 +24099,51 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Image.xml:483
+#: doc/classes/Image.xml:484
msgid "Shrinks the image by a factor of 2."
msgstr ""
-#: doc/classes/Image.xml:490
+#: doc/classes/Image.xml:491
msgid "Converts the raw data from the sRGB colorspace to a linear scale."
msgstr ""
-#: doc/classes/Image.xml:496
+#: doc/classes/Image.xml:497
msgid ""
"Holds all of the image's color data in a given format. See [enum Format] "
"constants."
msgstr ""
-#: doc/classes/Image.xml:501
+#: doc/classes/Image.xml:502
msgid "The maximal width allowed for [Image] resources."
msgstr ""
-#: doc/classes/Image.xml:504
+#: doc/classes/Image.xml:505
msgid "The maximal height allowed for [Image] resources."
msgstr ""
-#: doc/classes/Image.xml:507
+#: doc/classes/Image.xml:508
msgid "Texture format with a single 8-bit depth representing luminance."
msgstr ""
-#: doc/classes/Image.xml:510
+#: doc/classes/Image.xml:511
msgid ""
"OpenGL texture format with two values, luminance and alpha each stored with "
"8 bits."
msgstr ""
-#: doc/classes/Image.xml:513
+#: doc/classes/Image.xml:514
msgid ""
"OpenGL texture format [code]RED[/code] with a single component and a "
"bitdepth of 8."
msgstr ""
-#: doc/classes/Image.xml:516
+#: doc/classes/Image.xml:517
msgid ""
"OpenGL texture format [code]RG[/code] with two components and a bitdepth of "
"8 for each."
msgstr ""
-#: doc/classes/Image.xml:519
+#: doc/classes/Image.xml:520
msgid ""
"OpenGL texture format [code]RGB[/code] with three components, each with a "
"bitdepth of 8.\n"
@@ -24328,7 +24151,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:523
+#: doc/classes/Image.xml:524
msgid ""
"OpenGL texture format [code]RGBA[/code] with four components, each with a "
"bitdepth of 8.\n"
@@ -24336,67 +24159,67 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:527
+#: doc/classes/Image.xml:528
msgid ""
"OpenGL texture format [code]RGBA[/code] with four components, each with a "
"bitdepth of 4."
msgstr ""
-#: doc/classes/Image.xml:532
+#: doc/classes/Image.xml:533
msgid ""
"OpenGL texture format [code]GL_R32F[/code] where there's one component, a 32-"
"bit floating-point value."
msgstr ""
-#: doc/classes/Image.xml:535
+#: doc/classes/Image.xml:536
msgid ""
"OpenGL texture format [code]GL_RG32F[/code] where there are two components, "
"each a 32-bit floating-point values."
msgstr ""
-#: doc/classes/Image.xml:538
+#: doc/classes/Image.xml:539
msgid ""
"OpenGL texture format [code]GL_RGB32F[/code] where there are three "
"components, each a 32-bit floating-point values."
msgstr ""
-#: doc/classes/Image.xml:541
+#: doc/classes/Image.xml:542
msgid ""
"OpenGL texture format [code]GL_RGBA32F[/code] where there are four "
"components, each a 32-bit floating-point values."
msgstr ""
-#: doc/classes/Image.xml:544
+#: doc/classes/Image.xml:545
msgid ""
"OpenGL texture format [code]GL_R32F[/code] where there's one component, a 16-"
"bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:547
+#: doc/classes/Image.xml:548
msgid ""
"OpenGL texture format [code]GL_RG32F[/code] where there are two components, "
"each a 16-bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:550
+#: doc/classes/Image.xml:551
msgid ""
"OpenGL texture format [code]GL_RGB32F[/code] where there are three "
"components, each a 16-bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:553
+#: doc/classes/Image.xml:554
msgid ""
"OpenGL texture format [code]GL_RGBA32F[/code] where there are four "
"components, each a 16-bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:556
+#: doc/classes/Image.xml:557
msgid ""
"A special OpenGL texture format where the three color components have 9 bits "
"of precision and all three share a single 5-bit exponent."
msgstr ""
-#: doc/classes/Image.xml:559
+#: doc/classes/Image.xml:560
msgid ""
"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] "
"texture format that uses Block Compression 1, and is the smallest variation "
@@ -24406,7 +24229,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:563
+#: doc/classes/Image.xml:564
msgid ""
"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] "
"texture format that uses Block Compression 2, and color data is interpreted "
@@ -24416,7 +24239,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:567
+#: doc/classes/Image.xml:568
msgid ""
"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] "
"texture format also known as Block Compression 3 or BC3 that contains 64 "
@@ -24427,7 +24250,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:571
+#: doc/classes/Image.xml:572
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"Red_Green_Texture_Compression]Red Green Texture Compression[/url], "
@@ -24435,7 +24258,7 @@ msgid ""
"DXT5 uses for the alpha channel."
msgstr ""
-#: doc/classes/Image.xml:574
+#: doc/classes/Image.xml:575
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"Red_Green_Texture_Compression]Red Green Texture Compression[/url], "
@@ -24443,7 +24266,7 @@ msgid ""
"algorithm that DXT5 uses for the alpha channel."
msgstr ""
-#: doc/classes/Image.xml:577
+#: doc/classes/Image.xml:578
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"BPTC_Texture_Compression]BPTC[/url] compression with unsigned normalized "
@@ -24452,21 +24275,21 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:581
+#: doc/classes/Image.xml:582
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"BPTC_Texture_Compression]BPTC[/url] compression with signed floating-point "
"RGB components."
msgstr ""
-#: doc/classes/Image.xml:584
+#: doc/classes/Image.xml:585
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"BPTC_Texture_Compression]BPTC[/url] compression with unsigned floating-point "
"RGB components."
msgstr ""
-#: doc/classes/Image.xml:587
+#: doc/classes/Image.xml:588
msgid ""
"Texture format used on PowerVR-supported mobile platforms, uses 2-bit color "
"depth with no alpha. More information can be found [url=https://en.wikipedia."
@@ -24475,25 +24298,25 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:591
+#: doc/classes/Image.xml:592
msgid ""
"Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with an "
"alpha component."
msgstr ""
-#: doc/classes/Image.xml:594
+#: doc/classes/Image.xml:595
msgid ""
"Similar to [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with 4-"
"bit color depth and no alpha."
msgstr ""
-#: doc/classes/Image.xml:597
+#: doc/classes/Image.xml:598
msgid ""
"Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC4[/url], but with an "
"alpha component."
msgstr ""
-#: doc/classes/Image.xml:600
+#: doc/classes/Image.xml:601
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC1]Ericsson Texture Compression format 1[/"
@@ -24501,7 +24324,7 @@ msgid ""
"standard. This format cannot store an alpha channel."
msgstr ""
-#: doc/classes/Image.xml:603
+#: doc/classes/Image.xml:604
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24509,7 +24332,7 @@ msgid ""
"unsigned data."
msgstr ""
-#: doc/classes/Image.xml:606
+#: doc/classes/Image.xml:607
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24517,7 +24340,7 @@ msgid ""
"channel of signed data."
msgstr ""
-#: doc/classes/Image.xml:609
+#: doc/classes/Image.xml:610
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24525,7 +24348,7 @@ msgid ""
"of unsigned data."
msgstr ""
-#: doc/classes/Image.xml:612
+#: doc/classes/Image.xml:613
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24533,7 +24356,7 @@ msgid ""
"channels of signed data."
msgstr ""
-#: doc/classes/Image.xml:615
+#: doc/classes/Image.xml:616
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24543,7 +24366,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:619
+#: doc/classes/Image.xml:620
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24553,7 +24376,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:623
+#: doc/classes/Image.xml:624
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24564,31 +24387,31 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:631
+#: doc/classes/Image.xml:632
msgid "Represents the size of the [enum Format] enum."
msgstr ""
-#: doc/classes/Image.xml:634
+#: doc/classes/Image.xml:635
msgid ""
"Performs nearest-neighbor interpolation. If the image is resized, it will be "
"pixelated."
msgstr ""
-#: doc/classes/Image.xml:637
+#: doc/classes/Image.xml:638
msgid ""
"Performs bilinear interpolation. If the image is resized, it will be blurry. "
"This mode is faster than [constant INTERPOLATE_CUBIC], but it results in "
"lower quality."
msgstr ""
-#: doc/classes/Image.xml:640
+#: doc/classes/Image.xml:641
msgid ""
"Performs cubic interpolation. If the image is resized, it will be blurry. "
"This mode often gives better results compared to [constant "
"INTERPOLATE_BILINEAR], at the cost of being slower."
msgstr ""
-#: doc/classes/Image.xml:643
+#: doc/classes/Image.xml:644
msgid ""
"Performs bilinear separately on the two most-suited mipmap levels, then "
"linearly interpolates between them.\n"
@@ -24603,55 +24426,55 @@ msgid ""
"a new set will be generated for the resulting image."
msgstr ""
-#: doc/classes/Image.xml:650
+#: doc/classes/Image.xml:651
msgid ""
"Performs Lanczos interpolation. This is the slowest image resizing mode, but "
"it typically gives the best results, especially when downscalng images."
msgstr ""
-#: doc/classes/Image.xml:653
+#: doc/classes/Image.xml:654
msgid "Image does not have alpha."
msgstr ""
-#: doc/classes/Image.xml:656
+#: doc/classes/Image.xml:657
msgid "Image stores alpha in a single bit."
msgstr ""
-#: doc/classes/Image.xml:659
+#: doc/classes/Image.xml:660
msgid "Image uses alpha."
msgstr ""
-#: doc/classes/Image.xml:662
+#: doc/classes/Image.xml:663
msgid "Use S3TC compression."
msgstr ""
-#: doc/classes/Image.xml:665
+#: doc/classes/Image.xml:666
msgid "Use PVRTC2 compression."
msgstr ""
-#: doc/classes/Image.xml:668
+#: doc/classes/Image.xml:669
msgid "Use PVRTC4 compression."
msgstr ""
-#: doc/classes/Image.xml:671
+#: doc/classes/Image.xml:672
msgid "Use ETC compression."
msgstr ""
-#: doc/classes/Image.xml:674
+#: doc/classes/Image.xml:675
msgid "Use ETC2 compression."
msgstr ""
-#: doc/classes/Image.xml:689
+#: doc/classes/Image.xml:690
msgid ""
"Source texture (before compression) is a regular texture. Default for all "
"textures."
msgstr ""
-#: doc/classes/Image.xml:692
+#: doc/classes/Image.xml:693
msgid "Source texture (before compression) is in sRGB space."
msgstr ""
-#: doc/classes/Image.xml:695
+#: doc/classes/Image.xml:696
msgid ""
"Source texture (before compression) is a normal texture (e.g. it can be "
"compressed into two channels)."
@@ -24664,22 +24487,24 @@ msgstr ""
#: doc/classes/ImageTexture.xml:7
msgid ""
"A [Texture2D] based on an [Image]. Can be created from an [Image] with "
-"[method create_from_image]."
+"[method create_from_image].\n"
+"[b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics "
+"hardware limitations. Larger images will fail to import."
msgstr ""
-#: doc/classes/ImageTexture.xml:18
+#: doc/classes/ImageTexture.xml:19
msgid "Create a new [ImageTexture] from an [Image]."
msgstr ""
-#: doc/classes/ImageTexture.xml:25
+#: doc/classes/ImageTexture.xml:26
msgid "Returns the format of the [ImageTexture], one of [enum Image.Format]."
msgstr ""
-#: doc/classes/ImageTexture.xml:34
+#: doc/classes/ImageTexture.xml:35
msgid "Resizes the [ImageTexture] to the specified dimensions."
msgstr ""
-#: doc/classes/ImageTexture.xml:45
+#: doc/classes/ImageTexture.xml:46
msgid ""
"Replaces the texture's data with a new [code]image[/code]. If "
"[code]immediate[/code] is [code]true[/code], it will take effect immediately "
@@ -24692,20 +24517,29 @@ msgstr ""
#: doc/classes/ImmediateGeometry3D.xml:7
msgid ""
-"Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x."
+"Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x.\n"
+"See also [ArrayMesh], [MeshDataTool] and [SurfaceTool] for procedural "
+"geometry generation.\n"
+"[b]Note:[/b] ImmediateGeometry3D is best suited to small amounts of mesh "
+"data that change every frame. It will be slow when handling large amounts of "
+"mesh data. If mesh data doesn't change often, use [ArrayMesh], "
+"[MeshDataTool] or [SurfaceTool] instead.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:24
+#: doc/classes/ImmediateGeometry3D.xml:27
msgid ""
"Simple helper to draw an UV sphere with given latitude, longitude and radius."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:33
+#: doc/classes/ImmediateGeometry3D.xml:36
msgid ""
"Adds a vertex in local coordinate space with the currently set color/uv/etc."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:44
+#: doc/classes/ImmediateGeometry3D.xml:47
msgid ""
"Begin drawing (and optionally pass a texture override). When done call "
"[method end]. For more information on how this works, search for "
@@ -24713,34 +24547,454 @@ msgid ""
"For the type of primitive, see the [enum Mesh.PrimitiveType] enum."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:52
+#: doc/classes/ImmediateGeometry3D.xml:55
msgid "Clears everything that was drawn using begin/end."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:59
+#: doc/classes/ImmediateGeometry3D.xml:62
msgid "Ends a drawing context and displays the results."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:68
+#: doc/classes/ImmediateGeometry3D.xml:71
msgid "The current drawing color."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:77
+#: doc/classes/ImmediateGeometry3D.xml:80
msgid "The next vertex's normal."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:86
+#: doc/classes/ImmediateGeometry3D.xml:89
msgid "The next vertex's tangent (and binormal facing)."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:95
+#: doc/classes/ImmediateGeometry3D.xml:98
msgid "The next vertex's UV."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:104
+#: doc/classes/ImmediateGeometry3D.xml:107
msgid "The next vertex's second layer UV."
msgstr ""
+#: doc/classes/Input.xml:4
+msgid "A singleton that deals with inputs."
+msgstr ""
+
+#: doc/classes/Input.xml:7
+msgid ""
+"A singleton that deals with inputs. This includes key presses, mouse buttons "
+"and movement, joypads, and input actions. Actions and their events can be "
+"set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or "
+"with the [InputMap] class."
+msgstr ""
+
+#: doc/classes/Input.xml:10
+msgid "https://docs.godotengine.org/en/latest/tutorials/inputs/index.html"
+msgstr ""
+
+#: doc/classes/Input.xml:21
+msgid ""
+"This will simulate pressing the specified action.\n"
+"The strength can be used for non-boolean actions, it's ranged between 0 and "
+"1 representing the intensity of the given action.\n"
+"[b]Note:[/b] This method will not cause any [method Node._input] calls. It "
+"is intended to be used with [method is_action_pressed] and [method "
+"is_action_just_pressed]. If you want to simulate [code]_input[/code], use "
+"[method parse_input_event] instead."
+msgstr ""
+
+#: doc/classes/Input.xml:32
+msgid "If the specified action is already pressed, this will release it."
+msgstr ""
+
+#: doc/classes/Input.xml:43
+msgid ""
+"Adds a new mapping entry (in SDL2 format) to the mapping database. "
+"Optionally update already connected devices."
+msgstr ""
+
+#: doc/classes/Input.xml:50
+msgid ""
+"If the device has an accelerometer, this will return the acceleration. "
+"Otherwise, it returns an empty [Vector3].\n"
+"Note this method returns an empty [Vector3] when running from the editor "
+"even when your device has an accelerometer. You must export your project to "
+"a supported device to read values from the accelerometer."
+msgstr ""
+
+#: doc/classes/Input.xml:60
+msgid ""
+"Returns a value between 0 and 1 representing the intensity of the given "
+"action. In a joypad, for example, the further away the axis (analog sticks "
+"or L2, R2 triggers) is from the dead zone, the closer the value will be to "
+"1. If the action is mapped to a control that has no axis as the keyboard, "
+"the value returned will be 0 or 1."
+msgstr ""
+
+#: doc/classes/Input.xml:67
+msgid ""
+"Returns an [Array] containing the device IDs of all currently connected "
+"joypads."
+msgstr ""
+
+#: doc/classes/Input.xml:74
+msgid "Returns the currently assigned cursor shape (see [enum CursorShape])."
+msgstr ""
+
+#: doc/classes/Input.xml:81
+msgid ""
+"If the device has an accelerometer, this will return the gravity. Otherwise, "
+"it returns an empty [Vector3]."
+msgstr ""
+
+#: doc/classes/Input.xml:88
+msgid ""
+"If the device has a gyroscope, this will return the rate of rotation in rad/"
+"s around a device's X, Y, and Z axes. Otherwise, it returns an empty "
+"[Vector3]."
+msgstr ""
+
+#: doc/classes/Input.xml:99
+msgid ""
+"Returns the current value of the joypad axis at given index (see [enum "
+"JoystickList])."
+msgstr ""
+
+#: doc/classes/Input.xml:108
+msgid "Returns the index of the provided axis name."
+msgstr ""
+
+#: doc/classes/Input.xml:117
+msgid ""
+"Receives a [enum JoystickList] axis and returns its equivalent name as a "
+"string."
+msgstr ""
+
+#: doc/classes/Input.xml:126
+msgid "Returns the index of the provided button name."
+msgstr ""
+
+#: doc/classes/Input.xml:135
+msgid ""
+"Receives a gamepad button from [enum JoystickList] and returns its "
+"equivalent name as a string."
+msgstr ""
+
+#: doc/classes/Input.xml:144
+msgid ""
+"Returns a SDL2-compatible device GUID on platforms that use gamepad "
+"remapping. Returns [code]\"Default Gamepad\"[/code] otherwise."
+msgstr ""
+
+#: doc/classes/Input.xml:153
+msgid "Returns the name of the joypad at the specified device index."
+msgstr ""
+
+#: doc/classes/Input.xml:162
+msgid "Returns the duration of the current vibration effect in seconds."
+msgstr ""
+
+#: doc/classes/Input.xml:171
+msgid ""
+"Returns the strength of the joypad vibration: x is the strength of the weak "
+"motor, and y is the strength of the strong motor."
+msgstr ""
+
+#: doc/classes/Input.xml:178
+msgid ""
+"Returns the mouse speed for the last time the cursor was moved, and this "
+"until the next frame where the mouse moves. This means that even if the "
+"mouse is not moving, this function will still return the value of the last "
+"motion."
+msgstr ""
+
+#: doc/classes/Input.xml:185
+msgid ""
+"If the device has a magnetometer, this will return the magnetic field "
+"strength in micro-Tesla for all axes."
+msgstr ""
+
+#: doc/classes/Input.xml:192
+msgid ""
+"Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at "
+"the same time, the bits are added together."
+msgstr ""
+
+#: doc/classes/Input.xml:199
+msgid "Returns the mouse mode. See the constants for more information."
+msgstr ""
+
+#: doc/classes/Input.xml:208
+msgid ""
+"Returns [code]true[/code] when the user starts pressing the action event, "
+"meaning it's [code]true[/code] only on the frame that the user pressed down "
+"the button.\n"
+"This is useful for code that needs to run only once when an action is "
+"pressed, instead of every frame while it's pressed."
+msgstr ""
+
+#: doc/classes/Input.xml:218
+msgid ""
+"Returns [code]true[/code] when the user stops pressing the action event, "
+"meaning it's [code]true[/code] only on the frame that the user released the "
+"button."
+msgstr ""
+
+#: doc/classes/Input.xml:227
+msgid ""
+"Returns [code]true[/code] if you are pressing the action event. Note that if "
+"an action has multiple buttons assigned and more than one of them is "
+"pressed, releasing one button will release the action, even if some other "
+"button assigned to this action is still pressed."
+msgstr ""
+
+#: doc/classes/Input.xml:238
+msgid ""
+"Returns [code]true[/code] if you are pressing the joypad button (see [enum "
+"JoystickList])."
+msgstr ""
+
+#: doc/classes/Input.xml:247
+msgid ""
+"Returns [code]true[/code] if the system knows the specified device. This "
+"means that it sets all button and axis indices exactly as defined in [enum "
+"JoystickList]. Unknown joypads are not expected to match these constants, "
+"but you can still retrieve events from them."
+msgstr ""
+
+#: doc/classes/Input.xml:256
+msgid ""
+"Returns [code]true[/code] if you are pressing the key in the current "
+"keyboard layout. You can pass a [enum KeyList] constant."
+msgstr ""
+
+#: doc/classes/Input.xml:265
+msgid ""
+"Returns [code]true[/code] if you are pressing the mouse button specified "
+"with [enum ButtonList]."
+msgstr ""
+
+#: doc/classes/Input.xml:280
+msgid ""
+"Notifies the [Input] singleton that a connection has changed, to update the "
+"state for the [code]device[/code] index.\n"
+"This is used internally and should not have to be called from user scripts. "
+"See [signal joy_connection_changed] for the signal emitted when this is "
+"triggered internally."
+msgstr ""
+
+#: doc/classes/Input.xml:290
+msgid ""
+"Feeds an [InputEvent] to the game. Can be used to artificially trigger input "
+"events from code. Also generates [method Node._input] calls.\n"
+"Example:\n"
+"[codeblock]\n"
+"var a = InputEventAction.new()\n"
+"a.action = \"ui_cancel\"\n"
+"a.pressed = true\n"
+"Input.parse_input_event(a)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/Input.xml:306
+msgid ""
+"Removes all mappings from the internal database that match the given GUID."
+msgstr ""
+
+#: doc/classes/Input.xml:319
+msgid ""
+"Sets a custom mouse cursor image, which is only visible inside the game "
+"window. The hotspot can also be specified. Passing [code]null[/code] to the "
+"image parameter resets to the system cursor. See [enum CursorShape] for the "
+"list of shapes.\n"
+"[code]image[/code]'s size must be lower than 256×256.\n"
+"[code]hotspot[/code] must be within [code]image[/code]'s size.\n"
+"[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If "
+"using an [AnimatedTexture], only the first frame will be displayed.\n"
+"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
+"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
+"compression mode can't be used for custom cursors."
+msgstr ""
+
+#: doc/classes/Input.xml:332
+msgid ""
+"Sets the default cursor shape to be used in the viewport instead of "
+"[constant CURSOR_ARROW].\n"
+"[b]Note:[/b] If you want to change the default cursor shape for [Control]'s "
+"nodes, use [member Control.mouse_default_cursor_shape] instead.\n"
+"[b]Note:[/b] This method generates an [InputEventMouseMotion] to update "
+"cursor immediately."
+msgstr ""
+
+#: doc/classes/Input.xml:343
+msgid "Sets the mouse mode. See the constants for more information."
+msgstr ""
+
+#: doc/classes/Input.xml:352
+msgid ""
+"Enables or disables the accumulation of similar input events sent by the "
+"operating system. When input accumulation is enabled, all input events "
+"generated during a frame will be merged and emitted when the frame is done "
+"rendering. Therefore, this limits the number of input method calls per "
+"second to the rendering FPS.\n"
+"Input accumulation is enabled by default. It can be disabled to get slightly "
+"more precise/reactive input at the cost of increased CPU usage. In "
+"applications where drawing freehand lines is required, input accumulation "
+"should generally be disabled while the user is drawing the line to get "
+"results that closely follow the actual input."
+msgstr ""
+
+#: doc/classes/Input.xml:368
+msgid ""
+"Starts to vibrate the joypad. Joypads usually come with two rumble motors, a "
+"strong and a weak one. [code]weak_magnitude[/code] is the strength of the "
+"weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the "
+"strength of the strong motor (between 0 and 1). [code]duration[/code] is the "
+"duration of the effect in seconds (a duration of 0 will try to play the "
+"vibration indefinitely).\n"
+"[b]Note:[/b] Not every hardware is compatible with long effect durations; it "
+"is recommended to restart an effect if it has to be played for more than a "
+"few seconds."
+msgstr ""
+
+#: doc/classes/Input.xml:378
+msgid "Stops the vibration of the joypad."
+msgstr ""
+
+#: doc/classes/Input.xml:387
+msgid ""
+"Vibrate Android and iOS devices.\n"
+"[b]Note:[/b] It needs VIBRATE permission for Android at export settings. iOS "
+"does not support duration."
+msgstr ""
+
+#: doc/classes/Input.xml:397
+msgid "Sets the mouse position to the specified vector."
+msgstr ""
+
+#: doc/classes/Input.xml:408
+msgid "Emitted when a joypad device has been connected or disconnected."
+msgstr ""
+
+#: doc/classes/Input.xml:414
+msgid "Makes the mouse cursor visible if it is hidden."
+msgstr ""
+
+#: doc/classes/Input.xml:417
+msgid "Makes the mouse cursor hidden if it is visible."
+msgstr ""
+
+#: doc/classes/Input.xml:420
+msgid ""
+"Captures the mouse. The mouse will be hidden and unable to leave the game "
+"window, but it will still register movement and mouse button presses. On "
+"Windows and Linux, the mouse will use raw input mode, which means the "
+"reported movement will be unaffected by the OS' mouse acceleration settings."
+msgstr ""
+
+#: doc/classes/Input.xml:423
+msgid "Makes the mouse cursor visible but confines it to the game window."
+msgstr ""
+
+#: doc/classes/Input.xml:426
+msgid "Arrow cursor. Standard, default pointing cursor."
+msgstr ""
+
+#: doc/classes/Input.xml:429
+msgid ""
+"I-beam cursor. Usually used to show where the text cursor will appear when "
+"the mouse is clicked."
+msgstr ""
+
+#: doc/classes/Input.xml:432
+msgid ""
+"Pointing hand cursor. Usually used to indicate the pointer is over a link or "
+"other interactable item."
+msgstr ""
+
+#: doc/classes/Input.xml:435
+msgid ""
+"Cross cursor. Typically appears over regions in which a drawing operation "
+"can be performed or for selections."
+msgstr ""
+
+#: doc/classes/Input.xml:438
+msgid ""
+"Wait cursor. Indicates that the application is busy performing an operation. "
+"This cursor shape denotes that the application is still usable during the "
+"operation."
+msgstr ""
+
+#: doc/classes/Input.xml:441
+msgid ""
+"Busy cursor. Indicates that the application is busy performing an operation. "
+"This cursor shape denotes that the application isn't usable during the "
+"operation (e.g. something is blocking its main thread)."
+msgstr ""
+
+#: doc/classes/Input.xml:444
+msgid "Drag cursor. Usually displayed when dragging something."
+msgstr ""
+
+#: doc/classes/Input.xml:447
+msgid ""
+"Can drop cursor. Usually displayed when dragging something to indicate that "
+"it can be dropped at the current position."
+msgstr ""
+
+#: doc/classes/Input.xml:450
+msgid ""
+"Forbidden cursor. Indicates that the current action is forbidden (for "
+"example, when dragging something) or that the control at a position is "
+"disabled."
+msgstr ""
+
+#: doc/classes/Input.xml:453
+msgid ""
+"Vertical resize mouse cursor. A double-headed vertical arrow. It tells the "
+"user they can resize the window or the panel vertically."
+msgstr ""
+
+#: doc/classes/Input.xml:456
+msgid ""
+"Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells "
+"the user they can resize the window or the panel horizontally."
+msgstr ""
+
+#: doc/classes/Input.xml:459
+msgid ""
+"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
+"from the bottom left to the top right. It tells the user they can resize the "
+"window or the panel both horizontally and vertically."
+msgstr ""
+
+#: doc/classes/Input.xml:462
+msgid ""
+"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
+"from the top left to the bottom right, the opposite of [constant "
+"CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel "
+"both horizontally and vertically."
+msgstr ""
+
+#: doc/classes/Input.xml:465
+msgid "Move cursor. Indicates that something can be moved."
+msgstr ""
+
+#: doc/classes/Input.xml:468
+msgid ""
+"Vertical split mouse cursor. On Windows, it's the same as [constant "
+"CURSOR_VSIZE]."
+msgstr ""
+
+#: doc/classes/Input.xml:471
+msgid ""
+"Horizontal split mouse cursor. On Windows, it's the same as [constant "
+"CURSOR_HSIZE]."
+msgstr ""
+
+#: doc/classes/Input.xml:474
+msgid "Help cursor. Usually a question mark."
+msgstr ""
+
#: doc/classes/InputEvent.xml:4
msgid "Generic input event."
msgstr ""
@@ -24946,8 +25200,8 @@ msgstr ""
#: doc/classes/InputEventKey.xml:17
msgid ""
-"Returns the keycode combined with modifier keys such as [code]Shift[/code] "
-"or [code]Alt[/code]. See also [InputEventWithModifiers].\n"
+"Returns the keycode combined with modifier keys such as [kbd]Shift[/kbd] or "
+"[kbd]Alt[/kbd]. See also [InputEventWithModifiers].\n"
"To get a human-readable representation of the [InputEventKey] with "
"modifiers, use [code]OS.get_keycode_string(event."
"get_keycode_with_modifiers())[/code] where [code]event[/code] is the "
@@ -24956,8 +25210,8 @@ msgstr ""
#: doc/classes/InputEventKey.xml:25
msgid ""
-"Returns the physical keycode combined with modifier keys such as "
-"[code]Shift[/code] or [code]Alt[/code]. See also [InputEventWithModifiers].\n"
+"Returns the physical keycode combined with modifier keys such as [kbd]Shift[/"
+"kbd] or [kbd]Alt[/kbd]. See also [InputEventWithModifiers].\n"
"To get a human-readable representation of the [InputEventKey] with "
"modifiers, use [code]OS.get_keycode_string(event."
"get_physical_keycode_with_modifiers())[/code] where [code]event[/code] is "
@@ -25164,448 +25418,28 @@ msgstr ""
#: doc/classes/InputEventWithModifiers.xml:7
msgid ""
-"Contains keys events information with modifiers support like [code]Shift[/"
-"code] or [code]Alt[/code]. See [method Node._input]."
+"Contains keys events information with modifiers support like [kbd]Shift[/"
+"kbd] or [kbd]Alt[/kbd]. See [method Node._input]."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:16
-msgid "State of the [code]Alt[/code] modifier."
+msgid "State of the [kbd]Alt[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:19
-msgid "State of the [code]Command[/code] modifier."
+msgid "State of the [kbd]Cmd[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:22
-msgid "State of the [code]Ctrl[/code] modifier."
+msgid "State of the [kbd]Ctrl[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:25
-msgid "State of the [code]Meta[/code] modifier."
+msgid "State of the [kbd]Meta[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:28
-msgid "State of the [code]Shift[/code] modifier."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:4
-msgid "A singleton that deals with inputs."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:7
-msgid ""
-"A singleton that deals with inputs. This includes key presses, mouse buttons "
-"and movement, joypads, and input actions. Actions and their events can be "
-"set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or "
-"with the [InputMap] class."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:10
-msgid "https://docs.godotengine.org/en/latest/tutorials/inputs/index.html"
-msgstr ""
-
-#: doc/classes/InputFilter.xml:21
-msgid ""
-"This will simulate pressing the specified action.\n"
-"The strength can be used for non-boolean actions, it's ranged between 0 and "
-"1 representing the intensity of the given action.\n"
-"[b]Note:[/b] This method will not cause any [method Node._input] calls. It "
-"is intended to be used with [method is_action_pressed] and [method "
-"is_action_just_pressed]. If you want to simulate [code]_input[/code], use "
-"[method parse_input_event] instead."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:32
-msgid "If the specified action is already pressed, this will release it."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:43
-msgid ""
-"Adds a new mapping entry (in SDL2 format) to the mapping database. "
-"Optionally update already connected devices."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:50
-msgid ""
-"If the device has an accelerometer, this will return the acceleration. "
-"Otherwise, it returns an empty [Vector3].\n"
-"Note this method returns an empty [Vector3] when running from the editor "
-"even when your device has an accelerometer. You must export your project to "
-"a supported device to read values from the accelerometer."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:60
-msgid ""
-"Returns a value between 0 and 1 representing the intensity of the given "
-"action. In a joypad, for example, the further away the axis (analog sticks "
-"or L2, R2 triggers) is from the dead zone, the closer the value will be to "
-"1. If the action is mapped to a control that has no axis as the keyboard, "
-"the value returned will be 0 or 1."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:67
-msgid ""
-"Returns an [Array] containing the device IDs of all currently connected "
-"joypads."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:74
-msgid "Returns the currently assigned cursor shape (see [enum CursorShape])."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:81
-msgid ""
-"If the device has an accelerometer, this will return the gravity. Otherwise, "
-"it returns an empty [Vector3]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:88
-msgid ""
-"If the device has a gyroscope, this will return the rate of rotation in rad/"
-"s around a device's X, Y, and Z axes. Otherwise, it returns an empty "
-"[Vector3]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:99
-msgid ""
-"Returns the current value of the joypad axis at given index (see [enum "
-"JoystickList])."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:108
-msgid "Returns the index of the provided axis name."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:117
-msgid ""
-"Receives a [enum JoystickList] axis and returns its equivalent name as a "
-"string."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:126
-msgid "Returns the index of the provided button name."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:135
-msgid ""
-"Receives a gamepad button from [enum JoystickList] and returns its "
-"equivalent name as a string."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:144
-msgid ""
-"Returns a SDL2-compatible device GUID on platforms that use gamepad "
-"remapping. Returns [code]\"Default Gamepad\"[/code] otherwise."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:153
-msgid "Returns the name of the joypad at the specified device index."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:162
-msgid "Returns the duration of the current vibration effect in seconds."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:171
-msgid ""
-"Returns the strength of the joypad vibration: x is the strength of the weak "
-"motor, and y is the strength of the strong motor."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:178
-msgid ""
-"Returns the mouse speed for the last time the cursor was moved, and this "
-"until the next frame where the mouse moves. This means that even if the "
-"mouse is not moving, this function will still return the value of the last "
-"motion."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:185
-msgid ""
-"If the device has a magnetometer, this will return the magnetic field "
-"strength in micro-Tesla for all axes."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:192
-msgid ""
-"Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at "
-"the same time, the bits are added together."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:199
-msgid "Returns the mouse mode. See the constants for more information."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:208
-msgid ""
-"Returns [code]true[/code] when the user starts pressing the action event, "
-"meaning it's [code]true[/code] only on the frame that the user pressed down "
-"the button.\n"
-"This is useful for code that needs to run only once when an action is "
-"pressed, instead of every frame while it's pressed."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:218
-msgid ""
-"Returns [code]true[/code] when the user stops pressing the action event, "
-"meaning it's [code]true[/code] only on the frame that the user released the "
-"button."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:227
-msgid ""
-"Returns [code]true[/code] if you are pressing the action event. Note that if "
-"an action has multiple buttons assigned and more than one of them is "
-"pressed, releasing one button will release the action, even if some other "
-"button assigned to this action is still pressed."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:238
-msgid ""
-"Returns [code]true[/code] if you are pressing the joypad button (see [enum "
-"JoystickList])."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:247
-msgid ""
-"Returns [code]true[/code] if the system knows the specified device. This "
-"means that it sets all button and axis indices exactly as defined in [enum "
-"JoystickList]. Unknown joypads are not expected to match these constants, "
-"but you can still retrieve events from them."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:256
-msgid ""
-"Returns [code]true[/code] if you are pressing the key in the current "
-"keyboard layout. You can pass a [enum KeyList] constant."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:265
-msgid ""
-"Returns [code]true[/code] if you are pressing the mouse button specified "
-"with [enum ButtonList]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:280
-msgid ""
-"Notifies the [InputFilter] singleton that a connection has changed, to "
-"update the state for the [code]device[/code] index.\n"
-"This is used internally and should not have to be called from user scripts. "
-"See [signal joy_connection_changed] for the signal emitted when this is "
-"triggered internally."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:290
-msgid ""
-"Feeds an [InputEvent] to the game. Can be used to artificially trigger input "
-"events from code. Also generates [method Node._input] calls.\n"
-"Example:\n"
-"[codeblock]\n"
-"var a = InputEventAction.new()\n"
-"a.action = \"ui_cancel\"\n"
-"a.pressed = true\n"
-"InputFilter.parse_input_event(a)\n"
-"[/codeblock]"
-msgstr ""
-
-#: doc/classes/InputFilter.xml:306
-msgid ""
-"Removes all mappings from the internal database that match the given GUID."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:319
-msgid ""
-"Sets a custom mouse cursor image, which is only visible inside the game "
-"window. The hotspot can also be specified. Passing [code]null[/code] to the "
-"image parameter resets to the system cursor. See [enum CursorShape] for the "
-"list of shapes.\n"
-"[code]image[/code]'s size must be lower than 256×256.\n"
-"[code]hotspot[/code] must be within [code]image[/code]'s size.\n"
-"[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If "
-"using an [AnimatedTexture], only the first frame will be displayed.\n"
-"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
-"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:332
-msgid ""
-"Sets the default cursor shape to be used in the viewport instead of "
-"[constant CURSOR_ARROW].\n"
-"[b]Note:[/b] If you want to change the default cursor shape for [Control]'s "
-"nodes, use [member Control.mouse_default_cursor_shape] instead.\n"
-"[b]Note:[/b] This method generates an [InputEventMouseMotion] to update "
-"cursor immediately."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:343
-msgid "Sets the mouse mode. See the constants for more information."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:352
-msgid ""
-"Enables or disables the accumulation of similar input events sent by the "
-"operating system. When input accumulation is enabled, all input events "
-"generated during a frame will be merged and emitted when the frame is done "
-"rendering. Therefore, this limits the number of input method calls per "
-"second to the rendering FPS.\n"
-"Input accumulation is enabled by default. It can be disabled to get slightly "
-"more precise/reactive input at the cost of increased CPU usage. In "
-"applications where drawing freehand lines is required, input accumulation "
-"should generally be disabled while the user is drawing the line to get "
-"results that closely follow the actual input."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:368
-msgid ""
-"Starts to vibrate the joypad. Joypads usually come with two rumble motors, a "
-"strong and a weak one. [code]weak_magnitude[/code] is the strength of the "
-"weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the "
-"strength of the strong motor (between 0 and 1). [code]duration[/code] is the "
-"duration of the effect in seconds (a duration of 0 will try to play the "
-"vibration indefinitely).\n"
-"[b]Note:[/b] Not every hardware is compatible with long effect durations; it "
-"is recommended to restart an effect if it has to be played for more than a "
-"few seconds."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:378
-msgid "Stops the vibration of the joypad."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:387
-msgid ""
-"Vibrate Android and iOS devices.\n"
-"[b]Note:[/b] It needs VIBRATE permission for Android at export settings. iOS "
-"does not support duration."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:397
-msgid "Sets the mouse position to the specified vector."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:408
-msgid "Emitted when a joypad device has been connected or disconnected."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:414
-msgid "Makes the mouse cursor visible if it is hidden."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:417
-msgid "Makes the mouse cursor hidden if it is visible."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:420
-msgid ""
-"Captures the mouse. The mouse will be hidden and unable to leave the game "
-"window, but it will still register movement and mouse button presses. On "
-"Windows and Linux, the mouse will use raw input mode, which means the "
-"reported movement will be unaffected by the OS' mouse acceleration settings."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:423
-msgid "Makes the mouse cursor visible but confines it to the game window."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:426
-msgid "Arrow cursor. Standard, default pointing cursor."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:429
-msgid ""
-"I-beam cursor. Usually used to show where the text cursor will appear when "
-"the mouse is clicked."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:432
-msgid ""
-"Pointing hand cursor. Usually used to indicate the pointer is over a link or "
-"other interactable item."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:435
-msgid ""
-"Cross cursor. Typically appears over regions in which a drawing operation "
-"can be performed or for selections."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:438
-msgid ""
-"Wait cursor. Indicates that the application is busy performing an operation. "
-"This cursor shape denotes that the application is still usable during the "
-"operation."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:441
-msgid ""
-"Busy cursor. Indicates that the application is busy performing an operation. "
-"This cursor shape denotes that the application isn't usable during the "
-"operation (e.g. something is blocking its main thread)."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:444
-msgid "Drag cursor. Usually displayed when dragging something."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:447
-msgid ""
-"Can drop cursor. Usually displayed when dragging something to indicate that "
-"it can be dropped at the current position."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:450
-msgid ""
-"Forbidden cursor. Indicates that the current action is forbidden (for "
-"example, when dragging something) or that the control at a position is "
-"disabled."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:453
-msgid ""
-"Vertical resize mouse cursor. A double-headed vertical arrow. It tells the "
-"user they can resize the window or the panel vertically."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:456
-msgid ""
-"Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells "
-"the user they can resize the window or the panel horizontally."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:459
-msgid ""
-"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
-"from the bottom left to the top right. It tells the user they can resize the "
-"window or the panel both horizontally and vertically."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:462
-msgid ""
-"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
-"from the top left to the bottom right, the opposite of [constant "
-"CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel "
-"both horizontally and vertically."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:465
-msgid "Move cursor. Indicates that something can be moved."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:468
-msgid ""
-"Vertical split mouse cursor. On Windows, it's the same as [constant "
-"CURSOR_VSIZE]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:471
-msgid ""
-"Horizontal split mouse cursor. On Windows, it's the same as [constant "
-"CURSOR_HSIZE]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:474
-msgid "Help cursor. Usually a question mark."
+msgid "State of the [kbd]Shift[/kbd] modifier."
msgstr ""
#: doc/classes/InputMap.xml:4
@@ -25876,14 +25710,6 @@ msgstr ""
msgid "Address type: Any."
msgstr ""
-#: doc/classes/IP_Unix.xml:4
-msgid "UNIX IP support. See [IP]."
-msgstr ""
-
-#: doc/classes/IP_Unix.xml:7
-msgid "UNIX-specific implementation of IP support functions. See [IP]."
-msgstr ""
-
#: doc/classes/ItemList.xml:4
msgid ""
"Control that provides a list of selectable items (and/or icons) in a single "
@@ -25898,7 +25724,7 @@ msgid ""
"Selectable items in the list may be selected or deselected and multiple "
"selection may be enabled. Selection with right mouse button may also be "
"enabled to allow use of popup context menus. Items may also be \"activated\" "
-"by double-clicking them or by pressing Enter.\n"
+"by double-clicking them or by pressing [kbd]Enter[/kbd].\n"
"Item text only supports single-line strings, newline characters (e.g. "
"[code]\\n[/code]) in the string won't produce a newline. Text wrapping is "
"enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to "
@@ -26057,7 +25883,7 @@ msgstr ""
msgid ""
"Disables (or enables) the item at the specified index.\n"
"Disabled items cannot be selected and do not trigger activation signals "
-"(when double-clicking or pressing Enter)."
+"(when double-clicking or pressing [kbd]Enter[/kbd])."
msgstr ""
#: doc/classes/ItemList.xml:292
@@ -26192,7 +26018,7 @@ msgstr ""
#: doc/classes/ItemList.xml:455
msgid ""
"Triggered when specified list item is activated via double-clicking or by "
-"pressing Enter."
+"pressing [kbd]Enter[/kbd]."
msgstr ""
#: doc/classes/ItemList.xml:464
@@ -26242,7 +26068,9 @@ msgid "Only allow selecting a single item."
msgstr ""
#: doc/classes/ItemList.xml:511
-msgid "Allows selecting multiple items by holding Ctrl or Shift."
+msgid ""
+"Allows selecting multiple items by holding [kbd]Ctrl[/kbd] or [kbd]Shift[/"
+"kbd]."
msgstr ""
#: doc/classes/ItemList.xml:516
@@ -27233,59 +27061,91 @@ msgid ""
msgstr ""
#: doc/classes/Light3D.xml:39
-msgid "The light's bake mode. See [enum BakeMode]."
+msgid ""
+"Angular size of the light in degrees. Only available for "
+"[DirectionalLight3D]s. For reference, the sun from earth is approximately "
+"[code]0.5[/code]."
msgstr ""
#: doc/classes/Light3D.xml:42
-msgid "The light's color."
+msgid "The light's bake mode. See [enum BakeMode]."
msgstr ""
#: doc/classes/Light3D.xml:45
-msgid "The light will affect objects in the selected layers."
+msgid "The light's color."
msgstr ""
#: doc/classes/Light3D.xml:48
-msgid "The light's strength multiplier."
+msgid "The light will affect objects in the selected layers."
msgstr ""
#: doc/classes/Light3D.xml:51
+msgid "The light's strength multiplier."
+msgstr ""
+
+#: doc/classes/Light3D.xml:54
msgid ""
"Secondary multiplier used with indirect light (light bounces). Used with "
"[GIProbe]."
msgstr ""
-#: doc/classes/Light3D.xml:54
+#: doc/classes/Light3D.xml:57
msgid ""
"If [code]true[/code], the light's effect is reversed, darkening areas and "
"casting bright shadows."
msgstr ""
-#: doc/classes/Light3D.xml:57
+#: doc/classes/Light3D.xml:60
+msgid ""
+"[Texture2D] projected by light. [member shadow_enabled] must be on for the "
+"projector to work. Light projectors make the light appear as if it is "
+"shining through a colored but transparent object, almost like light shining "
+"through stained glass."
+msgstr ""
+
+#: doc/classes/Light3D.xml:63
+msgid ""
+"The size of the light in Godot units. Only available for [OmniLight3D]s and "
+"[SpotLight3D]s."
+msgstr ""
+
+#: doc/classes/Light3D.xml:66
msgid ""
"The intensity of the specular blob in objects affected by the light. At "
"[code]0[/code] the light becomes a pure diffuse light."
msgstr ""
-#: doc/classes/Light3D.xml:60
+#: doc/classes/Light3D.xml:69
msgid ""
"Used to adjust shadow appearance. Too small a value results in self-"
"shadowing, while too large a value causes shadows to separate from casters. "
"Adjust as needed."
msgstr ""
-#: doc/classes/Light3D.xml:63
-msgid "The color of shadows cast by this light."
+#: doc/classes/Light3D.xml:72 doc/classes/RenderingServer.xml:3374
+msgid ""
+"Blurs the edges of the shadow. Can be used to hide pixel artifacts in low "
+"resolution shadow maps. A high value can make shadows appear grainy and can "
+"cause other unwanted artifacts. Try to keep as near default as possible."
msgstr ""
-#: doc/classes/Light3D.xml:66
-msgid "Attempts to reduce [member shadow_bias] gap."
+#: doc/classes/Light3D.xml:75
+msgid "The color of shadows cast by this light."
msgstr ""
-#: doc/classes/Light3D.xml:69
+#: doc/classes/Light3D.xml:78
msgid "If [code]true[/code], the light will cast shadows."
msgstr ""
-#: doc/classes/Light3D.xml:72
+#: doc/classes/Light3D.xml:81
+msgid ""
+"Offsets the lookup into the shadow map by the objects normal. This can be "
+"used reduce self-shadowing artifacts without using [member shadow_bias]. In "
+"practice, this value should be tweaked along with [member shadow_bias] to "
+"reduce artifacts as much as possible."
+msgstr ""
+
+#: doc/classes/Light3D.xml:84
msgid ""
"If [code]true[/code], reverses the backface culling of the mesh. This can be "
"useful when you have a flat mesh that has a light behind it. If you need to "
@@ -27294,93 +27154,105 @@ msgid ""
"SHADOW_CASTING_SETTING_DOUBLE_SIDED]."
msgstr ""
-#: doc/classes/Light3D.xml:77
+#: doc/classes/Light3D.xml:91
msgid "Constant for accessing [member light_energy]."
msgstr ""
-#: doc/classes/Light3D.xml:80
+#: doc/classes/Light3D.xml:94
msgid "Constant for accessing [member light_indirect_energy]."
msgstr ""
-#: doc/classes/Light3D.xml:83
+#: doc/classes/Light3D.xml:97
msgid "Constant for accessing [member light_specular]."
msgstr ""
-#: doc/classes/Light3D.xml:86
+#: doc/classes/Light3D.xml:100
msgid ""
"Constant for accessing [member OmniLight3D.omni_range] or [member "
"SpotLight3D.spot_range]."
msgstr ""
-#: doc/classes/Light3D.xml:89
+#: doc/classes/Light3D.xml:103
+msgid "Constant for accessing [member light_size]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:106
msgid ""
"Constant for accessing [member OmniLight3D.omni_attenuation] or [member "
"SpotLight3D.spot_attenuation]."
msgstr ""
-#: doc/classes/Light3D.xml:92
+#: doc/classes/Light3D.xml:109
msgid "Constant for accessing [member SpotLight3D.spot_angle]."
msgstr ""
-#: doc/classes/Light3D.xml:95
+#: doc/classes/Light3D.xml:112
msgid "Constant for accessing [member SpotLight3D.spot_angle_attenuation]."
msgstr ""
-#: doc/classes/Light3D.xml:98
-msgid "Constant for accessing [member shadow_contact]."
-msgstr ""
-
-#: doc/classes/Light3D.xml:101
+#: doc/classes/Light3D.xml:115
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_max_distance]."
msgstr ""
-#: doc/classes/Light3D.xml:104
+#: doc/classes/Light3D.xml:118
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_split_1]."
msgstr ""
-#: doc/classes/Light3D.xml:107
+#: doc/classes/Light3D.xml:121
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_split_2]."
msgstr ""
-#: doc/classes/Light3D.xml:110
+#: doc/classes/Light3D.xml:124
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_split_3]."
msgstr ""
-#: doc/classes/Light3D.xml:115
+#: doc/classes/Light3D.xml:127
msgid ""
"Constant for accessing [member DirectionalLight3D."
-"directional_shadow_normal_bias]."
+"directional_shadow_fade_start]."
msgstr ""
-#: doc/classes/Light3D.xml:118
+#: doc/classes/Light3D.xml:130
+msgid "Constant for accessing [member shadow_normal_bias]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:133
msgid "Constant for accessing [member shadow_bias]."
msgstr ""
-#: doc/classes/Light3D.xml:121
+#: doc/classes/Light3D.xml:136
msgid ""
"Constant for accessing [member DirectionalLight3D."
-"directional_shadow_bias_split_scale]."
+"directional_shadow_pancake_size]."
msgstr ""
-#: doc/classes/Light3D.xml:127
+#: doc/classes/Light3D.xml:139
+msgid "Constant for accessing [member shadow_blur]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:142
+msgid "Constant for accessing [member shadow_transmittance_bias]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:148
msgid ""
"Light is ignored when baking.\n"
"[b]Note:[/b] Hiding a light does [i]not[/i] affect baking."
msgstr ""
-#: doc/classes/Light3D.xml:131
+#: doc/classes/Light3D.xml:152
msgid "Only indirect lighting will be baked (default)."
msgstr ""
-#: doc/classes/Light3D.xml:134
+#: doc/classes/Light3D.xml:155
msgid ""
"Both direct and indirect light will be baked.\n"
"[b]Note:[/b] You should hide the light if you don't want it to appear twice "
@@ -27571,32 +27443,40 @@ msgstr ""
msgid ""
"LineEdit provides a single-line string editor, used for text fields.\n"
"It features many built-in shortcuts which will always be available "
-"([code]Ctrl[/code] here maps to [code]Command[/code] on macOS):\n"
-"- Ctrl + C: Copy\n"
-"- Ctrl + X: Cut\n"
-"- Ctrl + V or Ctrl + Y: Paste/\"yank\"\n"
-"- Ctrl + Z: Undo\n"
-"- Ctrl + Shift + Z: Redo\n"
-"- Ctrl + U: Delete text from the cursor position to the beginning of the "
-"line\n"
-"- Ctrl + K: Delete text from the cursor position to the end of the line\n"
-"- Ctrl + A: Select all text\n"
-"- Up/Down arrow: Move the cursor to the beginning/end of the line\n"
-"On macOS, some extra keyboard shortcuts are available:\n"
-"- Ctrl + F: Like the right arrow key, move the cursor one character right\n"
-"- Ctrl + B: Like the left arrow key, move the cursor one character left\n"
-"- Ctrl + P: Like the up arrow key, move the cursor to the previous line\n"
-"- Ctrl + N: Like the down arrow key, move the cursor to the next line\n"
-"- Ctrl + D: Like the Delete key, delete the character on the right side of "
-"cursor\n"
-"- Ctrl + H: Like the Backspace key, delete the character on the left side of "
-"the cursor\n"
-"- Ctrl + A: Like the Home key, move the cursor to the beginning of the line\n"
-"- Ctrl + E: Like the End key, move the cursor to the end of the line\n"
-"- Command + Left arrow: Like the Home key, move the cursor to the beginning "
+"([kbd]Ctrl[/kbd] here maps to [kbd]Cmd[/kbd] on macOS):\n"
+"- [kbd]Ctrl + C[/kbd]: Copy\n"
+"- [kbd]Ctrl + X[/kbd]: Cut\n"
+"- [kbd]Ctrl + V[/kbd] or [kbd]Ctrl + Y[/kbd]: Paste/\"yank\"\n"
+"- [kbd]Ctrl + Z[/kbd]: Undo\n"
+"- [kbd]Ctrl + Shift + Z[/kbd]: Redo\n"
+"- [kbd]Ctrl + U[/kbd]: Delete text from the cursor position to the beginning "
"of the line\n"
-"- Command + Right arrow: Like the End key, move the cursor to the end of the "
-"line"
+"- [kbd]Ctrl + K[/kbd]: Delete text from the cursor position to the end of "
+"the line\n"
+"- [kbd]Ctrl + A[/kbd]: Select all text\n"
+"- [kbd]Up Arrow[/kbd]/[kbd]Down Arrow[/kbd]: Move the cursor to the "
+"beginning/end of the line\n"
+"On macOS, some extra keyboard shortcuts are available:\n"
+"- [kbd]Ctrl + F[/kbd]: Same as [kbd]Right Arrow[/kbd], move the cursor one "
+"character right\n"
+"- [kbd]Ctrl + B[/kbd]: Same as [kbd]Left Arrow[/kbd], move the cursor one "
+"character left\n"
+"- [kbd]Ctrl + P[/kbd]: Same as [kbd]Up Arrow[/kbd], move the cursor to the "
+"previous line\n"
+"- [kbd]Ctrl + N[/kbd]: Same as [kbd]Down Arrow[/kbd], move the cursor to the "
+"next line\n"
+"- [kbd]Ctrl + D[/kbd]: Same as [kbd]Delete[/kbd], delete the character on "
+"the right side of cursor\n"
+"- [kbd]Ctrl + H[/kbd]: Same as [kbd]Backspace[/kbd], delete the character on "
+"the left side of the cursor\n"
+"- [kbd]Ctrl + A[/kbd]: Same as [kbd]Home[/kbd], move the cursor to the "
+"beginning of the line\n"
+"- [kbd]Ctrl + E[/kbd]: Same as [kbd]End[/kbd], move the cursor to the end of "
+"the line\n"
+"- [kbd]Cmd + Left Arrow[/kbd]: Same as [kbd]Home[/kbd], move the cursor to "
+"the beginning of the line\n"
+"- [kbd]Cmd + Right Arrow[/kbd]: Same as [kbd]End[/kbd], move the cursor to "
+"the end of the line"
msgstr ""
#: doc/classes/LineEdit.xml:39
@@ -27741,7 +27621,7 @@ msgid ""
"max_length]."
msgstr ""
-#: doc/classes/LineEdit.xml:163 doc/classes/TextEdit.xml:513
+#: doc/classes/LineEdit.xml:163 doc/classes/TextEdit.xml:514
msgid "Emitted when the text changes."
msgstr ""
@@ -27765,11 +27645,11 @@ msgstr ""
msgid "Stretches whitespaces to fit the [LineEdit]'s width."
msgstr ""
-#: doc/classes/LineEdit.xml:188 doc/classes/TextEdit.xml:534
+#: doc/classes/LineEdit.xml:188 doc/classes/TextEdit.xml:535
msgid "Cuts (copies and clears) the selected text."
msgstr ""
-#: doc/classes/LineEdit.xml:191 doc/classes/TextEdit.xml:537
+#: doc/classes/LineEdit.xml:191 doc/classes/TextEdit.xml:538
msgid "Copies the selected text."
msgstr ""
@@ -27789,7 +27669,7 @@ msgstr ""
msgid "Selects the whole [LineEdit] text."
msgstr ""
-#: doc/classes/LineEdit.xml:204 doc/classes/TextEdit.xml:549
+#: doc/classes/LineEdit.xml:204 doc/classes/TextEdit.xml:550
msgid "Undoes the previous action."
msgstr ""
@@ -27797,7 +27677,7 @@ msgstr ""
msgid "Reverse the last undo action."
msgstr ""
-#: doc/classes/LineEdit.xml:210 doc/classes/TextEdit.xml:555
+#: doc/classes/LineEdit.xml:210 doc/classes/TextEdit.xml:556
msgid "Represents the size of the [enum MenuItems] enum."
msgstr ""
@@ -28427,11 +28307,11 @@ msgstr ""
msgid "Render array as triangle strips."
msgstr ""
-#: doc/classes/Mesh.xml:126 doc/classes/RenderingServer.xml:3254
+#: doc/classes/Mesh.xml:126 doc/classes/RenderingServer.xml:3306
msgid "Blend shapes are normalized."
msgstr ""
-#: doc/classes/Mesh.xml:129 doc/classes/RenderingServer.xml:3257
+#: doc/classes/Mesh.xml:129 doc/classes/RenderingServer.xml:3309
msgid "Blend shapes are relative to base weight."
msgstr ""
@@ -28473,37 +28353,37 @@ msgstr ""
msgid "Mesh array uses indices."
msgstr ""
-#: doc/classes/Mesh.xml:159 doc/classes/RenderingServer.xml:3210
+#: doc/classes/Mesh.xml:159 doc/classes/RenderingServer.xml:3262
msgid "Flag used to mark a compressed (half float) normal array."
msgstr ""
-#: doc/classes/Mesh.xml:162 doc/classes/RenderingServer.xml:3213
+#: doc/classes/Mesh.xml:162 doc/classes/RenderingServer.xml:3265
msgid "Flag used to mark a compressed (half float) tangent array."
msgstr ""
-#: doc/classes/Mesh.xml:165 doc/classes/RenderingServer.xml:3216
+#: doc/classes/Mesh.xml:165 doc/classes/RenderingServer.xml:3268
msgid "Flag used to mark a compressed (half float) color array."
msgstr ""
-#: doc/classes/Mesh.xml:168 doc/classes/RenderingServer.xml:3219
+#: doc/classes/Mesh.xml:168 doc/classes/RenderingServer.xml:3271
msgid "Flag used to mark a compressed (half float) UV coordinates array."
msgstr ""
-#: doc/classes/Mesh.xml:171 doc/classes/RenderingServer.xml:3222
+#: doc/classes/Mesh.xml:171 doc/classes/RenderingServer.xml:3274
msgid ""
"Flag used to mark a compressed (half float) UV coordinates array for the "
"second UV coordinates."
msgstr ""
-#: doc/classes/Mesh.xml:174 doc/classes/RenderingServer.xml:3225
+#: doc/classes/Mesh.xml:174 doc/classes/RenderingServer.xml:3277
msgid "Flag used to mark a compressed index array."
msgstr ""
-#: doc/classes/Mesh.xml:177 doc/classes/RenderingServer.xml:3228
+#: doc/classes/Mesh.xml:177 doc/classes/RenderingServer.xml:3283
msgid "Flag used to mark that the array contains 2D vertices."
msgstr ""
-#: doc/classes/Mesh.xml:180 doc/classes/RenderingServer.xml:3233
+#: doc/classes/Mesh.xml:180 doc/classes/RenderingServer.xml:3280
msgid ""
"Used to set flags [constant ARRAY_COMPRESS_NORMAL], [constant "
"ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant "
@@ -28568,67 +28448,72 @@ msgid ""
" mdt.set_vertex(i, vertex)\n"
"mesh.surface_remove(0)\n"
"mdt.commit_to_surface(mesh)\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"See also [ArrayMesh], [ImmediateGeometry3D] and [SurfaceTool] for procedural "
+"geometry generation.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/MeshDataTool.xml:28
+#: doc/classes/MeshDataTool.xml:30
msgid "Clears all data currently in MeshDataTool."
msgstr ""
-#: doc/classes/MeshDataTool.xml:37
+#: doc/classes/MeshDataTool.xml:39
msgid "Adds a new surface to specified [Mesh] with edited data."
msgstr ""
-#: doc/classes/MeshDataTool.xml:48
+#: doc/classes/MeshDataTool.xml:50
msgid ""
"Uses specified surface of given [Mesh] to populate data for MeshDataTool.\n"
"Requires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:56
+#: doc/classes/MeshDataTool.xml:58
msgid "Returns the number of edges in this [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:65
+#: doc/classes/MeshDataTool.xml:67
msgid "Returns array of faces that touch given edge."
msgstr ""
-#: doc/classes/MeshDataTool.xml:74
+#: doc/classes/MeshDataTool.xml:76
msgid "Returns meta information assigned to given edge."
msgstr ""
-#: doc/classes/MeshDataTool.xml:85
+#: doc/classes/MeshDataTool.xml:87
msgid ""
"Returns index of specified vertex connected to given edge.\n"
"Vertex argument can only be 0 or 1 because edges are comprised of two "
"vertices."
msgstr ""
-#: doc/classes/MeshDataTool.xml:93
+#: doc/classes/MeshDataTool.xml:95
msgid "Returns the number of faces in this [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:104
+#: doc/classes/MeshDataTool.xml:106
msgid ""
"Returns specified edge associated with given face.\n"
"Edge argument must 2 or less because a face only has three edges."
msgstr ""
-#: doc/classes/MeshDataTool.xml:114
+#: doc/classes/MeshDataTool.xml:116
msgid "Returns the metadata associated with the given face."
msgstr ""
-#: doc/classes/MeshDataTool.xml:123
+#: doc/classes/MeshDataTool.xml:125
msgid "Calculates and returns the face normal of the given face."
msgstr ""
-#: doc/classes/MeshDataTool.xml:134
+#: doc/classes/MeshDataTool.xml:136
msgid ""
"Returns the specified vertex of the given face.\n"
"Vertex argument must be 2 or less because faces contain three vertices."
msgstr ""
-#: doc/classes/MeshDataTool.xml:142
+#: doc/classes/MeshDataTool.xml:144
msgid ""
"Returns the [Mesh]'s format. Format is an integer made up of [Mesh] format "
"flags combined together. For example, a mesh containing both vertices and "
@@ -28638,103 +28523,103 @@ msgid ""
"See [enum ArrayMesh.ArrayFormat] for a list of format flags."
msgstr ""
-#: doc/classes/MeshDataTool.xml:150
+#: doc/classes/MeshDataTool.xml:152
msgid "Returns the material assigned to the [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:159
+#: doc/classes/MeshDataTool.xml:161
msgid "Returns the vertex at given index."
msgstr ""
-#: doc/classes/MeshDataTool.xml:168
+#: doc/classes/MeshDataTool.xml:170
msgid "Returns the bones of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:177
+#: doc/classes/MeshDataTool.xml:179
msgid "Returns the color of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:184
+#: doc/classes/MeshDataTool.xml:186
msgid "Returns the total number of vertices in [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:193
+#: doc/classes/MeshDataTool.xml:195
msgid "Returns an array of edges that share the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:202
+#: doc/classes/MeshDataTool.xml:204
msgid "Returns an array of faces that share the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:211
+#: doc/classes/MeshDataTool.xml:213
msgid "Returns the metadata associated with the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:220
+#: doc/classes/MeshDataTool.xml:222
msgid "Returns the normal of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:229
+#: doc/classes/MeshDataTool.xml:231
msgid "Returns the tangent of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:238
+#: doc/classes/MeshDataTool.xml:240
msgid "Returns the UV of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:247
+#: doc/classes/MeshDataTool.xml:249
msgid "Returns the UV2 of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:256
+#: doc/classes/MeshDataTool.xml:258
msgid "Returns bone weights of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:267
+#: doc/classes/MeshDataTool.xml:269
msgid "Sets the metadata of the given edge."
msgstr ""
-#: doc/classes/MeshDataTool.xml:278
+#: doc/classes/MeshDataTool.xml:280
msgid "Sets the metadata of the given face."
msgstr ""
-#: doc/classes/MeshDataTool.xml:287
+#: doc/classes/MeshDataTool.xml:289
msgid "Sets the material to be used by newly-constructed [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:298
+#: doc/classes/MeshDataTool.xml:300
msgid "Sets the position of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:309
+#: doc/classes/MeshDataTool.xml:311
msgid "Sets the bones of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:320
+#: doc/classes/MeshDataTool.xml:322
msgid "Sets the color of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:331
+#: doc/classes/MeshDataTool.xml:333
msgid "Sets the metadata associated with the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:342
+#: doc/classes/MeshDataTool.xml:344
msgid "Sets the normal of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:353
+#: doc/classes/MeshDataTool.xml:355
msgid "Sets the tangent of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:364
+#: doc/classes/MeshDataTool.xml:366
msgid "Sets the UV of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:375
+#: doc/classes/MeshDataTool.xml:377
msgid "Sets the UV2 of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:386
+#: doc/classes/MeshDataTool.xml:388
msgid "Sets the bone weights of the given vertex."
msgstr ""
@@ -28980,9 +28865,9 @@ msgid ""
"setting [member eye_height].\n"
"You can initialise this interface as follows:\n"
"[codeblock]\n"
-"var interface = ARVRServer.find_interface(\"Native mobile\")\n"
+"var interface = XRServer.find_interface(\"Native mobile\")\n"
"if interface and interface.initialize():\n"
-" get_viewport().arvr = true\n"
+" get_viewport().xr = true\n"
"[/codeblock]"
msgstr ""
@@ -28999,7 +28884,7 @@ msgstr ""
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml:28
msgid ""
"The height at which the camera is placed in relation to the ground (i.e. "
-"[ARVROrigin] node)."
+"[XROrigin3D] node)."
msgstr ""
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml:31
@@ -31479,7 +31364,7 @@ msgstr ""
#: doc/classes/Node.xml:935
msgid ""
"Notification received from the OS when a close request is sent (e.g. closing "
-"the window with a \"Close\" button or Alt+F4).\n"
+"the window with a \"Close\" button or [kbd]Alt + F4[/kbd]).\n"
"Implemented on desktop platforms."
msgstr ""
@@ -31581,11 +31466,21 @@ msgid ""
msgstr ""
#: doc/classes/Node2D.xml:95
-msgid "Converts a local point's coordinates to global coordinates."
+msgid ""
+"Transforms the provided local position into a position in global coordinate "
+"space. The input is expected to be local relative to the [Node2D] it is "
+"called on. e.g. Applying this method to the positions of child nodes will "
+"correctly transform their positions into the global coordinate space, but "
+"applying it to a node's own position will give an incorrect result, as it "
+"will incorporate the node's own transformation into its global position."
msgstr ""
#: doc/classes/Node2D.xml:104
-msgid "Converts a global point's coordinates to local coordinates."
+msgid ""
+"Transforms the provided global position into a position in local coordinate "
+"space. The output will be local relative to the [Node2D] it is called on. e."
+"g. It is appropriate for determining the positions of child nodes, but it is "
+"not appropriate for determining its own position relative to its parent."
msgstr ""
#: doc/classes/Node2D.xml:113
@@ -31660,80 +31555,83 @@ msgid ""
"operations in this coordinate system correspond to direct affine operations "
"on the [Node3D]'s transform. The word local below refers to this coordinate "
"system. The coordinate system that is attached to the [Node3D] object itself "
-"is referred to as object-local coordinate system."
+"is referred to as object-local coordinate system.\n"
+"[b]Note:[/b] Unless otherwise specified, all methods that have angle "
+"parameters must have angles specified as [i]radians[/i]. To convert degrees "
+"to radians, use [method @GDScript.deg2rad]."
msgstr ""
-#: doc/classes/Node3D.xml:11
+#: doc/classes/Node3D.xml:12
msgid ""
"https://docs.godotengine.org/en/latest/tutorials/3d/introduction_to_3d.html"
msgstr ""
-#: doc/classes/Node3D.xml:25
+#: doc/classes/Node3D.xml:26
msgid ""
"Returns the parent [Node3D], or an empty [Object] if no parent exists or "
"parent is not of type [Node3D]."
msgstr ""
-#: doc/classes/Node3D.xml:32
+#: doc/classes/Node3D.xml:33
msgid ""
"Returns the current [World3D] resource this [Node3D] node is registered to."
msgstr ""
-#: doc/classes/Node3D.xml:43
+#: doc/classes/Node3D.xml:44
msgid ""
"Rotates the global (world) transformation around axis, a unit [Vector3], by "
"specified angle in radians. The rotation axis is in global coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:52
+#: doc/classes/Node3D.xml:53
msgid ""
"Scales the global (world) transformation by the given [Vector3] scale "
"factors."
msgstr ""
-#: doc/classes/Node3D.xml:61
+#: doc/classes/Node3D.xml:62
msgid ""
"Moves the global (world) transformation by [Vector3] offset. The offset is "
"in global coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:68
+#: doc/classes/Node3D.xml:69
msgid ""
"Disables rendering of this node. Changes [member visible] to [code]false[/"
"code]."
msgstr ""
-#: doc/classes/Node3D.xml:75
+#: doc/classes/Node3D.xml:76
msgid ""
"Returns whether node notifies about its local transformation changes. "
"[Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:82
+#: doc/classes/Node3D.xml:83
msgid ""
"Returns whether this node uses a scale of [code](1, 1, 1)[/code] or its "
"local transformation scale."
msgstr ""
-#: doc/classes/Node3D.xml:89
+#: doc/classes/Node3D.xml:90
msgid ""
"Returns whether this node is set as Toplevel, that is whether it ignores its "
"parent nodes transformations."
msgstr ""
-#: doc/classes/Node3D.xml:96
+#: doc/classes/Node3D.xml:97
msgid ""
"Returns whether the node notifies about its global and local transformation "
"changes. [Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:103
+#: doc/classes/Node3D.xml:104
msgid ""
"Returns whether the node is visible, taking into consideration that its "
"parents visibility."
msgstr ""
-#: doc/classes/Node3D.xml:114
+#: doc/classes/Node3D.xml:115
msgid ""
"Rotates itself so that the local -Z axis points towards the [code]target[/"
"code] position.\n"
@@ -31743,106 +31641,106 @@ msgid ""
"Operations take place in global space."
msgstr ""
-#: doc/classes/Node3D.xml:129
+#: doc/classes/Node3D.xml:130
msgid ""
"Moves the node to the specified [code]position[/code], and then rotates "
"itself to point toward the [code]target[/code] as per [method look_at]. "
"Operations take place in global space."
msgstr ""
-#: doc/classes/Node3D.xml:136
+#: doc/classes/Node3D.xml:137
msgid ""
"Resets this node's transformations (like scale, skew and taper) preserving "
"its rotation and translation by performing Gram-Schmidt orthonormalization "
"on this node's [Transform]."
msgstr ""
-#: doc/classes/Node3D.xml:147
+#: doc/classes/Node3D.xml:148
msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:158
+#: doc/classes/Node3D.xml:159
msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians. The rotation axis is in object-local coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:167
+#: doc/classes/Node3D.xml:168
msgid "Rotates the local transformation around the X axis by angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:176
+#: doc/classes/Node3D.xml:177
msgid "Rotates the local transformation around the Y axis by angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:185
+#: doc/classes/Node3D.xml:186
msgid "Rotates the local transformation around the Z axis by angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:194
+#: doc/classes/Node3D.xml:195
msgid ""
"Scales the local transformation by given 3D scale factors in object-local "
"coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:203
+#: doc/classes/Node3D.xml:204
msgid ""
"Makes the node ignore its parents transformations. Node transformations are "
"only in global space."
msgstr ""
-#: doc/classes/Node3D.xml:212
+#: doc/classes/Node3D.xml:213
msgid ""
"Sets whether the node uses a scale of [code](1, 1, 1)[/code] or its local "
"transformation scale. Changes to the local transformation scale are "
"preserved."
msgstr ""
-#: doc/classes/Node3D.xml:219
+#: doc/classes/Node3D.xml:220
msgid ""
"Reset all transformations for this node (sets its [Transform] to the "
"identity matrix)."
msgstr ""
-#: doc/classes/Node3D.xml:228
+#: doc/classes/Node3D.xml:229
msgid ""
"Sets whether the node ignores notification that its transformation (global "
"or local) changed."
msgstr ""
-#: doc/classes/Node3D.xml:237
+#: doc/classes/Node3D.xml:238
msgid ""
"Sets whether the node notifies about its local transformation changes. "
"[Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:246
+#: doc/classes/Node3D.xml:247
msgid ""
"Sets whether the node notifies about its global and local transformation "
"changes. [Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:253
+#: doc/classes/Node3D.xml:254
msgid ""
"Enables rendering of this node. Changes [member visible] to [code]true[/"
"code]."
msgstr ""
-#: doc/classes/Node3D.xml:262
+#: doc/classes/Node3D.xml:263
msgid ""
"Transforms [code]local_point[/code] from this node's local space to world "
"space."
msgstr ""
-#: doc/classes/Node3D.xml:271
+#: doc/classes/Node3D.xml:272
msgid ""
"Transforms [code]global_point[/code] from world space to this node's local "
"space."
msgstr ""
-#: doc/classes/Node3D.xml:280
+#: doc/classes/Node3D.xml:281
msgid ""
"Changes the node's position by the given offset [Vector3].\n"
"Note that the translation [code]offset[/code] is affected by the node's "
@@ -31851,26 +31749,26 @@ msgid ""
"to the X coordinate."
msgstr ""
-#: doc/classes/Node3D.xml:290
+#: doc/classes/Node3D.xml:291
msgid ""
"Changes the node's position by the given offset [Vector3] in local space."
msgstr ""
-#: doc/classes/Node3D.xml:297
+#: doc/classes/Node3D.xml:298
msgid "Updates the [Node3DGizmo] of this node."
msgstr ""
-#: doc/classes/Node3D.xml:303
+#: doc/classes/Node3D.xml:304
msgid ""
"The [Node3DGizmo] for this node. Used for example in [EditorNode3DGizmo] as "
"custom visualization and editing handles in Editor."
msgstr ""
-#: doc/classes/Node3D.xml:306
+#: doc/classes/Node3D.xml:307
msgid "World3D space (global) [Transform] of this node."
msgstr ""
-#: doc/classes/Node3D.xml:309
+#: doc/classes/Node3D.xml:310
msgid ""
"Rotation part of the local transformation in radians, specified in terms of "
"YXZ-Euler angles in the format (X angle, Y angle, Z angle).\n"
@@ -31883,33 +31781,33 @@ msgid ""
"\" is not meaningful."
msgstr ""
-#: doc/classes/Node3D.xml:313
+#: doc/classes/Node3D.xml:314
msgid ""
"Rotation part of the local transformation in degrees, specified in terms of "
"YXZ-Euler angles in the format (X angle, Y angle, Z angle)."
msgstr ""
-#: doc/classes/Node3D.xml:316
+#: doc/classes/Node3D.xml:317
msgid "Scale part of the local transformation."
msgstr ""
-#: doc/classes/Node3D.xml:319
+#: doc/classes/Node3D.xml:320
msgid "Local space [Transform] of this node, with respect to the parent node."
msgstr ""
-#: doc/classes/Node3D.xml:322
+#: doc/classes/Node3D.xml:323
msgid "Local translation of this node."
msgstr ""
-#: doc/classes/Node3D.xml:325
+#: doc/classes/Node3D.xml:326
msgid "If [code]true[/code], this node is drawn."
msgstr ""
-#: doc/classes/Node3D.xml:331
+#: doc/classes/Node3D.xml:332
msgid "Emitted when node visibility changes."
msgstr ""
-#: doc/classes/Node3D.xml:337
+#: doc/classes/Node3D.xml:338
msgid ""
"Node3D nodes receives this notification when their global transform changes. "
"This means that either the current or a parent node changed its transform.\n"
@@ -31917,19 +31815,19 @@ msgid ""
"need to ask for it, with [method set_notify_transform]."
msgstr ""
-#: doc/classes/Node3D.xml:341
+#: doc/classes/Node3D.xml:342
msgid ""
"Node3D nodes receives this notification when they are registered to new "
"[World3D] resource."
msgstr ""
-#: doc/classes/Node3D.xml:344
+#: doc/classes/Node3D.xml:345
msgid ""
"Node3D nodes receives this notification when they are unregistered from "
"current [World3D] resource."
msgstr ""
-#: doc/classes/Node3D.xml:347
+#: doc/classes/Node3D.xml:348
msgid "Node3D nodes receives this notification when their visibility changes."
msgstr ""
@@ -33305,11 +33203,13 @@ msgid ""
"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
"that can be added.\n"
+"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
+"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
"and Windows."
msgstr ""
-#: doc/classes/OS.xml:493
+#: doc/classes/OS.xml:494
msgid ""
"The exit code passed to the OS when the main loop exits. By convention, an "
"exit code of [code]0[/code] indicates success whereas a non-zero exit code "
@@ -33319,133 +33219,133 @@ msgid ""
"with an [code]exit_code[/code] argument passed."
msgstr ""
-#: doc/classes/OS.xml:497
+#: doc/classes/OS.xml:498
msgid ""
"If [code]true[/code], the engine optimizes for low processor usage by only "
"refreshing the screen if needed. Can improve battery consumption on mobile."
msgstr ""
-#: doc/classes/OS.xml:500
+#: doc/classes/OS.xml:501
msgid ""
"The amount of sleeping between frames when the low-processor usage mode is "
"enabled (in microseconds). Higher values will result in lower CPU usage."
msgstr ""
-#: doc/classes/OS.xml:505
+#: doc/classes/OS.xml:506
msgid ""
"The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL "
"2.1 on desktop platforms and WebGL 1.0 on the web."
msgstr ""
-#: doc/classes/OS.xml:508
+#: doc/classes/OS.xml:509
msgid "The Vulkan rendering backend."
msgstr ""
-#: doc/classes/OS.xml:511
+#: doc/classes/OS.xml:512
msgid "Sunday."
msgstr ""
-#: doc/classes/OS.xml:514
+#: doc/classes/OS.xml:515
msgid "Monday."
msgstr ""
-#: doc/classes/OS.xml:517
+#: doc/classes/OS.xml:518
msgid "Tuesday."
msgstr ""
-#: doc/classes/OS.xml:520
+#: doc/classes/OS.xml:521
msgid "Wednesday."
msgstr ""
-#: doc/classes/OS.xml:523
+#: doc/classes/OS.xml:524
msgid "Thursday."
msgstr ""
-#: doc/classes/OS.xml:526
+#: doc/classes/OS.xml:527
msgid "Friday."
msgstr ""
-#: doc/classes/OS.xml:529
+#: doc/classes/OS.xml:530
msgid "Saturday."
msgstr ""
-#: doc/classes/OS.xml:532
+#: doc/classes/OS.xml:533
msgid "January."
msgstr ""
-#: doc/classes/OS.xml:535
+#: doc/classes/OS.xml:536
msgid "February."
msgstr ""
-#: doc/classes/OS.xml:538
+#: doc/classes/OS.xml:539
msgid "March."
msgstr ""
-#: doc/classes/OS.xml:541
+#: doc/classes/OS.xml:542
msgid "April."
msgstr ""
-#: doc/classes/OS.xml:544
+#: doc/classes/OS.xml:545
msgid "May."
msgstr ""
-#: doc/classes/OS.xml:547
+#: doc/classes/OS.xml:548
msgid "June."
msgstr ""
-#: doc/classes/OS.xml:550
+#: doc/classes/OS.xml:551
msgid "July."
msgstr ""
-#: doc/classes/OS.xml:553
+#: doc/classes/OS.xml:554
msgid "August."
msgstr ""
-#: doc/classes/OS.xml:556
+#: doc/classes/OS.xml:557
msgid "September."
msgstr ""
-#: doc/classes/OS.xml:559
+#: doc/classes/OS.xml:560
msgid "October."
msgstr ""
-#: doc/classes/OS.xml:562
+#: doc/classes/OS.xml:563
msgid "November."
msgstr ""
-#: doc/classes/OS.xml:565
+#: doc/classes/OS.xml:566
msgid "December."
msgstr ""
-#: doc/classes/OS.xml:568
+#: doc/classes/OS.xml:569
msgid "Desktop directory path."
msgstr ""
-#: doc/classes/OS.xml:571
+#: doc/classes/OS.xml:572
msgid "DCIM (Digital Camera Images) directory path."
msgstr ""
-#: doc/classes/OS.xml:574
+#: doc/classes/OS.xml:575
msgid "Documents directory path."
msgstr ""
-#: doc/classes/OS.xml:577
+#: doc/classes/OS.xml:578
msgid "Downloads directory path."
msgstr ""
-#: doc/classes/OS.xml:580
+#: doc/classes/OS.xml:581
msgid "Movies directory path."
msgstr ""
-#: doc/classes/OS.xml:583
+#: doc/classes/OS.xml:584
msgid "Music directory path."
msgstr ""
-#: doc/classes/OS.xml:586
+#: doc/classes/OS.xml:587
msgid "Pictures directory path."
msgstr ""
-#: doc/classes/OS.xml:589
+#: doc/classes/OS.xml:590
msgid "Ringtones directory path."
msgstr ""
@@ -33717,49 +33617,52 @@ msgid ""
"code] is owned by [code]node[/code] and [code]pack[/code] will therefore "
"only save those two nodes, but not [code]collision[/code].\n"
"[codeblock]\n"
-"# Create the objects\n"
+"# Create the objects.\n"
"var node = Node2D.new()\n"
"var rigid = RigidBody2D.new()\n"
"var collision = CollisionShape2D.new()\n"
"\n"
-"# Create the object hierarchy\n"
+"# Create the object hierarchy.\n"
"rigid.add_child(collision)\n"
"node.add_child(rigid)\n"
"\n"
-"# Change owner of rigid, but not of collision\n"
+"# Change owner of `rigid`, but not of `collision`.\n"
"rigid.owner = node\n"
"\n"
"var scene = PackedScene.new()\n"
-"# Only node and rigid are now packed\n"
+"# Only `node` and `rigid` are now packed.\n"
"var result = scene.pack(node)\n"
"if result == OK:\n"
-" ResourceSaver.save(\"res://path/name.scn\", scene) # Or \"user://...\"\n"
+" var error = ResourceSaver.save(\"res://path/name.scn\", scene) # Or "
+"\"user://...\"\n"
+" if error != OK:\n"
+" push_error(\"An error occurred while saving the scene to disk.\")\n"
"[/codeblock]"
msgstr ""
-#: doc/classes/PackedScene.xml:38
+#: doc/classes/PackedScene.xml:40
msgid "Returns [code]true[/code] if the scene file has nodes."
msgstr ""
-#: doc/classes/PackedScene.xml:45
+#: doc/classes/PackedScene.xml:47
msgid ""
"Returns the [code]SceneState[/code] representing the scene file contents."
msgstr ""
-#: doc/classes/PackedScene.xml:54
+#: doc/classes/PackedScene.xml:56
msgid ""
"Instantiates the scene's node hierarchy. Triggers child scene "
"instantiation(s). Triggers a [constant Node.NOTIFICATION_INSTANCED] "
"notification on the root node."
msgstr ""
-#: doc/classes/PackedScene.xml:63
+#: doc/classes/PackedScene.xml:65
msgid ""
"Pack will ignore any sub-nodes not owned by given node. See [member Node."
"owner]."
msgstr ""
-#: doc/classes/PackedScene.xml:69
+#: doc/classes/PackedScene.xml:71
msgid ""
"A dictionary representation of the scene contents.\n"
"Available keys include \"rnames\" and \"variants\" for resources, "
@@ -33768,18 +33671,18 @@ msgid ""
"connections, and \"version\" for the format style of the PackedScene."
msgstr ""
-#: doc/classes/PackedScene.xml:75
+#: doc/classes/PackedScene.xml:77
msgid "If passed to [method instance], blocks edits to the scene state."
msgstr ""
-#: doc/classes/PackedScene.xml:78
+#: doc/classes/PackedScene.xml:80
msgid ""
"If passed to [method instance], provides local scene resources to the local "
"scene.\n"
"[b]Note:[/b] Only available in editor builds."
msgstr ""
-#: doc/classes/PackedScene.xml:82
+#: doc/classes/PackedScene.xml:84
msgid ""
"If passed to [method instance], provides local scene resources to the local "
"scene. Only the main scene should receive the main edit state.\n"
@@ -34847,20 +34750,20 @@ msgstr ""
msgid "Draw calls per frame. 3D only."
msgstr ""
-#: doc/classes/Performance.xml:77 doc/classes/RenderingServer.xml:3711
+#: doc/classes/Performance.xml:77 doc/classes/RenderingServer.xml:3922
msgid ""
"The amount of video memory used, i.e. texture and vertex memory combined."
msgstr ""
-#: doc/classes/Performance.xml:80 doc/classes/RenderingServer.xml:3714
+#: doc/classes/Performance.xml:80 doc/classes/RenderingServer.xml:3925
msgid "The amount of texture memory used."
msgstr ""
-#: doc/classes/Performance.xml:83 doc/classes/RenderingServer.xml:3717
+#: doc/classes/Performance.xml:83 doc/classes/RenderingServer.xml:3928
msgid "The amount of vertex memory used."
msgstr ""
-#: doc/classes/Performance.xml:86 doc/classes/RenderingServer.xml:3708
+#: doc/classes/Performance.xml:86 doc/classes/RenderingServer.xml:3919
msgid "Unimplemented in the GLES2 rendering backend, always returns 0."
msgstr ""
@@ -34912,6 +34815,96 @@ msgid ""
"resource."
msgstr ""
+#: doc/classes/PhysicalBone3D.xml:67
+msgid "Damps the body's rotation if greater than [code]0[/code]."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:70 doc/classes/RigidBody3D.xml:132
+msgid "Lock the body's rotation in the X axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:73 doc/classes/RigidBody3D.xml:135
+msgid "Lock the body's rotation in the Y axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:76 doc/classes/RigidBody3D.xml:138
+msgid "Lock the body's rotation in the Z axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:79 doc/classes/RigidBody3D.xml:141
+msgid "Lock the body's movement in the X axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:82 doc/classes/RigidBody3D.xml:144
+msgid "Lock the body's movement in the Y axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:85 doc/classes/RigidBody3D.xml:147
+msgid "Lock the body's movement in the Z axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:88
+msgid "Sets the body's transform."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:91 doc/classes/PhysicsMaterial.xml:17
+msgid ""
+"The body's bounciness. Values range from [code]0[/code] (no bounce) to "
+"[code]1[/code] (full bounciness)."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:94 doc/classes/RigidBody3D.xml:150
+msgid ""
+"If [code]true[/code], the body is deactivated when there is no movement, so "
+"it will not take part in the simulation until it is awaken by an external "
+"force."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:97
+msgid ""
+"The body's friction, from [code]0[/code] (frictionless) to [code]1[/code] "
+"(max friction)."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:100
+msgid ""
+"This is multiplied by the global 3D gravity setting found in [b]Project > "
+"Project Settings > Physics > 3d[/b] to produce the body's gravity. For "
+"example, a value of 1 will be normal gravity, 2 will apply double gravity, "
+"and 0.5 will apply half gravity to this object."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:103
+msgid "Sets the joint's transform."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:106
+msgid "Sets the joint's rotation in radians."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:109
+msgid "Sets the joint's rotation in degrees."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:112
+msgid "Sets the joint type. See [enum JointType] for possible values."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:115
+msgid "Damps the body's movement if greater than [code]0[/code]."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:118 doc/classes/RigidBody2D.xml:158
+#: doc/classes/RigidBody3D.xml:175
+msgid "The body's mass."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:121 doc/classes/RigidBody3D.xml:188
+msgid ""
+"The body's weight based on its mass and the global 3D gravity. Global values "
+"are set in [b]Project > Project Settings > Physics > 3d[/b]."
+msgstr ""
+
#: doc/classes/PhysicalSkyMaterial.xml:4
msgid "[Sky] [Material] used for a physically based sky."
msgstr ""
@@ -35245,17 +35238,6 @@ msgstr ""
msgid "The body's transformation matrix."
msgstr ""
-#: doc/classes/PhysicsDirectBodyState2DSW.xml:4
-msgid "Software implementation of [PhysicsDirectBodyState2D]."
-msgstr ""
-
-#: doc/classes/PhysicsDirectBodyState2DSW.xml:7
-msgid ""
-"Software implementation of [PhysicsDirectBodyState2D]. This object exposes "
-"no new methods or properties and should not be used, as "
-"[PhysicsDirectBodyState2D] selects the best implementation available."
-msgstr ""
-
#: doc/classes/PhysicsDirectBodyState3D.xml:4
msgid "Direct access object to a physics body in the [PhysicsServer3D]."
msgstr ""
@@ -35268,7 +35250,7 @@ msgid ""
"direct state of that body. See [method RigidBody3D._integrate_forces]."
msgstr ""
-#: doc/classes/PhysicsDirectBodyState3D.xml:18 doc/classes/RigidBody3D.xml:31
+#: doc/classes/PhysicsDirectBodyState3D.xml:18
msgid ""
"Adds a constant directional force without affecting rotation.\n"
"This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]."
@@ -35445,7 +35427,7 @@ msgid ""
"will occur. If no collision is detected, the returned array will be [code]"
"[1, 1][/code].\n"
"If the shape can not move, the returned array will be [code][0, 0][/code] "
-"under Bullet, and empty under GodotPhysics."
+"under Bullet, and empty under GodotPhysics3D."
msgstr ""
#: doc/classes/PhysicsDirectSpaceState3D.xml:33
@@ -35516,12 +35498,6 @@ msgid ""
"Provides a means of modifying the collision properties of a [PhysicsBody3D]."
msgstr ""
-#: doc/classes/PhysicsMaterial.xml:17
-msgid ""
-"The body's bounciness. Values range from [code]0[/code] (no bounce) to "
-"[code]1[/code] (full bounciness)."
-msgstr ""
-
#: doc/classes/PhysicsMaterial.xml:20
msgid ""
"The body's friction. Values range from [code]0[/code] (frictionless) to "
@@ -35762,7 +35738,7 @@ msgid ""
msgstr ""
#: doc/classes/PhysicsServer2D.xml:620 doc/classes/PhysicsServer3D.xml:637
-#: doc/classes/RigidBody3D.xml:119
+#: doc/classes/RigidBody3D.xml:120
msgid ""
"Sets an axis velocity. The velocity in the given vector axis will be set as "
"the given vector length. This is useful for jumping behavior."
@@ -36278,16 +36254,6 @@ msgid ""
"Constant to get the number of space regions where a collision could occur."
msgstr ""
-#: doc/classes/PhysicsServer2DSW.xml:4
-msgid "Software implementation of [PhysicsServer2D]."
-msgstr ""
-
-#: doc/classes/PhysicsServer2DSW.xml:7
-msgid ""
-"This class exposes no new methods or properties and should not be used, as "
-"[PhysicsServer2D] automatically selects the best implementation available."
-msgstr ""
-
#: doc/classes/PhysicsServer3D.xml:4
msgid "Server interface for low-level physics access."
msgstr ""
@@ -37949,12 +37915,8 @@ msgid "Distance from center of sun where it fades out completely."
msgstr ""
#: doc/classes/ProceduralSkyMaterial.xml:44
-msgid "Distance from sun where it goes from solid to starting to fade."
-msgstr ""
-
-#: doc/classes/ProceduralSkyMaterial.xml:47
msgid ""
-"How quickly the sun fades away between [member sun_angle_min] and [member "
+"How quickly the sun fades away between the edge of the sun disk and [member "
"sun_angle_max]."
msgstr ""
@@ -38289,28 +38251,42 @@ msgstr ""
#: doc/classes/ProjectSettings.xml:263
msgid ""
-"Default compression level for gzip. Affects compressed scenes and resources."
+"The default compression level for gzip. Affects compressed scenes and "
+"resources. Higher levels result in smaller files at the cost of compression "
+"speed. Decompression speed is mostly unaffected by the compression level. "
+"[code]-1[/code] uses the default gzip compression level, which is identical "
+"to [code]6[/code] but could change in the future due to underlying zlib "
+"updates."
msgstr ""
#: doc/classes/ProjectSettings.xml:266
msgid ""
-"Default compression level for Zlib. Affects compressed scenes and resources."
+"The default compression level for Zlib. Affects compressed scenes and "
+"resources. Higher levels result in smaller files at the cost of compression "
+"speed. Decompression speed is mostly unaffected by the compression level. "
+"[code]-1[/code] uses the default gzip compression level, which is identical "
+"to [code]6[/code] but could change in the future due to underlying zlib "
+"updates."
msgstr ""
#: doc/classes/ProjectSettings.xml:269
msgid ""
-"Default compression level for Zstandard. Affects compressed scenes and "
-"resources."
+"The default compression level for Zstandard. Affects compressed scenes and "
+"resources. Higher levels result in smaller files at the cost of compression "
+"speed. Decompression speed is mostly unaffected by the compression level."
msgstr ""
#: doc/classes/ProjectSettings.xml:272
-msgid "Enables long-distance matching in Zstandard."
+msgid ""
+"Enables [url=https://github.com/facebook/zstd/releases/tag/v1.3.2]long-"
+"distance matching[/url] in Zstandard."
msgstr ""
#: doc/classes/ProjectSettings.xml:275
msgid ""
"Largest size limit (in power of 2) allowed when compressing using long-"
-"distance matching with Zstandard."
+"distance matching with Zstandard. Higher values can result in better "
+"compression, but will require more memory when compressing and decompressing."
msgstr ""
#: doc/classes/ProjectSettings.xml:278
@@ -38691,37 +38667,37 @@ msgid ""
"UWP to follow interface conventions."
msgstr ""
-#: doc/classes/ProjectSettings.xml:473
+#: doc/classes/ProjectSettings.xml:475
msgid ""
"Path to a custom [Theme] resource file to use for the project ([code]theme[/"
"code] or generic [code]tres[/code]/[code]res[/code] extension)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:476
+#: doc/classes/ProjectSettings.xml:478
msgid ""
"Path to a custom [Font] resource to use as default for all GUI elements of "
"the project."
msgstr ""
-#: doc/classes/ProjectSettings.xml:479
+#: doc/classes/ProjectSettings.xml:481
msgid "If [code]true[/code], makes sure the theme used works with HiDPI."
msgstr ""
-#: doc/classes/ProjectSettings.xml:482
+#: doc/classes/ProjectSettings.xml:484
msgid ""
"Timer setting for incremental search in [Tree], [ItemList], etc. controls "
"(in milliseconds)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:485
+#: doc/classes/ProjectSettings.xml:487
msgid "Timer for detecting idle in [TextEdit] (in seconds)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:488
+#: doc/classes/ProjectSettings.xml:490
msgid "Default delay for tooltips (in seconds)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:491
+#: doc/classes/ProjectSettings.xml:493
msgid ""
"Default [InputEventAction] to confirm a focused button, menu or list item, "
"or validate input.\n"
@@ -38730,7 +38706,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:495
+#: doc/classes/ProjectSettings.xml:497
msgid ""
"Default [InputEventAction] to discard a modal or pending input.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38738,7 +38714,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:499
+#: doc/classes/ProjectSettings.xml:501
msgid ""
"Default [InputEventAction] to move down in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38746,7 +38722,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:503
+#: doc/classes/ProjectSettings.xml:505
msgid ""
"Default [InputEventAction] to go to the end position of a [Control] (e.g. "
"last item in an [ItemList] or a [Tree]), matching the behavior of [constant "
@@ -38756,7 +38732,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:507
+#: doc/classes/ProjectSettings.xml:509
msgid ""
"Default [InputEventAction] to focus the next [Control] in the scene. The "
"focus behavior can be configured via [member Control.focus_next].\n"
@@ -38765,7 +38741,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:511
+#: doc/classes/ProjectSettings.xml:513
msgid ""
"Default [InputEventAction] to focus the previous [Control] in the scene. The "
"focus behavior can be configured via [member Control.focus_previous].\n"
@@ -38774,7 +38750,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:515
+#: doc/classes/ProjectSettings.xml:517
msgid ""
"Default [InputEventAction] to go to the start position of a [Control] (e.g. "
"first item in an [ItemList] or a [Tree]), matching the behavior of [constant "
@@ -38784,7 +38760,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:519
+#: doc/classes/ProjectSettings.xml:521
msgid ""
"Default [InputEventAction] to move left in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38792,7 +38768,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:523
+#: doc/classes/ProjectSettings.xml:525
msgid ""
"Default [InputEventAction] to go down a page in a [Control] (e.g. in an "
"[ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEDOWN] on "
@@ -38802,7 +38778,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:527
+#: doc/classes/ProjectSettings.xml:529
msgid ""
"Default [InputEventAction] to go up a page in a [Control] (e.g. in an "
"[ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEUP] on "
@@ -38812,7 +38788,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:531
+#: doc/classes/ProjectSettings.xml:533
msgid ""
"Default [InputEventAction] to move right in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38820,7 +38796,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:535
+#: doc/classes/ProjectSettings.xml:537
msgid ""
"Default [InputEventAction] to select an item in a [Control] (e.g. in an "
"[ItemList] or a [Tree]).\n"
@@ -38829,7 +38805,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:539
+#: doc/classes/ProjectSettings.xml:541
msgid ""
"Default [InputEventAction] to move up in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38837,371 +38813,371 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:543
+#: doc/classes/ProjectSettings.xml:545
msgid ""
"If [code]true[/code], sends mouse input events when tapping or swiping on "
"the touchscreen."
msgstr ""
-#: doc/classes/ProjectSettings.xml:546
+#: doc/classes/ProjectSettings.xml:548
msgid ""
"If [code]true[/code], sends touch input events when clicking or dragging the "
"mouse."
msgstr ""
-#: doc/classes/ProjectSettings.xml:549
+#: doc/classes/ProjectSettings.xml:551
msgid "Optional name for the 2D physics layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:552
+#: doc/classes/ProjectSettings.xml:554
msgid "Optional name for the 2D physics layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:555
+#: doc/classes/ProjectSettings.xml:557
msgid "Optional name for the 2D physics layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:558
+#: doc/classes/ProjectSettings.xml:560
msgid "Optional name for the 2D physics layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:561
+#: doc/classes/ProjectSettings.xml:563
msgid "Optional name for the 2D physics layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:564
+#: doc/classes/ProjectSettings.xml:566
msgid "Optional name for the 2D physics layer 14."
msgstr ""
-#: doc/classes/ProjectSettings.xml:567
+#: doc/classes/ProjectSettings.xml:569
msgid "Optional name for the 2D physics layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:570
+#: doc/classes/ProjectSettings.xml:572
msgid "Optional name for the 2D physics layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:573
+#: doc/classes/ProjectSettings.xml:575
msgid "Optional name for the 2D physics layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:576
+#: doc/classes/ProjectSettings.xml:578
msgid "Optional name for the 2D physics layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:579
+#: doc/classes/ProjectSettings.xml:581
msgid "Optional name for the 2D physics layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:582
+#: doc/classes/ProjectSettings.xml:584
msgid "Optional name for the 2D physics layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:585
+#: doc/classes/ProjectSettings.xml:587
msgid "Optional name for the 2D physics layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:588
+#: doc/classes/ProjectSettings.xml:590
msgid "Optional name for the 2D physics layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:591
+#: doc/classes/ProjectSettings.xml:593
msgid "Optional name for the 2D physics layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:594
+#: doc/classes/ProjectSettings.xml:596
msgid "Optional name for the 2D physics layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:597
+#: doc/classes/ProjectSettings.xml:599
msgid "Optional name for the 2D physics layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:600
+#: doc/classes/ProjectSettings.xml:602
msgid "Optional name for the 2D physics layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:603
+#: doc/classes/ProjectSettings.xml:605
msgid "Optional name for the 2D physics layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:606
+#: doc/classes/ProjectSettings.xml:608
msgid "Optional name for the 2D physics layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:609
+#: doc/classes/ProjectSettings.xml:611
msgid "Optional name for the 2D render layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:612
+#: doc/classes/ProjectSettings.xml:614
msgid "Optional name for the 2D render layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:615
+#: doc/classes/ProjectSettings.xml:617
msgid "Optional name for the 2D render layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:618
+#: doc/classes/ProjectSettings.xml:620
msgid "Optional name for the 2D render layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:621
+#: doc/classes/ProjectSettings.xml:623
msgid "Optional name for the 2D render layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:624
+#: doc/classes/ProjectSettings.xml:626
msgid "Optional name for the 2D render layer 14."
msgstr ""
-#: doc/classes/ProjectSettings.xml:627
+#: doc/classes/ProjectSettings.xml:629
msgid "Optional name for the 2D render layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:630
+#: doc/classes/ProjectSettings.xml:632
msgid "Optional name for the 2D render layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:633
+#: doc/classes/ProjectSettings.xml:635
msgid "Optional name for the 2D render layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:636
+#: doc/classes/ProjectSettings.xml:638
msgid "Optional name for the 2D render layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:639
+#: doc/classes/ProjectSettings.xml:641
msgid "Optional name for the 2D render layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:642
+#: doc/classes/ProjectSettings.xml:644
msgid "Optional name for the 2D render layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:645
+#: doc/classes/ProjectSettings.xml:647
msgid "Optional name for the 2D render layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:648
+#: doc/classes/ProjectSettings.xml:650
msgid "Optional name for the 2D render layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:651
+#: doc/classes/ProjectSettings.xml:653
msgid "Optional name for the 2D render layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:654
+#: doc/classes/ProjectSettings.xml:656
msgid "Optional name for the 2D render layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:657
+#: doc/classes/ProjectSettings.xml:659
msgid "Optional name for the 2D render layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:660
+#: doc/classes/ProjectSettings.xml:662
msgid "Optional name for the 2D render layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:663
+#: doc/classes/ProjectSettings.xml:665
msgid "Optional name for the 2D render layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:666
+#: doc/classes/ProjectSettings.xml:668
msgid "Optional name for the 2D render layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:669
+#: doc/classes/ProjectSettings.xml:671
msgid "Optional name for the 3D physics layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:672
+#: doc/classes/ProjectSettings.xml:674
msgid "Optional name for the 3D physics layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:675
+#: doc/classes/ProjectSettings.xml:677
msgid "Optional name for the 3D physics layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:678
+#: doc/classes/ProjectSettings.xml:680
msgid "Optional name for the 3D physics layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:681
+#: doc/classes/ProjectSettings.xml:683
msgid "Optional name for the 3D physics layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:684
+#: doc/classes/ProjectSettings.xml:686
msgid "Optional name for the 3D physics layer 14."
msgstr ""
-#: doc/classes/ProjectSettings.xml:687
+#: doc/classes/ProjectSettings.xml:689
msgid "Optional name for the 3D physics layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:690
+#: doc/classes/ProjectSettings.xml:692
msgid "Optional name for the 3D physics layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:693
+#: doc/classes/ProjectSettings.xml:695
msgid "Optional name for the 3D physics layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:696
+#: doc/classes/ProjectSettings.xml:698
msgid "Optional name for the 3D physics layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:699
+#: doc/classes/ProjectSettings.xml:701
msgid "Optional name for the 3D physics layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:702
+#: doc/classes/ProjectSettings.xml:704
msgid "Optional name for the 3D physics layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:705
+#: doc/classes/ProjectSettings.xml:707
msgid "Optional name for the 3D physics layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:708
+#: doc/classes/ProjectSettings.xml:710
msgid "Optional name for the 3D physics layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:711
+#: doc/classes/ProjectSettings.xml:713
msgid "Optional name for the 3D physics layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:714
+#: doc/classes/ProjectSettings.xml:716
msgid "Optional name for the 3D physics layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:717
+#: doc/classes/ProjectSettings.xml:719
msgid "Optional name for the 3D physics layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:720
+#: doc/classes/ProjectSettings.xml:722
msgid "Optional name for the 3D physics layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:723
+#: doc/classes/ProjectSettings.xml:725
msgid "Optional name for the 3D physics layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:726
+#: doc/classes/ProjectSettings.xml:728
msgid "Optional name for the 3D physics layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:729
+#: doc/classes/ProjectSettings.xml:731
msgid "Optional name for the 3D render layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:732
+#: doc/classes/ProjectSettings.xml:734
msgid "Optional name for the 3D render layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:735
+#: doc/classes/ProjectSettings.xml:737
msgid "Optional name for the 3D render layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:738
+#: doc/classes/ProjectSettings.xml:740
msgid "Optional name for the 3D render layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:741
+#: doc/classes/ProjectSettings.xml:743
msgid "Optional name for the 3D render layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:744
+#: doc/classes/ProjectSettings.xml:746
msgid "Optional name for the 3D render layer 14"
msgstr ""
-#: doc/classes/ProjectSettings.xml:747
+#: doc/classes/ProjectSettings.xml:749
msgid "Optional name for the 3D render layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:750
+#: doc/classes/ProjectSettings.xml:752
msgid "Optional name for the 3D render layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:753
+#: doc/classes/ProjectSettings.xml:755
msgid "Optional name for the 3D render layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:756
+#: doc/classes/ProjectSettings.xml:758
msgid "Optional name for the 3D render layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:759
+#: doc/classes/ProjectSettings.xml:761
msgid "Optional name for the 3D render layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:762
+#: doc/classes/ProjectSettings.xml:764
msgid "Optional name for the 3D render layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:765
+#: doc/classes/ProjectSettings.xml:767
msgid "Optional name for the 3D render layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:768
+#: doc/classes/ProjectSettings.xml:770
msgid "Optional name for the 3D render layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:771
+#: doc/classes/ProjectSettings.xml:773
msgid "Optional name for the 3D render layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:774
+#: doc/classes/ProjectSettings.xml:776
msgid "Optional name for the 3D render layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:777
+#: doc/classes/ProjectSettings.xml:779
msgid "Optional name for the 3D render layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:780
+#: doc/classes/ProjectSettings.xml:782
msgid "Optional name for the 3D render layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:783
+#: doc/classes/ProjectSettings.xml:785
msgid "Optional name for the 3D render layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:786
+#: doc/classes/ProjectSettings.xml:788
msgid "Optional name for the 3D render layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:789
+#: doc/classes/ProjectSettings.xml:791
msgid ""
"The locale to fall back to if a translation isn't available in a given "
"language. If left empty, [code]en[/code] (English) will be used."
msgstr ""
-#: doc/classes/ProjectSettings.xml:792
+#: doc/classes/ProjectSettings.xml:794
msgid ""
"If non-empty, this locale will be used when running the project from the "
"editor."
msgstr ""
-#: doc/classes/ProjectSettings.xml:795
+#: doc/classes/ProjectSettings.xml:797
msgid "If [code]true[/code], logs all output to files."
msgstr ""
-#: doc/classes/ProjectSettings.xml:798
+#: doc/classes/ProjectSettings.xml:800
msgid ""
"Path to logs within the project. Using an [code]user://[/code] path is "
"recommended."
msgstr ""
-#: doc/classes/ProjectSettings.xml:801
+#: doc/classes/ProjectSettings.xml:803
msgid "Specifies the maximum amount of log files allowed (used for rotation)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:804
+#: doc/classes/ProjectSettings.xml:806
msgid ""
"Godot uses a message queue to defer some function calls. If you run out of "
"space on it (you will see an error), you can increase the size here."
msgstr ""
-#: doc/classes/ProjectSettings.xml:807
+#: doc/classes/ProjectSettings.xml:809
msgid ""
"This is used by servers when used in multi-threading mode (servers and "
"visual). RIDs are preallocated to avoid stalling the server requesting them "
@@ -39209,118 +39185,118 @@ msgid ""
"thread, increase this number."
msgstr ""
-#: doc/classes/ProjectSettings.xml:822
+#: doc/classes/ProjectSettings.xml:824
msgid ""
"Maximum amount of characters allowed to send as output from the debugger. "
"Over this value, content is dropped. This helps not to stall the debugger "
"connection."
msgstr ""
-#: doc/classes/ProjectSettings.xml:825
+#: doc/classes/ProjectSettings.xml:827
msgid ""
"Maximum number of errors allowed to be sent from the debugger. Over this "
"value, content is dropped. This helps not to stall the debugger connection."
msgstr ""
-#: doc/classes/ProjectSettings.xml:828
+#: doc/classes/ProjectSettings.xml:830
msgid ""
"Maximum amount of messages in the debugger queue. Over this value, content "
"is dropped. This helps to limit the debugger memory usage."
msgstr ""
-#: doc/classes/ProjectSettings.xml:831
+#: doc/classes/ProjectSettings.xml:833
msgid ""
"Maximum number of warnings allowed to be sent from the debugger. Over this "
"value, content is dropped. This helps not to stall the debugger connection."
msgstr ""
-#: doc/classes/ProjectSettings.xml:834
+#: doc/classes/ProjectSettings.xml:836
msgid ""
"Default size of packet peer stream for deserializing Godot data. Over this "
"size, data is dropped."
msgstr ""
-#: doc/classes/ProjectSettings.xml:837
+#: doc/classes/ProjectSettings.xml:839
msgid "Timeout (in seconds) for connection attempts using TCP."
msgstr ""
-#: doc/classes/ProjectSettings.xml:840
+#: doc/classes/ProjectSettings.xml:842
msgid "Maximum size (in kiB) for the [WebRTCDataChannel] input buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:843
+#: doc/classes/ProjectSettings.xml:845
msgid "Maximum size (in kiB) for the [WebSocketClient] input buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:846
+#: doc/classes/ProjectSettings.xml:848
msgid "Maximum number of concurrent input packets for [WebSocketClient]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:849
+#: doc/classes/ProjectSettings.xml:851
msgid "Maximum size (in kiB) for the [WebSocketClient] output buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:852
+#: doc/classes/ProjectSettings.xml:854
msgid "Maximum number of concurrent output packets for [WebSocketClient]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:855
+#: doc/classes/ProjectSettings.xml:857
msgid "Maximum size (in kiB) for the [WebSocketServer] input buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:858
+#: doc/classes/ProjectSettings.xml:860
msgid "Maximum number of concurrent input packets for [WebSocketServer]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:861
+#: doc/classes/ProjectSettings.xml:863
msgid "Maximum size (in kiB) for the [WebSocketServer] output buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:864
+#: doc/classes/ProjectSettings.xml:866
msgid "Maximum number of concurrent output packets for [WebSocketServer]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:867
+#: doc/classes/ProjectSettings.xml:869
msgid ""
"Amount of read ahead used by remote filesystem. Higher values decrease the "
"effects of latency at the cost of higher bandwidth usage."
msgstr ""
-#: doc/classes/ProjectSettings.xml:870
+#: doc/classes/ProjectSettings.xml:872
msgid "Page size used by remote filesystem (in bytes)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:873
+#: doc/classes/ProjectSettings.xml:875
msgid ""
"CA certificates bundle to use for SSL connections. If not defined, Godot's "
"internal CA certificates are used."
msgstr ""
-#: doc/classes/ProjectSettings.xml:876
+#: doc/classes/ProjectSettings.xml:878
msgid ""
"When creating node names automatically, set the type of casing in this "
"project. This is mostly an editor setting."
msgstr ""
-#: doc/classes/ProjectSettings.xml:879
+#: doc/classes/ProjectSettings.xml:881
msgid ""
"What to use to separate node name from number. This is mostly an editor "
"setting."
msgstr ""
-#: doc/classes/ProjectSettings.xml:882
+#: doc/classes/ProjectSettings.xml:884
msgid "Size of the hash table used for the broad-phase 2D hash grid algorithm."
msgstr ""
-#: doc/classes/ProjectSettings.xml:885
+#: doc/classes/ProjectSettings.xml:887
msgid "Cell size used for the broad-phase 2D hash grid algorithm."
msgstr ""
-#: doc/classes/ProjectSettings.xml:888
+#: doc/classes/ProjectSettings.xml:890
msgid "The default angular damp in 2D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:891
+#: doc/classes/ProjectSettings.xml:893
msgid ""
"The default gravity strength in 2D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39332,7 +39308,7 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:899
+#: doc/classes/ProjectSettings.xml:901
msgid ""
"The default gravity direction in 2D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39344,38 +39320,38 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:907
+#: doc/classes/ProjectSettings.xml:909
msgid "The default linear damp in 2D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:910
+#: doc/classes/ProjectSettings.xml:912
msgid ""
"Threshold defining the surface size that constitutes a large object with "
"regard to cells in the broad-phase 2D hash grid algorithm."
msgstr ""
-#: doc/classes/ProjectSettings.xml:913
+#: doc/classes/ProjectSettings.xml:915
msgid ""
"Sets which physics engine to use for 2D physics.\n"
-"\"DEFAULT\" and \"GodotPhysics\" are the same, as there is currently no "
+"\"DEFAULT\" and \"GodotPhysics2D\" are the same, as there is currently no "
"alternative 2D physics server implemented."
msgstr ""
-#: doc/classes/ProjectSettings.xml:917
+#: doc/classes/ProjectSettings.xml:919
msgid ""
"Threshold angular velocity under which a 2D physics body will be considered "
"inactive. See [constant PhysicsServer2D."
"SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:920
+#: doc/classes/ProjectSettings.xml:922
msgid ""
"Threshold linear velocity under which a 2D physics body will be considered "
"inactive. See [constant PhysicsServer2D."
"SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:923
+#: doc/classes/ProjectSettings.xml:925
msgid ""
"Sets whether physics is run on the main thread or a separate one. Running "
"the server on a thread increases performance, but restricts API access to "
@@ -39385,23 +39361,23 @@ msgid ""
"give you extra performance and no regressions when using it."
msgstr ""
-#: doc/classes/ProjectSettings.xml:927
+#: doc/classes/ProjectSettings.xml:929
msgid ""
"Time (in seconds) of inactivity before which a 2D physics body will put to "
"sleep. See [constant PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:930
+#: doc/classes/ProjectSettings.xml:932
msgid ""
"Sets whether the 3D physics world will be created with support for "
"[SoftBody3D] physics. Only applies to the Bullet physics engine."
msgstr ""
-#: doc/classes/ProjectSettings.xml:933
+#: doc/classes/ProjectSettings.xml:935
msgid "The default angular damp in 3D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:936
+#: doc/classes/ProjectSettings.xml:938
msgid ""
"The default gravity strength in 3D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39413,7 +39389,7 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:944
+#: doc/classes/ProjectSettings.xml:946
msgid ""
"The default gravity direction in 3D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39425,23 +39401,23 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:952
+#: doc/classes/ProjectSettings.xml:954
msgid "The default linear damp in 3D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:955
+#: doc/classes/ProjectSettings.xml:957
msgid ""
"Sets which physics engine to use for 3D physics.\n"
"\"DEFAULT\" is currently the [url=https://bulletphysics.org]Bullet[/url] "
-"physics engine. The \"GodotPhysics\" engine is still supported as an "
+"physics engine. The \"GodotPhysics3D\" engine is still supported as an "
"alternative."
msgstr ""
-#: doc/classes/ProjectSettings.xml:959
+#: doc/classes/ProjectSettings.xml:961
msgid "Enables [member Viewport.physics_object_picking] on the root viewport."
msgstr ""
-#: doc/classes/ProjectSettings.xml:962
+#: doc/classes/ProjectSettings.xml:964
msgid ""
"The number of fixed iterations per second. This controls how often physics "
"simulation and [method Node._physics_process] methods are run.\n"
@@ -39450,7 +39426,7 @@ msgid ""
"instead."
msgstr ""
-#: doc/classes/ProjectSettings.xml:966
+#: doc/classes/ProjectSettings.xml:968
msgid ""
"Fix to improve physics jitter, specially on monitors where refresh rate is "
"different than the physics FPS.\n"
@@ -39458,7 +39434,7 @@ msgid ""
"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
-#: doc/classes/ProjectSettings.xml:970
+#: doc/classes/ProjectSettings.xml:972
msgid ""
"Default background clear color. Overridable per [Viewport] using its "
"[Environment]. See [member Environment.background_mode] and [member "
@@ -39466,7 +39442,7 @@ msgid ""
"programmatically, use [method RenderingServer.set_default_clear_color]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:973
+#: doc/classes/ProjectSettings.xml:975
msgid ""
"[Environment] that will be used as a fallback environment in case a scene "
"does not specify its own environment. The default environment is loaded in "
@@ -39476,14 +39452,14 @@ msgid ""
"here."
msgstr ""
-#: doc/classes/ProjectSettings.xml:976
+#: doc/classes/ProjectSettings.xml:980
msgid ""
"Max amount of elements renderable in a frame. If more than this are visible "
"per frame, they will be dropped. Keep in mind elements refer to mesh "
"surfaces and not meshes themselves."
msgstr ""
-#: doc/classes/ProjectSettings.xml:979
+#: doc/classes/ProjectSettings.xml:985
msgid ""
"Some NVIDIA GPU drivers have a bug which produces flickering issues for the "
"[code]draw_rect[/code] method, especially as used in [TileMap]. Refer to "
@@ -39495,39 +39471,73 @@ msgid ""
"using the Vulkan backend."
msgstr ""
-#: doc/classes/ProjectSettings.xml:983
+#: doc/classes/ProjectSettings.xml:989
msgid ""
"If [code]true[/code], forces snapping of polygons to pixels in 2D rendering. "
"May help in some pixel art styles."
msgstr ""
-#: doc/classes/ProjectSettings.xml:986
+#: doc/classes/ProjectSettings.xml:992
+msgid ""
+"Sets the quality of the depth of field effect. Higher quality takes more "
+"samples, which is slower but looks smoother."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:995
+msgid ""
+"Sets the depth of field shape. Can be Box, Hexagon, or Circle. Box is the "
+"fastest. Circle is the most realistic, but also the most expensive to "
+"compute."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:998
+msgid ""
+"If [code]true[/code], jitters DOF samples to make effect slightly blurrier "
+"and hide lines created from low sample rates. This can result in a slightly "
+"grainy appearance when used with a low number of samples."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1001
msgid ""
"Disables depth pre-pass for some GPU vendors (usually mobile), as their "
"architecture already does this."
msgstr ""
-#: doc/classes/ProjectSettings.xml:989
+#: doc/classes/ProjectSettings.xml:1004
msgid ""
"If [code]true[/code], performs a previous depth pass before rendering "
"materials. This increases performance in scenes with high overdraw, when "
"complex materials and lighting are used."
msgstr ""
-#: doc/classes/ProjectSettings.xml:992
+#: doc/classes/ProjectSettings.xml:1007
msgid ""
"The directional shadow's size in pixels. Higher values will result in "
"sharper shadows, at the cost of performance. The value will be rounded up to "
"the nearest power of 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:995
+#: doc/classes/ProjectSettings.xml:1010
msgid ""
"Lower-end override for [member rendering/quality/directional_shadow/size] on "
"mobile devices, due to performance concerns or driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:998
+#: doc/classes/ProjectSettings.xml:1013
+msgid ""
+"Quality setting for shadows cast by [DirectionalLight3D]s. Higher quality "
+"settings use more samples when reading from shadow maps and are thus slower. "
+"Low quality settings may result in shadows looking grainy."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1016
+msgid ""
+"Lower-end override for [member rendering/quality/directional_shadow/"
+"soft_shadow_quality] on mobile devices, due to performance concerns or "
+"driver support."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1019
msgid ""
"The video driver to use (\"GLES2\" or \"Vulkan\").\n"
"[b]Note:[/b] The backend in use can be overridden at runtime via the [code]--"
@@ -39537,25 +39547,33 @@ msgid ""
"get_current_video_driver[/code] to query it at run-time."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1012
+#: doc/classes/ProjectSettings.xml:1025
msgid ""
-"Sets the number of MSAA samples to use. MSAA is used to reduce aliasing "
-"around the edges of polygons. A higher MSAA value results in smoother edges "
-"but can be significantly slower on some hardware.\n"
-"[b]Note:[/b] MSAA is not available on HTML5 export using the GLES2 backend."
+"If [code]true[/code], take additional samples when rendering objects "
+"affected by a [GIProbe] to reduce artifacts from only sampling in one "
+"direction."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1020
+#: doc/classes/ProjectSettings.xml:1028
msgid ""
-"If [code]true[/code], uses nearest-neighbor mipmap filtering when using "
-"mipmaps (also called \"bilinear filtering\"), which will result in visible "
-"seams appearing between mipmap stages. This may increase performance in "
-"mobile as less memory bandwidth is used. If [code]false[/code], linear "
-"mipmap filtering (also called \"trilinear filtering\") is used."
+"Sets the number of cone samples taken when rendering objects affected by "
+"[GIProbe]s."
msgstr ""
#: doc/classes/ProjectSettings.xml:1031
msgid ""
+"Sets how the glow effect is upscaled before being copied onto the screen. "
+"Linear is faster, but looks blocky. Bicubic is slower but looks smooth."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1034
+msgid ""
+"Lower-end override for [member rendering/quality/glow/upscale_mode] on "
+"mobile devices, due to performance concerns or driver support."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1037
+msgid ""
"Strategy used for framebuffer allocation. The simpler it is, the less "
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
@@ -39564,41 +39582,41 @@ msgid ""
"be available in the [Environment]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1034
+#: doc/classes/ProjectSettings.xml:1040
msgid ""
"Lower-end override for [member rendering/quality/intended_usage/"
"framebuffer_allocation] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1037
+#: doc/classes/ProjectSettings.xml:1043
msgid ""
"Number of cubemaps to store in the reflection atlas. The number of "
"[ReflectionProbe]s in a scene will be limited by this amount. A higher "
"number requires more VRAM."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1040
+#: doc/classes/ProjectSettings.xml:1046
msgid ""
"Size of cubemap faces for [ReflectionProbe]s. A higher number requires more "
"VRAM and may make reflection probe updating slower."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1043
+#: doc/classes/ProjectSettings.xml:1049
msgid ""
"Lower-end override for [member rendering/quality/reflection_atlas/"
"reflection_size] on mobile devices, due to performance concerns or driver "
"support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1046
+#: doc/classes/ProjectSettings.xml:1052
msgid ""
"Use a higher quality variant of the fast filtering algorithm. Significantly "
"slower than using default quality, but results in smoother reflections. "
"Should only be used when the scene is especially detailed."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1049
+#: doc/classes/ProjectSettings.xml:1055
msgid ""
"Sets the number of samples to take when using importance sampling for [Sky]s "
"and [ReflectionProbe]s. A higher value will result in smoother, higher "
@@ -39608,19 +39626,19 @@ msgid ""
"environments with a high level of detail."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1052
+#: doc/classes/ProjectSettings.xml:1058
msgid ""
"Lower-end override for [member rendering/quality/reflections/ggx_samples] on "
"mobile devices, due to performance concerns or driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1055
+#: doc/classes/ProjectSettings.xml:1061
msgid ""
"Limits the number of layers to use in radiance maps when using importance "
"sampling. A lower number will be slightly faster and take up less VRAM."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1058
+#: doc/classes/ProjectSettings.xml:1064
msgid ""
"If [code]true[/code], uses texture arrays instead of mipmaps for reflection "
"probes and panorama backgrounds (sky). This reduces jitter noise and "
@@ -39629,128 +39647,229 @@ msgid ""
"memory."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1061
+#: doc/classes/ProjectSettings.xml:1067
msgid ""
"Lower-end override for [member rendering/quality/reflections/"
"texture_array_reflections] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1066
+#: doc/classes/ProjectSettings.xml:1070
+msgid ""
+"Sets the number of MSAA samples to use. MSAA is used to reduce aliasing "
+"around the edges of polygons. A higher MSAA value results in smoother edges "
+"but can be significantly slower on some hardware.\n"
+"[b]Note:[/b] MSAA is not available on HTML5 export using the GLES2 backend."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1074
+msgid ""
+"Sets the screen-space antialiasing mode for the default screen [Viewport]. "
+"Screen-space antialiasing works by selectively blurring edges in a post-"
+"process shader. It differs from MSAA which takes multiple coverage samples "
+"while rendering objects. Screen-space AA methods are typically faster than "
+"MSAA and will smooth out specular aliasing, but tend to make scenes appear "
+"blurry.\n"
+"Another way to combat specular aliasing is to enable [member rendering/"
+"quality/screen_filters/screen_space_roughness_limiter]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1078
+msgid ""
+"Enables the screen-space roughness limiter which increases material "
+"roughness in areas with a high normal frequency (i.e. when normals change a "
+"lot from pixel to pixel). This helps to reduce the amount of specular "
+"aliasing in a scene. Specular aliasing looks like random bright pixels that "
+"occur in reflections."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1081
+msgid ""
+"Curves the amount of the roughness limited effect. A higher value limits the "
+"effect to very sharply curved surfaces, while a lower threshold extends the "
+"effect to smoother surfaces."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1084
+msgid ""
+"Sets the quality for rough screen-space reflections. Turning off will make "
+"all screen space reflections sharp, while higher values make rough "
+"reflections look better."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1087
msgid ""
"If [code]true[/code], uses faster but lower-quality Blinn model to generate "
"blurred reflections instead of the GGX model."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1069
+#: doc/classes/ProjectSettings.xml:1090
msgid ""
"Lower-end override for [member rendering/quality/shading/"
"force_blinn_over_ggx] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1072
+#: doc/classes/ProjectSettings.xml:1093
msgid ""
"If [code]true[/code], uses faster but lower-quality Lambert material "
"lighting model instead of Burley."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1075
+#: doc/classes/ProjectSettings.xml:1096
msgid ""
"Lower-end override for [member rendering/quality/shading/"
"force_lambert_over_burley] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1078
+#: doc/classes/ProjectSettings.xml:1099
msgid ""
"If [code]true[/code], forces vertex shading for all rendering. This can "
"increase performance a lot, but also reduces quality immensely. Can be used "
"to optimize performance on low-end mobile devices."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1081
+#: doc/classes/ProjectSettings.xml:1102
msgid ""
"Lower-end override for [member rendering/quality/shading/"
"force_vertex_shading] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1084 doc/classes/ProjectSettings.xml:1087
-#: doc/classes/ProjectSettings.xml:1090 doc/classes/ProjectSettings.xml:1093
+#: doc/classes/ProjectSettings.xml:1105 doc/classes/ProjectSettings.xml:1108
+#: doc/classes/ProjectSettings.xml:1111 doc/classes/ProjectSettings.xml:1114
msgid ""
"Subdivision quadrant size for shadow mapping. See shadow mapping "
"documentation."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1096
+#: doc/classes/ProjectSettings.xml:1117
msgid ""
"Size for shadow atlas (used for OmniLights and SpotLights). See "
"documentation."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1099
+#: doc/classes/ProjectSettings.xml:1120
msgid ""
"Lower-end override for [member rendering/quality/shadow_atlas/size] on "
"mobile devices, due to performance concerns or driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1102
+#: doc/classes/ProjectSettings.xml:1123
msgid ""
-"Shadow filter mode. Higher-quality settings result in smoother shadows that "
-"flicker less when moving. \"Disabled\" is the fastest option, but also has "
-"the lowest quality. \"PCF5\" is smoother but is also slower. \"PCF13\" is "
-"the smoothest option, but is also the slowest."
+"Quality setting for shadows cast by [OmniLight3D]s and [SpotLight3D]s. "
+"Higher quality settings use more samples when reading from shadow maps and "
+"are thus slower. Low quality settings may result in shadows looking grainy."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1105
+#: doc/classes/ProjectSettings.xml:1126
msgid ""
-"Lower-end override for [member rendering/quality/shadows/filter_mode] on "
-"mobile devices, due to performance concerns or driver support."
+"Lower-end override for [member rendering/quality/shadows/"
+"soft_shadow_quality] on mobile devices, due to performance concerns or "
+"driver support."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1129
+msgid ""
+"If [code]true[/code], screen-space ambient occlusion will be rendered at "
+"half size and then upscaled before being added to the scene. This is "
+"significantly faster but may miss small details."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1118
+#: doc/classes/ProjectSettings.xml:1132
+msgid ""
+"Sets the quality of the screen-space ambient occlusion effect. Higher values "
+"take more samples and so will result in better quality, at the cost of "
+"performance."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1135
+msgid ""
+"Scales the depth over which the subsurface scattering effect is applied. A "
+"high value may allow light to scatter into a part of the mesh or another "
+"mesh that is close in screen space but far in depth."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1138
+msgid ""
+"Sets the quality of the subsurface scattering effect. Higher values are "
+"slower but look nicer."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1141
+msgid ""
+"Scales the distance over which samples are taken for subsurface scattering "
+"effect. Changing this does not impact performance, but higher values will "
+"result in significant artifacts as the samples will become obviously spread "
+"out. A lower value results in a smaller spread of scattered light."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1144
+msgid ""
+"Sets the maximum number of samples to take when using anisotropic filtering "
+"on textures. A higher sample count will result in sharper textures at "
+"oblique angles, but is more expensive to compute.\n"
+"Only power of two values are valid ([code]1[/code], [code]2[/code], [code]4[/"
+"code], [code]8[/code], [code]16[/code]). A value of [code]1[/code] forcibly "
+"disables anisotropic filtering, even on materials where it is enabled."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1148
+msgid ""
+"If [code]true[/code], uses nearest-neighbor mipmap filtering when using "
+"mipmaps (also called \"bilinear filtering\"), which will result in visible "
+"seams appearing between mipmap stages. This may increase performance in "
+"mobile as less memory bandwidth is used. If [code]false[/code], linear "
+"mipmap filtering (also called \"trilinear filtering\") is used."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1151
msgid ""
"Thread model for rendering. Rendering on a thread can vastly improve "
"performance, but synchronizing to the main thread can cause a bit more "
"jitter."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1121
+#: doc/classes/ProjectSettings.xml:1154
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the BPTC algorithm. This texture compression algorithm is "
"only supported on desktop platforms, and only when using the Vulkan renderer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1124
+#: doc/classes/ProjectSettings.xml:1157
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the Ericsson Texture Compression algorithm. This algorithm "
"doesn't support alpha channels in textures."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1127
+#: doc/classes/ProjectSettings.xml:1160
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the Ericsson Texture Compression 2 algorithm. This texture "
"compression algorithm is only supported when using the Vulkan renderer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1130
+#: doc/classes/ProjectSettings.xml:1163
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the PowerVR Texture Compression algorithm. This texture "
"compression algorithm is only supported on iOS."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1133
+#: doc/classes/ProjectSettings.xml:1166
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the S3 Texture Compression algorithm. This algorithm is only "
"supported on desktop platforms and consoles."
msgstr ""
+#: doc/classes/ProjectSettings.xml:1177
+msgid "Cell size used for the 2D hash grid that [VisibilityNotifier2D] uses."
+msgstr ""
+
#: doc/classes/ProximityGroup3D.xml:4 doc/classes/ProximityGroup3D.xml:7
msgid "General-purpose proximity detection node."
msgstr ""
@@ -40851,11 +40970,11 @@ msgstr ""
#: doc/classes/RenderingServer.xml:7
msgid ""
-"Server for anything visible. The visual server is the API backend for "
+"Server for anything visible. The rendering server is the API backend for "
"everything visible. The whole scene system mounts on it to display.\n"
-"The visual server is completely opaque, the internals are entirely "
+"The rendering server is completely opaque, the internals are entirely "
"implementation specific and cannot be accessed.\n"
-"The visual server can be used to bypass the scene system entirely.\n"
+"The rendering server can be used to bypass the scene system entirely.\n"
"Resources are created using the [code]*_create[/code] functions.\n"
"All objects are drawn to a viewport. You can use the [Viewport] attached to "
"the [SceneTree] or you can create one yourself with [method "
@@ -40863,10 +40982,10 @@ msgid ""
"canvas needs to be attached to the viewport using [method "
"viewport_set_scenario] or [method viewport_attach_canvas].\n"
"In 3D, all visual objects must be associated with a scenario. The scenario "
-"is a visual representation of the world. If accessing the visual server from "
-"a running game, the scenario can be accessed from the scene tree from any "
-"[Node3D] node with [method Node3D.get_world]. Otherwise, a scenario can be "
-"created with [method scenario_create].\n"
+"is a visual representation of the world. If accessing the rendering server "
+"from a running game, the scenario can be accessed from the scene tree from "
+"any [Node3D] node with [method Node3D.get_world]. Otherwise, a scenario can "
+"be created with [method scenario_create].\n"
"Similarly in 2D, a canvas is needed to draw all canvas items.\n"
"In 3D, all visible objects are comprised of a resource and an instance. A "
"resource can be a mesh, a particle system, a light, or any other 3D object. "
@@ -41292,42 +41411,42 @@ msgstr ""
msgid "Returns the id of a white texture. Creates one if none exists."
msgstr ""
-#: doc/classes/RenderingServer.xml:954
+#: doc/classes/RenderingServer.xml:1006
msgid ""
"Returns [code]true[/code] if changes have been made to the RenderingServer's "
"data. [method force_draw] is usually called if this happens."
msgstr ""
-#: doc/classes/RenderingServer.xml:963
+#: doc/classes/RenderingServer.xml:1015
msgid "Not yet implemented. Always returns [code]false[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:972
+#: doc/classes/RenderingServer.xml:1024
msgid ""
"Returns [code]true[/code] if the OS supports a certain feature. Features "
"might be [code]s3tc[/code], [code]etc[/code], [code]etc2[/code] and "
"[code]pvrtc[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:985
+#: doc/classes/RenderingServer.xml:1037
msgid ""
"Sets up [ImmediateGeometry3D] internals to prepare for drawing. Equivalent "
"to [method ImmediateGeometry3D.begin]."
msgstr ""
-#: doc/classes/RenderingServer.xml:994
+#: doc/classes/RenderingServer.xml:1046
msgid ""
"Clears everything that was set up between [method immediate_begin] and "
"[method immediate_end]. Equivalent to [method ImmediateGeometry3D.clear]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1005
+#: doc/classes/RenderingServer.xml:1057
msgid ""
"Sets the color to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1012
+#: doc/classes/RenderingServer.xml:1064
msgid ""
"Creates an immediate geometry and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41338,78 +41457,78 @@ msgid ""
"[method instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1023
+#: doc/classes/RenderingServer.xml:1075
msgid ""
"Ends drawing the [ImmediateGeometry3D] and displays it. Equivalent to "
"[method ImmediateGeometry3D.end]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1032
+#: doc/classes/RenderingServer.xml:1084
msgid "Returns the material assigned to the [ImmediateGeometry3D]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1043
+#: doc/classes/RenderingServer.xml:1095
msgid ""
"Sets the normal to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_normal]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1054
+#: doc/classes/RenderingServer.xml:1106
msgid "Sets the material to be used to draw the [ImmediateGeometry3D]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1065
+#: doc/classes/RenderingServer.xml:1117
msgid ""
"Sets the tangent to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_tangent]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1076
+#: doc/classes/RenderingServer.xml:1128
msgid ""
"Sets the UV to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_uv]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1087
+#: doc/classes/RenderingServer.xml:1139
msgid ""
"Sets the UV2 to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_uv2]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1098
+#: doc/classes/RenderingServer.xml:1150
msgid ""
"Adds the next vertex using the information provided in advance. Equivalent "
"to [method ImmediateGeometry3D.add_vertex]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1109
+#: doc/classes/RenderingServer.xml:1161
msgid ""
"Adds the next vertex using the information provided in advance. This is a "
"helper class that calls [method immediate_vertex] under the hood. Equivalent "
"to [method ImmediateGeometry3D.add_vertex]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1116
+#: doc/classes/RenderingServer.xml:1168
msgid ""
-"Initializes the visual server. This function is called internally by "
+"Initializes the rendering server. This function is called internally by "
"platform-dependent code during engine initialization. If called from a "
"running game, it will not do anything."
msgstr ""
-#: doc/classes/RenderingServer.xml:1127
+#: doc/classes/RenderingServer.xml:1179
msgid ""
"Attaches a unique Object ID to instance. Object ID must be attached to "
"instance for proper culling with [method instances_cull_aabb], [method "
"instances_cull_convex], and [method instances_cull_ray]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1138
+#: doc/classes/RenderingServer.xml:1190
msgid ""
"Attaches a skeleton to an instance. Removes the previous skeleton from the "
"instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:1145
+#: doc/classes/RenderingServer.xml:1197
msgid ""
"Creates a visual instance and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41421,7 +41540,7 @@ msgid ""
"instance to be visible in the scenario using [method instance_set_base]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1158
+#: doc/classes/RenderingServer.xml:1210
msgid ""
"Creates a visual instance, adds it to the RenderingServer, and sets both "
"base and scenario. It can be accessed with the RID that is returned. This "
@@ -41430,31 +41549,31 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:1170 doc/classes/RenderingServer.xml:1198
-#: doc/classes/RenderingServer.xml:1488
+#: doc/classes/RenderingServer.xml:1222 doc/classes/RenderingServer.xml:1250
+#: doc/classes/RenderingServer.xml:1540
msgid "Not implemented in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:1181
+#: doc/classes/RenderingServer.xml:1233
msgid ""
"Sets the shadow casting setting to one of [enum ShadowCastingSetting]. "
"Equivalent to [member GeometryInstance3D.cast_shadow]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1211
+#: doc/classes/RenderingServer.xml:1263
msgid ""
"Sets the flag for a given [enum InstanceFlags]. See [enum InstanceFlags] for "
"more details."
msgstr ""
-#: doc/classes/RenderingServer.xml:1222
+#: doc/classes/RenderingServer.xml:1274
msgid ""
"Sets a material that will override the material for all surfaces on the mesh "
"associated with this instance. Equivalent to [member GeometryInstance3D."
"material_override]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1233
+#: doc/classes/RenderingServer.xml:1285
msgid ""
"Sets the base of the instance. A base can be any of the 3D objects that are "
"created in the RenderingServer that can be displayed. For example, any of "
@@ -41463,62 +41582,62 @@ msgid ""
"be set as the base of an instance in order to be displayed in the scenario."
msgstr ""
-#: doc/classes/RenderingServer.xml:1246
+#: doc/classes/RenderingServer.xml:1298
msgid "Sets the weight for a given blend shape associated with this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:1257
+#: doc/classes/RenderingServer.xml:1309
msgid ""
"Sets a custom AABB to use when culling objects from the view frustum. "
"Equivalent to [method GeometryInstance3D.set_custom_aabb]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1268
+#: doc/classes/RenderingServer.xml:1320
msgid "Function not implemented in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:1279
+#: doc/classes/RenderingServer.xml:1331
msgid ""
"Sets a margin to increase the size of the AABB when culling objects from the "
"view frustum. This allows you avoid culling objects that fall outside the "
"view frustum. Equivalent to [member GeometryInstance3D.extra_cull_margin]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1290
+#: doc/classes/RenderingServer.xml:1342
msgid ""
"Sets the render layers that this instance will be drawn to. Equivalent to "
"[member VisualInstance3D.layers]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1301
+#: doc/classes/RenderingServer.xml:1353
msgid ""
"Sets the scenario that the instance is in. The scenario is the 3D world that "
"the objects will be displayed in."
msgstr ""
-#: doc/classes/RenderingServer.xml:1314
+#: doc/classes/RenderingServer.xml:1366
msgid ""
"Sets the material of a specific surface. Equivalent to [method "
"MeshInstance3D.set_surface_material]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1325
+#: doc/classes/RenderingServer.xml:1377
msgid ""
"Sets the world space transform of the instance. Equivalent to [member Node3D."
"transform]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1338
+#: doc/classes/RenderingServer.xml:1390
msgid "Sets the lightmap to use with this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:1349
+#: doc/classes/RenderingServer.xml:1401
msgid ""
"Sets whether an instance is drawn or not. Equivalent to [member Node3D."
"visible]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1360
+#: doc/classes/RenderingServer.xml:1412
msgid ""
"Returns an array of object IDs intersecting with the provided AABB. Only "
"visual 3D nodes are considered, such as [MeshInstance3D] or "
@@ -41530,7 +41649,7 @@ msgid ""
"game use cases, prefer physics collision."
msgstr ""
-#: doc/classes/RenderingServer.xml:1372
+#: doc/classes/RenderingServer.xml:1424
msgid ""
"Returns an array of object IDs intersecting with the provided convex shape. "
"Only visual 3D nodes are considered, such as [MeshInstance3D] or "
@@ -41542,7 +41661,7 @@ msgid ""
"game use cases, prefer physics collision."
msgstr ""
-#: doc/classes/RenderingServer.xml:1386
+#: doc/classes/RenderingServer.xml:1438
msgid ""
"Returns an array of object IDs intersecting with the provided 3D ray. Only "
"visual 3D nodes are considered, such as [MeshInstance3D] or "
@@ -41554,58 +41673,58 @@ msgid ""
"game use cases, prefer physics collision."
msgstr ""
-#: doc/classes/RenderingServer.xml:1398
+#: doc/classes/RenderingServer.xml:1450
msgid ""
"If [code]true[/code], this directional light will blend between shadow map "
"splits resulting in a smoother transition between them. Equivalent to "
"[member DirectionalLight3D.directional_shadow_blend_splits]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1409
+#: doc/classes/RenderingServer.xml:1461
msgid ""
"Sets the shadow depth range mode for this directional light. Equivalent to "
"[member DirectionalLight3D.directional_shadow_depth_range]. See [enum "
"LightDirectionalShadowDepthRangeMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:1420
+#: doc/classes/RenderingServer.xml:1472
msgid ""
"Sets the shadow mode for this directional light. Equivalent to [member "
"DirectionalLight3D.directional_shadow_mode]. See [enum "
"LightDirectionalShadowMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:1431
+#: doc/classes/RenderingServer.xml:1483
msgid ""
"Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual "
"paraboloid is faster but may suffer from artifacts. Equivalent to [member "
"OmniLight3D.omni_shadow_mode]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1442
+#: doc/classes/RenderingServer.xml:1494
msgid ""
"Sets the color of the light. Equivalent to [member Light3D.light_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1453
+#: doc/classes/RenderingServer.xml:1505
msgid ""
"Sets the cull mask for this Light3D. Lights only affect objects in the "
"selected layers. Equivalent to [member Light3D.light_cull_mask]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1464
+#: doc/classes/RenderingServer.xml:1516
msgid ""
"If [code]true[/code], light will subtract light instead of adding light. "
"Equivalent to [member Light3D.light_negative]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1477
+#: doc/classes/RenderingServer.xml:1529
msgid ""
"Sets the specified light parameter. See [enum LightParam] for options. "
"Equivalent to [method Light3D.set_param]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1499
+#: doc/classes/RenderingServer.xml:1551
msgid ""
"If [code]true[/code], reverses the backface culling of the mesh. This can be "
"useful when you have a flat mesh that has a light behind it. If you need to "
@@ -41614,23 +41733,23 @@ msgid ""
"to [member Light3D.shadow_reverse_cull_face]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1510
+#: doc/classes/RenderingServer.xml:1562
msgid ""
"If [code]true[/code], light will cast shadows. Equivalent to [member Light3D."
"shadow_enabled]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1521
+#: doc/classes/RenderingServer.xml:1573
msgid ""
"Sets the color of the shadow cast by the light. Equivalent to [member "
"Light3D.shadow_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1532
+#: doc/classes/RenderingServer.xml:1584
msgid "Sets whether GI probes capture light information from this light."
msgstr ""
-#: doc/classes/RenderingServer.xml:1539
+#: doc/classes/RenderingServer.xml:1591
msgid ""
"Creates a lightmap capture and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41641,54 +41760,54 @@ msgid ""
"[method instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1550
+#: doc/classes/RenderingServer.xml:1602
msgid "Returns the size of the lightmap capture area."
msgstr ""
-#: doc/classes/RenderingServer.xml:1559
+#: doc/classes/RenderingServer.xml:1611
msgid "Returns the energy multiplier used by the lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1568
+#: doc/classes/RenderingServer.xml:1620
msgid "Returns the octree used by the lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1577
+#: doc/classes/RenderingServer.xml:1629
msgid ""
"Returns the cell subdivision amount used by this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1586
+#: doc/classes/RenderingServer.xml:1638
msgid "Returns the cell transform for this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1597
+#: doc/classes/RenderingServer.xml:1649
msgid "Sets the size of the area covered by the lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1608
+#: doc/classes/RenderingServer.xml:1660
msgid "Sets the energy multiplier for this lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1619
+#: doc/classes/RenderingServer.xml:1671
msgid "Sets the octree to be used by this lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1630
+#: doc/classes/RenderingServer.xml:1682
msgid "Sets the subdivision level of this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1641
+#: doc/classes/RenderingServer.xml:1693
msgid "Sets the octree cell transform for this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1654
+#: doc/classes/RenderingServer.xml:1706
msgid ""
"Returns a mesh of a sphere with the given amount of horizontal and vertical "
"subdivisions."
msgstr ""
-#: doc/classes/RenderingServer.xml:1661
+#: doc/classes/RenderingServer.xml:1713
msgid ""
"Creates an empty material and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41697,31 +41816,31 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:1673
+#: doc/classes/RenderingServer.xml:1725
msgid "Returns the value of a certain material's parameter."
msgstr ""
-#: doc/classes/RenderingServer.xml:1684
+#: doc/classes/RenderingServer.xml:1736
msgid "Sets an object's next material."
msgstr ""
-#: doc/classes/RenderingServer.xml:1697
+#: doc/classes/RenderingServer.xml:1749
msgid "Sets a material's parameter."
msgstr ""
-#: doc/classes/RenderingServer.xml:1708
+#: doc/classes/RenderingServer.xml:1760
msgid "Sets a material's render priority."
msgstr ""
-#: doc/classes/RenderingServer.xml:1719
+#: doc/classes/RenderingServer.xml:1771
msgid "Sets a shader material's shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:1748
+#: doc/classes/RenderingServer.xml:1800
msgid "Removes all surfaces from a mesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1755
+#: doc/classes/RenderingServer.xml:1807
msgid ""
"Creates a new mesh and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all [code]mesh_*[/"
@@ -41732,58 +41851,58 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1766
+#: doc/classes/RenderingServer.xml:1818
msgid "Returns a mesh's blend shape count."
msgstr ""
-#: doc/classes/RenderingServer.xml:1775
+#: doc/classes/RenderingServer.xml:1827
msgid "Returns a mesh's blend shape mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:1784
+#: doc/classes/RenderingServer.xml:1836
msgid "Returns a mesh's custom aabb."
msgstr ""
-#: doc/classes/RenderingServer.xml:1793
+#: doc/classes/RenderingServer.xml:1845
msgid "Returns a mesh's number of surfaces."
msgstr ""
-#: doc/classes/RenderingServer.xml:1804
+#: doc/classes/RenderingServer.xml:1856
msgid "Sets a mesh's blend shape mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:1815
+#: doc/classes/RenderingServer.xml:1867
msgid "Sets a mesh's custom aabb."
msgstr ""
-#: doc/classes/RenderingServer.xml:1826
+#: doc/classes/RenderingServer.xml:1878
msgid "Returns a mesh's surface's buffer arrays."
msgstr ""
-#: doc/classes/RenderingServer.xml:1837
+#: doc/classes/RenderingServer.xml:1889
msgid "Returns a mesh's surface's arrays for blend shapes."
msgstr ""
-#: doc/classes/RenderingServer.xml:1852 doc/classes/RenderingServer.xml:1865
+#: doc/classes/RenderingServer.xml:1904 doc/classes/RenderingServer.xml:1917
msgid "Function is unused in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:1876
+#: doc/classes/RenderingServer.xml:1928
msgid "Returns a mesh's surface's material."
msgstr ""
-#: doc/classes/RenderingServer.xml:1889
+#: doc/classes/RenderingServer.xml:1941
msgid "Sets a mesh's surface's material."
msgstr ""
-#: doc/classes/RenderingServer.xml:1904
+#: doc/classes/RenderingServer.xml:1956
msgid ""
"Updates a specific region of a vertex buffer for the specified surface. "
"Warning: this function alters the vertex buffer directly with no safety "
"mechanisms, you can easily corrupt your mesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1927
+#: doc/classes/RenderingServer.xml:1979
msgid ""
"Creates a new multimesh on the RenderingServer and returns an [RID] handle. "
"This RID will be used in all [code]multimesh_*[/code] RenderingServer "
@@ -41794,82 +41913,82 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1938
+#: doc/classes/RenderingServer.xml:1990
msgid ""
"Calculates and returns the axis-aligned bounding box that encloses all "
"instances within the multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1955
+#: doc/classes/RenderingServer.xml:2007
msgid "Returns the number of instances allocated for this multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1964
+#: doc/classes/RenderingServer.xml:2016
msgid ""
"Returns the RID of the mesh that will be used in drawing this multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1973
+#: doc/classes/RenderingServer.xml:2025
msgid "Returns the number of visible instances for this multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1984
+#: doc/classes/RenderingServer.xml:2036
msgid "Returns the color by which the specified instance will be modulated."
msgstr ""
-#: doc/classes/RenderingServer.xml:1995
+#: doc/classes/RenderingServer.xml:2047
msgid "Returns the custom data associated with the specified instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:2006
+#: doc/classes/RenderingServer.xml:2058
msgid "Returns the [Transform] of the specified instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:2017
+#: doc/classes/RenderingServer.xml:2069
msgid ""
"Returns the [Transform2D] of the specified instance. For use when the "
"multimesh is set to use 2D transforms."
msgstr ""
-#: doc/classes/RenderingServer.xml:2030
+#: doc/classes/RenderingServer.xml:2082
msgid ""
"Sets the color by which this instance will be modulated. Equivalent to "
"[method MultiMesh.set_instance_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2043
+#: doc/classes/RenderingServer.xml:2095
msgid ""
"Sets the custom data for this instance. Custom data is passed as a [Color], "
"but is interpreted as a [code]vec4[/code] in the shader. Equivalent to "
"[method MultiMesh.set_instance_custom_data]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2056
+#: doc/classes/RenderingServer.xml:2108
msgid ""
"Sets the [Transform] for this instance. Equivalent to [method MultiMesh."
"set_instance_transform]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2069
+#: doc/classes/RenderingServer.xml:2121
msgid ""
"Sets the [Transform2D] for this instance. For use when multimesh is used in "
"2D. Equivalent to [method MultiMesh.set_instance_transform_2d]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2090
+#: doc/classes/RenderingServer.xml:2142
msgid ""
"Sets the mesh to be drawn by the multimesh. Equivalent to [member MultiMesh."
"mesh]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2101
+#: doc/classes/RenderingServer.xml:2153
msgid ""
"Sets the number of instances visible at a given time. If -1, all instances "
"that have been allocated are drawn. Equivalent to [member MultiMesh."
"visible_instance_count]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2108
+#: doc/classes/RenderingServer.xml:2160
msgid ""
"Creates a new omni light and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID can be used in most "
@@ -41880,7 +41999,7 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2117
+#: doc/classes/RenderingServer.xml:2169
msgid ""
"Creates a particle system and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41891,23 +42010,23 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2128
+#: doc/classes/RenderingServer.xml:2180
msgid ""
"Calculates and returns the axis-aligned bounding box that contains all the "
"particles. Equivalent to [method GPUParticles3D.capture_aabb]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2137
+#: doc/classes/RenderingServer.xml:2189
msgid "Returns [code]true[/code] if particles are currently set to emitting."
msgstr ""
-#: doc/classes/RenderingServer.xml:2146
+#: doc/classes/RenderingServer.xml:2198
msgid ""
"Returns [code]true[/code] if particles are not emitting and particles are "
"set to inactive."
msgstr ""
-#: doc/classes/RenderingServer.xml:2155
+#: doc/classes/RenderingServer.xml:2207
msgid ""
"Add particle system to list of particle systems that need to be updated. "
"Update will take place on the next frame, or on the next call to [method "
@@ -41915,121 +42034,121 @@ msgid ""
"instances_cull_ray]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2164
+#: doc/classes/RenderingServer.xml:2216
msgid ""
"Reset the particles on the next update. Equivalent to [method GPUParticles3D."
"restart]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2175
+#: doc/classes/RenderingServer.xml:2227
msgid ""
"Sets the number of particles to be drawn and allocates the memory for them. "
"Equivalent to [member GPUParticles3D.amount]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2186
+#: doc/classes/RenderingServer.xml:2238
msgid ""
"Sets a custom axis-aligned bounding box for the particle system. Equivalent "
"to [member GPUParticles3D.visibility_aabb]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2197
+#: doc/classes/RenderingServer.xml:2249
msgid ""
"Sets the draw order of the particles to one of the named enums from [enum "
"ParticlesDrawOrder]. See [enum ParticlesDrawOrder] for options. Equivalent "
"to [member GPUParticles3D.draw_order]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2210
+#: doc/classes/RenderingServer.xml:2262
msgid ""
"Sets the mesh to be used for the specified draw pass. Equivalent to [member "
"GPUParticles3D.draw_pass_1], [member GPUParticles3D.draw_pass_2], [member "
"GPUParticles3D.draw_pass_3], and [member GPUParticles3D.draw_pass_4]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2221
+#: doc/classes/RenderingServer.xml:2273
msgid ""
"Sets the number of draw passes to use. Equivalent to [member GPUParticles3D."
"draw_passes]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2232
+#: doc/classes/RenderingServer.xml:2284
msgid ""
"Sets the [Transform] that will be used by the particles when they first emit."
msgstr ""
-#: doc/classes/RenderingServer.xml:2243
+#: doc/classes/RenderingServer.xml:2295
msgid ""
"If [code]true[/code], particles will emit over time. Setting to false does "
"not reset the particles, but only stops their emission. Equivalent to "
"[member GPUParticles3D.emitting]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2254
+#: doc/classes/RenderingServer.xml:2306
msgid ""
"Sets the explosiveness ratio. Equivalent to [member GPUParticles3D."
"explosiveness]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2265
+#: doc/classes/RenderingServer.xml:2317
msgid ""
"Sets the frame rate that the particle system rendering will be fixed to. "
"Equivalent to [member GPUParticles3D.fixed_fps]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2276
+#: doc/classes/RenderingServer.xml:2328
msgid ""
"If [code]true[/code], uses fractional delta which smooths the movement of "
"the particles. Equivalent to [member GPUParticles3D.fract_delta]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2287
+#: doc/classes/RenderingServer.xml:2339
msgid ""
"Sets the lifetime of each particle in the system. Equivalent to [member "
"GPUParticles3D.lifetime]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2298
+#: doc/classes/RenderingServer.xml:2350
msgid ""
"If [code]true[/code], particles will emit once and then stop. Equivalent to "
"[member GPUParticles3D.one_shot]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2309
+#: doc/classes/RenderingServer.xml:2361
msgid ""
"Sets the preprocess time for the particles animation. This lets you delay "
"starting an animation until after the particles have begun emitting. "
"Equivalent to [member GPUParticles3D.preprocess]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2320
+#: doc/classes/RenderingServer.xml:2372
msgid ""
"Sets the material for processing the particles. Note: this is not the "
"material used to draw the materials. Equivalent to [member GPUParticles3D."
"process_material]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2331
+#: doc/classes/RenderingServer.xml:2383
msgid ""
"Sets the emission randomness ratio. This randomizes the emission of "
"particles within their phase. Equivalent to [member GPUParticles3D."
"randomness]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2342
+#: doc/classes/RenderingServer.xml:2394
msgid ""
"Sets the speed scale of the particle system. Equivalent to [member "
"GPUParticles3D.speed_scale]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2353
+#: doc/classes/RenderingServer.xml:2405
msgid ""
"If [code]true[/code], particles use local coordinates. If [code]false[/code] "
"they use global coordinates. Equivalent to [member GPUParticles3D."
"local_coords]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2360
+#: doc/classes/RenderingServer.xml:2412
msgid ""
"Creates a reflection probe and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -42040,59 +42159,59 @@ msgid ""
"[method instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2373
+#: doc/classes/RenderingServer.xml:2425
msgid ""
"If [code]true[/code], reflections will ignore sky contribution. Equivalent "
"to [member ReflectionProbe.interior_enable]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2384
+#: doc/classes/RenderingServer.xml:2436
msgid ""
"Sets the render cull mask for this reflection probe. Only instances with a "
"matching cull mask will be rendered by this probe. Equivalent to [member "
"ReflectionProbe.cull_mask]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2395
+#: doc/classes/RenderingServer.xml:2447
msgid ""
"If [code]true[/code], uses box projection. This can make reflections look "
"more correct in certain situations. Equivalent to [member ReflectionProbe."
"box_projection]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2406
+#: doc/classes/RenderingServer.xml:2458
msgid ""
"If [code]true[/code], computes shadows in the reflection probe. This makes "
"the reflection much slower to compute. Equivalent to [member ReflectionProbe."
"enable_shadows]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2417
+#: doc/classes/RenderingServer.xml:2469
msgid ""
"Sets the size of the area that the reflection probe will capture. Equivalent "
"to [member ReflectionProbe.extents]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2428
+#: doc/classes/RenderingServer.xml:2480
msgid ""
"Sets the intensity of the reflection probe. Intensity modulates the strength "
"of the reflection. Equivalent to [member ReflectionProbe.intensity]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2439
+#: doc/classes/RenderingServer.xml:2491
msgid ""
"Sets the ambient light color for this reflection probe when set to interior "
"mode. Equivalent to [member ReflectionProbe.interior_ambient_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2450
+#: doc/classes/RenderingServer.xml:2502
msgid ""
"Sets the energy multiplier for this reflection probes ambient light "
"contribution when set to interior mode. Equivalent to [member "
"ReflectionProbe.interior_ambient_energy]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2461
+#: doc/classes/RenderingServer.xml:2513
msgid ""
"Sets the contribution value for how much the reflection affects the ambient "
"light for this reflection probe when set to interior mode. Useful so that "
@@ -42100,25 +42219,25 @@ msgid ""
"ReflectionProbe.interior_ambient_contrib]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2472
+#: doc/classes/RenderingServer.xml:2524
msgid ""
"Sets the max distance away from the probe an object can be before it is "
"culled. Equivalent to [member ReflectionProbe.max_distance]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2483
+#: doc/classes/RenderingServer.xml:2535
msgid ""
"Sets the origin offset to be used when this reflection probe is in box "
"project mode. Equivalent to [member ReflectionProbe.origin_offset]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2494
+#: doc/classes/RenderingServer.xml:2546
msgid ""
"Sets how often the reflection probe updates. Can either be once or every "
"frame. See [enum ReflectionProbeUpdateMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2507
+#: doc/classes/RenderingServer.xml:2559
msgid ""
"Schedules a callback to the corresponding named [code]method[/code] on "
"[code]where[/code] after a frame has been drawn.\n"
@@ -42126,7 +42245,7 @@ msgid ""
"[code]userdata[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2515
+#: doc/classes/RenderingServer.xml:2567
msgid ""
"Creates a scenario and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all "
@@ -42136,24 +42255,24 @@ msgid ""
"The scenario is the 3D world that all the visual instances exist in."
msgstr ""
-#: doc/classes/RenderingServer.xml:2528
+#: doc/classes/RenderingServer.xml:2580
msgid ""
"Sets the [enum ScenarioDebugMode] for this scenario. See [enum "
"ScenarioDebugMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2539
+#: doc/classes/RenderingServer.xml:2591
msgid "Sets the environment that will be used with this scenario."
msgstr ""
-#: doc/classes/RenderingServer.xml:2550
+#: doc/classes/RenderingServer.xml:2602
msgid ""
"Sets the fallback environment to be used by this scenario. The fallback "
"environment is used if no environment is set. Internally, this is used by "
"the editor to provide a default environment."
msgstr ""
-#: doc/classes/RenderingServer.xml:2565
+#: doc/classes/RenderingServer.xml:2617
msgid ""
"Sets a boot image. The color defines the background color. If [code]scale[/"
"code] is [code]true[/code], the image will be scaled to fit the screen size. "
@@ -42162,19 +42281,19 @@ msgid ""
"the image will be scaled with nearest-neighbor interpolation."
msgstr ""
-#: doc/classes/RenderingServer.xml:2574
+#: doc/classes/RenderingServer.xml:2626
msgid ""
"If [code]true[/code], the engine will generate wireframes for use with the "
"wireframe debug mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:2583
+#: doc/classes/RenderingServer.xml:2635
msgid ""
"Sets the default clear color which is used when a specific clear color has "
"not been selected."
msgstr ""
-#: doc/classes/RenderingServer.xml:2590
+#: doc/classes/RenderingServer.xml:2642
msgid ""
"Creates an empty shader and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -42183,47 +42302,47 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2600
+#: doc/classes/RenderingServer.xml:2652
msgid "Returns a shader's code."
msgstr ""
-#: doc/classes/RenderingServer.xml:2611
+#: doc/classes/RenderingServer.xml:2663
msgid "Returns a default texture from a shader searched by name."
msgstr ""
-#: doc/classes/RenderingServer.xml:2630
+#: doc/classes/RenderingServer.xml:2682
msgid "Returns the parameters of a shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:2641
+#: doc/classes/RenderingServer.xml:2693
msgid "Sets a shader's code."
msgstr ""
-#: doc/classes/RenderingServer.xml:2654
+#: doc/classes/RenderingServer.xml:2706
msgid "Sets a shader's default texture. Overwrites the texture given by name."
msgstr ""
-#: doc/classes/RenderingServer.xml:2667
+#: doc/classes/RenderingServer.xml:2719
msgid "Allocates the GPU buffers for this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2678
+#: doc/classes/RenderingServer.xml:2730
msgid "Returns the [Transform] set for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2689
+#: doc/classes/RenderingServer.xml:2741
msgid "Returns the [Transform2D] set for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2702
+#: doc/classes/RenderingServer.xml:2754
msgid "Sets the [Transform] for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2715
+#: doc/classes/RenderingServer.xml:2767
msgid "Sets the [Transform2D] for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2722
+#: doc/classes/RenderingServer.xml:2774
msgid ""
"Creates a skeleton and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all "
@@ -42232,11 +42351,11 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2732
+#: doc/classes/RenderingServer.xml:2784
msgid "Returns the number of bones allocated for this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2739
+#: doc/classes/RenderingServer.xml:2791
msgid ""
"Creates an empty sky and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all [code]sky_*[/"
@@ -42245,13 +42364,13 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2751
+#: doc/classes/RenderingServer.xml:2803
msgid ""
"Sets the material that the sky uses to render the background and reflection "
"maps."
msgstr ""
-#: doc/classes/RenderingServer.xml:2758
+#: doc/classes/RenderingServer.xml:2810
msgid ""
"Creates a spot light and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID can be used in most [code]light_*[/"
@@ -42262,15 +42381,15 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2787
+#: doc/classes/RenderingServer.xml:2839
msgid "Sets a viewport's camera."
msgstr ""
-#: doc/classes/RenderingServer.xml:2798
+#: doc/classes/RenderingServer.xml:2850
msgid "Sets a viewport's canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:2811
+#: doc/classes/RenderingServer.xml:2863
msgid ""
"Copies the viewport to a region of the screen specified by [code]rect[/"
"code]. If [method viewport_set_render_direct_to_screen] is [code]true[/"
@@ -42292,7 +42411,7 @@ msgid ""
"viewport_set_render_direct_to_screen]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2825
+#: doc/classes/RenderingServer.xml:2877
msgid ""
"Creates an empty viewport and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -42301,72 +42420,72 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2837
+#: doc/classes/RenderingServer.xml:2889
msgid ""
"Returns a viewport's render information. For options, see the [enum "
"ViewportRenderInfo] constants."
msgstr ""
-#: doc/classes/RenderingServer.xml:2846
+#: doc/classes/RenderingServer.xml:2898
msgid "Returns the viewport's last rendered frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:2857
+#: doc/classes/RenderingServer.xml:2909
msgid "Detaches a viewport from a canvas and vice versa."
msgstr ""
-#: doc/classes/RenderingServer.xml:2868
+#: doc/classes/RenderingServer.xml:2920
msgid "If [code]true[/code], sets the viewport active, else sets it inactive."
msgstr ""
-#: doc/classes/RenderingServer.xml:2883
+#: doc/classes/RenderingServer.xml:2935
msgid ""
"Sets the stacking order for a viewport's canvas.\n"
"[code]layer[/code] is the actual canvas layer, while [code]sublayer[/code] "
"specifies the stacking order of the canvas among those in the same layer."
msgstr ""
-#: doc/classes/RenderingServer.xml:2897
+#: doc/classes/RenderingServer.xml:2949
msgid "Sets the transformation of a viewport's canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:2908
+#: doc/classes/RenderingServer.xml:2960
msgid ""
"Sets the clear mode of a viewport. See [enum ViewportClearMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2919
+#: doc/classes/RenderingServer.xml:2971
msgid ""
"Sets the debug draw mode of a viewport. See [enum ViewportDebugDraw] for "
"options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2930
+#: doc/classes/RenderingServer.xml:2982
msgid ""
"If [code]true[/code], rendering of a viewport's environment is disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:2941
+#: doc/classes/RenderingServer.xml:2993
msgid "Sets the viewport's global transformation matrix."
msgstr ""
-#: doc/classes/RenderingServer.xml:2952
+#: doc/classes/RenderingServer.xml:3004
msgid "If [code]true[/code], the viewport's canvas is not rendered."
msgstr ""
-#: doc/classes/RenderingServer.xml:2963
+#: doc/classes/RenderingServer.xml:3015
msgid "Currently unimplemented in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:2974
+#: doc/classes/RenderingServer.xml:3026
msgid "Sets the anti-aliasing mode. See [enum ViewportMSAA] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2985
+#: doc/classes/RenderingServer.xml:3037
msgid "Sets the viewport's parent to another viewport."
msgstr ""
-#: doc/classes/RenderingServer.xml:2996
+#: doc/classes/RenderingServer.xml:3048
msgid ""
"If [code]true[/code], render the contents of the viewport directly to "
"screen. This allows a low-level optimization where you can skip drawing a "
@@ -42382,708 +42501,864 @@ msgid ""
"significantly larger than the window size."
msgstr ""
-#: doc/classes/RenderingServer.xml:3007
+#: doc/classes/RenderingServer.xml:3059
msgid ""
"Sets a viewport's scenario.\n"
"The scenario contains information about the [enum ScenarioDebugMode], "
"environment information, reflection atlas etc."
msgstr ""
-#: doc/classes/RenderingServer.xml:3021
+#: doc/classes/RenderingServer.xml:3073
msgid "Sets the shadow atlas quadrant's subdivision."
msgstr ""
-#: doc/classes/RenderingServer.xml:3032
+#: doc/classes/RenderingServer.xml:3084
msgid ""
"Sets the size of the shadow atlas's images (used for omni and spot lights). "
"The value will be rounded up to the nearest power of 2."
msgstr ""
-#: doc/classes/RenderingServer.xml:3045
+#: doc/classes/RenderingServer.xml:3097
msgid "Sets the viewport's width and height."
msgstr ""
-#: doc/classes/RenderingServer.xml:3056
+#: doc/classes/RenderingServer.xml:3108
msgid ""
"If [code]true[/code], the viewport renders its background as transparent."
msgstr ""
-#: doc/classes/RenderingServer.xml:3067
+#: doc/classes/RenderingServer.xml:3119
msgid ""
"Sets when the viewport should be updated. See [enum ViewportUpdateMode] "
"constants for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:3078
+#: doc/classes/RenderingServer.xml:3130
msgid ""
"If [code]true[/code], the viewport uses augmented or virtual reality "
-"technologies. See [ARVRInterface]."
+"technologies. See [XRInterface]."
msgstr ""
-#: doc/classes/RenderingServer.xml:3085
+#: doc/classes/RenderingServer.xml:3137
msgid ""
"Emitted at the end of the frame, after the RenderingServer has finished "
"updating all the Viewports."
msgstr ""
-#: doc/classes/RenderingServer.xml:3090
+#: doc/classes/RenderingServer.xml:3142
msgid ""
"Emitted at the beginning of the frame, before the RenderingServer updates "
"all the Viewports."
msgstr ""
-#: doc/classes/RenderingServer.xml:3096
+#: doc/classes/RenderingServer.xml:3148
msgid "Marks an error that shows that the index array is empty."
msgstr ""
-#: doc/classes/RenderingServer.xml:3099
+#: doc/classes/RenderingServer.xml:3151
msgid "Number of weights/bones per vertex."
msgstr ""
-#: doc/classes/RenderingServer.xml:3102
+#: doc/classes/RenderingServer.xml:3154
msgid "The minimum Z-layer for canvas items."
msgstr ""
-#: doc/classes/RenderingServer.xml:3105
+#: doc/classes/RenderingServer.xml:3157
msgid "The maximum Z-layer for canvas items."
msgstr ""
-#: doc/classes/RenderingServer.xml:3108
+#: doc/classes/RenderingServer.xml:3160
msgid ""
"Max number of glow levels that can be used with glow post-process effect."
msgstr ""
-#: doc/classes/RenderingServer.xml:3111
+#: doc/classes/RenderingServer.xml:3163
msgid "Unused enum in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:3114
-msgid "The minimum renderpriority of all materials."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3117
-msgid "The maximum renderpriority of all materials."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3138
+#: doc/classes/RenderingServer.xml:3184
msgid "Shader is a 3D shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3141
+#: doc/classes/RenderingServer.xml:3187
msgid "Shader is a 2D shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3144
+#: doc/classes/RenderingServer.xml:3190
msgid "Shader is a particle shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3147
+#: doc/classes/RenderingServer.xml:3193
msgid "Shader is a sky shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3150
+#: doc/classes/RenderingServer.xml:3196
msgid "Represents the size of the [enum ShaderMode] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3153
+#: doc/classes/RenderingServer.xml:3199
+msgid "The minimum renderpriority of all materials."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3202
+msgid "The maximum renderpriority of all materials."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3205
msgid "Array is a vertex array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3156
+#: doc/classes/RenderingServer.xml:3208
msgid "Array is a normal array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3159
+#: doc/classes/RenderingServer.xml:3211
msgid "Array is a tangent array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3162
+#: doc/classes/RenderingServer.xml:3214
msgid "Array is a color array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3165
+#: doc/classes/RenderingServer.xml:3217
msgid "Array is an UV coordinates array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3168
+#: doc/classes/RenderingServer.xml:3220
msgid "Array is an UV coordinates array for the second UV coordinates."
msgstr ""
-#: doc/classes/RenderingServer.xml:3171
+#: doc/classes/RenderingServer.xml:3223
msgid "Array contains bone information."
msgstr ""
-#: doc/classes/RenderingServer.xml:3174
+#: doc/classes/RenderingServer.xml:3226
msgid "Array is weight information."
msgstr ""
-#: doc/classes/RenderingServer.xml:3177
+#: doc/classes/RenderingServer.xml:3229
msgid "Array is index array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3183
+#: doc/classes/RenderingServer.xml:3235
msgid "Flag used to mark a vertex array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3186
+#: doc/classes/RenderingServer.xml:3238
msgid "Flag used to mark a normal array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3189
+#: doc/classes/RenderingServer.xml:3241
msgid "Flag used to mark a tangent array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3192
+#: doc/classes/RenderingServer.xml:3244
msgid "Flag used to mark a color array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3195
+#: doc/classes/RenderingServer.xml:3247
msgid "Flag used to mark an UV coordinates array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3198
+#: doc/classes/RenderingServer.xml:3250
msgid ""
"Flag used to mark an UV coordinates array for the second UV coordinates."
msgstr ""
-#: doc/classes/RenderingServer.xml:3201
+#: doc/classes/RenderingServer.xml:3253
msgid "Flag used to mark a bone information array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3204
+#: doc/classes/RenderingServer.xml:3256
msgid "Flag used to mark a weights array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3207
+#: doc/classes/RenderingServer.xml:3259
msgid "Flag used to mark an index array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3236
+#: doc/classes/RenderingServer.xml:3288
msgid "Primitive to draw consists of points."
msgstr ""
-#: doc/classes/RenderingServer.xml:3239
+#: doc/classes/RenderingServer.xml:3291
msgid "Primitive to draw consists of lines."
msgstr ""
-#: doc/classes/RenderingServer.xml:3242
+#: doc/classes/RenderingServer.xml:3294
msgid "Primitive to draw consists of a line strip from start to end."
msgstr ""
-#: doc/classes/RenderingServer.xml:3245
+#: doc/classes/RenderingServer.xml:3297
msgid "Primitive to draw consists of triangles."
msgstr ""
-#: doc/classes/RenderingServer.xml:3248
+#: doc/classes/RenderingServer.xml:3300
msgid ""
"Primitive to draw consists of a triangle strip (the last 3 vertices are "
"always combined to make a triangle)."
msgstr ""
-#: doc/classes/RenderingServer.xml:3251
+#: doc/classes/RenderingServer.xml:3303
msgid "Represents the size of the [enum PrimitiveType] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3260
+#: doc/classes/RenderingServer.xml:3312
msgid "Use [Transform2D] to store MultiMesh transform."
msgstr ""
-#: doc/classes/RenderingServer.xml:3263
+#: doc/classes/RenderingServer.xml:3315
msgid "Use [Transform] to store MultiMesh transform."
msgstr ""
-#: doc/classes/RenderingServer.xml:3266
+#: doc/classes/RenderingServer.xml:3318
msgid "Is a directional (sun) light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3269
+#: doc/classes/RenderingServer.xml:3321
msgid "Is an omni light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3272
+#: doc/classes/RenderingServer.xml:3324
msgid "Is a spot light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3275
+#: doc/classes/RenderingServer.xml:3327
msgid "The light's energy."
msgstr ""
-#: doc/classes/RenderingServer.xml:3280
+#: doc/classes/RenderingServer.xml:3332
msgid "The light's influence on specularity."
msgstr ""
-#: doc/classes/RenderingServer.xml:3283
+#: doc/classes/RenderingServer.xml:3335
msgid "The light's range."
msgstr ""
-#: doc/classes/RenderingServer.xml:3286
+#: doc/classes/RenderingServer.xml:3338
+msgid ""
+"The size of the light when using spot light or omni light. The angular size "
+"of the light when using directional light."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3341
msgid "The light's attenuation."
msgstr ""
-#: doc/classes/RenderingServer.xml:3289
+#: doc/classes/RenderingServer.xml:3344
msgid "The spotlight's angle."
msgstr ""
-#: doc/classes/RenderingServer.xml:3292
+#: doc/classes/RenderingServer.xml:3347
msgid "The spotlight's attenuation."
msgstr ""
-#: doc/classes/RenderingServer.xml:3295
-msgid "Scales the shadow color."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3298
+#: doc/classes/RenderingServer.xml:3350
msgid "Max distance that shadows will be rendered."
msgstr ""
-#: doc/classes/RenderingServer.xml:3301
+#: doc/classes/RenderingServer.xml:3353
msgid "Proportion of shadow atlas occupied by the first split."
msgstr ""
-#: doc/classes/RenderingServer.xml:3304
+#: doc/classes/RenderingServer.xml:3356
msgid "Proportion of shadow atlas occupied by the second split."
msgstr ""
-#: doc/classes/RenderingServer.xml:3307
+#: doc/classes/RenderingServer.xml:3359
msgid ""
"Proportion of shadow atlas occupied by the third split. The fourth split "
"occupies the rest."
msgstr ""
-#: doc/classes/RenderingServer.xml:3312
+#: doc/classes/RenderingServer.xml:3362
+msgid ""
+"Proportion of shadow max distance where the shadow will start to fade out."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3365
msgid ""
"Normal bias used to offset shadow lookup by object normal. Can be used to "
"fix self-shadowing artifacts."
msgstr ""
-#: doc/classes/RenderingServer.xml:3315
+#: doc/classes/RenderingServer.xml:3368
msgid "Bias the shadow lookup to fix self-shadowing artifacts."
msgstr ""
-#: doc/classes/RenderingServer.xml:3318
-msgid ""
-"Increases bias on further splits to fix self-shadowing that only occurs far "
-"away from the camera."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3321
+#: doc/classes/RenderingServer.xml:3379
msgid "Represents the size of the [enum LightParam] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3324
+#: doc/classes/RenderingServer.xml:3382
msgid "Use a dual paraboloid shadow map for omni lights."
msgstr ""
-#: doc/classes/RenderingServer.xml:3327
+#: doc/classes/RenderingServer.xml:3385
msgid ""
"Use a cubemap shadow map for omni lights. Slower but better quality than "
"dual paraboloid."
msgstr ""
-#: doc/classes/RenderingServer.xml:3330
+#: doc/classes/RenderingServer.xml:3388
msgid "Use orthogonal shadow projection for directional light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3333
+#: doc/classes/RenderingServer.xml:3391
msgid "Use 2 splits for shadow projection when using directional light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3336
+#: doc/classes/RenderingServer.xml:3394
msgid "Use 4 splits for shadow projection when using directional light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3339
+#: doc/classes/RenderingServer.xml:3397
msgid ""
"Keeps shadows stable as camera moves but has lower effective resolution."
msgstr ""
-#: doc/classes/RenderingServer.xml:3342
+#: doc/classes/RenderingServer.xml:3400
msgid ""
"Optimize use of shadow maps, increasing the effective resolution. But may "
"result in shadows moving or flickering slightly."
msgstr ""
-#: doc/classes/RenderingServer.xml:3345
+#: doc/classes/RenderingServer.xml:3403
msgid "Reflection probe will update reflections once and then stop."
msgstr ""
-#: doc/classes/RenderingServer.xml:3348
+#: doc/classes/RenderingServer.xml:3406
msgid ""
"Reflection probe will update each frame. This mode is necessary to capture "
"moving objects."
msgstr ""
-#: doc/classes/RenderingServer.xml:3351
+#: doc/classes/RenderingServer.xml:3419
msgid "Draw particles in the order that they appear in the particles array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3354
+#: doc/classes/RenderingServer.xml:3422
msgid "Sort particles based on their lifetime."
msgstr ""
-#: doc/classes/RenderingServer.xml:3357
+#: doc/classes/RenderingServer.xml:3425
msgid "Sort particles based on their distance to the camera."
msgstr ""
-#: doc/classes/RenderingServer.xml:3360
+#: doc/classes/RenderingServer.xml:3428
msgid "Do not update the viewport."
msgstr ""
-#: doc/classes/RenderingServer.xml:3363
+#: doc/classes/RenderingServer.xml:3431
msgid "Update the viewport once then set to disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:3366
+#: doc/classes/RenderingServer.xml:3434
msgid "Update the viewport whenever it is visible."
msgstr ""
-#: doc/classes/RenderingServer.xml:3371
+#: doc/classes/RenderingServer.xml:3439
msgid "Always update the viewport."
msgstr ""
-#: doc/classes/RenderingServer.xml:3374
+#: doc/classes/RenderingServer.xml:3442
msgid "The viewport is always cleared before drawing."
msgstr ""
-#: doc/classes/RenderingServer.xml:3377
+#: doc/classes/RenderingServer.xml:3445
msgid "The viewport is never cleared before drawing."
msgstr ""
-#: doc/classes/RenderingServer.xml:3380
+#: doc/classes/RenderingServer.xml:3448
msgid ""
"The viewport is cleared once, then the clear mode is set to [constant "
"VIEWPORT_CLEAR_NEVER]."
msgstr ""
-#: doc/classes/RenderingServer.xml:3383
+#: doc/classes/RenderingServer.xml:3451
msgid "Multisample antialiasing is disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:3386
-msgid "Multisample antialiasing is set to 2×."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3389
-msgid "Multisample antialiasing is set to 4×."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3392
-msgid "Multisample antialiasing is set to 8×."
+#: doc/classes/RenderingServer.xml:3454
+msgid "Multisample antialiasing uses 2 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3395
-msgid "Multisample antialiasing is set to 16×."
+#: doc/classes/RenderingServer.xml:3457
+msgid "Multisample antialiasing uses 4 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3398
-msgid ""
-"Multisample antialiasing is set to 2× on external texture. Special mode for "
-"GLES2 Android VR (Oculus Quest and Go)."
+#: doc/classes/RenderingServer.xml:3460
+msgid "Multisample antialiasing uses 8 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3401
-msgid ""
-"Multisample antialiasing is set to 4× on external texture. Special mode for "
-"GLES2 Android VR (Oculus Quest and Go)."
+#: doc/classes/RenderingServer.xml:3463
+msgid "Multisample antialiasing uses 16 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3404
+#: doc/classes/RenderingServer.xml:3474
msgid "Number of objects drawn in a single frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3407
+#: doc/classes/RenderingServer.xml:3477
msgid "Number of vertices drawn in a single frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3410
+#: doc/classes/RenderingServer.xml:3480
msgid "Number of material changes during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3413
+#: doc/classes/RenderingServer.xml:3483
msgid "Number of shader changes during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3416
+#: doc/classes/RenderingServer.xml:3486
msgid "Number of surface changes during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3419
+#: doc/classes/RenderingServer.xml:3489
msgid "Number of draw calls during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3422
+#: doc/classes/RenderingServer.xml:3492
msgid "Represents the size of the [enum ViewportRenderInfo] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3425
+#: doc/classes/RenderingServer.xml:3495
msgid "Debug draw is disabled. Default setting."
msgstr ""
-#: doc/classes/RenderingServer.xml:3428
-msgid "Debug draw sets objects to unshaded."
+#: doc/classes/RenderingServer.xml:3498 doc/classes/Viewport.xml:348
+msgid "Objects are displayed without light information."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3501
+msgid "Objects are displayed with only light information."
msgstr ""
-#: doc/classes/RenderingServer.xml:3433
-msgid "Overwrites clear color to [code](0,0,0,0)[/code]."
+#: doc/classes/RenderingServer.xml:3504 doc/classes/Viewport.xml:353
+msgid ""
+"Objects are displayed semi-transparent with additive blending so you can see "
+"where they are drawing over top of one another. A higher overdraw means you "
+"are wasting performance on drawing pixels that are being hidden behind "
+"others."
msgstr ""
-#: doc/classes/RenderingServer.xml:3436
+#: doc/classes/RenderingServer.xml:3507
msgid "Debug draw draws objects in wireframe."
msgstr ""
-#: doc/classes/RenderingServer.xml:3461
+#: doc/classes/RenderingServer.xml:3510
+msgid ""
+"Normal buffer is drawn instead of regular scene so you can see the per-pixel "
+"normals that will be used by post-processing effects."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3513 doc/classes/Viewport.xml:361
+msgid "Objects are displayed with only the albedo value from [GIProbe]s."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3516 doc/classes/Viewport.xml:364
+msgid "Objects are displayed with only the lighting value from [GIProbe]s."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3519 doc/classes/Viewport.xml:367
+msgid "Objects are displayed with only the emission color from [GIProbe]s."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3522 doc/classes/Viewport.xml:370
+msgid ""
+"Draws the shadow atlas that stores shadows from [OmniLight3D]s and "
+"[SpotLight3D]s in the upper left quadrant of the [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3525 doc/classes/Viewport.xml:373
+msgid ""
+"Draws the shadow atlas that stores shadows from [DirectionalLight3D]s in the "
+"upper left quadrant of the [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3530
+msgid ""
+"Draws the screen space ambient occlusion texture instead of the scene so "
+"that you can clearly see how it is affecting objects. In order for this "
+"display mode to work, you must have [member Environment.ssao_enabled] set in "
+"your [WorldEnvironment]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3533 doc/classes/Viewport.xml:381
+msgid ""
+"Draws the roughness limiter post process over the Viewport so you can see "
+"where it has an effect. It must be enabled in [member ProjectSettings."
+"rendering/quality/screen_filters/screen_space_roughness_limiter] to work."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3536
+msgid ""
+"Colors each PSSM split for the [DirectionalLight3D]s in the scene a "
+"different color so you can see where the splits are. In order they will be "
+"colored red, green, blue, yellow."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3541
+msgid ""
+"Uses high quality importance sampling to process the radiance map. In "
+"general, this results in much higher quality than [constant Sky."
+"PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be "
+"used if you plan on changing the sky at runtime. If you are finding that the "
+"reflection is not blurry enough and is showing sparkles or fireflies, try "
+"increasing [member ProjectSettings.rendering/quality/reflections/"
+"ggx_samples]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3544
+msgid ""
+"Uses the fast filtering algorithm to process the radiance map. In general "
+"this results in lower quality, but substantially faster run times.\n"
+"[b]Note:[/b] The fast filtering algorithm is limited to 256x256 cubemaps, so "
+"[member Sky.radiance_size] must be set to [constant Sky.RADIANCE_SIZE_256]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3548
msgid "Use the clear color as background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3464
+#: doc/classes/RenderingServer.xml:3551
msgid "Use a specified color as the background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3467
+#: doc/classes/RenderingServer.xml:3554
msgid "Use a sky resource for the background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3470
+#: doc/classes/RenderingServer.xml:3557
msgid ""
"Use a specified canvas layer as the background. This can be useful for "
"instantiating a 2D scene in a 3D world."
msgstr ""
-#: doc/classes/RenderingServer.xml:3473
+#: doc/classes/RenderingServer.xml:3560
msgid ""
"Do not clear the background, use whatever was rendered last frame as the "
"background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3479
+#: doc/classes/RenderingServer.xml:3566
msgid "Represents the size of the [enum EnvironmentBG] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3506
+#: doc/classes/RenderingServer.xml:3605
msgid "Output color as they came in."
msgstr ""
-#: doc/classes/RenderingServer.xml:3509
+#: doc/classes/RenderingServer.xml:3608
msgid "Use the Reinhard tonemapper."
msgstr ""
-#: doc/classes/RenderingServer.xml:3512
+#: doc/classes/RenderingServer.xml:3611
msgid "Use the filmic tonemapper."
msgstr ""
-#: doc/classes/RenderingServer.xml:3515
+#: doc/classes/RenderingServer.xml:3614
msgid "Use the ACES tonemapper."
msgstr ""
-#: doc/classes/RenderingServer.xml:3518
+#: doc/classes/RenderingServer.xml:3625
msgid "Disables the blur set for SSAO. Will make SSAO look noisier."
msgstr ""
-#: doc/classes/RenderingServer.xml:3521
+#: doc/classes/RenderingServer.xml:3628
msgid "Perform a 1x1 blur on the SSAO output."
msgstr ""
-#: doc/classes/RenderingServer.xml:3524
+#: doc/classes/RenderingServer.xml:3631
msgid "Performs a 2x2 blur on the SSAO output."
msgstr ""
-#: doc/classes/RenderingServer.xml:3527
+#: doc/classes/RenderingServer.xml:3634
msgid "Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO."
msgstr ""
-#: doc/classes/RenderingServer.xml:3530
+#: doc/classes/RenderingServer.xml:3637
msgid "Lowest quality of screen space ambient occlusion."
msgstr ""
-#: doc/classes/RenderingServer.xml:3533
+#: doc/classes/RenderingServer.xml:3640
msgid "Medium quality screen space ambient occlusion."
msgstr ""
-#: doc/classes/RenderingServer.xml:3536
+#: doc/classes/RenderingServer.xml:3643
+msgid "High quality screen space ambient occlusion."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3646
msgid "Highest quality screen space ambient occlusion."
msgstr ""
-#: doc/classes/RenderingServer.xml:3555
+#: doc/classes/RenderingServer.xml:3657
+msgid ""
+"Lowest quality DOF blur. This is the fastest setting, but you may be able to "
+"see filtering artifacts."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3660
+msgid "Low quality DOF blur."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3663
+msgid "Medium quality DOF blur."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3666
+msgid ""
+"Highest quality DOF blur. Results in the smoothest looking blur by taking "
+"the most samples, but is also significantly slower."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3669
+msgid ""
+"Calculate the DOF blur using a box filter. The fastest option, but results "
+"in obvious lines in blur pattern."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3672
+msgid "Calculates DOF blur using a hexagon shaped filter."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3675
+msgid ""
+"Calculates DOF blur using a circle shaped filter. Best quality and most "
+"realistic, but slowest. Use only for areas where a lot of performance can be "
+"dedicated to post-processing (e.g. cutscenes)."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3690
msgid "Do not use a debug mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:3558
+#: doc/classes/RenderingServer.xml:3693
msgid "Draw all objects as wireframe models."
msgstr ""
-#: doc/classes/RenderingServer.xml:3561
+#: doc/classes/RenderingServer.xml:3696
msgid ""
"Draw all objects in a way that displays how much overdraw is occurring. "
"Overdraw occurs when a section of pixels is drawn and shaded and then "
"another object covers it up. To optimize a scene, you should reduce overdraw."
msgstr ""
-#: doc/classes/RenderingServer.xml:3564
+#: doc/classes/RenderingServer.xml:3699
msgid ""
"Draw all objects without shading. Equivalent to setting all objects shaders "
"to [code]unshaded[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:3567
+#: doc/classes/RenderingServer.xml:3702
msgid "The instance does not have a type."
msgstr ""
-#: doc/classes/RenderingServer.xml:3570
+#: doc/classes/RenderingServer.xml:3705
msgid "The instance is a mesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:3573
+#: doc/classes/RenderingServer.xml:3708
msgid "The instance is a multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:3576
+#: doc/classes/RenderingServer.xml:3711
msgid "The instance is an immediate geometry."
msgstr ""
-#: doc/classes/RenderingServer.xml:3579
+#: doc/classes/RenderingServer.xml:3714
msgid "The instance is a particle emitter."
msgstr ""
-#: doc/classes/RenderingServer.xml:3582
+#: doc/classes/RenderingServer.xml:3717
msgid "The instance is a light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3585
+#: doc/classes/RenderingServer.xml:3720
msgid "The instance is a reflection probe."
msgstr ""
-#: doc/classes/RenderingServer.xml:3588
+#: doc/classes/RenderingServer.xml:3723
+msgid "The instance is a decal."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3726
msgid "The instance is a GI probe."
msgstr ""
-#: doc/classes/RenderingServer.xml:3591
+#: doc/classes/RenderingServer.xml:3729
msgid "The instance is a lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:3594
+#: doc/classes/RenderingServer.xml:3732
msgid "Represents the size of the [enum InstanceType] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3597
+#: doc/classes/RenderingServer.xml:3735
msgid ""
"A combination of the flags of geometry instances (mesh, multimesh, immediate "
"and particles)."
msgstr ""
-#: doc/classes/RenderingServer.xml:3600
+#: doc/classes/RenderingServer.xml:3738
msgid "Allows the instance to be used in baked lighting."
msgstr ""
-#: doc/classes/RenderingServer.xml:3605
+#: doc/classes/RenderingServer.xml:3741
+msgid "Allows the instance to be used with dynamic global illumination."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3744
msgid "When set, manually requests to draw geometry on next frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3608
+#: doc/classes/RenderingServer.xml:3747
msgid "Represents the size of the [enum InstanceFlags] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3611
+#: doc/classes/RenderingServer.xml:3750
msgid "Disable shadows from this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:3614
+#: doc/classes/RenderingServer.xml:3753
msgid "Cast shadows from this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:3617
+#: doc/classes/RenderingServer.xml:3756
msgid ""
"Disable backface culling when rendering the shadow of the object. This is "
"slightly slower but may result in more correct shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3620
+#: doc/classes/RenderingServer.xml:3759
msgid ""
"Only render the shadows from the object. The object itself will not be drawn."
msgstr ""
-#: doc/classes/RenderingServer.xml:3623
+#: doc/classes/RenderingServer.xml:3762
msgid "The nine patch gets stretched where needed."
msgstr ""
-#: doc/classes/RenderingServer.xml:3626
+#: doc/classes/RenderingServer.xml:3765
msgid "The nine patch gets filled with tiles where needed."
msgstr ""
-#: doc/classes/RenderingServer.xml:3629
+#: doc/classes/RenderingServer.xml:3768
msgid ""
"The nine patch gets filled with tiles where needed and stretches them a bit "
"if needed."
msgstr ""
-#: doc/classes/RenderingServer.xml:3658
+#: doc/classes/RenderingServer.xml:3771
+msgid "Uses the default filter mode for this [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3783 doc/classes/Viewport.xml:399
+msgid ""
+"The texture filter blends between the nearest 4 pixels and between the "
+"nearest 2 mipmaps."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3792
+msgid "Max value for [enum CanvasItemTextureFilter] enum."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3795
+msgid "Uses the default repeat mode for this [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3798 doc/classes/Viewport.xml:405
+msgid ""
+"Disables textures repeating. Instead, when reading UVs outside the 0-1 "
+"range, the value will be clamped to the edge of the texture, resulting in a "
+"stretched out look at the borders of the texture."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3804 doc/classes/Viewport.xml:411
+msgid ""
+"Flip the texture when repeating so that the edge lines up instead of "
+"abruptly changing."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3807
+msgid "Max value for [enum CanvasItemTextureRepeat] enum."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3810
msgid "Adds light color additive to the canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:3661
+#: doc/classes/RenderingServer.xml:3813
msgid "Adds light color subtractive to the canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:3664
+#: doc/classes/RenderingServer.xml:3816
msgid "The light adds color depending on transparency."
msgstr ""
-#: doc/classes/RenderingServer.xml:3667
+#: doc/classes/RenderingServer.xml:3819
msgid "The light adds color depending on mask."
msgstr ""
-#: doc/classes/RenderingServer.xml:3670
+#: doc/classes/RenderingServer.xml:3822
msgid "Do not apply a filter to canvas light shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3673
+#: doc/classes/RenderingServer.xml:3825
msgid "Use PCF5 filtering to filter canvas light shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3676
+#: doc/classes/RenderingServer.xml:3828
msgid "Use PCF13 filtering to filter canvas light shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3681
+#: doc/classes/RenderingServer.xml:3831
+msgid "Max value of the [enum CanvasLightShadowFilter] enum."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3834
msgid "Culling of the canvas occluder is disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:3684
+#: doc/classes/RenderingServer.xml:3837
msgid "Culling of the canvas occluder is clockwise."
msgstr ""
-#: doc/classes/RenderingServer.xml:3687
+#: doc/classes/RenderingServer.xml:3840
msgid "Culling of the canvas occluder is counterclockwise."
msgstr ""
-#: doc/classes/RenderingServer.xml:3690
+#: doc/classes/RenderingServer.xml:3901
msgid "The amount of objects in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3693
+#: doc/classes/RenderingServer.xml:3904
msgid "The amount of vertices in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3696
+#: doc/classes/RenderingServer.xml:3907
msgid "The amount of modified materials in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3699
+#: doc/classes/RenderingServer.xml:3910
msgid "The amount of shader rebinds in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3702
+#: doc/classes/RenderingServer.xml:3913
msgid "The amount of surface changes in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3705
+#: doc/classes/RenderingServer.xml:3916
msgid "The amount of draw calls in frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3720
+#: doc/classes/RenderingServer.xml:3931
msgid "Hardware supports shaders. This enum is currently unused in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:3723
+#: doc/classes/RenderingServer.xml:3934
msgid ""
"Hardware supports multithreading. This enum is currently unused in Godot 3.x."
msgstr ""
@@ -44081,15 +44356,11 @@ msgid ""
"Physics > 2d[/b]."
msgstr ""
-#: doc/classes/RigidBody2D.xml:158 doc/classes/RigidBody3D.xml:174
-msgid "The body's mass."
-msgstr ""
-
#: doc/classes/RigidBody2D.xml:161
msgid "The body's mode. See [enum Mode] for possible values."
msgstr ""
-#: doc/classes/RigidBody2D.xml:164 doc/classes/RigidBody3D.xml:180
+#: doc/classes/RigidBody2D.xml:164 doc/classes/RigidBody3D.xml:181
#: doc/classes/StaticBody2D.xml:22 doc/classes/StaticBody3D.xml:22
msgid ""
"The physics material override for the body.\n"
@@ -44218,22 +44489,32 @@ msgid ""
"for a body."
msgstr ""
+#: doc/classes/RigidBody3D.xml:31
+msgid ""
+"Adds a constant directional force (i.e. acceleration) without affecting "
+"rotation.\n"
+"This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]."
+msgstr ""
+
#: doc/classes/RigidBody3D.xml:43
-msgid "Adds a constant force (i.e. acceleration)."
+msgid ""
+"Adds a constant directional force (i.e. acceleration).\n"
+"The position uses the rotation of the global coordinate system, but is "
+"centered at the object's origin."
msgstr ""
-#: doc/classes/RigidBody3D.xml:52
+#: doc/classes/RigidBody3D.xml:53
msgid ""
"Adds a constant rotational force (i.e. a motor) without affecting position."
msgstr ""
-#: doc/classes/RigidBody3D.xml:61
+#: doc/classes/RigidBody3D.xml:62
msgid ""
"Applies a directional impulse without affecting rotation.\n"
"This is equivalent to [code]apply_impulse(Vector3(0,0,0), impulse)[/code]."
msgstr ""
-#: doc/classes/RigidBody3D.xml:73
+#: doc/classes/RigidBody3D.xml:74
msgid ""
"Applies a positioned impulse to the body. An impulse is time independent! "
"Applying an impulse every frame would result in a framerate-dependent force. "
@@ -44242,19 +44523,19 @@ msgid ""
"at the object's origin."
msgstr ""
-#: doc/classes/RigidBody3D.xml:82
+#: doc/classes/RigidBody3D.xml:83
msgid ""
"Applies a torque impulse which will be affected by the body mass and shape. "
"This will rotate the body around the [code]impulse[/code] vector passed."
msgstr ""
-#: doc/classes/RigidBody3D.xml:91
+#: doc/classes/RigidBody3D.xml:92
msgid ""
"Returns [code]true[/code] if the specified linear or rotational axis is "
"locked."
msgstr ""
-#: doc/classes/RigidBody3D.xml:98
+#: doc/classes/RigidBody3D.xml:99
msgid ""
"Returns a list of the bodies colliding with this one. By default, number of "
"max contacts reported is at 0, see the [member contacts_reported] property "
@@ -44264,64 +44545,32 @@ msgid ""
"physics step. Consider using signals instead."
msgstr ""
-#: doc/classes/RigidBody3D.xml:110
+#: doc/classes/RigidBody3D.xml:111
msgid "Locks the specified linear or rotational axis."
msgstr ""
-#: doc/classes/RigidBody3D.xml:125
+#: doc/classes/RigidBody3D.xml:126
msgid "Damps RigidBody3D's rotational forces."
msgstr ""
-#: doc/classes/RigidBody3D.xml:128
+#: doc/classes/RigidBody3D.xml:129
msgid "RigidBody3D's rotational velocity."
msgstr ""
-#: doc/classes/RigidBody3D.xml:131
-msgid "Lock the body's rotation in the X axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:134
-msgid "Lock the body's rotation in the Y axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:137
-msgid "Lock the body's rotation in the Z axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:140
-msgid "Lock the body's movement in the X axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:143
-msgid "Lock the body's movement in the Y axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:146
-msgid "Lock the body's movement in the Z axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:149
-msgid ""
-"If [code]true[/code], the RigidBody3D will not calculate forces and will act "
-"as a static body while there is no movement. It will wake up when forces are "
-"applied through other collisions or when the [code]apply_impulse[/code] "
-"method is used."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:152
+#: doc/classes/RigidBody3D.xml:153
msgid ""
"If [code]true[/code], the RigidBody3D will emit signals when it collides "
"with another RigidBody3D."
msgstr ""
-#: doc/classes/RigidBody3D.xml:155
+#: doc/classes/RigidBody3D.xml:156
msgid ""
"The maximum contacts to report. Bodies can keep a log of the contacts with "
"other bodies, this is enabled by setting the maximum amount of contacts "
"reported to a number greater than 0."
msgstr ""
-#: doc/classes/RigidBody3D.xml:158
+#: doc/classes/RigidBody3D.xml:159
msgid ""
"If [code]true[/code], continuous collision detection is used.\n"
"Continuous collision detection tries to predict where a moving body will "
@@ -44331,7 +44580,7 @@ msgid ""
"faster to compute, but can miss small, fast-moving objects."
msgstr ""
-#: doc/classes/RigidBody3D.xml:162
+#: doc/classes/RigidBody3D.xml:163
msgid ""
"If [code]true[/code], internal force integration will be disabled (like "
"gravity or air friction) for this body. Other than collision response, the "
@@ -44339,7 +44588,7 @@ msgid ""
"function, if defined."
msgstr ""
-#: doc/classes/RigidBody3D.xml:165
+#: doc/classes/RigidBody3D.xml:166
msgid ""
"This is multiplied by the global 3D gravity setting found in [b]Project > "
"Project Settings > Physics > 3d[/b] to produce RigidBody3D's gravity. For "
@@ -44347,14 +44596,14 @@ msgid ""
"and 0.5 will apply half gravity to this object."
msgstr ""
-#: doc/classes/RigidBody3D.xml:168
+#: doc/classes/RigidBody3D.xml:169
msgid ""
"The body's linear damp. Cannot be less than -1.0. If this value is different "
"from -1.0, any linear damp derived from the world or areas will be "
"overridden."
msgstr ""
-#: doc/classes/RigidBody3D.xml:171
+#: doc/classes/RigidBody3D.xml:172
msgid ""
"The body's linear velocity. Can be used sporadically, but [b]don't set this "
"every frame[/b], because physics may run in another thread and runs at a "
@@ -44362,35 +44611,29 @@ msgid ""
"for precise control of the body state."
msgstr ""
-#: doc/classes/RigidBody3D.xml:177
+#: doc/classes/RigidBody3D.xml:178
msgid "The body mode. See [enum Mode] for possible values."
msgstr ""
-#: doc/classes/RigidBody3D.xml:184
+#: doc/classes/RigidBody3D.xml:185
msgid ""
"If [code]true[/code], the body is sleeping and will not calculate forces "
"until woken up by a collision or the [code]apply_impulse[/code] method."
msgstr ""
-#: doc/classes/RigidBody3D.xml:187
-msgid ""
-"The body's weight based on its mass and the global 3D gravity. Global values "
-"are set in [b]Project > Project Settings > Physics > 3d[/b]."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:195
+#: doc/classes/RigidBody3D.xml:196
msgid ""
"Emitted when a body enters into contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work."
msgstr ""
-#: doc/classes/RigidBody3D.xml:202
+#: doc/classes/RigidBody3D.xml:203
msgid ""
"Emitted when a body shape exits contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work."
msgstr ""
-#: doc/classes/RigidBody3D.xml:215
+#: doc/classes/RigidBody3D.xml:216
msgid ""
"Emitted when a body enters into contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work.\n"
@@ -44400,7 +44643,7 @@ msgid ""
"([code]local_shape[/code]) the other body collided with."
msgstr ""
-#: doc/classes/RigidBody3D.xml:229
+#: doc/classes/RigidBody3D.xml:230
msgid ""
"Emitted when a body shape exits contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work.\n"
@@ -44410,30 +44653,30 @@ msgid ""
"([code]local_shape[/code]) the other body stopped colliding with."
msgstr ""
-#: doc/classes/RigidBody3D.xml:235
+#: doc/classes/RigidBody3D.xml:236
msgid ""
"Emitted when the body changes its sleeping state. Either by sleeping or "
"waking up."
msgstr ""
-#: doc/classes/RigidBody3D.xml:241
+#: doc/classes/RigidBody3D.xml:242
msgid ""
"Rigid body mode. This is the \"natural\" state of a rigid body. It is "
"affected by forces, and can move, rotate, and be affected by user code."
msgstr ""
-#: doc/classes/RigidBody3D.xml:244
+#: doc/classes/RigidBody3D.xml:245
msgid ""
"Static mode. The body behaves like a [StaticBody3D], and can only move by "
"user code."
msgstr ""
-#: doc/classes/RigidBody3D.xml:247
+#: doc/classes/RigidBody3D.xml:248
msgid ""
"Character body mode. This behaves like a rigid body, but can not rotate."
msgstr ""
-#: doc/classes/RigidBody3D.xml:250
+#: doc/classes/RigidBody3D.xml:251
msgid ""
"Kinematic body mode. The body behaves like a [KinematicBody3D], and can only "
"move by user code."
@@ -45057,27 +45300,33 @@ msgstr ""
msgid "Godot editor's script editor."
msgstr ""
-#: doc/classes/ScriptEditor.xml:39
+#: doc/classes/ScriptEditor.xml:7
+msgid ""
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_script_editor]."
+msgstr ""
+
+#: doc/classes/ScriptEditor.xml:40
msgid "Returns a [Script] that is currently active in editor."
msgstr ""
-#: doc/classes/ScriptEditor.xml:56
+#: doc/classes/ScriptEditor.xml:57
msgid ""
"Returns an array with all [Script] objects which are currently open in "
"editor."
msgstr ""
-#: doc/classes/ScriptEditor.xml:65
+#: doc/classes/ScriptEditor.xml:66
msgid "Goes to the specified line in the current script."
msgstr ""
-#: doc/classes/ScriptEditor.xml:84
+#: doc/classes/ScriptEditor.xml:85
msgid ""
"Emitted when user changed active script. Argument is a freshly activated "
"[Script]."
msgstr ""
-#: doc/classes/ScriptEditor.xml:91
+#: doc/classes/ScriptEditor.xml:92
msgid ""
"Emitted when editor is about to close the active script. Argument is a "
"[Script] that is going to be closed."
@@ -45139,7 +45388,7 @@ msgid ""
"visible."
msgstr ""
-#: doc/classes/ScrollContainer.xml:37 doc/classes/TextEdit.xml:441
+#: doc/classes/ScrollContainer.xml:37 doc/classes/TextEdit.xml:442
msgid "The current horizontal scroll value."
msgstr ""
@@ -45147,7 +45396,7 @@ msgstr ""
msgid "If [code]true[/code], enables horizontal scrolling."
msgstr ""
-#: doc/classes/ScrollContainer.xml:43 doc/classes/TextEdit.xml:444
+#: doc/classes/ScrollContainer.xml:43 doc/classes/TextEdit.xml:445
msgid "The current vertical scroll value."
msgstr ""
@@ -45677,7 +45926,10 @@ msgid ""
"Uses high quality importance sampling to process the radiance map. In "
"general, this results in much higher quality than [constant "
"PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be "
-"used if you plan on changing the sky at runtime."
+"used if you plan on changing the sky at runtime. If you are finding that the "
+"reflection is not blurry enough and is showing sparkles or fireflies, try "
+"increasing [member ProjectSettings.rendering/quality/reflections/"
+"ggx_samples]."
msgstr ""
#: doc/classes/Sky.xml:55
@@ -47871,65 +48123,65 @@ msgid ""
msgstr ""
#: doc/classes/SubViewport.xml:13
-msgid "If [code]true[/code], the sub-viewport will be used in AR/VR process."
-msgstr ""
-
-#: doc/classes/SubViewport.xml:16
msgid "The clear mode when the sub-viewport is used as a render target."
msgstr ""
-#: doc/classes/SubViewport.xml:19
+#: doc/classes/SubViewport.xml:16
msgid "The update mode when the sub-viewport is used as a render target."
msgstr ""
-#: doc/classes/SubViewport.xml:22
+#: doc/classes/SubViewport.xml:19
msgid "The width and height of the sub-viewport."
msgstr ""
-#: doc/classes/SubViewport.xml:25
+#: doc/classes/SubViewport.xml:22
msgid ""
"The 2D size override of the sub-viewport. If either the width or height is "
"[code]0[/code], the override is disabled."
msgstr ""
-#: doc/classes/SubViewport.xml:28
+#: doc/classes/SubViewport.xml:25
msgid "If [code]true[/code], the 2D size override affects stretch as well."
msgstr ""
+#: doc/classes/SubViewport.xml:28
+msgid "If [code]true[/code], the sub-viewport will be used in AR/VR process."
+msgstr ""
+
#: doc/classes/SubViewport.xml:33
-msgid "Do not update the render target."
+msgid "Always clear the render target before drawing."
msgstr ""
#: doc/classes/SubViewport.xml:36
-msgid ""
-"Update the render target once, then switch to [constant UPDATE_DISABLED]."
+msgid "Never clear the render target."
msgstr ""
#: doc/classes/SubViewport.xml:39
msgid ""
-"Update the render target only when it is visible. This is the default value."
+"Clear the render target next frame, then switch to [constant "
+"CLEAR_MODE_NEVER]."
msgstr ""
#: doc/classes/SubViewport.xml:42
-msgid "Update the render target only when the its parent is visible."
+msgid "Do not update the render target."
msgstr ""
#: doc/classes/SubViewport.xml:45
-msgid "Always update the render target."
+msgid ""
+"Update the render target once, then switch to [constant UPDATE_DISABLED]."
msgstr ""
#: doc/classes/SubViewport.xml:48
-msgid "Always clear the render target before drawing."
+msgid ""
+"Update the render target only when it is visible. This is the default value."
msgstr ""
#: doc/classes/SubViewport.xml:51
-msgid "Never clear the render target."
+msgid "Update the render target only when the its parent is visible."
msgstr ""
#: doc/classes/SubViewport.xml:54
-msgid ""
-"Clear the render target next frame, then switch to [constant "
-"CLEAR_MODE_NEVER]."
+msgid "Always update the render target."
msgstr ""
#: doc/classes/SubViewportContainer.xml:4
@@ -47984,85 +48236,90 @@ msgid ""
"information to a mesh.\n"
"Additionally, the attributes used before the first vertex is added determine "
"the format of the mesh. For example, if you only add UVs to the first "
-"vertex, you cannot add color to any of the subsequent vertices."
+"vertex, you cannot add color to any of the subsequent vertices.\n"
+"See also [ArrayMesh], [ImmediateGeometry3D] and [MeshDataTool] for "
+"procedural geometry generation.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/SurfaceTool.xml:28
+#: doc/classes/SurfaceTool.xml:30
msgid ""
"Adds an array of bones for the next vertex to use. [code]bones[/code] must "
"contain 4 integers."
msgstr ""
-#: doc/classes/SurfaceTool.xml:37
+#: doc/classes/SurfaceTool.xml:39
msgid "Specifies a [Color] for the next vertex to use."
msgstr ""
-#: doc/classes/SurfaceTool.xml:46
+#: doc/classes/SurfaceTool.xml:48
msgid ""
"Adds an index to index array if you are using indexed vertices. Does not "
"need to be called before adding vertices."
msgstr ""
-#: doc/classes/SurfaceTool.xml:55
+#: doc/classes/SurfaceTool.xml:57
msgid "Specifies a normal for the next vertex to use."
msgstr ""
-#: doc/classes/SurfaceTool.xml:64
+#: doc/classes/SurfaceTool.xml:66
msgid ""
"Specifies whether the current vertex (if using only vertex arrays) or "
"current index (if also using index arrays) should use smooth normals for "
"normal calculation."
msgstr ""
-#: doc/classes/SurfaceTool.xml:73
+#: doc/classes/SurfaceTool.xml:75
msgid "Specifies a tangent for the next vertex to use."
msgstr ""
-#: doc/classes/SurfaceTool.xml:92
+#: doc/classes/SurfaceTool.xml:94
msgid ""
"Inserts a triangle fan made of array data into [Mesh] being constructed.\n"
"Requires the primitive type be set to [constant Mesh.PRIMITIVE_TRIANGLES]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:102
+#: doc/classes/SurfaceTool.xml:104
msgid "Specifies a set of UV coordinates to use for the next vertex."
msgstr ""
-#: doc/classes/SurfaceTool.xml:111
+#: doc/classes/SurfaceTool.xml:113
msgid ""
"Specifies an optional second set of UV coordinates to use for the next "
"vertex."
msgstr ""
-#: doc/classes/SurfaceTool.xml:120
+#: doc/classes/SurfaceTool.xml:122
msgid ""
"Specifies the position of current vertex. Should be called after specifying "
"other vertex properties (e.g. Color, UV)."
msgstr ""
-#: doc/classes/SurfaceTool.xml:129
+#: doc/classes/SurfaceTool.xml:131
msgid ""
"Specifies weight values for next vertex to use. [code]weights[/code] must "
"contain 4 values."
msgstr ""
-#: doc/classes/SurfaceTool.xml:142
+#: doc/classes/SurfaceTool.xml:144
msgid ""
"Append vertices from a given [Mesh] surface onto the current vertex array "
"with specified [Transform]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:151
+#: doc/classes/SurfaceTool.xml:153
msgid ""
"Called before adding any vertices. Takes the primitive type as an argument "
"(e.g. [constant Mesh.PRIMITIVE_TRIANGLES])."
msgstr ""
-#: doc/classes/SurfaceTool.xml:158
+#: doc/classes/SurfaceTool.xml:160
msgid "Clear all information passed into the surface tool so far."
msgstr ""
-#: doc/classes/SurfaceTool.xml:169
+#: doc/classes/SurfaceTool.xml:171
msgid ""
"Returns a constructed [ArrayMesh] from current information passed in. If an "
"existing [ArrayMesh] is passed in as an argument, will add an extra surface "
@@ -48072,28 +48329,28 @@ msgid ""
"flags."
msgstr ""
-#: doc/classes/SurfaceTool.xml:177
+#: doc/classes/SurfaceTool.xml:179
msgid ""
"Commits the data to the same format used by [method ArrayMesh."
"add_surface_from_arrays]. This way you can further process the mesh data "
"using the [ArrayMesh] API."
msgstr ""
-#: doc/classes/SurfaceTool.xml:188
+#: doc/classes/SurfaceTool.xml:190
msgid "Creates a vertex array from an existing [Mesh]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:201
+#: doc/classes/SurfaceTool.xml:203
msgid ""
"Creates a vertex array from the specified blend shape of an existing [Mesh]. "
"This can be used to extract a specific pose from a blend shape."
msgstr ""
-#: doc/classes/SurfaceTool.xml:208
+#: doc/classes/SurfaceTool.xml:210
msgid "Removes the index array by expanding the vertex array."
msgstr ""
-#: doc/classes/SurfaceTool.xml:217
+#: doc/classes/SurfaceTool.xml:219
msgid ""
"Generates normals from vertices so you do not have to do it manually. If "
"[code]flip[/code] is [code]true[/code], the resulting normals will be "
@@ -48101,19 +48358,19 @@ msgid ""
"Requires the primitive type to be set to [constant Mesh.PRIMITIVE_TRIANGLES]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:225
+#: doc/classes/SurfaceTool.xml:227
msgid ""
"Generates a tangent vector for each vertex. Requires that each vertex have "
"UVs and normals set already."
msgstr ""
-#: doc/classes/SurfaceTool.xml:232
+#: doc/classes/SurfaceTool.xml:234
msgid ""
"Shrinks the vertex array by creating an index array (avoids reusing "
"vertices)."
msgstr ""
-#: doc/classes/SurfaceTool.xml:241
+#: doc/classes/SurfaceTool.xml:243
msgid "Sets [Material] to be used by the [Mesh] you are constructing."
msgstr ""
@@ -48147,7 +48404,7 @@ msgid "Returns the previously active tab index."
msgstr ""
#: doc/classes/TabContainer.xml:42
-msgid "Returns the currently visible tab's [Control] node."
+msgid "Returns the [Control] node from the tab at index [code]tab_idx[/code]."
msgstr ""
#: doc/classes/TabContainer.xml:49 doc/classes/Tabs.xml:50
@@ -48816,151 +49073,163 @@ msgstr ""
msgid "If [code]true[/code], the line containing the cursor is highlighted."
msgstr ""
-#: doc/classes/TextEdit.xml:438
+#: doc/classes/TextEdit.xml:436
+msgid ""
+"If [code]true[/code], custom [code]font_color_selected[/code] will be used "
+"for selected text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml:439
msgid ""
"If [code]true[/code], read-only mode is enabled. Existing text cannot be "
"modified and new text cannot be added."
msgstr ""
-#: doc/classes/TextEdit.xml:451
+#: doc/classes/TextEdit.xml:452
msgid ""
"If [code]true[/code], line numbers are displayed to the left of the text."
msgstr ""
-#: doc/classes/TextEdit.xml:454
+#: doc/classes/TextEdit.xml:455
msgid ""
"If [code]true[/code], sets the [code]step[/code] of the scrollbars to "
"[code]0.25[/code] which results in smoother scrolling."
msgstr ""
-#: doc/classes/TextEdit.xml:457
+#: doc/classes/TextEdit.xml:458
msgid ""
"If [code]true[/code], any custom color properties that have been set for "
"this [TextEdit] will be visible."
msgstr ""
-#: doc/classes/TextEdit.xml:460
+#: doc/classes/TextEdit.xml:461
msgid "String value of the [TextEdit]."
msgstr ""
-#: doc/classes/TextEdit.xml:463
+#: doc/classes/TextEdit.xml:464
msgid "Vertical scroll sensitivity."
msgstr ""
-#: doc/classes/TextEdit.xml:466
+#: doc/classes/TextEdit.xml:467
msgid ""
"If [code]true[/code], enables text wrapping when it goes beyond the edge of "
"what is visible."
msgstr ""
-#: doc/classes/TextEdit.xml:474
+#: doc/classes/TextEdit.xml:475
msgid "Emitted when a breakpoint is placed via the breakpoint gutter."
msgstr ""
-#: doc/classes/TextEdit.xml:479
+#: doc/classes/TextEdit.xml:480
msgid "Emitted when the cursor changes."
msgstr ""
-#: doc/classes/TextEdit.xml:488
+#: doc/classes/TextEdit.xml:489
msgid "Emitted when the info icon is clicked."
msgstr ""
-#: doc/classes/TextEdit.xml:519
+#: doc/classes/TextEdit.xml:520
msgid "Match case when searching."
msgstr ""
-#: doc/classes/TextEdit.xml:522
+#: doc/classes/TextEdit.xml:523
msgid "Match whole words when searching."
msgstr ""
-#: doc/classes/TextEdit.xml:525
+#: doc/classes/TextEdit.xml:526
msgid "Search from end to beginning."
msgstr ""
-#: doc/classes/TextEdit.xml:528
+#: doc/classes/TextEdit.xml:529
msgid "Used to access the result column from [method search]."
msgstr ""
-#: doc/classes/TextEdit.xml:531
+#: doc/classes/TextEdit.xml:532
msgid "Used to access the result line from [method search]."
msgstr ""
-#: doc/classes/TextEdit.xml:540
+#: doc/classes/TextEdit.xml:541
msgid ""
"Pastes the clipboard text over the selected text (or at the cursor's "
"position)."
msgstr ""
-#: doc/classes/TextEdit.xml:543
+#: doc/classes/TextEdit.xml:544
msgid "Erases the whole [TextEdit] text."
msgstr ""
-#: doc/classes/TextEdit.xml:546
+#: doc/classes/TextEdit.xml:547
msgid "Selects the whole [TextEdit] text."
msgstr ""
-#: doc/classes/TextEdit.xml:552
+#: doc/classes/TextEdit.xml:553
msgid "Redoes the previous action."
msgstr ""
-#: doc/classes/TextEdit.xml:560
+#: doc/classes/TextEdit.xml:561
msgid ""
"Sets the background [Color] of this [TextEdit]. [member syntax_highlighting] "
"has to be enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:563
+#: doc/classes/TextEdit.xml:564
msgid ""
"Sets the [Color] of the bookmark marker. [member syntax_highlighting] has to "
"be enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:568 doc/classes/TextEdit.xml:595
+#: doc/classes/TextEdit.xml:569 doc/classes/TextEdit.xml:596
msgid ""
"Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be "
"enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:606
+#: doc/classes/TextEdit.xml:607
msgid "Sets the default [Font]."
msgstr ""
-#: doc/classes/TextEdit.xml:609
+#: doc/classes/TextEdit.xml:610
msgid "Sets the font [Color]."
msgstr ""
-#: doc/classes/TextEdit.xml:618
+#: doc/classes/TextEdit.xml:615
+msgid ""
+"Sets the [Color] of the selected text. [member override_selected_font_color] "
+"has to be enabled."
+msgstr ""
+
+#: doc/classes/TextEdit.xml:620
msgid ""
"Sets the [Color] of the line numbers. [member show_line_numbers] has to be "
"enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:621
+#: doc/classes/TextEdit.xml:623
msgid "Sets the spacing between the lines."
msgstr ""
-#: doc/classes/TextEdit.xml:624
+#: doc/classes/TextEdit.xml:626
msgid "Sets the [Color] of marked text."
msgstr ""
-#: doc/classes/TextEdit.xml:629
+#: doc/classes/TextEdit.xml:631
msgid "Sets the [StyleBox] of this [TextEdit]."
msgstr ""
-#: doc/classes/TextEdit.xml:634
+#: doc/classes/TextEdit.xml:636
msgid ""
"Sets the [StyleBox] of this [TextEdit] when [member readonly] is enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:639
+#: doc/classes/TextEdit.xml:641
msgid "Sets the highlight [Color] of text selections."
msgstr ""
-#: doc/classes/TextEdit.xml:646
+#: doc/classes/TextEdit.xml:648
msgid "Sets a custom [Texture2D] for tab text characters."
msgstr ""
-#: doc/classes/TextEdit.xml:649
+#: doc/classes/TextEdit.xml:651
msgid ""
"Sets the highlight [Color] of multiple occurrences. [member "
"highlight_all_occurrences] has to be enabled."
@@ -49632,8 +49901,8 @@ msgstr ""
#: doc/classes/TileMap.xml:46
msgid ""
-"Returns the coordinate of the autotile variation in the tileset. Returns a "
-"zero vector if the cell doesn't have autotiling."
+"Returns the coordinate (subtile column and row) of the autotile variation in "
+"the tileset. Returns a zero vector if the cell doesn't have autotiling."
msgstr ""
#: doc/classes/TileMap.xml:55
@@ -49690,7 +49959,8 @@ msgid ""
"Sets the tile index for the cell given by a Vector2.\n"
"An index of [code]-1[/code] clears the cell.\n"
"Optionally, the tile can also be flipped, transposed, or given autotile "
-"coordinates.\n"
+"coordinates. The autotile coordinate refers to the column and row of the "
+"subtile.\n"
"[b]Note:[/b] Data such as navigation polygons and collision shapes are not "
"immediately updated for performance reasons.\n"
"If you need these to be immediately updated, you can call [method "
@@ -50497,9 +50767,10 @@ msgid ""
"using matrix multiplication. The axis must be a normalized vector."
msgstr ""
-#: doc/classes/Transform.xml:138 doc/classes/Transform2D.xml:140
+#: doc/classes/Transform.xml:138
msgid ""
-"Scales the transform by the given scale factor, using matrix multiplication."
+"Scales basis and origin of the transform by the given scale factor, using "
+"matrix multiplication."
msgstr ""
#: doc/classes/Transform.xml:147 doc/classes/Transform2D.xml:149
@@ -50609,6 +50880,11 @@ msgid ""
"multiplication."
msgstr ""
+#: doc/classes/Transform2D.xml:140
+msgid ""
+"Scales the transform by the given scale factor, using matrix multiplication."
+msgstr ""
+
#: doc/classes/Transform2D.xml:159
msgid ""
"Transforms the given [Vector2], [Rect2], or [PackedVector2Array] by this "
@@ -50766,7 +51042,8 @@ msgid ""
"[/codeblock]\n"
"To iterate over all the [TreeItem] objects in a [Tree] object, use [method "
"TreeItem.get_next] and [method TreeItem.get_children] after getting the root "
-"through [method get_root]."
+"through [method get_root]. You can use [method Object.free] on a [TreeItem] "
+"to remove it from the [Tree]."
msgstr ""
#: doc/classes/Tree.xml:28
@@ -51252,10 +51529,11 @@ msgstr ""
#: doc/classes/TreeItem.xml:7
msgid ""
"Control for a single item inside a [Tree]. May have child [TreeItem]s and be "
-"styled as well as contain buttons."
+"styled as well as contain buttons.\n"
+"You can remove a [TreeItem] by using [method Object.free]."
msgstr ""
-#: doc/classes/TreeItem.xml:26
+#: doc/classes/TreeItem.xml:27
msgid ""
"Adds a button with [Texture2D] [code]button[/code] at column [code]column[/"
"code]. The [code]button_idx[/code] index is used to identify the button when "
@@ -51265,89 +51543,89 @@ msgid ""
"have a [code]tooltip[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:35
+#: doc/classes/TreeItem.xml:36
msgid ""
"Calls the [code]method[/code] on the actual TreeItem and its children "
"recursively. Pass parameters as a comma separated list."
msgstr ""
-#: doc/classes/TreeItem.xml:44
+#: doc/classes/TreeItem.xml:45
msgid "Resets the background color for the given column to default."
msgstr ""
-#: doc/classes/TreeItem.xml:53
+#: doc/classes/TreeItem.xml:54
msgid "Resets the color for the given column to default."
msgstr ""
-#: doc/classes/TreeItem.xml:62
+#: doc/classes/TreeItem.xml:63
msgid "Deselects the given column."
msgstr ""
-#: doc/classes/TreeItem.xml:73
+#: doc/classes/TreeItem.xml:74
msgid ""
"Removes the button at index [code]button_idx[/code] in column [code]column[/"
"code]."
msgstr ""
-#: doc/classes/TreeItem.xml:84
+#: doc/classes/TreeItem.xml:85
msgid ""
"Returns the [Texture2D] of the button at index [code]button_idx[/code] in "
"column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:93
+#: doc/classes/TreeItem.xml:94
msgid ""
"Returns the number of buttons in column [code]column[/code]. May be used to "
"get the most recently added button's index, if no index was specified."
msgstr ""
-#: doc/classes/TreeItem.xml:104
+#: doc/classes/TreeItem.xml:105
msgid ""
"Returns the tooltip string for the button at index [code]button_idx[/code] "
"in column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:113
+#: doc/classes/TreeItem.xml:114
msgid "Returns the column's cell mode."
msgstr ""
-#: doc/classes/TreeItem.xml:120
+#: doc/classes/TreeItem.xml:121
msgid "Returns the TreeItem's child items."
msgstr ""
-#: doc/classes/TreeItem.xml:129
+#: doc/classes/TreeItem.xml:130
msgid "Returns the custom background color of column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:138
+#: doc/classes/TreeItem.xml:139
msgid "Returns the custom color of column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:147
+#: doc/classes/TreeItem.xml:148
msgid "Returns [code]true[/code] if [code]expand_right[/code] is set."
msgstr ""
-#: doc/classes/TreeItem.xml:156
+#: doc/classes/TreeItem.xml:157
msgid "Returns the given column's icon [Texture2D]. Error if no icon is set."
msgstr ""
-#: doc/classes/TreeItem.xml:165
+#: doc/classes/TreeItem.xml:166
msgid "Returns the column's icon's maximum width."
msgstr ""
-#: doc/classes/TreeItem.xml:174
+#: doc/classes/TreeItem.xml:175
msgid "Returns the [Color] modulating the column's icon."
msgstr ""
-#: doc/classes/TreeItem.xml:183
+#: doc/classes/TreeItem.xml:184
msgid "Returns the icon [Texture2D] region as [Rect2]."
msgstr ""
-#: doc/classes/TreeItem.xml:198
+#: doc/classes/TreeItem.xml:199
msgid "Returns the next TreeItem in the tree."
msgstr ""
-#: doc/classes/TreeItem.xml:207
+#: doc/classes/TreeItem.xml:208
msgid ""
"Returns the next visible TreeItem in the tree.\n"
"If [code]wrap[/code] is enabled, the method will wrap around to the first "
@@ -51355,15 +51633,15 @@ msgid ""
"otherwise it returns [code]null[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:215
+#: doc/classes/TreeItem.xml:216
msgid "Returns the parent TreeItem."
msgstr ""
-#: doc/classes/TreeItem.xml:222
+#: doc/classes/TreeItem.xml:223
msgid "Returns the previous TreeItem in the tree."
msgstr ""
-#: doc/classes/TreeItem.xml:231
+#: doc/classes/TreeItem.xml:232
msgid ""
"Returns the previous visible TreeItem in the tree.\n"
"If [code]wrap[/code] is enabled, the method will wrap around to the last "
@@ -51371,89 +51649,92 @@ msgid ""
"otherwise it returns [code]null[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:257
+#: doc/classes/TreeItem.xml:258
msgid "Returns the given column's text."
msgstr ""
-#: doc/classes/TreeItem.xml:266
+#: doc/classes/TreeItem.xml:267
msgid "Returns the given column's text alignment."
msgstr ""
-#: doc/classes/TreeItem.xml:275
+#: doc/classes/TreeItem.xml:276
msgid "Returns the given column's tooltip."
msgstr ""
-#: doc/classes/TreeItem.xml:286
+#: doc/classes/TreeItem.xml:287
msgid ""
"Returns [code]true[/code] if the button at index [code]button_idx[/code] for "
"the given column is disabled."
msgstr ""
-#: doc/classes/TreeItem.xml:295
+#: doc/classes/TreeItem.xml:296
msgid "Returns [code]true[/code] if the given column is checked."
msgstr ""
-#: doc/classes/TreeItem.xml:312
+#: doc/classes/TreeItem.xml:313
msgid "Returns [code]true[/code] if column [code]column[/code] is editable."
msgstr ""
-#: doc/classes/TreeItem.xml:321
+#: doc/classes/TreeItem.xml:322
msgid "Returns [code]true[/code] if column [code]column[/code] is selectable."
msgstr ""
-#: doc/classes/TreeItem.xml:330
+#: doc/classes/TreeItem.xml:331
msgid "Returns [code]true[/code] if column [code]column[/code] is selected."
msgstr ""
-#: doc/classes/TreeItem.xml:337
+#: doc/classes/TreeItem.xml:338
msgid "Moves this TreeItem to the bottom in the [Tree] hierarchy."
msgstr ""
-#: doc/classes/TreeItem.xml:344
+#: doc/classes/TreeItem.xml:345
msgid "Moves this TreeItem to the top in the [Tree] hierarchy."
msgstr ""
-#: doc/classes/TreeItem.xml:353
-msgid "Removes the given child TreeItem."
+#: doc/classes/TreeItem.xml:354
+msgid ""
+"Removes the given child [TreeItem] and all its children from the [Tree]. "
+"Note that it doesn't free the item from memory, so it can be reused later. "
+"To completely remove a [TreeItem] use [method Object.free]."
msgstr ""
-#: doc/classes/TreeItem.xml:362
+#: doc/classes/TreeItem.xml:363
msgid "Selects the column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:375
+#: doc/classes/TreeItem.xml:376
msgid ""
"Sets the given column's button [Texture2D] at index [code]button_idx[/code] "
"to [code]button[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:388
+#: doc/classes/TreeItem.xml:389
msgid ""
"If [code]true[/code], disables the button at index [code]button_idx[/code] "
"in column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:399
+#: doc/classes/TreeItem.xml:400
msgid ""
"Sets the given column's cell mode to [code]mode[/code]. See [enum "
"TreeCellMode] constants."
msgstr ""
-#: doc/classes/TreeItem.xml:410
+#: doc/classes/TreeItem.xml:411
msgid "If [code]true[/code], the column [code]column[/code] is checked."
msgstr ""
-#: doc/classes/TreeItem.xml:433
+#: doc/classes/TreeItem.xml:434
msgid ""
"Sets the given column's custom background color and whether to just use it "
"as an outline."
msgstr ""
-#: doc/classes/TreeItem.xml:444
+#: doc/classes/TreeItem.xml:445
msgid "Sets the given column's custom color."
msgstr ""
-#: doc/classes/TreeItem.xml:457
+#: doc/classes/TreeItem.xml:458
msgid ""
"Sets the given column's custom draw callback to [code]callback[/code] method "
"on [code]object[/code].\n"
@@ -51461,82 +51742,82 @@ msgid ""
"is drawn and its position and size as a [Rect2]."
msgstr ""
-#: doc/classes/TreeItem.xml:469
+#: doc/classes/TreeItem.xml:470
msgid "If [code]true[/code], column [code]column[/code] is editable."
msgstr ""
-#: doc/classes/TreeItem.xml:480
+#: doc/classes/TreeItem.xml:481
msgid ""
"If [code]true[/code], column [code]column[/code] is expanded to the right."
msgstr ""
-#: doc/classes/TreeItem.xml:491
+#: doc/classes/TreeItem.xml:492
msgid "Sets the given column's icon [Texture2D]."
msgstr ""
-#: doc/classes/TreeItem.xml:502
+#: doc/classes/TreeItem.xml:503
msgid "Sets the given column's icon's maximum width."
msgstr ""
-#: doc/classes/TreeItem.xml:513
+#: doc/classes/TreeItem.xml:514
msgid "Modulates the given column's icon with [code]modulate[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:524
+#: doc/classes/TreeItem.xml:525
msgid "Sets the given column's icon's texture region."
msgstr ""
-#: doc/classes/TreeItem.xml:571
+#: doc/classes/TreeItem.xml:572
msgid "If [code]true[/code], the given column is selectable."
msgstr ""
-#: doc/classes/TreeItem.xml:592
+#: doc/classes/TreeItem.xml:593
msgid ""
"Sets the given column's text alignment. See [enum TextAlign] for possible "
"values."
msgstr ""
-#: doc/classes/TreeItem.xml:603
+#: doc/classes/TreeItem.xml:604
msgid "Sets the given column's tooltip text."
msgstr ""
-#: doc/classes/TreeItem.xml:609
+#: doc/classes/TreeItem.xml:610
msgid "If [code]true[/code], the TreeItem is collapsed."
msgstr ""
-#: doc/classes/TreeItem.xml:612
+#: doc/classes/TreeItem.xml:613
msgid "The custom minimum height."
msgstr ""
-#: doc/classes/TreeItem.xml:615
+#: doc/classes/TreeItem.xml:616
msgid "If [code]true[/code], folding is disabled for this TreeItem."
msgstr ""
-#: doc/classes/TreeItem.xml:620
+#: doc/classes/TreeItem.xml:621
msgid "Cell contains a string."
msgstr ""
-#: doc/classes/TreeItem.xml:623
+#: doc/classes/TreeItem.xml:624
msgid "Cell can be checked."
msgstr ""
-#: doc/classes/TreeItem.xml:626
+#: doc/classes/TreeItem.xml:627
msgid "Cell contains a range."
msgstr ""
-#: doc/classes/TreeItem.xml:629
+#: doc/classes/TreeItem.xml:630
msgid "Cell contains an icon."
msgstr ""
-#: doc/classes/TreeItem.xml:634
+#: doc/classes/TreeItem.xml:635
msgid "Align text to the left. See [code]set_text_align()[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:637
+#: doc/classes/TreeItem.xml:638
msgid "Center text. See [code]set_text_align()[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:640
+#: doc/classes/TreeItem.xml:641
msgid "Align text to the right. See [code]set_text_align()[/code]."
msgstr ""
@@ -51562,8 +51843,8 @@ msgid ""
"know the final values in advance. For example, interpolating a dynamically-"
"chosen camera zoom value is best done with a [Tween] node; it would be "
"difficult to do the same thing with an [AnimationPlayer] node.\n"
-"Here is a brief usage example that causes a 2D node to move smoothly between "
-"two positions:\n"
+"Here is a brief usage example that makes a 2D node move smoothly between two "
+"positions:\n"
"[codeblock]\n"
"var tween = get_node(\"Tween\")\n"
"tween.interpolate_property($Node2D, \"position\",\n"
@@ -51578,15 +51859,18 @@ msgid ""
"where it would only apply to that particular component.\n"
"Many of the methods accept [code]trans_type[/code] and [code]ease_type[/"
"code]. The first accepts an [enum TransitionType] constant, and refers to "
-"the way the timing of the animation is handled (see [code]http://easings.net/"
-"[/code] for some examples). The second accepts an [enum EaseType] constant, "
-"and controls the where [code]trans_type[/code] is applied to the "
-"interpolation (in the beginning, the end, or both). If you don't know which "
-"transition and easing to pick, you can try different [enum TransitionType] "
-"constants with [constant EASE_IN_OUT], and use the one that looks best."
+"the way the timing of the animation is handled (see [url=https://easings."
+"net/]easings.net[/url] for some examples). The second accepts an [enum "
+"EaseType] constant, and controls the where [code]trans_type[/code] is "
+"applied to the interpolation (in the beginning, the end, or both). If you "
+"don't know which transition and easing to pick, you can try different [enum "
+"TransitionType] constants with [constant EASE_IN_OUT], and use the one that "
+"looks best.\n"
+"[b][url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url][/b]"
msgstr ""
-#: doc/classes/Tween.xml:45
+#: doc/classes/Tween.xml:46
msgid ""
"Follows [code]method[/code] of [code]object[/code] and applies the returned "
"value on [code]target_method[/code] of [code]target[/code], beginning from "
@@ -51598,7 +51882,7 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:71
+#: doc/classes/Tween.xml:72
msgid ""
"Follows [code]property[/code] of [code]object[/code] and applies it on "
"[code]target_property[/code] of [code]target[/code], beginning from "
@@ -51610,21 +51894,21 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:79
+#: doc/classes/Tween.xml:80
msgid ""
"Returns the total time needed for all tweens to end. If you have two tweens, "
"one lasting 10 seconds and the other 20 seconds, it would return 20 seconds, "
"as by that time all tweens would have finished."
msgstr ""
-#: doc/classes/Tween.xml:102
+#: doc/classes/Tween.xml:103
msgid ""
"Calls [code]callback[/code] of [code]object[/code] after [code]duration[/"
"code]. [code]arg1[/code]-[code]arg5[/code] are arguments to be passed to the "
"callback."
msgstr ""
-#: doc/classes/Tween.xml:125
+#: doc/classes/Tween.xml:126
msgid ""
"Calls [code]callback[/code] of [code]object[/code] after [code]duration[/"
"code] on the main thread (similar to [method Object.call_deferred]). "
@@ -51632,7 +51916,7 @@ msgid ""
"callback."
msgstr ""
-#: doc/classes/Tween.xml:148
+#: doc/classes/Tween.xml:149
msgid ""
"Animates [code]method[/code] of [code]object[/code] from [code]initial_val[/"
"code] to [code]final_val[/code] for [code]duration[/code] seconds, "
@@ -51644,7 +51928,7 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:172
+#: doc/classes/Tween.xml:173
msgid ""
"Animates [code]property[/code] of [code]object[/code] from "
"[code]initial_val[/code] to [code]final_val[/code] for [code]duration[/code] "
@@ -51656,72 +51940,72 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:180
+#: doc/classes/Tween.xml:181
msgid ""
"Returns [code]true[/code] if any tweens are currently running.\n"
"[b]Note:[/b] This method doesn't consider tweens that have ended."
msgstr ""
-#: doc/classes/Tween.xml:192
+#: doc/classes/Tween.xml:193
msgid ""
"Stops animation and removes a tween, given its object and property/method "
"pair. By default, all tweens are removed, unless [code]key[/code] is "
"specified."
msgstr ""
-#: doc/classes/Tween.xml:199
+#: doc/classes/Tween.xml:200
msgid "Stops animation and removes all tweens."
msgstr ""
-#: doc/classes/Tween.xml:210
+#: doc/classes/Tween.xml:211
msgid ""
"Resets a tween to its initial value (the one given, not the one before the "
"tween), given its object and property/method pair. By default, all tweens "
"are removed, unless [code]key[/code] is specified."
msgstr ""
-#: doc/classes/Tween.xml:217
+#: doc/classes/Tween.xml:218
msgid ""
"Resets all tweens to their initial values (the ones given, not those before "
"the tween)."
msgstr ""
-#: doc/classes/Tween.xml:228
+#: doc/classes/Tween.xml:229
msgid ""
"Continues animating a stopped tween, given its object and property/method "
"pair. By default, all tweens are resumed, unless [code]key[/code] is "
"specified."
msgstr ""
-#: doc/classes/Tween.xml:235
+#: doc/classes/Tween.xml:236
msgid "Continues animating all stopped tweens."
msgstr ""
-#: doc/classes/Tween.xml:244
+#: doc/classes/Tween.xml:245
msgid "Sets the interpolation to the given [code]time[/code] in seconds."
msgstr ""
-#: doc/classes/Tween.xml:253
+#: doc/classes/Tween.xml:254
msgid ""
"Activates/deactivates the tween. See also [method stop_all] and [method "
"resume_all]."
msgstr ""
-#: doc/classes/Tween.xml:260
+#: doc/classes/Tween.xml:261
msgid "Starts the tween. You can define animations both before and after this."
msgstr ""
-#: doc/classes/Tween.xml:271
+#: doc/classes/Tween.xml:272
msgid ""
"Stops a tween, given its object and property/method pair. By default, all "
"tweens are stopped, unless [code]key[/code] is specified."
msgstr ""
-#: doc/classes/Tween.xml:278
+#: doc/classes/Tween.xml:279
msgid "Stops animating all tweens."
msgstr ""
-#: doc/classes/Tween.xml:303
+#: doc/classes/Tween.xml:304
msgid ""
"Animates [code]method[/code] of [code]object[/code] from the value returned "
"by [code]initial_method[/code] to [code]final_val[/code] for [code]duration[/"
@@ -51733,7 +52017,7 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:329
+#: doc/classes/Tween.xml:330
msgid ""
"Animates [code]property[/code] of [code]object[/code] from the current value "
"of the [code]initial_val[/code] property of [code]initial[/code] to "
@@ -51745,15 +52029,15 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:337
+#: doc/classes/Tween.xml:338
msgid "Returns the current time of the tween."
msgstr ""
-#: doc/classes/Tween.xml:343
+#: doc/classes/Tween.xml:344
msgid "The tween's animation process thread. See [enum TweenProcessMode]."
msgstr ""
-#: doc/classes/Tween.xml:346
+#: doc/classes/Tween.xml:347
msgid ""
"The tween's speed multiplier. For example, set it to [code]1.0[/code] for "
"normal speed, [code]2.0[/code] for two times normal speed, or [code]0.5[/"
@@ -51761,100 +52045,100 @@ msgid ""
"animation, but see also [method set_active] or [method stop_all] for this."
msgstr ""
-#: doc/classes/Tween.xml:349
+#: doc/classes/Tween.xml:350
msgid "If [code]true[/code], the tween loops."
msgstr ""
-#: doc/classes/Tween.xml:355
+#: doc/classes/Tween.xml:356
msgid "Emitted when all processes in a tween end."
msgstr ""
-#: doc/classes/Tween.xml:364
+#: doc/classes/Tween.xml:365
msgid "Emitted when a tween ends."
msgstr ""
-#: doc/classes/Tween.xml:373
+#: doc/classes/Tween.xml:374
msgid "Emitted when a tween starts."
msgstr ""
-#: doc/classes/Tween.xml:386
+#: doc/classes/Tween.xml:387
msgid "Emitted at each step of the animation."
msgstr ""
-#: doc/classes/Tween.xml:392
+#: doc/classes/Tween.xml:393
msgid "The tween updates with the [code]_physics_process[/code] callback."
msgstr ""
-#: doc/classes/Tween.xml:395
+#: doc/classes/Tween.xml:396
msgid "The tween updates with the [code]_process[/code] callback."
msgstr ""
-#: doc/classes/Tween.xml:398
+#: doc/classes/Tween.xml:399
msgid "The animation is interpolated linearly."
msgstr ""
-#: doc/classes/Tween.xml:401
+#: doc/classes/Tween.xml:402
msgid "The animation is interpolated using a sine function."
msgstr ""
-#: doc/classes/Tween.xml:404
+#: doc/classes/Tween.xml:405
msgid ""
"The animation is interpolated with a quintic (to the power of 5) function."
msgstr ""
-#: doc/classes/Tween.xml:407
+#: doc/classes/Tween.xml:408
msgid ""
"The animation is interpolated with a quartic (to the power of 4) function."
msgstr ""
-#: doc/classes/Tween.xml:410
+#: doc/classes/Tween.xml:411
msgid ""
"The animation is interpolated with a quadratic (to the power of 2) function."
msgstr ""
-#: doc/classes/Tween.xml:413
+#: doc/classes/Tween.xml:414
msgid ""
"The animation is interpolated with an exponential (to the power of x) "
"function."
msgstr ""
-#: doc/classes/Tween.xml:416
+#: doc/classes/Tween.xml:417
msgid ""
"The animation is interpolated with elasticity, wiggling around the edges."
msgstr ""
-#: doc/classes/Tween.xml:419
+#: doc/classes/Tween.xml:420
msgid ""
"The animation is interpolated with a cubic (to the power of 3) function."
msgstr ""
-#: doc/classes/Tween.xml:422
+#: doc/classes/Tween.xml:423
msgid "The animation is interpolated with a function using square roots."
msgstr ""
-#: doc/classes/Tween.xml:425
+#: doc/classes/Tween.xml:426
msgid "The animation is interpolated by bouncing at the end."
msgstr ""
-#: doc/classes/Tween.xml:428
+#: doc/classes/Tween.xml:429
msgid "The animation is interpolated backing out at ends."
msgstr ""
-#: doc/classes/Tween.xml:431
+#: doc/classes/Tween.xml:432
msgid "The interpolation starts slowly and speeds up towards the end."
msgstr ""
-#: doc/classes/Tween.xml:434
+#: doc/classes/Tween.xml:435
msgid "The interpolation starts quickly and slows down towards the end."
msgstr ""
-#: doc/classes/Tween.xml:437
+#: doc/classes/Tween.xml:438
msgid ""
"A combination of [constant EASE_IN] and [constant EASE_OUT]. The "
"interpolation is slowest at both ends."
msgstr ""
-#: doc/classes/Tween.xml:440
+#: doc/classes/Tween.xml:441
msgid ""
"A combination of [constant EASE_IN] and [constant EASE_OUT]. The "
"interpolation is fastest at both ends."
@@ -53458,69 +53742,90 @@ msgstr ""
msgid "If [code]true[/code], the viewport will process 3D audio streams."
msgstr ""
-#: doc/classes/Viewport.xml:199
+#: doc/classes/Viewport.xml:195
+msgid ""
+"Sets the default filter mode used by [CanvasItem]s in this Viewport. See "
+"[enum DefaultCanvasItemTextureFilter] for options."
+msgstr ""
+
+#: doc/classes/Viewport.xml:198
+msgid ""
+"Sets the default repeat mode used by [CanvasItem]s in this Viewport. See "
+"[enum DefaultCanvasItemTextureRepeat] for options."
+msgstr ""
+
+#: doc/classes/Viewport.xml:201
msgid ""
"The canvas transform of the viewport, useful for changing the on-screen "
"positions of all child [CanvasItem]s. This is relative to the global canvas "
"transform of the viewport."
msgstr ""
-#: doc/classes/Viewport.xml:202
+#: doc/classes/Viewport.xml:204
msgid "The overlay mode for test rendered geometry in debug purposes."
msgstr ""
-#: doc/classes/Viewport.xml:205
+#: doc/classes/Viewport.xml:207
msgid ""
"The global canvas transform of the viewport. The canvas transform is "
"relative to this."
msgstr ""
-#: doc/classes/Viewport.xml:208
+#: doc/classes/Viewport.xml:210
msgid "If [code]true[/code], the viewport will not receive input event."
msgstr ""
-#: doc/classes/Viewport.xml:213
+#: doc/classes/Viewport.xml:215
msgid ""
"If [code]true[/code], the GUI controls on the viewport will lay pixel "
"perfectly."
msgstr ""
-#: doc/classes/Viewport.xml:218
+#: doc/classes/Viewport.xml:220
msgid ""
"The multisample anti-aliasing mode. A higher number results in smoother "
"edges at the cost of significantly worse performance. A value of 4 is best "
"unless targeting very high-end systems."
msgstr ""
-#: doc/classes/Viewport.xml:221
+#: doc/classes/Viewport.xml:223
msgid ""
"If [code]true[/code], the viewport will use [World3D] defined in "
"[code]world[/code] property."
msgstr ""
-#: doc/classes/Viewport.xml:224
+#: doc/classes/Viewport.xml:226
msgid ""
"If [code]true[/code], the objects rendered by viewport become subjects of "
"mouse picking process."
msgstr ""
-#: doc/classes/Viewport.xml:227
+#: doc/classes/Viewport.xml:229
+msgid ""
+"Sets the screen-space antialiasing method used. Screen-space antialiasing "
+"works by selectively blurring edges in a post-process shader. It differs "
+"from MSAA which takes multiple coverage samples while rendering objects. "
+"Screen-space AA methods are typically faster than MSAA and will smooth out "
+"specular aliasing, but tend to make scenes appear blurry."
+msgstr ""
+
+#: doc/classes/Viewport.xml:232
msgid "The subdivision amount of the first quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:230
+#: doc/classes/Viewport.xml:235
msgid "The subdivision amount of the second quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:233
+#: doc/classes/Viewport.xml:238
msgid "The subdivision amount of the third quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:236
+#: doc/classes/Viewport.xml:241
msgid "The subdivision amount of the fourth quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:239
+#: doc/classes/Viewport.xml:244
msgid ""
"The shadow atlas' resolution (used for omni and spot lights). The value will "
"be rounded up to the nearest power of 2.\n"
@@ -53529,136 +53834,177 @@ msgid ""
"manually."
msgstr ""
-#: doc/classes/Viewport.xml:243
+#: doc/classes/Viewport.xml:248
msgid ""
"If [code]true[/code], the viewport should render its background as "
"transparent."
msgstr ""
-#: doc/classes/Viewport.xml:246
+#: doc/classes/Viewport.xml:251
msgid "The custom [World3D] which can be used as 3D environment source."
msgstr ""
-#: doc/classes/Viewport.xml:249
+#: doc/classes/Viewport.xml:254
msgid "The custom [World2D] which can be used as 2D environment source."
msgstr ""
-#: doc/classes/Viewport.xml:257
+#: doc/classes/Viewport.xml:262
msgid "Emitted when a Control node grabs keyboard focus."
msgstr ""
-#: doc/classes/Viewport.xml:262
+#: doc/classes/Viewport.xml:267
msgid ""
"Emitted when the size of the viewport is changed, whether by resizing of "
"window, or some other means."
msgstr ""
-#: doc/classes/Viewport.xml:268
+#: doc/classes/Viewport.xml:273
msgid "This quadrant will not be used."
msgstr ""
-#: doc/classes/Viewport.xml:271
+#: doc/classes/Viewport.xml:276
msgid "This quadrant will only be used by one shadow map."
msgstr ""
-#: doc/classes/Viewport.xml:274
+#: doc/classes/Viewport.xml:279
msgid "This quadrant will be split in 4 and used by up to 4 shadow maps."
msgstr ""
-#: doc/classes/Viewport.xml:277
+#: doc/classes/Viewport.xml:282
msgid "This quadrant will be split 16 ways and used by up to 16 shadow maps."
msgstr ""
-#: doc/classes/Viewport.xml:280
+#: doc/classes/Viewport.xml:285
msgid "This quadrant will be split 64 ways and used by up to 64 shadow maps."
msgstr ""
-#: doc/classes/Viewport.xml:283
+#: doc/classes/Viewport.xml:288
msgid ""
"This quadrant will be split 256 ways and used by up to 256 shadow maps. "
"Unless the [member shadow_atlas_size] is very high, the shadows in this "
"quadrant will be very low resolution."
msgstr ""
-#: doc/classes/Viewport.xml:286
+#: doc/classes/Viewport.xml:291
msgid ""
"This quadrant will be split 1024 ways and used by up to 1024 shadow maps. "
"Unless the [member shadow_atlas_size] is very high, the shadows in this "
"quadrant will be very low resolution."
msgstr ""
-#: doc/classes/Viewport.xml:289
+#: doc/classes/Viewport.xml:294
msgid "Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum."
msgstr ""
-#: doc/classes/Viewport.xml:292
-msgid "Amount of objects in frame."
+#: doc/classes/Viewport.xml:297
+msgid ""
+"Multisample antialiasing mode disabled. This is the default value, and also "
+"the fastest setting."
msgstr ""
-#: doc/classes/Viewport.xml:295
-msgid "Amount of vertices in frame."
+#: doc/classes/Viewport.xml:300
+msgid "Use 2x Multisample Antialiasing."
msgstr ""
-#: doc/classes/Viewport.xml:298
-msgid "Amount of material changes in frame."
+#: doc/classes/Viewport.xml:303
+msgid "Use 4x Multisample Antialiasing."
msgstr ""
-#: doc/classes/Viewport.xml:301
-msgid "Amount of shader changes in frame."
+#: doc/classes/Viewport.xml:306
+msgid ""
+"Use 8x Multisample Antialiasing. Likely unsupported on low-end and older "
+"hardware."
msgstr ""
-#: doc/classes/Viewport.xml:304
-msgid "Amount of surface changes in frame."
+#: doc/classes/Viewport.xml:309
+msgid ""
+"Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end "
+"hardware."
msgstr ""
-#: doc/classes/Viewport.xml:307
-msgid "Amount of draw calls in frame."
+#: doc/classes/Viewport.xml:312
+msgid "Represents the size of the [enum MSAA] enum."
msgstr ""
-#: doc/classes/Viewport.xml:310
-msgid "Represents the size of the [enum RenderInfo] enum."
+#: doc/classes/Viewport.xml:315
+msgid "Do not perform any antialiasing in the full screen post-process."
msgstr ""
-#: doc/classes/Viewport.xml:313
-msgid "Objects are displayed normally."
+#: doc/classes/Viewport.xml:318
+msgid ""
+"Use fast approximate antialiasing. FXAA is a popular screen-space "
+"antialising method, which is fast but will make the image look blurry, "
+"especially at lower resolutions. It can still work relatively well at large "
+"resolutions such as 1440p and 4K."
msgstr ""
-#: doc/classes/Viewport.xml:316
-msgid "Objects are displayed without light information."
+#: doc/classes/Viewport.xml:321
+msgid "Represents the size of the [enum ScreenSpaceAA] enum."
msgstr ""
-#: doc/classes/Viewport.xml:319
-msgid ""
-"Objected are displayed semi-transparent with additive blending so you can "
-"see where they intersect."
+#: doc/classes/Viewport.xml:324
+msgid "Amount of objects in frame."
msgstr ""
-#: doc/classes/Viewport.xml:322
-msgid "Objects are displayed in wireframe style."
+#: doc/classes/Viewport.xml:327
+msgid "Amount of vertices in frame."
+msgstr ""
+
+#: doc/classes/Viewport.xml:330
+msgid "Amount of material changes in frame."
+msgstr ""
+
+#: doc/classes/Viewport.xml:333
+msgid "Amount of shader changes in frame."
+msgstr ""
+
+#: doc/classes/Viewport.xml:336
+msgid "Amount of surface changes in frame."
msgstr ""
#: doc/classes/Viewport.xml:339
-msgid "Multisample anti-aliasing mode disabled. This is the default value."
+msgid "Amount of draw calls in frame."
msgstr ""
#: doc/classes/Viewport.xml:342
-msgid "Use 2x Multisample Antialiasing."
+msgid "Represents the size of the [enum RenderInfo] enum."
msgstr ""
#: doc/classes/Viewport.xml:345
-msgid "Use 4x Multisample Antialiasing."
+msgid "Objects are displayed normally."
msgstr ""
-#: doc/classes/Viewport.xml:348
+#: doc/classes/Viewport.xml:356
+msgid "Objects are displayed in wireframe style."
+msgstr ""
+
+#: doc/classes/Viewport.xml:378
msgid ""
-"Use 8x Multisample Antialiasing. Likely unsupported on low-end and older "
-"hardware."
+"Draws the screen-space ambient occlusion texture instead of the scene so "
+"that you can clearly see how it is affecting objects. In order for this "
+"display mode to work, you must have [member Environment.ssao_enabled] set in "
+"your [WorldEnvironment]."
msgstr ""
-#: doc/classes/Viewport.xml:351
+#: doc/classes/Viewport.xml:384
msgid ""
-"Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end "
-"hardware."
+"Colors each PSSM split for the [DirectionalLight3D]s in the scene a "
+"different color so you can see where the splits are. In order, they will be "
+"colored red, green, blue, and yellow."
+msgstr ""
+
+#: doc/classes/Viewport.xml:387
+msgid ""
+"Draws the decal atlas used by [Decal]s and light projector textures in the "
+"upper left quadrant of the [Viewport]."
+msgstr ""
+
+#: doc/classes/Viewport.xml:402
+msgid "Max value for [enum DefaultCanvasItemTextureFilter] enum."
+msgstr ""
+
+#: doc/classes/Viewport.xml:414
+msgid "Max value for [enum DefaultCanvasItemTextureRepeat] enum."
msgstr ""
#: doc/classes/ViewportTexture.xml:4
@@ -53680,7 +54026,7 @@ msgid ""
msgstr ""
#: doc/classes/VisibilityEnabler2D.xml:4 doc/classes/VisibilityEnabler3D.xml:4
-msgid "Enables certain nodes only when visible."
+msgid "Enables certain nodes only when approximately visible."
msgstr ""
#: doc/classes/VisibilityEnabler2D.xml:7
@@ -53688,78 +54034,82 @@ msgid ""
"The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and "
"other nodes when they are not visible. It will only affect nodes with the "
"same root node as the VisibilityEnabler2D, and the root node itself.\n"
-"Note that VisibilityEnabler2D will not affect nodes added after scene "
+"[b]Note:[/b] For performance reasons, VisibilityEnabler2D uses an "
+"approximate heuristic with precision determined by [member ProjectSettings."
+"world/2d/cell_size]. If you need exact visibility checking, use another "
+"method such as adding an [Area2D] node as a child of a [Camera2D] node.\n"
+"[b]Note:[/b] VisibilityEnabler2D will not affect nodes added after scene "
"initialization."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:19
-#: doc/classes/VisibilityEnabler3D.xml:19
+#: doc/classes/VisibilityEnabler2D.xml:20
+#: doc/classes/VisibilityEnabler3D.xml:20
msgid ""
"Returns whether the enabler identified by given [enum Enabler] constant is "
"active."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:30
-#: doc/classes/VisibilityEnabler3D.xml:30
+#: doc/classes/VisibilityEnabler2D.xml:31
+#: doc/classes/VisibilityEnabler3D.xml:31
msgid ""
"Sets active state of the enabler identified by given [enum Enabler] constant."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:36
+#: doc/classes/VisibilityEnabler2D.xml:37
msgid "If [code]true[/code], [RigidBody2D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:39
+#: doc/classes/VisibilityEnabler2D.xml:40
msgid "If [code]true[/code], [AnimatedSprite2D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:42
-#: doc/classes/VisibilityEnabler3D.xml:39
+#: doc/classes/VisibilityEnabler2D.xml:43
+#: doc/classes/VisibilityEnabler3D.xml:40
msgid "If [code]true[/code], [AnimationPlayer] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:45
+#: doc/classes/VisibilityEnabler2D.xml:46
msgid "If [code]true[/code], [GPUParticles2D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:48
+#: doc/classes/VisibilityEnabler2D.xml:49
msgid ""
"If [code]true[/code], the parent's [method Node._physics_process] will be "
"stopped."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:51
+#: doc/classes/VisibilityEnabler2D.xml:52
msgid ""
"If [code]true[/code], the parent's [method Node._process] will be stopped."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:56
-#: doc/classes/VisibilityEnabler3D.xml:44
+#: doc/classes/VisibilityEnabler2D.xml:57
+#: doc/classes/VisibilityEnabler3D.xml:45
msgid "This enabler will pause [AnimationPlayer] nodes."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:59
+#: doc/classes/VisibilityEnabler2D.xml:60
msgid "This enabler will freeze [RigidBody2D] nodes."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:62
+#: doc/classes/VisibilityEnabler2D.xml:63
msgid "This enabler will stop [GPUParticles2D] nodes."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:65
+#: doc/classes/VisibilityEnabler2D.xml:66
msgid "This enabler will stop the parent's _process function."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:68
+#: doc/classes/VisibilityEnabler2D.xml:69
msgid "This enabler will stop the parent's _physics_process function."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:71
+#: doc/classes/VisibilityEnabler2D.xml:72
msgid "This enabler will stop [AnimatedSprite2D] nodes animations."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:74
-#: doc/classes/VisibilityEnabler3D.xml:50
+#: doc/classes/VisibilityEnabler2D.xml:75
+#: doc/classes/VisibilityEnabler3D.xml:51
msgid "Represents the size of the [enum Enabler] enum."
msgstr ""
@@ -53768,31 +54118,39 @@ msgid ""
"The VisibilityEnabler3D will disable [RigidBody3D] and [AnimationPlayer] "
"nodes when they are not visible. It will only affect other nodes within the "
"same scene as the VisibilityEnabler3D itself.\n"
-"Note that VisibilityEnabler3D will not affect nodes added after scene "
+"[b]Note:[/b] VisibilityEnabler3D uses an approximate heuristic for "
+"performance reasons. It doesn't take walls and other occlusion into account. "
+"If you need exact visibility checking, use another method such as adding an "
+"[Area3D] node as a child of a [Camera3D] node.\n"
+"[b]Note:[/b] VisibilityEnabler3D will not affect nodes added after scene "
"initialization."
msgstr ""
-#: doc/classes/VisibilityEnabler3D.xml:36
+#: doc/classes/VisibilityEnabler3D.xml:37
msgid "If [code]true[/code], [RigidBody3D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler3D.xml:47
+#: doc/classes/VisibilityEnabler3D.xml:48
msgid "This enabler will freeze [RigidBody3D] nodes."
msgstr ""
#: doc/classes/VisibilityNotifier2D.xml:4
#: doc/classes/VisibilityNotifier3D.xml:4
-msgid "Detects when the node is visible on screen."
+msgid "Detects approximately when the node is visible on screen."
msgstr ""
#: doc/classes/VisibilityNotifier2D.xml:7
msgid ""
"The VisibilityNotifier2D detects when it is visible on the screen. It also "
"notifies when its bounding rectangle enters or exits the screen or a "
-"viewport."
+"viewport.\n"
+"[b]Note:[/b] For performance reasons, VisibilityNotifier2D uses an "
+"approximate heuristic with precision determined by [member ProjectSettings."
+"world/2d/cell_size]. If you need exact visibility checking, use another "
+"method such as adding an [Area2D] node as a child of a [Camera2D] node."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:16
+#: doc/classes/VisibilityNotifier2D.xml:17
msgid ""
"If [code]true[/code], the bounding rectangle is on the screen.\n"
"[b]Note:[/b] It takes one frame for the node's visibility to be assessed "
@@ -53801,23 +54159,23 @@ msgid ""
"pass."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:23
+#: doc/classes/VisibilityNotifier2D.xml:24
msgid "The VisibilityNotifier2D's bounding rectangle."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:29
+#: doc/classes/VisibilityNotifier2D.xml:30
msgid "Emitted when the VisibilityNotifier2D enters the screen."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:34
+#: doc/classes/VisibilityNotifier2D.xml:35
msgid "Emitted when the VisibilityNotifier2D exits the screen."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:41
+#: doc/classes/VisibilityNotifier2D.xml:42
msgid "Emitted when the VisibilityNotifier2D enters a [Viewport]'s view."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:48
+#: doc/classes/VisibilityNotifier2D.xml:49
msgid "Emitted when the VisibilityNotifier2D exits a [Viewport]'s view."
msgstr ""
@@ -53825,10 +54183,14 @@ msgstr ""
msgid ""
"The VisibilityNotifier3D detects when it is visible on the screen. It also "
"notifies when its bounding rectangle enters or exits the screen or a "
-"[Camera3D]'s view."
+"[Camera3D]'s view.\n"
+"[b]Note:[/b] VisibilityNotifier3D uses an approximate heuristic for "
+"performance reasons. It doesn't take walls and other occlusion into account. "
+"If you need exact visibility checking, use another method such as adding an "
+"[Area3D] node as a child of a [Camera3D] node."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:16
+#: doc/classes/VisibilityNotifier3D.xml:17
msgid ""
"If [code]true[/code], the bounding box is on the screen.\n"
"[b]Note:[/b] It takes one frame for the node's visibility to be assessed "
@@ -53837,23 +54199,23 @@ msgid ""
"pass."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:23
+#: doc/classes/VisibilityNotifier3D.xml:24
msgid "The VisibilityNotifier3D's bounding box."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:31
+#: doc/classes/VisibilityNotifier3D.xml:32
msgid "Emitted when the VisibilityNotifier3D enters a [Camera3D]'s view."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:38
+#: doc/classes/VisibilityNotifier3D.xml:39
msgid "Emitted when the VisibilityNotifier3D exits a [Camera3D]'s view."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:43
+#: doc/classes/VisibilityNotifier3D.xml:44
msgid "Emitted when the VisibilityNotifier3D enters the screen."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:48
+#: doc/classes/VisibilityNotifier3D.xml:49
msgid "Emitted when the VisibilityNotifier3D exits the screen."
msgstr ""
@@ -56445,7 +56807,7 @@ msgstr ""
msgid "The background of the area below the grabber."
msgstr ""
-#: doc/classes/VSlider.xml:33
+#: doc/classes/VSlider.xml:35
msgid ""
"The background for the whole slider. Determines the width of the "
"[code]grabber_area[/code]."
@@ -57427,6 +57789,667 @@ msgstr ""
msgid "Unknown node."
msgstr ""
+#: doc/classes/XRAnchor3D.xml:4
+msgid "An anchor point in AR space."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:7
+msgid ""
+"The [XRAnchor3D] point is a spatial node that maps a real world location "
+"identified by the AR platform to a position within the game world. For "
+"example, as long as plane detection in ARKit is on, ARKit will identify and "
+"update the position of planes (tables, floors, etc) and create anchors for "
+"them.\n"
+"This node is mapped to one of the anchors through its unique ID. When you "
+"receive a signal that a new anchor is available, you should add this node to "
+"your scene for that anchor. You can predefine nodes and set the ID; the "
+"nodes will simply remain on 0,0,0 until a plane is recognized.\n"
+"Keep in mind that, as long as plane detection is enabled, the size, placing "
+"and orientation of an anchor will be updated as the detection logic learns "
+"more about the real world out there especially if only part of the surface "
+"is in view."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:18
+msgid "Returns the name given to this anchor."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:25
+msgid ""
+"Returns [code]true[/code] if the anchor is being tracked and [code]false[/"
+"code] if no anchor with this ID is currently known."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:32
+msgid ""
+"If provided by the [XRInterface], this returns a mesh object for the anchor. "
+"For an anchor, this can be a shape related to the object being tracked or it "
+"can be a mesh that provides topology related to the anchor and can be used "
+"to create shadows/reflections on surfaces or for generating collision shapes."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:39
+msgid ""
+"Returns a plane aligned with our anchor; handy for intersection testing."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:46
+msgid ""
+"Returns the estimated size of the plane that was detected. Say when the "
+"anchor relates to a table in the real world, this is the estimated size of "
+"the surface of that table."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:52
+msgid ""
+"The anchor's ID. You can set this before the anchor itself exists. The first "
+"anchor gets an ID of [code]1[/code], the second an ID of [code]2[/code], "
+"etc. When anchors get removed, the engine can then assign the corresponding "
+"ID to new anchors. The most common situation where anchors \"disappear\" is "
+"when the AR server identifies that two anchors represent different parts of "
+"the same plane and merges them."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:60
+msgid ""
+"Emitted when the mesh associated with the anchor changes or when one becomes "
+"available. This is especially important for topology that is constantly "
+"being [code]mesh_updated[/code]."
+msgstr ""
+
+#: doc/classes/XRCamera3D.xml:4
+msgid ""
+"A camera node with a few overrules for AR/VR applied, such as location "
+"tracking."
+msgstr ""
+
+#: doc/classes/XRCamera3D.xml:7
+msgid ""
+"This is a helper spatial node for our camera; note that, if stereoscopic "
+"rendering is applicable (VR-HMD), most of the camera properties are ignored, "
+"as the HMD information overrides them. The only properties that can be "
+"trusted are the near and far planes.\n"
+"The position and orientation of this node is automatically updated by the XR "
+"Server to represent the location of the HMD if such tracking is available "
+"and can thus be used by game logic. Note that, in contrast to the XR "
+"Controller, the render thread has access to the most up-to-date tracking "
+"data of the HMD and the location of the XRCamera3D can lag a few "
+"milliseconds behind what is used for rendering as a result."
+msgstr ""
+
+#: doc/classes/XRCamera3D.xml:11 doc/classes/XRController3D.xml:12
+#: doc/classes/XRInterface.xml:11 doc/classes/XROrigin3D.xml:13
+#: doc/classes/XRPositionalTracker.xml:12 doc/classes/XRServer.xml:10
+msgid "https://docs.godotengine.org/en/latest/tutorials/vr/index.html"
+msgstr ""
+
+#: doc/classes/XRController3D.xml:4
+msgid "A spatial node representing a spatially-tracked controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:7
+msgid ""
+"This is a helper spatial node that is linked to the tracking of controllers. "
+"It also offers several handy passthroughs to the state of buttons and such "
+"on the controllers.\n"
+"Controllers are linked by their ID. You can create controller nodes before "
+"the controllers are available. If your game always uses two controllers (one "
+"for each hand), you can predefine the controllers with ID 1 and 2; they will "
+"become active as soon as the controllers are identified. If you expect "
+"additional controllers to be used, you should react to the signals and add "
+"XRController3D nodes to your scene.\n"
+"The position of the controller node is automatically updated by the "
+"[XRServer]. This makes this node ideal to add child nodes to visualize the "
+"controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:19
+msgid ""
+"If active, returns the name of the associated controller if provided by the "
+"AR/VR SDK used."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:26
+msgid ""
+"Returns the hand holding this controller, if known. See [enum "
+"XRPositionalTracker.TrackerHand]."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:33
+msgid ""
+"Returns [code]true[/code] if the bound controller is active. XR systems "
+"attempt to track active controllers."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:42
+msgid ""
+"Returns the value of the given axis for things like triggers, touchpads, "
+"etc. that are embedded into the controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:49
+msgid ""
+"Returns the ID of the joystick object bound to this. Every controller "
+"tracked by the [XRServer] that has buttons and axis will also be registered "
+"as a joystick within Godot. This means that all the normal joystick tracking "
+"and input mapping will work for buttons and axis found on the AR/VR "
+"controllers. This ID is purely offered as information so you can link up the "
+"controller with its joystick entry."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:56
+msgid ""
+"If provided by the [XRInterface], this returns a mesh associated with the "
+"controller. This can be used to visualize the controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:65
+msgid ""
+"Returns [code]true[/code] if the button at index [code]button[/code] is "
+"pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] "
+"constants."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:71
+msgid ""
+"The controller's ID.\n"
+"A controller ID of 0 is unbound and will always result in an inactive node. "
+"Controller ID 1 is reserved for the first controller that identifies itself "
+"as the left-hand controller and ID 2 is reserved for the first controller "
+"that identifies itself as the right-hand controller.\n"
+"For any other controller that the [XRServer] detects, we continue with "
+"controller ID 3.\n"
+"When a controller is turned off, its slot is freed. This ensures controllers "
+"will keep the same ID even when controllers with lower IDs are turned off."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:77
+msgid ""
+"The degree to which the controller vibrates. Ranges from [code]0.0[/code] to "
+"[code]1.0[/code] with precision [code].01[/code]. If changed, updates "
+"[member XRPositionalTracker.rumble] accordingly.\n"
+"This is a useful property to animate if you want the controller to vibrate "
+"for a limited duration."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:86
+msgid "Emitted when a button on this controller is pressed."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:93
+msgid "Emitted when a button on this controller is released."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:100
+msgid ""
+"Emitted when the mesh associated with the controller changes or when one "
+"becomes available. Generally speaking this will be a static mesh after "
+"becoming available."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:4
+msgid "Base class for an AR/VR interface implementation."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:7
+msgid ""
+"This class needs to be implemented to make an AR or VR platform available to "
+"Godot and these should be implemented as C++ modules or GDNative modules "
+"(note that for GDNative the subclass XRScriptInterface should be used). Part "
+"of the interface is exposed to GDScript so you can detect, enable and "
+"configure an AR or VR platform.\n"
+"Interfaces should be written in such a way that simply enabling them will "
+"give us a working setup. You can query the available interfaces through "
+"[XRServer]."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:18
+msgid ""
+"If this is an AR interface that requires displaying a camera feed as the "
+"background, this method returns the feed ID in the [CameraServer] for this "
+"interface."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:25
+msgid ""
+"Returns a combination of [enum Capabilities] flags providing information "
+"about the capabilities of this interface."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:32
+msgid "Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:39
+msgid ""
+"Returns the resolution at which we should render our intermediate results "
+"before things like lens distortion are applied by the VR platform."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:46
+msgid ""
+"If supported, returns the status of our tracking. This will allow you to "
+"provide feedback to the user whether there are issues with positional "
+"tracking."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:53
+msgid ""
+"Call this to initialize this interface. The first interface that is "
+"initialized is identified as the primary interface and it will be used for "
+"rendering output.\n"
+"After initializing the interface you want to use you then need to enable the "
+"AR/VR mode of a viewport and rendering should commence.\n"
+"[b]Note:[/b] You must enable the AR/VR mode on the main viewport for any "
+"device that uses the main output of Godot, such as for mobile VR.\n"
+"If you do this for a platform that handles its own output (such as OpenVR) "
+"Godot will show just one eye without distortion on screen. Alternatively, "
+"you can add a separate viewport node to your scene and enable AR/VR on that "
+"viewport. It will be used to output to the HMD, leaving you free to do "
+"anything you like in the main window, such as using a separate camera as a "
+"spectator camera or rendering something completely different.\n"
+"While currently not used, you can activate additional interfaces. You may "
+"wish to do this if you want to track controllers from other platforms. "
+"However, at this point in time only one interface can render to an HMD."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:64
+msgid ""
+"Returns [code]true[/code] if the current output of this interface is in "
+"stereo."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:71
+msgid "Turns the interface off."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:77
+msgid "On an AR interface, [code]true[/code] if anchor detection is enabled."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:80
+msgid "[code]true[/code] if this interface been initialized."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:83
+msgid "[code]true[/code] if this is the primary interface."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:88
+msgid "No XR capabilities."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:91
+msgid ""
+"This interface can work with normal rendering output (non-HMD based AR)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:94
+msgid "This interface supports stereoscopic rendering."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:97
+msgid "This interface supports AR (video background and real world tracking)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:100
+msgid ""
+"This interface outputs to an external device. If the main viewport is used, "
+"the on screen output is an unmodified buffer of either the left or right eye "
+"(stretched if the viewport size is not changed to the same aspect ratio of "
+"[method get_render_targetsize]). Using a separate viewport node frees up the "
+"main viewport for other purposes."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:103
+msgid ""
+"Mono output, this is mostly used internally when retrieving positioning "
+"information for our camera node or when stereo scopic rendering is not "
+"supported."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:106
+msgid ""
+"Left eye output, this is mostly used internally when rendering the image for "
+"the left eye and obtaining positioning and projection information."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:109
+msgid ""
+"Right eye output, this is mostly used internally when rendering the image "
+"for the right eye and obtaining positioning and projection information."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:112
+msgid "Tracking is behaving as expected."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:115
+msgid ""
+"Tracking is hindered by excessive motion (the player is moving faster than "
+"tracking can keep up)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:118
+msgid ""
+"Tracking is hindered by insufficient features, it's too dark (for camera-"
+"based tracking), player is blocked, etc."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:121
+msgid ""
+"We don't know the status of the tracking or this interface does not provide "
+"feedback."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:124
+msgid ""
+"Tracking is not functional (camera not plugged in or obscured, lighthouses "
+"turned off, etc.)."
+msgstr ""
+
+#: modules/gdnative/doc_classes/XRInterfaceGDNative.xml:4
+msgid "GDNative wrapper for an XR interface."
+msgstr ""
+
+#: modules/gdnative/doc_classes/XRInterfaceGDNative.xml:7
+msgid ""
+"This is a wrapper class for GDNative implementations of the XR interface. To "
+"use a GDNative XR interface, simply instantiate this object and set your "
+"GDNative library containing the XR interface implementation."
+msgstr ""
+
+#: doc/classes/XROrigin3D.xml:4
+msgid "The origin point in AR/VR."
+msgstr ""
+
+#: doc/classes/XROrigin3D.xml:7
+msgid ""
+"This is a special node within the AR/VR system that maps the physical "
+"location of the center of our tracking space to the virtual location within "
+"our game world.\n"
+"There should be only one of these nodes in your scene and you must have one. "
+"All the XRCamera3D, XRController3D and XRAnchor3D nodes should be direct "
+"children of this node for spatial tracking to work correctly.\n"
+"It is the position of this node that you update when your character needs to "
+"move through your game world while we're not moving in the real world. "
+"Movement in the real world is always in relation to this origin point.\n"
+"For example, if your character is driving a car, the XROrigin3D node should "
+"be a child node of this car. Or, if you're implementing a teleport system to "
+"move your character, you should change the position of this node."
+msgstr ""
+
+#: doc/classes/XROrigin3D.xml:19
+msgid ""
+"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
+"assume a scale of 1 game world unit = 1 real world meter.\n"
+"[b]Note:[/b] This method is a passthrough to the [XRServer] itself."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:4
+msgid "A tracked object."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:7
+msgid ""
+"An instance of this object represents a device that is tracked, such as a "
+"controller or anchor point. HMDs aren't represented here as they are handled "
+"internally.\n"
+"As controllers are turned on and the AR/VR interface detects them, instances "
+"of this object are automatically added to this list of active tracking "
+"objects accessible through the [XRServer].\n"
+"The [XRController3D] and [XRAnchor3D] both consume objects of this type and "
+"should be used in your project. The positional trackers are just under-the-"
+"hood objects that make this all work. These are mostly exposed so that "
+"GDNative-based interfaces can interact with them."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:19
+msgid ""
+"Returns the hand holding this tracker, if known. See [enum TrackerHand] "
+"constants."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:26
+msgid ""
+"If this is a controller that is being tracked, the controller will also be "
+"represented by a joystick entry with this ID."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:33
+msgid ""
+"Returns the mesh related to a controller or anchor point if one is available."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:40
+msgid "Returns the controller or anchor point's name if available."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:47
+msgid "Returns the controller's orientation matrix."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:54
+msgid "Returns the world-space controller position."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:61
+msgid ""
+"Returns the internal tracker ID. This uniquely identifies the tracker per "
+"tracker type and matches the ID you need to specify for nodes such as the "
+"[XRController3D] and [XRAnchor3D] nodes."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:68
+msgid "Returns [code]true[/code] if this device tracks orientation."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:75
+msgid "Returns [code]true[/code] if this device tracks position."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:84
+msgid "Returns the transform combining this device's orientation and position."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:91
+msgid "Returns the tracker's type."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:97
+msgid ""
+"The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to "
+"[code]1.0[/code] with precision [code].01[/code]."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:102
+msgid "The hand this tracker is held in is unknown or not applicable."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:105
+msgid "This tracker is the left hand controller."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:108
+msgid "This tracker is the right hand controller."
+msgstr ""
+
+#: doc/classes/XRServer.xml:4
+msgid "Server for AR and VR features."
+msgstr ""
+
+#: doc/classes/XRServer.xml:7
+msgid ""
+"The AR/VR server is the heart of our Advanced and Virtual Reality solution "
+"and handles all the processing."
+msgstr ""
+
+#: doc/classes/XRServer.xml:21
+msgid ""
+"This is an important function to understand correctly. AR and VR platforms "
+"all handle positioning slightly differently.\n"
+"For platforms that do not offer spatial tracking, our origin point (0,0,0) "
+"is the location of our HMD, but you have little control over the direction "
+"the player is facing in the real world.\n"
+"For platforms that do offer spatial tracking, our origin point depends very "
+"much on the system. For OpenVR, our origin point is usually the center of "
+"the tracking space, on the ground. For other platforms, it's often the "
+"location of the tracking camera.\n"
+"This method allows you to center your tracker on the location of the HMD. It "
+"will take the current location of the HMD and use that to adjust all your "
+"tracking data; in essence, realigning the real world to your player's "
+"current position in the game world.\n"
+"For this method to produce usable results, tracking information must be "
+"available. This often takes a few frames after starting your game.\n"
+"You should call this method after a few seconds have passed. For instance, "
+"when the user requests a realignment of the display holding a designated "
+"button on a controller for a short period of time, or when implementing a "
+"teleport mechanism."
+msgstr ""
+
+#: doc/classes/XRServer.xml:35
+msgid ""
+"Finds an interface by its name. For instance, if your project uses "
+"capabilities of an AR/VR platform, you can find the interface for that "
+"platform by name and initialize it."
+msgstr ""
+
+#: doc/classes/XRServer.xml:42
+msgid "Returns the primary interface's transformation."
+msgstr ""
+
+#: doc/classes/XRServer.xml:51
+msgid ""
+"Returns the interface registered at a given index in our list of interfaces."
+msgstr ""
+
+#: doc/classes/XRServer.xml:58
+msgid ""
+"Returns the number of interfaces currently registered with the AR/VR server. "
+"If your project supports multiple AR/VR platforms, you can look through the "
+"available interface, and either present the user with a selection or simply "
+"try to initialize each interface and use the first one that returns "
+"[code]true[/code]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:65
+msgid ""
+"Returns a list of available interfaces the ID and name of each interface."
+msgstr ""
+
+#: doc/classes/XRServer.xml:72
+msgid ""
+"Returns the absolute timestamp (in μs) of the last [XRServer] commit of the "
+"AR/VR eyes to [RenderingServer]. The value comes from an internal call to "
+"[method OS.get_ticks_usec]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:79
+msgid ""
+"Returns the duration (in μs) of the last frame. This is computed as the "
+"difference between [method get_last_commit_usec] and [method "
+"get_last_process_usec] when committing."
+msgstr ""
+
+#: doc/classes/XRServer.xml:86
+msgid ""
+"Returns the absolute timestamp (in μs) of the last [XRServer] process "
+"callback. The value comes from an internal call to [method OS."
+"get_ticks_usec]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:93
+msgid ""
+"Returns the reference frame transform. Mostly used internally and exposed "
+"for GDNative build interfaces."
+msgstr ""
+
+#: doc/classes/XRServer.xml:102
+msgid "Returns the positional tracker at the given ID."
+msgstr ""
+
+#: doc/classes/XRServer.xml:109
+msgid "Returns the number of trackers currently registered."
+msgstr ""
+
+#: doc/classes/XRServer.xml:115
+msgid "The primary [XRInterface] currently bound to the [XRServer]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:118
+msgid ""
+"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
+"assume a scale of 1 game world unit = 1 real world meter."
+msgstr ""
+
+#: doc/classes/XRServer.xml:126
+msgid "Emitted when a new interface has been added."
+msgstr ""
+
+#: doc/classes/XRServer.xml:133
+msgid "Emitted when an interface is removed."
+msgstr ""
+
+#: doc/classes/XRServer.xml:144
+msgid ""
+"Emitted when a new tracker has been added. If you don't use a fixed number "
+"of controllers or if you're using [XRAnchor3D]s for an AR solution, it is "
+"important to react to this signal to add the appropriate [XRController3D] or "
+"[XRAnchor3D] nodes related to this new tracker."
+msgstr ""
+
+#: doc/classes/XRServer.xml:155
+msgid ""
+"Emitted when a tracker is removed. You should remove any [XRController3D] or "
+"[XRAnchor3D] points if applicable. This is not mandatory, the nodes simply "
+"become inactive and will be made active again when a new tracker becomes "
+"available (i.e. a new controller is switched on that takes the place of the "
+"previous one)."
+msgstr ""
+
+#: doc/classes/XRServer.xml:161
+msgid "The tracker tracks the location of a controller."
+msgstr ""
+
+#: doc/classes/XRServer.xml:164
+msgid "The tracker tracks the location of a base station."
+msgstr ""
+
+#: doc/classes/XRServer.xml:167
+msgid "The tracker tracks the location and size of an AR anchor."
+msgstr ""
+
+#: doc/classes/XRServer.xml:170
+msgid "Used internally to filter trackers of any known type."
+msgstr ""
+
+#: doc/classes/XRServer.xml:173
+msgid "Used internally if we haven't set the tracker type yet."
+msgstr ""
+
+#: doc/classes/XRServer.xml:176
+msgid "Used internally to select all trackers."
+msgstr ""
+
+#: doc/classes/XRServer.xml:179
+msgid ""
+"Fully reset the orientation of the HMD. Regardless of what direction the "
+"user is looking to in the real world. The user will look dead ahead in the "
+"virtual world."
+msgstr ""
+
+#: doc/classes/XRServer.xml:182
+msgid ""
+"Resets the orientation but keeps the tilt of the device. So if we're looking "
+"down, we keep looking down but heading will be reset."
+msgstr ""
+
+#: doc/classes/XRServer.xml:185
+msgid ""
+"Does not reset the orientation of the HMD, only the position of the player "
+"gets centered."
+msgstr ""
+
#: doc/classes/YSort.xml:4
msgid "Sort all child nodes based on their Y positions."
msgstr ""
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index 51313f873b..d39ab5f248 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -9,15 +9,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Rémi Verschelde <remi@godotengine.org>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-classes/fr/>\n"
"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.3\n"
#: doc/tools/makerst.py
@@ -1214,19 +1214,19 @@ msgid ""
msgstr ""
#: doc/classes/@GlobalScope.xml:16
-msgid "The [ARVRServer] singleton."
+msgid "The [AudioServer] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:19
-msgid "The [AudioServer] singleton."
+msgid "The [CameraServer] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:22
-msgid "The [CameraServer] singleton."
+msgid "The [ClassDB] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:25
-msgid "The [ClassDB] singleton."
+msgid "The [DisplayServer] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:28
@@ -1238,90 +1238,89 @@ msgid "The [Geometry] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:34
-msgid ""
-"The [GodotSharp] singleton. Only available when using Godot's Mono build."
+msgid "The [IP] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:37
-msgid "The [IP] singleton."
+msgid "The [Input] singleton."
msgstr ""
#: doc/classes/@GlobalScope.xml:40
-msgid "The [InputFilter] singleton."
-msgstr ""
-
-#: doc/classes/@GlobalScope.xml:43
msgid "The [InputMap] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:46
+#: doc/classes/@GlobalScope.xml:43
msgid "The [JSON] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:49
+#: doc/classes/@GlobalScope.xml:46
msgid ""
"The [JavaClassWrapper] singleton.\n"
"[b]Note:[/b] Only implemented on Android."
msgstr ""
-#: doc/classes/@GlobalScope.xml:53
+#: doc/classes/@GlobalScope.xml:50
msgid ""
"The [JavaScript] singleton.\n"
"[b]Note:[/b] Only implemented on HTML5."
msgstr ""
-#: doc/classes/@GlobalScope.xml:57
+#: doc/classes/@GlobalScope.xml:54
msgid "The [Marshalls] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:60
+#: doc/classes/@GlobalScope.xml:57
msgid "The [NavigationMeshGenerator] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:63 doc/classes/@GlobalScope.xml:66
+#: doc/classes/@GlobalScope.xml:60 doc/classes/@GlobalScope.xml:63
msgid "The [NavigationServer2D] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:69
+#: doc/classes/@GlobalScope.xml:66
msgid "The [OS] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:72
+#: doc/classes/@GlobalScope.xml:69
msgid "The [Performance] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:75
+#: doc/classes/@GlobalScope.xml:72
msgid "The [PhysicsServer2D] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:78
+#: doc/classes/@GlobalScope.xml:75
msgid "The [PhysicsServer3D] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:81
+#: doc/classes/@GlobalScope.xml:78
msgid "The [ProjectSettings] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:84
+#: doc/classes/@GlobalScope.xml:81
msgid "The [RenderingServer] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:87
+#: doc/classes/@GlobalScope.xml:84
msgid "The [ResourceLoader] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:90
+#: doc/classes/@GlobalScope.xml:87
msgid "The [ResourceSaver] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:93
+#: doc/classes/@GlobalScope.xml:90
msgid "The [TranslationServer] singleton."
msgstr ""
-#: doc/classes/@GlobalScope.xml:96
+#: doc/classes/@GlobalScope.xml:93
msgid "The [VisualScriptEditor] singleton."
msgstr ""
+#: doc/classes/@GlobalScope.xml:96
+msgid "The [XRServer] singleton."
+msgstr ""
+
#: doc/classes/@GlobalScope.xml:101
msgid "Left margin, usually used for [Control] or [StyleBox]-derived classes."
msgstr ""
@@ -1404,7 +1403,7 @@ msgid "Tab key."
msgstr ""
#: doc/classes/@GlobalScope.xml:158
-msgid "Shift+Tab key."
+msgid "Shift + Tab key."
msgstr ""
#: doc/classes/@GlobalScope.xml:161
@@ -3134,305 +3133,311 @@ msgid "Used to categorize properties together in the editor."
msgstr ""
#: doc/classes/@GlobalScope.xml:1424
-msgid "The property does not save its state in [PackedScene]."
+msgid ""
+"Used to group properties together in the editor in a subgroup (under a "
+"group)."
msgstr ""
#: doc/classes/@GlobalScope.xml:1427
-msgid "Editing the property prompts the user for restarting the editor."
+msgid "The property does not save its state in [PackedScene]."
msgstr ""
#: doc/classes/@GlobalScope.xml:1430
+msgid "Editing the property prompts the user for restarting the editor."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml:1433
msgid ""
"The property is a script variable which should be serialized and saved in "
"the scene file."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1433
+#: doc/classes/@GlobalScope.xml:1436
msgid "Default usage (storage, editor and network)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1436
+#: doc/classes/@GlobalScope.xml:1439
msgid ""
"Default usage for translatable strings (storage, editor, network and "
"internationalized)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1439
+#: doc/classes/@GlobalScope.xml:1442
msgid ""
"Default usage but without showing the property in the editor (storage, "
"network)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1442
+#: doc/classes/@GlobalScope.xml:1445
msgid "Flag for a normal method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1445
+#: doc/classes/@GlobalScope.xml:1448
msgid "Flag for an editor method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1448 doc/classes/@GlobalScope.xml:1454
-#: doc/classes/@GlobalScope.xml:1460
+#: doc/classes/@GlobalScope.xml:1451 doc/classes/@GlobalScope.xml:1457
+#: doc/classes/@GlobalScope.xml:1463
msgid "Deprecated method flag, unused."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1451
+#: doc/classes/@GlobalScope.xml:1454
msgid "Flag for a constant method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1457
+#: doc/classes/@GlobalScope.xml:1460
msgid "Flag for a virtual method."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1463
+#: doc/classes/@GlobalScope.xml:1466
msgid "Default method flags."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1466
+#: doc/classes/@GlobalScope.xml:1469
msgid "Variable is [code]null[/code]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1469
+#: doc/classes/@GlobalScope.xml:1472
msgid "Variable is of type [bool]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1472
+#: doc/classes/@GlobalScope.xml:1475
msgid "Variable is of type [int]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1475
+#: doc/classes/@GlobalScope.xml:1478
msgid "Variable is of type [float] (real)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1478
+#: doc/classes/@GlobalScope.xml:1481
msgid "Variable is of type [String]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1481
+#: doc/classes/@GlobalScope.xml:1484
msgid "Variable is of type [Vector2]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1484
+#: doc/classes/@GlobalScope.xml:1487
msgid "Variable is of type [Vector2i]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1487
+#: doc/classes/@GlobalScope.xml:1490
msgid "Variable is of type [Rect2]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1490
+#: doc/classes/@GlobalScope.xml:1493
msgid "Variable is of type [Rect2i]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1493
+#: doc/classes/@GlobalScope.xml:1496
msgid "Variable is of type [Vector3]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1496
+#: doc/classes/@GlobalScope.xml:1499
msgid "Variable is of type [Vector3i]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1499
+#: doc/classes/@GlobalScope.xml:1502
msgid "Variable is of type [Transform2D]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1502
+#: doc/classes/@GlobalScope.xml:1505
msgid "Variable is of type [Plane]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1505
+#: doc/classes/@GlobalScope.xml:1508
msgid "Variable is of type [Quat]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1508
+#: doc/classes/@GlobalScope.xml:1511
msgid "Variable is of type [AABB]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1511
+#: doc/classes/@GlobalScope.xml:1514
msgid "Variable is of type [Basis]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1514
+#: doc/classes/@GlobalScope.xml:1517
msgid "Variable is of type [Transform]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1517
+#: doc/classes/@GlobalScope.xml:1520
msgid "Variable is of type [Color]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1520
+#: doc/classes/@GlobalScope.xml:1523
msgid "Variable is of type [StringName]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1523
+#: doc/classes/@GlobalScope.xml:1526
msgid "Variable is of type [NodePath]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1526
+#: doc/classes/@GlobalScope.xml:1529
msgid "Variable is of type [RID]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1529
+#: doc/classes/@GlobalScope.xml:1532
msgid "Variable is of type [Object]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1532
+#: doc/classes/@GlobalScope.xml:1535
msgid "Variable is of type [Callable]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1535
+#: doc/classes/@GlobalScope.xml:1538
msgid "Variable is of type [Signal]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1538
+#: doc/classes/@GlobalScope.xml:1541
msgid "Variable is of type [Dictionary]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1541
+#: doc/classes/@GlobalScope.xml:1544
msgid "Variable is of type [Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1544
+#: doc/classes/@GlobalScope.xml:1547
msgid "Variable is of type [PackedByteArray]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1547
+#: doc/classes/@GlobalScope.xml:1550
msgid "Variable is of type [PackedInt32Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1550
+#: doc/classes/@GlobalScope.xml:1553
msgid "Variable is of type [PackedInt64Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1553
+#: doc/classes/@GlobalScope.xml:1556
msgid "Variable is of type [PackedFloat32Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1556
+#: doc/classes/@GlobalScope.xml:1559
msgid "Variable is of type [PackedFloat64Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1559
+#: doc/classes/@GlobalScope.xml:1562
msgid "Variable is of type [PackedStringArray]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1562
+#: doc/classes/@GlobalScope.xml:1565
msgid "Variable is of type [PackedVector2Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1565
+#: doc/classes/@GlobalScope.xml:1568
msgid "Variable is of type [PackedVector3Array]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1568
+#: doc/classes/@GlobalScope.xml:1571
msgid "Variable is of type [PackedColorArray]."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1571
+#: doc/classes/@GlobalScope.xml:1574
msgid "Represents the size of the [enum Variant.Type] enum."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1574
+#: doc/classes/@GlobalScope.xml:1577
msgid "Equality operator ([code]==[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1577
+#: doc/classes/@GlobalScope.xml:1580
msgid "Inequality operator ([code]!=[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1580
+#: doc/classes/@GlobalScope.xml:1583
msgid "Less than operator ([code]<[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1583
+#: doc/classes/@GlobalScope.xml:1586
msgid "Less than or equal operator ([code]<=[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1586
+#: doc/classes/@GlobalScope.xml:1589
msgid "Greater than operator ([code]>[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1589
+#: doc/classes/@GlobalScope.xml:1592
msgid "Greater than or equal operator ([code]>=[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1592
+#: doc/classes/@GlobalScope.xml:1595
msgid "Addition operator ([code]+[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1595
+#: doc/classes/@GlobalScope.xml:1598
msgid "Subtraction operator ([code]-[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1598
+#: doc/classes/@GlobalScope.xml:1601
msgid "Multiplication operator ([code]*[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1601
+#: doc/classes/@GlobalScope.xml:1604
msgid "Division operator ([code]/[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1604
+#: doc/classes/@GlobalScope.xml:1607
msgid "Unary negation operator ([code]-[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1607
+#: doc/classes/@GlobalScope.xml:1610
msgid "Unary plus operator ([code]+[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1610
+#: doc/classes/@GlobalScope.xml:1613
msgid "Remainder/modulo operator ([code]%[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1613
+#: doc/classes/@GlobalScope.xml:1616
msgid "String concatenation operator ([code]+[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1616
+#: doc/classes/@GlobalScope.xml:1619
msgid "Left shift operator ([code]<<[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1619
+#: doc/classes/@GlobalScope.xml:1622
msgid "Right shift operator ([code]>>[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1622
+#: doc/classes/@GlobalScope.xml:1625
msgid "Bitwise AND operator ([code]&[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1625
+#: doc/classes/@GlobalScope.xml:1628
msgid "Bitwise OR operator ([code]|[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1628
+#: doc/classes/@GlobalScope.xml:1631
msgid "Bitwise XOR operator ([code]^[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1631
+#: doc/classes/@GlobalScope.xml:1634
msgid "Bitwise NOT operator ([code]~[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1634
+#: doc/classes/@GlobalScope.xml:1637
msgid "Logical AND operator ([code]and[/code] or [code]&&[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1637
+#: doc/classes/@GlobalScope.xml:1640
msgid "Logical OR operator ([code]or[/code] or [code]||[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1640
+#: doc/classes/@GlobalScope.xml:1643
msgid "Logical XOR operator (not implemented in GDScript)."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1643
+#: doc/classes/@GlobalScope.xml:1646
msgid "Logical NOT operator ([code]not[/code] or [code]![/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1646
+#: doc/classes/@GlobalScope.xml:1649
msgid "Logical IN operator ([code]in[/code])."
msgstr ""
-#: doc/classes/@GlobalScope.xml:1649
+#: doc/classes/@GlobalScope.xml:1652
msgid "Represents the size of the [enum Variant.Operator] enum."
msgstr ""
@@ -3804,6 +3809,10 @@ msgid ""
msgstr ""
#: doc/classes/AnimatedTexture.xml:65
+msgid "Sets the currently visible frame of the texture."
+msgstr ""
+
+#: doc/classes/AnimatedTexture.xml:68
msgid ""
"Animation speed in frames per second. This value defines the default time "
"interval between two frames of the animation, and thus the overall duration "
@@ -3814,7 +3823,7 @@ msgid ""
"code] value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds."
msgstr ""
-#: doc/classes/AnimatedTexture.xml:69
+#: doc/classes/AnimatedTexture.xml:72
msgid ""
"Number of frames to use in the animation. While you can create the frames "
"independently with [method set_frame_texture], you need to set this value "
@@ -3822,7 +3831,21 @@ msgid ""
"frames is [constant MAX_FRAMES]."
msgstr ""
-#: doc/classes/AnimatedTexture.xml:74
+#: doc/classes/AnimatedTexture.xml:75
+msgid ""
+"If [code]true[/code], the animation will only play once and will not loop "
+"back to the first frame after reaching the end. Note that reaching the end "
+"will not set [member pause] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/AnimatedTexture.xml:78
+msgid ""
+"If [code]true[/code], the animation will pause where it currently is (i.e. "
+"at [member current_frame]). The animation will continue from where it was "
+"paused when changing this property to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/AnimatedTexture.xml:83
msgid ""
"The maximum number of frames supported by [AnimatedTexture]. If you need "
"more frames in your animation, use [AnimationPlayer] or [AnimatedSprite2D]."
@@ -6102,22 +6125,27 @@ msgid ""
"var m = MeshInstance3D.new()\n"
"m.mesh = arr_mesh\n"
"[/codeblock]\n"
-"The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown."
+"The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown.\n"
+"See also [ImmediateGeometry3D], [MeshDataTool] and [SurfaceTool] for "
+"procedural geometry generation.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/ArrayMesh.xml:27
+#: doc/classes/ArrayMesh.xml:29
msgid ""
"https://docs.godotengine.org/en/latest/tutorials/content/procedural_geometry/"
"arraymesh.html"
msgstr ""
-#: doc/classes/ArrayMesh.xml:36
+#: doc/classes/ArrayMesh.xml:38
msgid ""
"Adds name for a blend shape that will be added with [method "
"add_surface_from_arrays]. Must be called before surface is added."
msgstr ""
-#: doc/classes/ArrayMesh.xml:55
+#: doc/classes/ArrayMesh.xml:57
msgid ""
"Creates a new surface.\n"
"Surfaces are created to be rendered using a [code]primitive[/code], which "
@@ -6135,141 +6163,139 @@ msgid ""
"it is used.\n"
"Adding an index array puts this function into \"index mode\" where the "
"vertex and other arrays become the sources of data, and the index array "
-"defines the order of the vertices.\n"
-"Godot uses clockwise winding order for front faces of triangle primitive "
-"modes."
+"defines the order of the vertices."
msgstr ""
-#: doc/classes/ArrayMesh.xml:66
+#: doc/classes/ArrayMesh.xml:67
msgid "Removes all blend shapes from this [ArrayMesh]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:73
+#: doc/classes/ArrayMesh.xml:74
msgid "Removes all surfaces from this [ArrayMesh]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:80
+#: doc/classes/ArrayMesh.xml:81
msgid "Returns the number of blend shapes that the [ArrayMesh] holds."
msgstr ""
-#: doc/classes/ArrayMesh.xml:89
+#: doc/classes/ArrayMesh.xml:90
msgid "Returns the name of the blend shape at this index."
msgstr ""
-#: doc/classes/ArrayMesh.xml:100
+#: doc/classes/ArrayMesh.xml:101
msgid ""
"Will perform a UV unwrap on the [ArrayMesh] to prepare the mesh for "
"lightmapping."
msgstr ""
-#: doc/classes/ArrayMesh.xml:107
+#: doc/classes/ArrayMesh.xml:108
msgid "Will regenerate normal maps for the [ArrayMesh]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:116
+#: doc/classes/ArrayMesh.xml:117
msgid ""
"Returns the index of the first surface with this name held within this "
"[ArrayMesh]. If none are found, -1 is returned."
msgstr ""
-#: doc/classes/ArrayMesh.xml:125
+#: doc/classes/ArrayMesh.xml:126
msgid ""
"Returns the length in indices of the index array in the requested surface "
"(see [method add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:134
+#: doc/classes/ArrayMesh.xml:135
msgid ""
"Returns the length in vertices of the vertex array in the requested surface "
"(see [method add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:143
+#: doc/classes/ArrayMesh.xml:144
msgid ""
"Returns the format mask of the requested surface (see [method "
"add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:152
+#: doc/classes/ArrayMesh.xml:153
msgid "Gets the name assigned to this surface."
msgstr ""
-#: doc/classes/ArrayMesh.xml:161
+#: doc/classes/ArrayMesh.xml:162
msgid ""
"Returns the primitive type of the requested surface (see [method "
"add_surface_from_arrays])."
msgstr ""
-#: doc/classes/ArrayMesh.xml:172
+#: doc/classes/ArrayMesh.xml:173
msgid "Sets a name for a given surface."
msgstr ""
-#: doc/classes/ArrayMesh.xml:185
+#: doc/classes/ArrayMesh.xml:186
msgid ""
"Updates a specified region of mesh arrays on the GPU.\n"
"[b]Warning:[/b] Only use if you know what you are doing. You can easily "
"cause crashes by calling this function with improper arguments."
msgstr ""
-#: doc/classes/ArrayMesh.xml:192
+#: doc/classes/ArrayMesh.xml:193
msgid "Sets the blend shape mode to one of [enum Mesh.BlendShapeMode]."
msgstr ""
-#: doc/classes/ArrayMesh.xml:195
+#: doc/classes/ArrayMesh.xml:196
msgid ""
"Overrides the [AABB] with one defined by user for use with frustum culling. "
"Especially useful to avoid unexpected culling when using a shader to offset "
"vertices."
msgstr ""
-#: doc/classes/ArrayMesh.xml:200
+#: doc/classes/ArrayMesh.xml:201
msgid "Default value used for index_array_len when no indices are present."
msgstr ""
-#: doc/classes/ArrayMesh.xml:203
+#: doc/classes/ArrayMesh.xml:204
msgid "Amount of weights/bone indices per vertex (always 4)."
msgstr ""
-#: doc/classes/ArrayMesh.xml:206
+#: doc/classes/ArrayMesh.xml:207
msgid ""
"[PackedVector3Array], [PackedVector2Array], or [Array] of vertex positions."
msgstr ""
-#: doc/classes/ArrayMesh.xml:209
+#: doc/classes/ArrayMesh.xml:210
msgid "[PackedVector3Array] of vertex normals."
msgstr ""
-#: doc/classes/ArrayMesh.xml:212
+#: doc/classes/ArrayMesh.xml:213
msgid ""
"[PackedFloat32Array] of vertex tangents. Each element in groups of 4 floats, "
"first 3 floats determine the tangent, and the last the binormal direction as "
"-1 or 1."
msgstr ""
-#: doc/classes/ArrayMesh.xml:215
+#: doc/classes/ArrayMesh.xml:216
msgid "[PackedColorArray] of vertex colors."
msgstr ""
-#: doc/classes/ArrayMesh.xml:218
+#: doc/classes/ArrayMesh.xml:219
msgid "[PackedVector2Array] for UV coordinates."
msgstr ""
-#: doc/classes/ArrayMesh.xml:221
+#: doc/classes/ArrayMesh.xml:222
msgid "[PackedVector2Array] for second UV coordinates."
msgstr ""
-#: doc/classes/ArrayMesh.xml:224
+#: doc/classes/ArrayMesh.xml:225
msgid ""
"[PackedFloat32Array] or [PackedInt32Array] of bone indices. Each element in "
"groups of 4 floats."
msgstr ""
-#: doc/classes/ArrayMesh.xml:227
+#: doc/classes/ArrayMesh.xml:228
msgid ""
"[PackedFloat32Array] of bone weights. Each element in groups of 4 floats."
msgstr ""
-#: doc/classes/ArrayMesh.xml:230
+#: doc/classes/ArrayMesh.xml:231
msgid ""
"[PackedInt32Array] of integers used as indices referencing vertices, colors, "
"normals, tangents, and textures. All of those arrays must have the same "
@@ -6283,709 +6309,47 @@ msgid ""
"the start and end of each line."
msgstr ""
-#: doc/classes/ArrayMesh.xml:234 doc/classes/Mesh.xml:210
-#: doc/classes/RenderingServer.xml:3180
+#: doc/classes/ArrayMesh.xml:235 doc/classes/Mesh.xml:210
+#: doc/classes/RenderingServer.xml:3232
msgid "Represents the size of the [enum ArrayType] enum."
msgstr ""
-#: doc/classes/ArrayMesh.xml:237
+#: doc/classes/ArrayMesh.xml:238
msgid "Array format will include vertices (mandatory)."
msgstr ""
-#: doc/classes/ArrayMesh.xml:240
+#: doc/classes/ArrayMesh.xml:241
msgid "Array format will include normals."
msgstr ""
-#: doc/classes/ArrayMesh.xml:243
+#: doc/classes/ArrayMesh.xml:244
msgid "Array format will include tangents."
msgstr ""
-#: doc/classes/ArrayMesh.xml:246
+#: doc/classes/ArrayMesh.xml:247
msgid "Array format will include a color array."
msgstr ""
-#: doc/classes/ArrayMesh.xml:249
+#: doc/classes/ArrayMesh.xml:250
msgid "Array format will include UVs."
msgstr ""
-#: doc/classes/ArrayMesh.xml:252
+#: doc/classes/ArrayMesh.xml:253
msgid "Array format will include another set of UVs."
msgstr ""
-#: doc/classes/ArrayMesh.xml:255
+#: doc/classes/ArrayMesh.xml:256
msgid "Array format will include bone indices."
msgstr ""
-#: doc/classes/ArrayMesh.xml:258
+#: doc/classes/ArrayMesh.xml:259
msgid "Array format will include bone weights."
msgstr ""
-#: doc/classes/ArrayMesh.xml:261
+#: doc/classes/ArrayMesh.xml:262
msgid "Index array will be used."
msgstr ""
-#: doc/classes/ARVRAnchor.xml:4
-msgid "An anchor point in AR space."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:7
-msgid ""
-"The [ARVRAnchor] point is a spatial node that maps a real world location "
-"identified by the AR platform to a position within the game world. For "
-"example, as long as plane detection in ARKit is on, ARKit will identify and "
-"update the position of planes (tables, floors, etc) and create anchors for "
-"them.\n"
-"This node is mapped to one of the anchors through its unique ID. When you "
-"receive a signal that a new anchor is available, you should add this node to "
-"your scene for that anchor. You can predefine nodes and set the ID; the "
-"nodes will simply remain on 0,0,0 until a plane is recognized.\n"
-"Keep in mind that, as long as plane detection is enabled, the size, placing "
-"and orientation of an anchor will be updated as the detection logic learns "
-"more about the real world out there especially if only part of the surface "
-"is in view."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:18
-msgid "Returns the name given to this anchor."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:25
-msgid ""
-"Returns [code]true[/code] if the anchor is being tracked and [code]false[/"
-"code] if no anchor with this ID is currently known."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:32
-msgid ""
-"If provided by the [ARVRInterface], this returns a mesh object for the "
-"anchor. For an anchor, this can be a shape related to the object being "
-"tracked or it can be a mesh that provides topology related to the anchor and "
-"can be used to create shadows/reflections on surfaces or for generating "
-"collision shapes."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:39
-msgid ""
-"Returns a plane aligned with our anchor; handy for intersection testing."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:46
-msgid ""
-"Returns the estimated size of the plane that was detected. Say when the "
-"anchor relates to a table in the real world, this is the estimated size of "
-"the surface of that table."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:52
-msgid ""
-"The anchor's ID. You can set this before the anchor itself exists. The first "
-"anchor gets an ID of [code]1[/code], the second an ID of [code]2[/code], "
-"etc. When anchors get removed, the engine can then assign the corresponding "
-"ID to new anchors. The most common situation where anchors \"disappear\" is "
-"when the AR server identifies that two anchors represent different parts of "
-"the same plane and merges them."
-msgstr ""
-
-#: doc/classes/ARVRAnchor.xml:60
-msgid ""
-"Emitted when the mesh associated with the anchor changes or when one becomes "
-"available. This is especially important for topology that is constantly "
-"being [code]mesh_updated[/code]."
-msgstr ""
-
-#: doc/classes/ARVRCamera.xml:4
-msgid ""
-"A camera node with a few overrules for AR/VR applied, such as location "
-"tracking."
-msgstr ""
-
-#: doc/classes/ARVRCamera.xml:7
-msgid ""
-"This is a helper spatial node for our camera; note that, if stereoscopic "
-"rendering is applicable (VR-HMD), most of the camera properties are ignored, "
-"as the HMD information overrides them. The only properties that can be "
-"trusted are the near and far planes.\n"
-"The position and orientation of this node is automatically updated by the "
-"ARVR Server to represent the location of the HMD if such tracking is "
-"available and can thus be used by game logic. Note that, in contrast to the "
-"ARVR Controller, the render thread has access to the most up-to-date "
-"tracking data of the HMD and the location of the ARVRCamera can lag a few "
-"milliseconds behind what is used for rendering as a result."
-msgstr ""
-
-#: doc/classes/ARVRCamera.xml:11 doc/classes/ARVRController.xml:12
-#: doc/classes/ARVRInterface.xml:11 doc/classes/ARVROrigin.xml:13
-#: doc/classes/ARVRPositionalTracker.xml:12 doc/classes/ARVRServer.xml:10
-msgid "https://docs.godotengine.org/en/latest/tutorials/vr/index.html"
-msgstr ""
-
-#: doc/classes/ARVRController.xml:4
-msgid "A spatial node representing a spatially-tracked controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:7
-msgid ""
-"This is a helper spatial node that is linked to the tracking of controllers. "
-"It also offers several handy passthroughs to the state of buttons and such "
-"on the controllers.\n"
-"Controllers are linked by their ID. You can create controller nodes before "
-"the controllers are available. If your game always uses two controllers (one "
-"for each hand), you can predefine the controllers with ID 1 and 2; they will "
-"become active as soon as the controllers are identified. If you expect "
-"additional controllers to be used, you should react to the signals and add "
-"ARVRController nodes to your scene.\n"
-"The position of the controller node is automatically updated by the "
-"[ARVRServer]. This makes this node ideal to add child nodes to visualize the "
-"controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:19
-msgid ""
-"If active, returns the name of the associated controller if provided by the "
-"AR/VR SDK used."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:26
-msgid ""
-"Returns the hand holding this controller, if known. See [enum "
-"ARVRPositionalTracker.TrackerHand]."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:33
-msgid ""
-"Returns [code]true[/code] if the bound controller is active. ARVR systems "
-"attempt to track active controllers."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:42
-msgid ""
-"Returns the value of the given axis for things like triggers, touchpads, "
-"etc. that are embedded into the controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:49
-msgid ""
-"Returns the ID of the joystick object bound to this. Every controller "
-"tracked by the [ARVRServer] that has buttons and axis will also be "
-"registered as a joystick within Godot. This means that all the normal "
-"joystick tracking and input mapping will work for buttons and axis found on "
-"the AR/VR controllers. This ID is purely offered as information so you can "
-"link up the controller with its joystick entry."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:56
-msgid ""
-"If provided by the [ARVRInterface], this returns a mesh associated with the "
-"controller. This can be used to visualize the controller."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:65
-msgid ""
-"Returns [code]true[/code] if the button at index [code]button[/code] is "
-"pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] "
-"constants."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:71
-msgid ""
-"The controller's ID.\n"
-"A controller ID of 0 is unbound and will always result in an inactive node. "
-"Controller ID 1 is reserved for the first controller that identifies itself "
-"as the left-hand controller and ID 2 is reserved for the first controller "
-"that identifies itself as the right-hand controller.\n"
-"For any other controller that the [ARVRServer] detects, we continue with "
-"controller ID 3.\n"
-"When a controller is turned off, its slot is freed. This ensures controllers "
-"will keep the same ID even when controllers with lower IDs are turned off."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:77
-msgid ""
-"The degree to which the controller vibrates. Ranges from [code]0.0[/code] to "
-"[code]1.0[/code] with precision [code].01[/code]. If changed, updates "
-"[member ARVRPositionalTracker.rumble] accordingly.\n"
-"This is a useful property to animate if you want the controller to vibrate "
-"for a limited duration."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:86
-msgid "Emitted when a button on this controller is pressed."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:93
-msgid "Emitted when a button on this controller is released."
-msgstr ""
-
-#: doc/classes/ARVRController.xml:100
-msgid ""
-"Emitted when the mesh associated with the controller changes or when one "
-"becomes available. Generally speaking this will be a static mesh after "
-"becoming available."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:4
-msgid "Base class for an AR/VR interface implementation."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:7
-msgid ""
-"This class needs to be implemented to make an AR or VR platform available to "
-"Godot and these should be implemented as C++ modules or GDNative modules "
-"(note that for GDNative the subclass ARVRScriptInterface should be used). "
-"Part of the interface is exposed to GDScript so you can detect, enable and "
-"configure an AR or VR platform.\n"
-"Interfaces should be written in such a way that simply enabling them will "
-"give us a working setup. You can query the available interfaces through "
-"[ARVRServer]."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:18
-msgid ""
-"If this is an AR interface that requires displaying a camera feed as the "
-"background, this method returns the feed ID in the [CameraServer] for this "
-"interface."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:25
-msgid ""
-"Returns a combination of [enum Capabilities] flags providing information "
-"about the capabilities of this interface."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:32
-msgid "Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:39
-msgid ""
-"Returns the resolution at which we should render our intermediate results "
-"before things like lens distortion are applied by the VR platform."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:46
-msgid ""
-"If supported, returns the status of our tracking. This will allow you to "
-"provide feedback to the user whether there are issues with positional "
-"tracking."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:53
-msgid ""
-"Call this to initialize this interface. The first interface that is "
-"initialized is identified as the primary interface and it will be used for "
-"rendering output.\n"
-"After initializing the interface you want to use you then need to enable the "
-"AR/VR mode of a viewport and rendering should commence.\n"
-"[b]Note:[/b] You must enable the AR/VR mode on the main viewport for any "
-"device that uses the main output of Godot, such as for mobile VR.\n"
-"If you do this for a platform that handles its own output (such as OpenVR) "
-"Godot will show just one eye without distortion on screen. Alternatively, "
-"you can add a separate viewport node to your scene and enable AR/VR on that "
-"viewport. It will be used to output to the HMD, leaving you free to do "
-"anything you like in the main window, such as using a separate camera as a "
-"spectator camera or rendering something completely different.\n"
-"While currently not used, you can activate additional interfaces. You may "
-"wish to do this if you want to track controllers from other platforms. "
-"However, at this point in time only one interface can render to an HMD."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:64
-msgid ""
-"Returns [code]true[/code] if the current output of this interface is in "
-"stereo."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:71
-msgid "Turns the interface off."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:77
-msgid "On an AR interface, [code]true[/code] if anchor detection is enabled."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:80
-msgid "[code]true[/code] if this interface been initialized."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:83
-msgid "[code]true[/code] if this is the primary interface."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:88
-msgid "No ARVR capabilities."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:91
-msgid ""
-"This interface can work with normal rendering output (non-HMD based AR)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:94
-msgid "This interface supports stereoscopic rendering."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:97
-msgid "This interface supports AR (video background and real world tracking)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:100
-msgid ""
-"This interface outputs to an external device. If the main viewport is used, "
-"the on screen output is an unmodified buffer of either the left or right eye "
-"(stretched if the viewport size is not changed to the same aspect ratio of "
-"[method get_render_targetsize]). Using a separate viewport node frees up the "
-"main viewport for other purposes."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:103
-msgid ""
-"Mono output, this is mostly used internally when retrieving positioning "
-"information for our camera node or when stereo scopic rendering is not "
-"supported."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:106
-msgid ""
-"Left eye output, this is mostly used internally when rendering the image for "
-"the left eye and obtaining positioning and projection information."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:109
-msgid ""
-"Right eye output, this is mostly used internally when rendering the image "
-"for the right eye and obtaining positioning and projection information."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:112
-msgid "Tracking is behaving as expected."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:115
-msgid ""
-"Tracking is hindered by excessive motion (the player is moving faster than "
-"tracking can keep up)."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:118
-msgid ""
-"Tracking is hindered by insufficient features, it's too dark (for camera-"
-"based tracking), player is blocked, etc."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:121
-msgid ""
-"We don't know the status of the tracking or this interface does not provide "
-"feedback."
-msgstr ""
-
-#: doc/classes/ARVRInterface.xml:124
-msgid ""
-"Tracking is not functional (camera not plugged in or obscured, lighthouses "
-"turned off, etc.)."
-msgstr ""
-
-#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml:4
-msgid "GDNative wrapper for an ARVR interface."
-msgstr ""
-
-#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml:7
-msgid ""
-"This is a wrapper class for GDNative implementations of the ARVR interface. "
-"To use a GDNative ARVR interface, simply instantiate this object and set "
-"your GDNative library containing the ARVR interface implementation."
-msgstr ""
-
-#: doc/classes/ARVROrigin.xml:4
-msgid "The origin point in AR/VR."
-msgstr ""
-
-#: doc/classes/ARVROrigin.xml:7
-msgid ""
-"This is a special node within the AR/VR system that maps the physical "
-"location of the center of our tracking space to the virtual location within "
-"our game world.\n"
-"There should be only one of these nodes in your scene and you must have one. "
-"All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct "
-"children of this node for spatial tracking to work correctly.\n"
-"It is the position of this node that you update when your character needs to "
-"move through your game world while we're not moving in the real world. "
-"Movement in the real world is always in relation to this origin point.\n"
-"For example, if your character is driving a car, the ARVROrigin node should "
-"be a child node of this car. Or, if you're implementing a teleport system to "
-"move your character, you should change the position of this node."
-msgstr ""
-
-#: doc/classes/ARVROrigin.xml:19
-msgid ""
-"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
-"assume a scale of 1 game world unit = 1 real world meter.\n"
-"[b]Note:[/b] This method is a passthrough to the [ARVRServer] itself."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:4
-msgid "A tracked object."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:7
-msgid ""
-"An instance of this object represents a device that is tracked, such as a "
-"controller or anchor point. HMDs aren't represented here as they are handled "
-"internally.\n"
-"As controllers are turned on and the AR/VR interface detects them, instances "
-"of this object are automatically added to this list of active tracking "
-"objects accessible through the [ARVRServer].\n"
-"The [ARVRController] and [ARVRAnchor] both consume objects of this type and "
-"should be used in your project. The positional trackers are just under-the-"
-"hood objects that make this all work. These are mostly exposed so that "
-"GDNative-based interfaces can interact with them."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:19
-msgid ""
-"Returns the hand holding this tracker, if known. See [enum TrackerHand] "
-"constants."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:26
-msgid ""
-"If this is a controller that is being tracked, the controller will also be "
-"represented by a joystick entry with this ID."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:33
-msgid ""
-"Returns the mesh related to a controller or anchor point if one is available."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:40
-msgid "Returns the controller or anchor point's name if available."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:47
-msgid "Returns the controller's orientation matrix."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:54
-msgid "Returns the world-space controller position."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:61
-msgid ""
-"Returns the internal tracker ID. This uniquely identifies the tracker per "
-"tracker type and matches the ID you need to specify for nodes such as the "
-"[ARVRController] and [ARVRAnchor] nodes."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:68
-msgid "Returns [code]true[/code] if this device tracks orientation."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:75
-msgid "Returns [code]true[/code] if this device tracks position."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:84
-msgid "Returns the transform combining this device's orientation and position."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:91
-msgid "Returns the tracker's type."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:97
-msgid ""
-"The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to "
-"[code]1.0[/code] with precision [code].01[/code]."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:102
-msgid "The hand this tracker is held in is unknown or not applicable."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:105
-msgid "This tracker is the left hand controller."
-msgstr ""
-
-#: doc/classes/ARVRPositionalTracker.xml:108
-msgid "This tracker is the right hand controller."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:4
-msgid "Server for AR and VR features."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:7
-msgid ""
-"The AR/VR server is the heart of our Advanced and Virtual Reality solution "
-"and handles all the processing."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:21
-msgid ""
-"This is an important function to understand correctly. AR and VR platforms "
-"all handle positioning slightly differently.\n"
-"For platforms that do not offer spatial tracking, our origin point (0,0,0) "
-"is the location of our HMD, but you have little control over the direction "
-"the player is facing in the real world.\n"
-"For platforms that do offer spatial tracking, our origin point depends very "
-"much on the system. For OpenVR, our origin point is usually the center of "
-"the tracking space, on the ground. For other platforms, it's often the "
-"location of the tracking camera.\n"
-"This method allows you to center your tracker on the location of the HMD. It "
-"will take the current location of the HMD and use that to adjust all your "
-"tracking data; in essence, realigning the real world to your player's "
-"current position in the game world.\n"
-"For this method to produce usable results, tracking information must be "
-"available. This often takes a few frames after starting your game.\n"
-"You should call this method after a few seconds have passed. For instance, "
-"when the user requests a realignment of the display holding a designated "
-"button on a controller for a short period of time, or when implementing a "
-"teleport mechanism."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:35
-msgid ""
-"Finds an interface by its name. For instance, if your project uses "
-"capabilities of an AR/VR platform, you can find the interface for that "
-"platform by name and initialize it."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:42
-msgid "Returns the primary interface's transformation."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:51
-msgid ""
-"Returns the interface registered at a given index in our list of interfaces."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:58
-msgid ""
-"Returns the number of interfaces currently registered with the AR/VR server. "
-"If your project supports multiple AR/VR platforms, you can look through the "
-"available interface, and either present the user with a selection or simply "
-"try to initialize each interface and use the first one that returns "
-"[code]true[/code]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:65
-msgid ""
-"Returns a list of available interfaces the ID and name of each interface."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:72
-msgid ""
-"Returns the absolute timestamp (in μs) of the last [ARVRServer] commit of "
-"the AR/VR eyes to [RenderingServer]. The value comes from an internal call "
-"to [method OS.get_ticks_usec]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:79
-msgid ""
-"Returns the duration (in μs) of the last frame. This is computed as the "
-"difference between [method get_last_commit_usec] and [method "
-"get_last_process_usec] when committing."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:86
-msgid ""
-"Returns the absolute timestamp (in μs) of the last [ARVRServer] process "
-"callback. The value comes from an internal call to [method OS."
-"get_ticks_usec]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:93
-msgid ""
-"Returns the reference frame transform. Mostly used internally and exposed "
-"for GDNative build interfaces."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:102
-msgid "Returns the positional tracker at the given ID."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:109
-msgid "Returns the number of trackers currently registered."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:115
-msgid "The primary [ARVRInterface] currently bound to the [ARVRServer]."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:118
-msgid ""
-"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
-"assume a scale of 1 game world unit = 1 real world meter."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:126
-msgid "Emitted when a new interface has been added."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:133
-msgid "Emitted when an interface is removed."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:144
-msgid ""
-"Emitted when a new tracker has been added. If you don't use a fixed number "
-"of controllers or if you're using [ARVRAnchor]s for an AR solution, it is "
-"important to react to this signal to add the appropriate [ARVRController] or "
-"[ARVRAnchor] nodes related to this new tracker."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:155
-msgid ""
-"Emitted when a tracker is removed. You should remove any [ARVRController] or "
-"[ARVRAnchor] points if applicable. This is not mandatory, the nodes simply "
-"become inactive and will be made active again when a new tracker becomes "
-"available (i.e. a new controller is switched on that takes the place of the "
-"previous one)."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:161
-msgid "The tracker tracks the location of a controller."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:164
-msgid "The tracker tracks the location of a base station."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:167
-msgid "The tracker tracks the location and size of an AR anchor."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:170
-msgid "Used internally to filter trackers of any known type."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:173
-msgid "Used internally if we haven't set the tracker type yet."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:176
-msgid "Used internally to select all trackers."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:179
-msgid ""
-"Fully reset the orientation of the HMD. Regardless of what direction the "
-"user is looking to in the real world. The user will look dead ahead in the "
-"virtual world."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:182
-msgid ""
-"Resets the orientation but keeps the tilt of the device. So if we're looking "
-"down, we keep looking down but heading will be reset."
-msgstr ""
-
-#: doc/classes/ARVRServer.xml:185
-msgid ""
-"Does not reset the orientation of the HMD, only the position of the player "
-"gets centered."
-msgstr ""
-
#: doc/classes/AStar.xml:4
msgid ""
"An implementation of A* to find shortest paths among connected points in "
@@ -8387,7 +7751,9 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml:64 doc/classes/AudioStreamPlayer2D.xml:70
#: doc/classes/AudioStreamPlayer3D.xml:94
-msgid "Changes the pitch and the tempo of the audio."
+msgid ""
+"The pitch and the tempo of the audio, as a multiplier of the audio sample's "
+"sample rate."
msgstr ""
#: doc/classes/AudioStreamPlayer.xml:67 doc/classes/AudioStreamPlayer2D.xml:73
@@ -8632,15 +7998,23 @@ msgid "Audio format. See [enum Format] constants for values."
msgstr ""
#: doc/classes/AudioStreamSample.xml:33
-msgid "Loop start in bytes."
+msgid ""
+"The loop start point (in number of samples, relative to the beginning of the "
+"sample). This information will be imported automatically from the WAV file "
+"if present."
msgstr ""
#: doc/classes/AudioStreamSample.xml:36
-msgid "Loop end in bytes."
+msgid ""
+"The loop end point (in number of samples, relative to the beginning of the "
+"sample). This information will be imported automatically from the WAV file "
+"if present."
msgstr ""
#: doc/classes/AudioStreamSample.xml:39
-msgid "Loop mode. See [enum LoopMode] constants for values."
+msgid ""
+"The loop mode. This information will be imported automatically from the WAV "
+"file if present. See [enum LoopMode] constants for values."
msgstr ""
#: doc/classes/AudioStreamSample.xml:42
@@ -8669,19 +8043,19 @@ msgstr ""
#: doc/classes/AudioStreamSample.xml:62
msgid ""
-"Audio loops the data between [member loop_begin] and [member loop_end] "
+"Audio loops the data between [member loop_begin] and [member loop_end], "
"playing forward only."
msgstr ""
#: doc/classes/AudioStreamSample.xml:65
msgid ""
-"Audio loops the data between [member loop_begin] and [member loop_end] "
+"Audio loops the data between [member loop_begin] and [member loop_end], "
"playing back and forth."
msgstr ""
#: doc/classes/AudioStreamSample.xml:68
msgid ""
-"Audio loops the data between [member loop_begin] and [member loop_end] "
+"Audio loops the data between [member loop_begin] and [member loop_end], "
"playing backward only."
msgstr ""
@@ -8698,30 +8072,35 @@ msgid ""
"in the BackBufferCopy node is bufferized with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
-"access the buffer."
+"access the buffer.\n"
+"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
+"anchors and margins won't apply to child [Control]-derived nodes. This can "
+"be problematic when resizing the window. To avoid this, add [Control]-"
+"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"adding them as children."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:15
+#: doc/classes/BackBufferCopy.xml:16
msgid "Buffer mode. See [enum CopyMode] constants."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:18
+#: doc/classes/BackBufferCopy.xml:19
msgid ""
"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:23
+#: doc/classes/BackBufferCopy.xml:24
msgid ""
"Disables the buffering mode. This means the BackBufferCopy node will "
"directly use the portion of screen it covers."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:26
+#: doc/classes/BackBufferCopy.xml:27
msgid "BackBufferCopy buffers a rectangular region."
msgstr ""
-#: doc/classes/BackBufferCopy.xml:29
+#: doc/classes/BackBufferCopy.xml:30
msgid "BackBufferCopy buffers the entire screen."
msgstr ""
@@ -8791,80 +8170,83 @@ msgstr ""
#: doc/classes/BaseButton.xml:62
msgid ""
"If [code]true[/code], the button stays pressed when moving the cursor "
-"outside the button while pressing it."
+"outside the button while pressing it.\n"
+"[b]Note:[/b] This property only affects the button's visual appearance. "
+"Signals will be emitted at the same moment regardless of this property's "
+"value."
msgstr ""
-#: doc/classes/BaseButton.xml:65
+#: doc/classes/BaseButton.xml:66
msgid ""
"If [code]true[/code], the button's state is pressed. Means the button is "
"pressed down or toggled (if [member toggle_mode] is active)."
msgstr ""
-#: doc/classes/BaseButton.xml:68
+#: doc/classes/BaseButton.xml:69
msgid "[ShortCut] associated to the button."
msgstr ""
-#: doc/classes/BaseButton.xml:71
+#: doc/classes/BaseButton.xml:72
msgid ""
"If [code]true[/code], the button will add information about its shortcut in "
"the tooltip."
msgstr ""
-#: doc/classes/BaseButton.xml:74
+#: doc/classes/BaseButton.xml:75
msgid ""
"If [code]true[/code], the button is in toggle mode. Makes the button flip "
"state between pressed and unpressed each time its area is clicked."
msgstr ""
-#: doc/classes/BaseButton.xml:80
+#: doc/classes/BaseButton.xml:81
msgid "Emitted when the button starts being held down."
msgstr ""
-#: doc/classes/BaseButton.xml:85
+#: doc/classes/BaseButton.xml:86
msgid "Emitted when the button stops being held down."
msgstr ""
-#: doc/classes/BaseButton.xml:90
+#: doc/classes/BaseButton.xml:91
msgid ""
"Emitted when the button is toggled or pressed. This is on [signal "
"button_down] if [member action_mode] is [constant ACTION_MODE_BUTTON_PRESS] "
"and on [signal button_up] otherwise."
msgstr ""
-#: doc/classes/BaseButton.xml:97
+#: doc/classes/BaseButton.xml:98
msgid ""
"Emitted when the button was just toggled between pressed and normal states "
"(only if [member toggle_mode] is active). The new state is contained in the "
"[code]button_pressed[/code] argument."
msgstr ""
-#: doc/classes/BaseButton.xml:103
+#: doc/classes/BaseButton.xml:104
msgid ""
"The normal state (i.e. not pressed, not hovered, not toggled and enabled) of "
"buttons."
msgstr ""
-#: doc/classes/BaseButton.xml:106
+#: doc/classes/BaseButton.xml:107
msgid "The state of buttons are pressed."
msgstr ""
-#: doc/classes/BaseButton.xml:109
+#: doc/classes/BaseButton.xml:110
msgid "The state of buttons are hovered."
msgstr ""
-#: doc/classes/BaseButton.xml:112
+#: doc/classes/BaseButton.xml:113
msgid "The state of buttons are disabled."
msgstr ""
-#: doc/classes/BaseButton.xml:115
+#: doc/classes/BaseButton.xml:116
msgid "The state of buttons are both hovered and pressed."
msgstr ""
-#: doc/classes/BaseButton.xml:118
+#: doc/classes/BaseButton.xml:119
msgid "Require just a press to consider the button clicked."
msgstr ""
-#: doc/classes/BaseButton.xml:121
+#: doc/classes/BaseButton.xml:122
msgid ""
"Require a press and a subsequent release before considering the button "
"clicked."
@@ -8988,8 +8370,8 @@ msgid ""
"the object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:109 doc/classes/BaseMaterial3D.xml:275
-#: doc/classes/BaseMaterial3D.xml:296
+#: doc/classes/BaseMaterial3D.xml:109 doc/classes/BaseMaterial3D.xml:284
+#: doc/classes/BaseMaterial3D.xml:305
msgid ""
"Specifies the channel of the [member ao_texture] in which the ambient "
"occlusion information is stored. This is useful when you store the "
@@ -9000,29 +8382,45 @@ msgstr ""
#: doc/classes/BaseMaterial3D.xml:112
msgid ""
+"The color used by the backlight effect. Represents the light passing through "
+"an object."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:115
+msgid "If [code]true[/code], the backlight effect is enabled."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:118
+msgid ""
+"Texture used to control the backlight effect per-pixel. Added to [member "
+"backlight]."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:121
+msgid ""
"If [code]true[/code], the shader will keep the scale set for the mesh. "
"Otherwise the scale is lost when billboarding. Only applies when [member "
"billboard_mode] is [constant BILLBOARD_ENABLED]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:115
+#: doc/classes/BaseMaterial3D.xml:124
msgid "Controls how the object faces the camera. See [enum BillboardMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:118
+#: doc/classes/BaseMaterial3D.xml:127
msgid ""
"The material's blend mode.\n"
"[b]Note:[/b] Values other than [code]Mix[/code] force the object into the "
"transparent pipeline. See [enum BlendMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:122
+#: doc/classes/BaseMaterial3D.xml:131
msgid ""
"Sets the strength of the clearcoat effect. Setting to [code]0[/code] looks "
"the same as disabling the clearcoat effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:125
+#: doc/classes/BaseMaterial3D.xml:134
msgid ""
"If [code]true[/code], clearcoat rendering is enabled. Adds a secondary "
"transparent pass to the lighting calculation resulting in an added specular "
@@ -9030,42 +8428,42 @@ msgid ""
"can be either glossy or rough."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:128
+#: doc/classes/BaseMaterial3D.xml:137
msgid ""
"Sets the roughness of the clearcoat pass. A higher value results in a "
"smoother clearcoat while a lower value results in a rougher clearcoat."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:131
+#: doc/classes/BaseMaterial3D.xml:140
msgid ""
"Texture that defines the strength of the clearcoat effect and the glossiness "
"of the clearcoat. Strength is specified in the red channel while glossiness "
"is specified in the green channel."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:134
+#: doc/classes/BaseMaterial3D.xml:143
msgid ""
"Which side of the object is not drawn when backfaces are rendered. See [enum "
"CullMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:137
+#: doc/classes/BaseMaterial3D.xml:146
msgid ""
"Determines when depth rendering takes place. See [enum DepthDrawMode]. See "
"also [member transparency]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:140
+#: doc/classes/BaseMaterial3D.xml:149
msgid "Texture that specifies the color of the detail overlay."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:143
+#: doc/classes/BaseMaterial3D.xml:152
msgid ""
"Specifies how the [member detail_albedo] should blend with the current "
"[code]ALBEDO[/code]. See [enum BlendMode] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:146
+#: doc/classes/BaseMaterial3D.xml:155
msgid ""
"If [code]true[/code], enables the detail overlay. Detail is a second texture "
"that gets mixed over the surface of the object based on [member "
@@ -9073,99 +8471,99 @@ msgid ""
"between two different albedo/normal textures."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:149
+#: doc/classes/BaseMaterial3D.xml:158
msgid ""
"Texture used to specify how the detail textures get blended with the base "
"textures."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:152
+#: doc/classes/BaseMaterial3D.xml:161
msgid "Texture that specifies the per-pixel normal of the detail overlay."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:155
+#: doc/classes/BaseMaterial3D.xml:164
msgid ""
"Specifies whether to use [code]UV[/code] or [code]UV2[/code] for the detail "
"layer. See [enum DetailUV] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:158
+#: doc/classes/BaseMaterial3D.xml:167
msgid ""
"The algorithm used for diffuse light scattering. See [enum DiffuseMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:161
+#: doc/classes/BaseMaterial3D.xml:170
msgid "If [code]true[/code], the object receives no ambient light."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:164
+#: doc/classes/BaseMaterial3D.xml:173
msgid ""
"If [code]true[/code], the object receives no shadow that would otherwise be "
"cast onto it."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:167
+#: doc/classes/BaseMaterial3D.xml:176
msgid "Distance at which the object fades fully and is no longer visible."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:170
+#: doc/classes/BaseMaterial3D.xml:179
msgid ""
"Distance at which the object starts to fade. If the object is less than this "
"distance away it will appear normal."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:173
+#: doc/classes/BaseMaterial3D.xml:182
msgid ""
"Specifies which type of fade to use. Can be any of the [enum "
"DistanceFadeMode]s."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:176
+#: doc/classes/BaseMaterial3D.xml:185
msgid "The emitted light's color. See [member emission_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:179
+#: doc/classes/BaseMaterial3D.xml:188
msgid ""
"If [code]true[/code], the body emits light. Emitting light makes the object "
"appear brighter. The object can also cast light on other objects if a "
"[GIProbe] is used and this object is used in baked lighting."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:182
+#: doc/classes/BaseMaterial3D.xml:191
msgid "The emitted light's strength. See [member emission_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:185
+#: doc/classes/BaseMaterial3D.xml:194
msgid "Use [code]UV2[/code] to read from the [member emission_texture]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:188
+#: doc/classes/BaseMaterial3D.xml:197
msgid ""
"Sets how [member emission] interacts with [member emission_texture]. Can "
"either add or multiply. See [enum EmissionOperator] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:191
+#: doc/classes/BaseMaterial3D.xml:200
msgid "Texture that specifies how much surface emits light at a given point."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:194
+#: doc/classes/BaseMaterial3D.xml:203
msgid ""
"If [code]true[/code], the object is rendered at the same size regardless of "
"distance."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:197
+#: doc/classes/BaseMaterial3D.xml:206
msgid ""
"If [code]true[/code], enables the vertex grow setting. See [member "
"grow_amount]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:200
+#: doc/classes/BaseMaterial3D.xml:209
msgid "Grows object vertices in the direction of their normals."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:221
+#: doc/classes/BaseMaterial3D.xml:230
msgid ""
"A high value makes the material appear more like a metal. Non-metals use "
"their albedo as the diffuse color and add diffuse to the specular "
@@ -9178,7 +8576,7 @@ msgid ""
"roughness]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:224
+#: doc/classes/BaseMaterial3D.xml:233
msgid ""
"Sets the size of the specular lobe. The specular lobe is the bright spot "
"that is reflected from light sources.\n"
@@ -9187,13 +8585,13 @@ msgid ""
"roughness]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:228
+#: doc/classes/BaseMaterial3D.xml:237
msgid ""
"Texture used to specify metallic for an object. This is multiplied by "
"[member metallic]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:231
+#: doc/classes/BaseMaterial3D.xml:240
msgid ""
"Specifies the channel of the [member metallic_texture] in which the metallic "
"information is stored. This is useful when you store the information for "
@@ -9202,21 +8600,21 @@ msgid ""
"you could reduce the number of textures you use."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:234
+#: doc/classes/BaseMaterial3D.xml:243
msgid ""
"If [code]true[/code], depth testing is disabled and the object will be drawn "
"in render order."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:237
+#: doc/classes/BaseMaterial3D.xml:246
msgid "If [code]true[/code], normal mapping is enabled."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:240
+#: doc/classes/BaseMaterial3D.xml:249
msgid "The strength of the normal map's effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:243
+#: doc/classes/BaseMaterial3D.xml:252
msgid ""
"Texture used to specify the normal at a given pixel. The "
"[code]normal_texture[/code] only uses the red and green channels. The normal "
@@ -9224,93 +8622,100 @@ msgid ""
"provided by the [Mesh]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:248
+#: doc/classes/BaseMaterial3D.xml:257
msgid ""
"The number of horizontal frames in the particle sprite sheet. Only enabled "
"when using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:251
+#: doc/classes/BaseMaterial3D.xml:260
msgid ""
"If [code]true[/code], particle animations are looped. Only enabled when "
"using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:254
+#: doc/classes/BaseMaterial3D.xml:263
msgid ""
"The number of vertical frames in the particle sprite sheet. Only enabled "
"when using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:257
+#: doc/classes/BaseMaterial3D.xml:266
msgid "The point size in pixels. See [member use_point_size]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:260
+#: doc/classes/BaseMaterial3D.xml:269
msgid ""
"Distance over which the fade effect takes place. The larger the distance the "
"longer it takes for an object to fade."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:263
+#: doc/classes/BaseMaterial3D.xml:272
msgid ""
"If [code]true[/code], the proximity fade effect is enabled. The proximity "
"fade effect fades out each pixel based on its distance to another object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:266
+#: doc/classes/BaseMaterial3D.xml:275
msgid ""
"If [code]true[/code], the refraction effect is enabled. Distorts "
"transparency based on light from behind the object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:269
+#: doc/classes/BaseMaterial3D.xml:278
msgid "The strength of the refraction effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:272
+#: doc/classes/BaseMaterial3D.xml:281
msgid ""
"Texture that controls the strength of the refraction per-pixel. Multiplied "
"by [member refraction_scale]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:278
+#: doc/classes/BaseMaterial3D.xml:287
msgid "Sets the strength of the rim lighting effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:281
+#: doc/classes/BaseMaterial3D.xml:290
msgid ""
"If [code]true[/code], rim effect is enabled. Rim lighting increases the "
"brightness at glancing angles on an object."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:284
+#: doc/classes/BaseMaterial3D.xml:293
msgid ""
"Texture used to set the strength of the rim lighting effect per-pixel. "
"Multiplied by [member rim]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:287
+#: doc/classes/BaseMaterial3D.xml:296
msgid ""
"The amount of to blend light and albedo color when rendering rim effect. If "
"[code]0[/code] the light color is used, while [code]1[/code] means albedo "
"color is used. An intermediate value generally works best."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:290
+#: doc/classes/BaseMaterial3D.xml:299
msgid ""
"Surface reflection. A value of [code]0[/code] represents a perfect mirror "
"while a value of [code]1[/code] completely blurs the reflection. See also "
"[member metallic]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:293
+#: doc/classes/BaseMaterial3D.xml:302
msgid ""
"Texture used to control the roughness per-pixel. Multiplied by [member "
"roughness]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:301
+#: doc/classes/BaseMaterial3D.xml:308
+msgid ""
+"Sets whether the shading takes place per-pixel or per-vertex. Per-vertex "
+"lighting is faster, making it the best choice for mobile applications, "
+"however it looks considerably worse than per-pixel."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:311
msgid ""
"If [code]true[/code], enables the \"shadow to opacity\" render mode where "
"lighting modifies the alpha so shadowed areas are opaque and non-shadowed "
@@ -9318,77 +8723,67 @@ msgid ""
"AR."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:304
+#: doc/classes/BaseMaterial3D.xml:314
msgid "The method for rendering the specular blob. See [enum SpecularMode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:307
+#: doc/classes/BaseMaterial3D.xml:317
msgid ""
"If [code]true[/code], subsurface scattering is enabled. Emulates light that "
"penetrates an object's surface, is scattered, and then emerges."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:312
+#: doc/classes/BaseMaterial3D.xml:320
+msgid ""
+"If [code]true[/code], subsurface scattering will use a special mode "
+"optimized for the color and density of human skin."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:323
msgid "The strength of the subsurface scattering effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:315
+#: doc/classes/BaseMaterial3D.xml:326
msgid ""
"Texture used to control the subsurface scattering strength. Stored in the "
"red texture channel. Multiplied by [member subsurf_scatter_strength]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:318
+#: doc/classes/BaseMaterial3D.xml:341
msgid "Filter flags for the texture. See [enum TextureFilter] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:321
+#: doc/classes/BaseMaterial3D.xml:344
msgid "Repeat flags for the texture. See [enum TextureFilter] for options."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:324
-msgid ""
-"The color used by the transmission effect. Represents the light passing "
-"through an object."
-msgstr ""
-
-#: doc/classes/BaseMaterial3D.xml:327
-msgid "If [code]true[/code], the transmission effect is enabled."
-msgstr ""
-
-#: doc/classes/BaseMaterial3D.xml:330
-msgid ""
-"Texture used to control the transmission effect per-pixel. Added to [member "
-"transmission]."
-msgstr ""
-
-#: doc/classes/BaseMaterial3D.xml:333
+#: doc/classes/BaseMaterial3D.xml:347
msgid ""
"If [code]true[/code], transparency is enabled on the body. See also [member "
"blend_mode]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:336
+#: doc/classes/BaseMaterial3D.xml:350
msgid ""
"If [code]true[/code], render point size can be changed.\n"
"[b]Note:[/b] this is only effective for objects whose geometry is point-"
"based rather than triangle-based. See also [member point_size]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:340
+#: doc/classes/BaseMaterial3D.xml:354
msgid ""
"How much to offset the [code]UV[/code] coordinates. This amount will be "
"added to [code]UV[/code] in the vertex function. This can be used to offset "
"a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:343
+#: doc/classes/BaseMaterial3D.xml:357
msgid ""
"How much to scale the [code]UV[/code] coordinates. This is multiplied by "
"[code]UV[/code] in the vertex function."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:346
+#: doc/classes/BaseMaterial3D.xml:360
msgid ""
"If [code]true[/code], instead of using [code]UV[/code] textures will use a "
"triplanar texture lookup to determine how to apply textures. Triplanar uses "
@@ -9402,32 +8797,32 @@ msgid ""
"when you are trying to achieve crisp texturing."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:349 doc/classes/BaseMaterial3D.xml:364
+#: doc/classes/BaseMaterial3D.xml:363 doc/classes/BaseMaterial3D.xml:378
msgid ""
"A lower number blends the texture more softly while a higher number blends "
"the texture more sharply."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:352
+#: doc/classes/BaseMaterial3D.xml:366
msgid ""
"If [code]true[/code], triplanar mapping for [code]UV[/code] is calculated in "
"world space rather than object local space. See also [member uv1_triplanar]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:355
+#: doc/classes/BaseMaterial3D.xml:369
msgid ""
"How much to offset the [code]UV2[/code] coordinates. This amount will be "
"added to [code]UV2[/code] in the vertex function. This can be used to offset "
"a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:358
+#: doc/classes/BaseMaterial3D.xml:372
msgid ""
"How much to scale the [code]UV2[/code] coordinates. This is multiplied by "
"[code]UV2[/code] in the vertex function."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:361
+#: doc/classes/BaseMaterial3D.xml:375
msgid ""
"If [code]true[/code], instead of using [code]UV2[/code] textures will use a "
"triplanar texture lookup to determine how to apply textures. Triplanar uses "
@@ -9441,368 +8836,443 @@ msgid ""
"when you are trying to achieve crisp texturing."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:367
+#: doc/classes/BaseMaterial3D.xml:381
msgid ""
"If [code]true[/code], triplanar mapping for [code]UV2[/code] is calculated "
"in world space rather than object local space. See also [member "
"uv2_triplanar]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:370
+#: doc/classes/BaseMaterial3D.xml:384
msgid ""
"If [code]true[/code], the model's vertex colors are processed as sRGB mode."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:373
+#: doc/classes/BaseMaterial3D.xml:387
msgid "If [code]true[/code], the vertex color is used as albedo color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:378
+#: doc/classes/BaseMaterial3D.xml:392
msgid "Texture specifying per-pixel color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:381
+#: doc/classes/BaseMaterial3D.xml:395
msgid "Texture specifying per-pixel metallic value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:384
+#: doc/classes/BaseMaterial3D.xml:398
msgid "Texture specifying per-pixel roughness value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:387
+#: doc/classes/BaseMaterial3D.xml:401
msgid "Texture specifying per-pixel emission color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:390
+#: doc/classes/BaseMaterial3D.xml:404
msgid "Texture specifying per-pixel normal vector."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:393
+#: doc/classes/BaseMaterial3D.xml:407
msgid "Texture specifying per-pixel rim value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:396
+#: doc/classes/BaseMaterial3D.xml:410
msgid "Texture specifying per-pixel clearcoat value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:399
+#: doc/classes/BaseMaterial3D.xml:413
msgid ""
"Texture specifying per-pixel flowmap direction for use with [member "
"anisotropy]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:402
+#: doc/classes/BaseMaterial3D.xml:416
msgid "Texture specifying per-pixel ambient occlusion value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:405
+#: doc/classes/BaseMaterial3D.xml:419
msgid "Texture specifying per-pixel height."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:408
+#: doc/classes/BaseMaterial3D.xml:422
msgid "Texture specifying per-pixel subsurface scattering."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:411
-msgid "Texture specifying per-pixel transmission color."
+#: doc/classes/BaseMaterial3D.xml:425
+msgid "Texture specifying per-pixel transmittance for subsurface scattering."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:428
+msgid "Texture specifying per-pixel backlight color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:414
+#: doc/classes/BaseMaterial3D.xml:431
msgid "Texture specifying per-pixel refraction strength."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:417
+#: doc/classes/BaseMaterial3D.xml:434
msgid "Texture specifying per-pixel detail mask blending value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:420
+#: doc/classes/BaseMaterial3D.xml:437
msgid "Texture specifying per-pixel detail color."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:423
+#: doc/classes/BaseMaterial3D.xml:440
msgid "Texture specifying per-pixel detail normal."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:428
+#: doc/classes/BaseMaterial3D.xml:443
+msgid "Texture holding ambient occlusion, roughness, and metallic."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:446
msgid "Represents the size of the [enum TextureParam] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:431
+#: doc/classes/BaseMaterial3D.xml:449 doc/classes/RenderingServer.xml:3774
+#: doc/classes/Viewport.xml:390
msgid ""
"The texture filter reads from the nearest pixel only. The simplest and "
"fastest method of filtering, but the texture will look pixelized."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:434 doc/classes/CanvasItem.xml:665
+#: doc/classes/BaseMaterial3D.xml:452 doc/classes/RenderingServer.xml:3777
+#: doc/classes/Viewport.xml:393
msgid ""
-"The texture filter blends between the nearest four pixels. Use this for most "
-"cases where you want to avoid a pixelated style."
+"The texture filter blends between the nearest 4 pixels. Use this when you "
+"want to avoid a pixelated style, but do not want mipmaps."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:455 doc/classes/RenderingServer.xml:3780
+#: doc/classes/Viewport.xml:396
+msgid ""
+"The texture filter reads from the nearest pixel in the nearest mipmap. The "
+"fastest way to read from textures with mipmaps."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:458
+msgid ""
+"The texture filter blends between the nearest 4 pixels and between the "
+"nearest 2 mipmaps. Use this for most cases as mipmaps are important to "
+"smooth out pixels that are far from the camera."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:445 doc/classes/CanvasItem.xml:676
+#: doc/classes/BaseMaterial3D.xml:461 doc/classes/RenderingServer.xml:3786
+msgid ""
+"The texture filter reads from the nearest pixel, but selects a mipmap based "
+"on the angle between the surface and the camera view. This reduces artifacts "
+"on surfaces that are almost in line with the camera."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:464 doc/classes/RenderingServer.xml:3789
+msgid ""
+"The texture filter blends between the nearest 4 pixels and selects a mipmap "
+"based on the angle between the surface and the camera view. This reduces "
+"artifacts on surfaces that are almost in line with the camera. This is the "
+"slowest of the filtering options, but results in the highest quality "
+"texturing."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:467 doc/classes/CanvasItem.xml:677
msgid "Represents the size of the [enum TextureFilter] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:448
+#: doc/classes/BaseMaterial3D.xml:470
msgid "Use [code]UV[/code] with the detail texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:451
+#: doc/classes/BaseMaterial3D.xml:473
msgid "Use [code]UV2[/code] with the detail texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:454
+#: doc/classes/BaseMaterial3D.xml:476
msgid "The material will not use transparency."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:457
+#: doc/classes/BaseMaterial3D.xml:479
msgid "The material will use the texture's alpha values for transparency."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:464
+#: doc/classes/BaseMaterial3D.xml:482
+msgid ""
+"The material will cut off all values below a threshold, the rest will remain "
+"opaque."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:485
+msgid ""
+"The material will use the texture's alpha value for transparency, but will "
+"still be rendered in the pre-pass."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:488
msgid "Represents the size of the [enum Transparency] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:467
+#: doc/classes/BaseMaterial3D.xml:491
msgid "The object will not receive shadows."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:470
+#: doc/classes/BaseMaterial3D.xml:494
msgid ""
"The object will be shaded per pixel. Useful for realistic shading effect."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:473
+#: doc/classes/BaseMaterial3D.xml:497
msgid ""
"The object will be shaded per vertex. Useful when you want cheaper shaders "
"and do not care about visual quality."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:476
+#: doc/classes/BaseMaterial3D.xml:500
msgid "Represents the size of the [enum ShadingMode] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:479
+#: doc/classes/BaseMaterial3D.xml:503
msgid "Constant for setting [member emission_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:482
+#: doc/classes/BaseMaterial3D.xml:506
msgid "Constant for setting [member normal_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:485
+#: doc/classes/BaseMaterial3D.xml:509
msgid "Constant for setting [member rim_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:488
+#: doc/classes/BaseMaterial3D.xml:512
msgid "Constant for setting [member clearcoat_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:491
+#: doc/classes/BaseMaterial3D.xml:515
msgid "Constant for setting [member anisotropy_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:494
+#: doc/classes/BaseMaterial3D.xml:518
msgid "Constant for setting [member ao_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:499
+#: doc/classes/BaseMaterial3D.xml:521
+msgid "Constant for setting [member heightmap_enabled]."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:524
msgid "Constant for setting [member subsurf_scatter_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:502
-msgid "Constant for setting [member transmission_enabled]."
+#: doc/classes/BaseMaterial3D.xml:527
+msgid "Constant for setting [member subsurf_scatter_transmittance_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:505
+#: doc/classes/BaseMaterial3D.xml:530
+msgid "Constant for setting [member backlight_enabled]."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:533
msgid "Constant for setting [member refraction_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:508
+#: doc/classes/BaseMaterial3D.xml:536
msgid "Constant for setting [member detail_enabled]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:511 doc/classes/EditorFeatureProfile.xml:148
+#: doc/classes/BaseMaterial3D.xml:539 doc/classes/EditorFeatureProfile.xml:148
msgid "Represents the size of the [enum Feature] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:514
+#: doc/classes/BaseMaterial3D.xml:542
msgid ""
"Default blend mode. The color of the object is blended over the background "
"based on the object's alpha value."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:517
+#: doc/classes/BaseMaterial3D.xml:545
msgid "The color of the object is added to the background."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:520
+#: doc/classes/BaseMaterial3D.xml:548
msgid "The color of the object is subtracted from the background."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:523
+#: doc/classes/BaseMaterial3D.xml:551
msgid "The color of the object is multiplied by the background."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:526
+#: doc/classes/BaseMaterial3D.xml:554
msgid "Default depth draw mode. Depth is drawn only for opaque objects."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:529
+#: doc/classes/BaseMaterial3D.xml:557
msgid "Depth draw is calculated for both opaque and transparent objects."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:532
+#: doc/classes/BaseMaterial3D.xml:560
msgid "No depth draw."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:535
+#: doc/classes/BaseMaterial3D.xml:563
msgid "Default cull mode. The back of the object is culled when not visible."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:538
+#: doc/classes/BaseMaterial3D.xml:566
msgid "The front of the object is culled when not visible."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:541
+#: doc/classes/BaseMaterial3D.xml:569
msgid "No culling is performed."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:544
+#: doc/classes/BaseMaterial3D.xml:572
msgid ""
"Disables the depth test, so this object is drawn on top of all others. "
"However, objects drawn after it in the draw order may cover it."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:547
+#: doc/classes/BaseMaterial3D.xml:575
msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:550
+#: doc/classes/BaseMaterial3D.xml:578
msgid ""
"Vertex color is in sRGB space and needs to be converted to linear. Only "
"applies in the Vulkan renderer."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:553
+#: doc/classes/BaseMaterial3D.xml:581
msgid ""
"Uses point size to alter the size of primitive points. Also changes the "
"albedo texture lookup to use [code]POINT_COORD[/code] instead of [code]UV[/"
"code]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:556
+#: doc/classes/BaseMaterial3D.xml:584
msgid ""
"Object is scaled by depth so that it always appears the same size on screen."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:559
+#: doc/classes/BaseMaterial3D.xml:587
msgid ""
"Shader will keep the scale set for the mesh. Otherwise the scale is lost "
"when billboarding. Only applies when [member billboard_mode] is [constant "
"BILLBOARD_ENABLED]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:562 doc/classes/BaseMaterial3D.xml:568
+#: doc/classes/BaseMaterial3D.xml:590 doc/classes/BaseMaterial3D.xml:596
msgid ""
"Use triplanar texture lookup for all texture lookups that would normally use "
"[code]UV[/code]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:565 doc/classes/BaseMaterial3D.xml:571
+#: doc/classes/BaseMaterial3D.xml:593 doc/classes/BaseMaterial3D.xml:599
msgid ""
"Use triplanar texture lookup for all texture lookups that would normally use "
"[code]UV2[/code]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:574
+#: doc/classes/BaseMaterial3D.xml:602
msgid ""
"Use [code]UV2[/code] coordinates to look up from the [member ao_texture]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:577
+#: doc/classes/BaseMaterial3D.xml:605
msgid ""
"Use [code]UV2[/code] coordinates to look up from the [member "
"emission_texture]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:580
+#: doc/classes/BaseMaterial3D.xml:608
msgid "Forces the shader to convert albedo from sRGB space to linear space."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:583
+#: doc/classes/BaseMaterial3D.xml:611
msgid "Disables receiving shadows from other objects."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:586
+#: doc/classes/BaseMaterial3D.xml:614
msgid "Disables receiving ambient light."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:589
+#: doc/classes/BaseMaterial3D.xml:617
msgid "Enables the shadow to opacity feature."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:594
+#: doc/classes/BaseMaterial3D.xml:620 doc/classes/RenderingServer.xml:3801
+#: doc/classes/Viewport.xml:408
+msgid ""
+"Enables the texture to repeat when UV coordinates are outside the 0-1 range. "
+"If using one of the linear filtering modes, this can result in artifacts at "
+"the edges of a texture when the sampler filters across the edges of the "
+"texture."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:623
msgid ""
"Invert values read from a depth texture to convert them to height values "
"(heightmap)."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:599 doc/classes/CPUParticles2D.xml:355
-#: doc/classes/CPUParticles3D.xml:364 doc/classes/GeometryInstance3D.xml:100
+#: doc/classes/BaseMaterial3D.xml:626
+msgid ""
+"Enables the skin mode for subsurface scattering which is used to improve the "
+"look of subsurface scattering when used for human skin."
+msgstr ""
+
+#: doc/classes/BaseMaterial3D.xml:629 doc/classes/CPUParticles2D.xml:355
+#: doc/classes/CPUParticles3D.xml:364 doc/classes/GeometryInstance3D.xml:118
#: doc/classes/ParticlesMaterial.xml:315
msgid "Represents the size of the [enum Flags] enum."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:602
+#: doc/classes/BaseMaterial3D.xml:632
msgid "Default diffuse scattering algorithm."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:605
+#: doc/classes/BaseMaterial3D.xml:635
msgid "Diffuse scattering ignores roughness."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:608
+#: doc/classes/BaseMaterial3D.xml:638
msgid "Extends Lambert to cover more than 90 degrees when roughness increases."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:611
+#: doc/classes/BaseMaterial3D.xml:641
msgid "Attempts to use roughness to emulate microsurfacing."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:614
+#: doc/classes/BaseMaterial3D.xml:644
msgid "Uses a hard cut for lighting, with smoothing affected by roughness."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:617
+#: doc/classes/BaseMaterial3D.xml:647
msgid "Default specular blob."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:620 doc/classes/BaseMaterial3D.xml:623
+#: doc/classes/BaseMaterial3D.xml:650 doc/classes/BaseMaterial3D.xml:653
msgid "Older specular algorithm, included for compatibility."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:626
+#: doc/classes/BaseMaterial3D.xml:656
msgid "Toon blob which changes size based on roughness."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:629
+#: doc/classes/BaseMaterial3D.xml:659
msgid "No specular blob."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:632
+#: doc/classes/BaseMaterial3D.xml:662
msgid "Billboard mode is disabled."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:635
+#: doc/classes/BaseMaterial3D.xml:665
msgid "The object's Z axis will always face the camera."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:638
+#: doc/classes/BaseMaterial3D.xml:668
msgid "The object's X axis will always face the camera."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:641
+#: doc/classes/BaseMaterial3D.xml:671
msgid ""
"Used for particle systems when assigned to [GPUParticles3D] and "
"[CPUParticles3D] nodes. Enables [code]particles_anim_*[/code] properties.\n"
@@ -9810,45 +9280,45 @@ msgid ""
"anim_speed] should also be set to a positive value for the animation to play."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:645
+#: doc/classes/BaseMaterial3D.xml:675
msgid "Used to read from the red channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:648
+#: doc/classes/BaseMaterial3D.xml:678
msgid "Used to read from the green channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:651
+#: doc/classes/BaseMaterial3D.xml:681
msgid "Used to read from the blue channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:654
+#: doc/classes/BaseMaterial3D.xml:684
msgid "Used to read from the alpha channel of a texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:657
+#: doc/classes/BaseMaterial3D.xml:687
msgid "Currently unused."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:660
+#: doc/classes/BaseMaterial3D.xml:690
msgid "Adds the emission color to the color from the emission texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:663
+#: doc/classes/BaseMaterial3D.xml:693
msgid "Multiplies the emission color by the color from the emission texture."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:666
+#: doc/classes/BaseMaterial3D.xml:696
msgid "Do not use distance fade."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:669
+#: doc/classes/BaseMaterial3D.xml:699
msgid ""
"Smoothly fades the object out based on each pixel's distance from the camera "
"using the alpha channel."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:672
+#: doc/classes/BaseMaterial3D.xml:702
msgid ""
"Smoothly fades the object out based on each pixel's distance from the camera "
"using a dither approach. Dithering discards pixels based on a set pattern to "
@@ -9856,7 +9326,7 @@ msgid ""
"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
msgstr ""
-#: doc/classes/BaseMaterial3D.xml:675
+#: doc/classes/BaseMaterial3D.xml:705
msgid ""
"Smoothly fades the object out based on the object's distance from the camera "
"using a dither approach. Dithering discards pixels based on a set pattern to "
@@ -10530,176 +10000,181 @@ msgid ""
"scenes than manually changing the position of [CanvasItem]-based nodes.\n"
"This node is intended to be a simple helper to get things going quickly and "
"it may happen that more functionality is desired to change how the camera "
-"works. To make your own custom camera node, simply inherit from [Node2D] and "
-"change the transform of the canvas by calling get_viewport()."
-"set_canvas_transform(m) in [Viewport]."
+"works. To make your own custom camera node, inherit from [Node2D] and change "
+"the transform of the canvas by setting [member Viewport.canvas_transform] in "
+"[Viewport] (you can obtain the current [Viewport] by using [method Node."
+"get_viewport]).\n"
+"Note that the [Camera2D] node's [code]position[/code] doesn't represent the "
+"actual position of the screen, which may differ due to applied smoothing or "
+"limits. You can use [method get_camera_screen_center] to get the real "
+"position."
msgstr ""
-#: doc/classes/Camera2D.xml:17
+#: doc/classes/Camera2D.xml:18
msgid "Aligns the camera to the tracked node."
msgstr ""
-#: doc/classes/Camera2D.xml:24
+#: doc/classes/Camera2D.xml:25
msgid ""
"Removes any [Camera2D] from the ancestor [Viewport]'s internal currently-"
"assigned camera."
msgstr ""
-#: doc/classes/Camera2D.xml:31
+#: doc/classes/Camera2D.xml:32
msgid "Forces the camera to update scroll immediately."
msgstr ""
-#: doc/classes/Camera2D.xml:38
+#: doc/classes/Camera2D.xml:39
msgid "Returns the camera position."
msgstr ""
-#: doc/classes/Camera2D.xml:45
+#: doc/classes/Camera2D.xml:46
msgid ""
"Returns the location of the [Camera2D]'s screen-center, relative to the "
"origin."
msgstr ""
-#: doc/classes/Camera2D.xml:54
+#: doc/classes/Camera2D.xml:55
msgid ""
"Returns the specified margin. See also [member drag_margin_bottom], [member "
"drag_margin_top], [member drag_margin_left], and [member drag_margin_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:63
+#: doc/classes/Camera2D.xml:64
msgid ""
"Returns the specified camera limit. See also [member limit_bottom], [member "
"limit_top], [member limit_left], and [member limit_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:70
+#: doc/classes/Camera2D.xml:71
msgid ""
"Make this the current 2D camera for the scene (viewport and layer), in case "
"there are many cameras in the scene."
msgstr ""
-#: doc/classes/Camera2D.xml:77
+#: doc/classes/Camera2D.xml:78
msgid ""
"Sets the camera's position immediately to its current smoothing "
"destination.\n"
"This has no effect if smoothing is disabled."
msgstr ""
-#: doc/classes/Camera2D.xml:89
+#: doc/classes/Camera2D.xml:90
msgid ""
"Sets the specified margin. See also [member drag_margin_bottom], [member "
"drag_margin_top], [member drag_margin_left], and [member drag_margin_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:100
+#: doc/classes/Camera2D.xml:101
msgid ""
"Sets the specified camera limit. See also [member limit_bottom], [member "
"limit_top], [member limit_left], and [member limit_right]."
msgstr ""
-#: doc/classes/Camera2D.xml:106
+#: doc/classes/Camera2D.xml:107
msgid "The Camera2D's anchor point. See [enum AnchorMode] constants."
msgstr ""
-#: doc/classes/Camera2D.xml:109
+#: doc/classes/Camera2D.xml:110
msgid ""
"If [code]true[/code], the camera is the active camera for the current scene. "
"Only one camera can be current, so setting a different camera [code]current[/"
"code] will disable this one."
msgstr ""
-#: doc/classes/Camera2D.xml:112
+#: doc/classes/Camera2D.xml:113
msgid ""
"The custom [Viewport] node attached to the [Camera2D]. If [code]null[/code] "
"or not a [Viewport], uses the default viewport instead."
msgstr ""
-#: doc/classes/Camera2D.xml:115
+#: doc/classes/Camera2D.xml:116
msgid ""
"Bottom margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:118
+#: doc/classes/Camera2D.xml:119
msgid ""
"If [code]true[/code], the camera only moves when reaching the horizontal "
"drag margins. If [code]false[/code], the camera moves horizontally "
"regardless of margins."
msgstr ""
-#: doc/classes/Camera2D.xml:121
+#: doc/classes/Camera2D.xml:122
msgid ""
"Left margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:124
+#: doc/classes/Camera2D.xml:125
msgid ""
"Right margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:127
+#: doc/classes/Camera2D.xml:128
msgid ""
"Top margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-#: doc/classes/Camera2D.xml:130
+#: doc/classes/Camera2D.xml:131
msgid ""
"If [code]true[/code], the camera only moves when reaching the vertical drag "
"margins. If [code]false[/code], the camera moves vertically regardless of "
"margins."
msgstr ""
-#: doc/classes/Camera2D.xml:133
+#: doc/classes/Camera2D.xml:134
msgid ""
"If [code]true[/code], draws the camera's drag margin rectangle in the editor."
msgstr ""
-#: doc/classes/Camera2D.xml:136
+#: doc/classes/Camera2D.xml:137
msgid ""
"If [code]true[/code], draws the camera's limits rectangle in the editor."
msgstr ""
-#: doc/classes/Camera2D.xml:139
+#: doc/classes/Camera2D.xml:140
msgid ""
"If [code]true[/code], draws the camera's screen rectangle in the editor."
msgstr ""
-#: doc/classes/Camera2D.xml:142
+#: doc/classes/Camera2D.xml:143
msgid ""
"Bottom scroll limit in pixels. The camera stops moving when reaching this "
"value."
msgstr ""
-#: doc/classes/Camera2D.xml:145
+#: doc/classes/Camera2D.xml:146
msgid ""
"Left scroll limit in pixels. The camera stops moving when reaching this "
"value."
msgstr ""
-#: doc/classes/Camera2D.xml:148
+#: doc/classes/Camera2D.xml:149
msgid ""
"Right scroll limit in pixels. The camera stops moving when reaching this "
"value."
msgstr ""
-#: doc/classes/Camera2D.xml:151
+#: doc/classes/Camera2D.xml:152
msgid ""
"If [code]true[/code], the camera smoothly stops when reaches its limits."
msgstr ""
-#: doc/classes/Camera2D.xml:154
+#: doc/classes/Camera2D.xml:155
msgid ""
"Top scroll limit in pixels. The camera stops moving when reaching this value."
msgstr ""
-#: doc/classes/Camera2D.xml:157
+#: doc/classes/Camera2D.xml:158
msgid ""
"The camera's offset, useful for looking around or camera shake animations."
msgstr ""
-#: doc/classes/Camera2D.xml:160
+#: doc/classes/Camera2D.xml:161
msgid ""
"The horizontal offset of the camera, relative to the drag margins.\n"
"[b]Note:[/b] Offset H is used only to force offset relative to margins. It's "
@@ -10707,33 +10182,33 @@ msgid ""
"initial offset."
msgstr ""
-#: doc/classes/Camera2D.xml:164
+#: doc/classes/Camera2D.xml:165
msgid ""
"The vertical offset of the camera, relative to the drag margins.\n"
"[b]Note:[/b] Used the same as [member offset_h]."
msgstr ""
-#: doc/classes/Camera2D.xml:168
+#: doc/classes/Camera2D.xml:169
msgid "The camera's process callback. See [enum Camera2DProcessMode]."
msgstr ""
-#: doc/classes/Camera2D.xml:171
+#: doc/classes/Camera2D.xml:172
msgid "If [code]true[/code], the camera rotates with the target."
msgstr ""
-#: doc/classes/Camera2D.xml:174
+#: doc/classes/Camera2D.xml:175
msgid ""
"If [code]true[/code], the camera smoothly moves towards the target at "
"[member smoothing_speed]."
msgstr ""
-#: doc/classes/Camera2D.xml:177
+#: doc/classes/Camera2D.xml:178
msgid ""
"Speed in pixels per second of the camera's smoothing effect when [member "
"smoothing_enabled] is [code]true[/code]."
msgstr ""
-#: doc/classes/Camera2D.xml:180
+#: doc/classes/Camera2D.xml:181
msgid ""
"The camera's zoom relative to the viewport. Values larger than "
"[code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an "
@@ -10741,23 +10216,23 @@ msgid ""
"[code]Vector2(4, 4)[/code] for a 4× zoom-out."
msgstr ""
-#: doc/classes/Camera2D.xml:185
+#: doc/classes/Camera2D.xml:186
msgid ""
"The camera's position is fixed so that the top-left corner is always at the "
"origin."
msgstr ""
-#: doc/classes/Camera2D.xml:188
+#: doc/classes/Camera2D.xml:189
msgid ""
"The camera's position takes into account vertical/horizontal offsets and the "
"screen size."
msgstr ""
-#: doc/classes/Camera2D.xml:191 doc/classes/ClippedCamera3D.xml:104
+#: doc/classes/Camera2D.xml:192 doc/classes/ClippedCamera3D.xml:104
msgid "The camera updates with the [code]_physics_process[/code] callback."
msgstr ""
-#: doc/classes/Camera2D.xml:194 doc/classes/ClippedCamera3D.xml:107
+#: doc/classes/Camera2D.xml:195 doc/classes/ClippedCamera3D.xml:107
msgid "The camera updates with the [code]_process[/code] callback."
msgstr ""
@@ -11019,6 +10494,72 @@ msgid ""
"Audio's [code]pitch shift[/code])."
msgstr ""
+#: doc/classes/CameraEffects.xml:4
+msgid ""
+"Contains camera-specific effects such as depth of field and exposure "
+"override."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:7
+msgid ""
+"Contains camera-specific effects such as depth of field and exposure "
+"override.\n"
+"See also [Environment] for general 3D environment settings."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:16
+msgid ""
+"The amount of blur for both near and far depth-of-field effects. The amount "
+"of blur increases the radius of the blur effect, making the affected area "
+"blurrier. However, If the amount is too high, you might start to see lines "
+"appearing, especially when using a low quality blur."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:19
+msgid ""
+"The distance from the camera where the far blur effect affects the rendering."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:22
+msgid ""
+"If [code]true[/code], enables the depth-of-field far blur effect. This has a "
+"significant performance cost. Consider disabling it in scenes where there "
+"are no far away objects."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:25
+msgid "The length of the transition between the no-blur area and far blur."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:28
+msgid ""
+"Distance from the camera where the near blur effect affects the rendering."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:31
+msgid ""
+"If [code]true[/code], enables the depth-of-field near blur effect. This has "
+"a significant performance cost. Consider disabling it in scenes where there "
+"are no nearby objects."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:34
+msgid "The length of the transition between the near blur and no-blur area."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:37
+msgid ""
+"The exposure override value to use. Higher values will result in a brighter "
+"scene. Only effective if [member override_exposure_enable] is [code]true[/"
+"code]."
+msgstr ""
+
+#: doc/classes/CameraEffects.xml:40
+msgid ""
+"If [code]true[/code], overrides the manual or automatic exposure defined in "
+"the [Environment] with the value in [member override_exposure]."
+msgstr ""
+
#: doc/classes/CameraFeed.xml:4
msgid ""
"A camera feed gives you access to a single physical camera attached to your "
@@ -11029,7 +10570,7 @@ msgstr ""
msgid ""
"A camera feed gives you access to a single physical camera attached to your "
"device. When enabled, Godot will start capturing frames from the camera "
-"which can then be used.\n"
+"which can then be used. See also [CameraServer].\n"
"[b]Note:[/b] Many cameras will return YCbCr images which are split into two "
"textures and need to be combined in a shader. Godot does this automatically "
"for you if you set the environment to show the camera image in the "
@@ -11044,50 +10585,54 @@ msgstr ""
msgid ""
"The [CameraServer] keeps track of different cameras accessible in Godot. "
"These are external cameras such as webcams or the cameras on your phone.\n"
-"It is notably used to provide AR modules with a video feed from the camera."
+"It is notably used to provide AR modules with a video feed from the camera.\n"
+"[b]Note:[/b] This class is currently only implemented on macOS and iOS. On "
+"other platforms, no [CameraFeed]s will be available."
msgstr ""
-#: doc/classes/CameraServer.xml:19
-msgid "Adds a camera feed to the camera server."
+#: doc/classes/CameraServer.xml:20
+msgid "Adds the camera [code]feed[/code] to the camera server."
msgstr ""
-#: doc/classes/CameraServer.xml:26
+#: doc/classes/CameraServer.xml:27
msgid "Returns an array of [CameraFeed]s."
msgstr ""
-#: doc/classes/CameraServer.xml:35
-msgid "Returns the [CameraFeed] with this id."
+#: doc/classes/CameraServer.xml:36
+msgid ""
+"Returns the [CameraFeed] corresponding to the camera with the given "
+"[code]index[/code]."
msgstr ""
-#: doc/classes/CameraServer.xml:42
+#: doc/classes/CameraServer.xml:43
msgid "Returns the number of [CameraFeed]s registered."
msgstr ""
-#: doc/classes/CameraServer.xml:51
-msgid "Removes a [CameraFeed]."
+#: doc/classes/CameraServer.xml:52
+msgid "Removes the specified camera [code]feed[/code]."
msgstr ""
-#: doc/classes/CameraServer.xml:60
-msgid "Emitted when a [CameraFeed] is added (e.g. webcam is plugged in)."
+#: doc/classes/CameraServer.xml:61
+msgid "Emitted when a [CameraFeed] is added (e.g. a webcam is plugged in)."
msgstr ""
-#: doc/classes/CameraServer.xml:67
-msgid "Emitted when a [CameraFeed] is removed (e.g. webcam is unplugged)."
+#: doc/classes/CameraServer.xml:68
+msgid "Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged)."
msgstr ""
-#: doc/classes/CameraServer.xml:73
+#: doc/classes/CameraServer.xml:74
msgid "The RGBA camera image."
msgstr ""
-#: doc/classes/CameraServer.xml:76
-msgid "The YCbCr camera image."
+#: doc/classes/CameraServer.xml:77
+msgid "The [url=https://en.wikipedia.org/wiki/YCbCr]YCbCr[/url] camera image."
msgstr ""
-#: doc/classes/CameraServer.xml:79
+#: doc/classes/CameraServer.xml:80
msgid "The Y component camera image."
msgstr ""
-#: doc/classes/CameraServer.xml:82
+#: doc/classes/CameraServer.xml:83
msgid "The CbCr component camera image."
msgstr ""
@@ -11143,97 +10688,100 @@ msgid ""
"its children) and self modulation (only for itself), as well as its blend "
"mode.\n"
"Ultimately, a transform notification can be requested, which will notify the "
-"node that its global position changed in case the parent tree changed."
+"node that its global position changed in case the parent tree changed.\n"
+"[b]Note:[/b] Unless otherwise specified, all methods that have angle "
+"parameters must have angles specified as [i]radians[/i]. To convert degrees "
+"to radians, use [method @GDScript.deg2rad]."
msgstr ""
-#: doc/classes/CanvasItem.xml:14 doc/classes/CanvasLayer.xml:10
+#: doc/classes/CanvasItem.xml:15 doc/classes/CanvasLayer.xml:10
#: doc/classes/InputEvent.xml:11 doc/classes/Viewport.xml:15
msgid "https://docs.godotengine.org/en/latest/tutorials/2d/2d_transforms.html"
msgstr ""
-#: doc/classes/CanvasItem.xml:15 doc/classes/Control.xml:19
+#: doc/classes/CanvasItem.xml:16 doc/classes/Control.xml:19
#: doc/classes/Node2D.xml:10
msgid ""
"https://docs.godotengine.org/en/latest/tutorials/2d/custom_drawing_in_2d.html"
msgstr ""
-#: doc/classes/CanvasItem.xml:22
+#: doc/classes/CanvasItem.xml:23
msgid ""
"Overridable function called by the engine (if defined) to draw the canvas "
"item."
msgstr ""
-#: doc/classes/CanvasItem.xml:43
+#: doc/classes/CanvasItem.xml:44
msgid ""
"Draws an arc between the given angles. The larger the value of "
"[code]point_count[/code], the smoother the curve."
msgstr ""
-#: doc/classes/CanvasItem.xml:60
+#: doc/classes/CanvasItem.xml:61
msgid ""
"Draws a string character using a custom font. Returns the advance, depending "
"on the character width and kerning with an optional next character."
msgstr ""
-#: doc/classes/CanvasItem.xml:73
+#: doc/classes/CanvasItem.xml:74
msgid "Draws a colored circle."
msgstr ""
-#: doc/classes/CanvasItem.xml:98
+#: doc/classes/CanvasItem.xml:99
msgid "Draws a colored polygon of any amount of points, convex or concave."
msgstr ""
-#: doc/classes/CanvasItem.xml:113
+#: doc/classes/CanvasItem.xml:114
msgid "Draws a line from a 2D point to another, with a given color and width."
msgstr ""
-#: doc/classes/CanvasItem.xml:138
+#: doc/classes/CanvasItem.xml:139
msgid ""
"Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for "
"related documentation."
msgstr ""
-#: doc/classes/CanvasItem.xml:151
+#: doc/classes/CanvasItem.xml:152
msgid "Draws multiple, parallel lines with a uniform [code]color[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:164
+#: doc/classes/CanvasItem.xml:165
msgid ""
"Draws multiple, parallel lines with a uniform [code]width[/code] and segment-"
"by-segment coloring. Colors assigned to line segments match by index between "
"[code]points[/code] and [code]colors[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:185
+#: doc/classes/CanvasItem.xml:186
msgid ""
"Draws a [MultiMesh] in 2D with the provided texture. See "
"[MultiMeshInstance2D] for related documentation."
msgstr ""
-#: doc/classes/CanvasItem.xml:210
+#: doc/classes/CanvasItem.xml:211
msgid "Draws a polygon of any amount of points, convex or concave."
msgstr ""
-#: doc/classes/CanvasItem.xml:223
+#: doc/classes/CanvasItem.xml:224
msgid ""
"Draws interconnected line segments with a uniform [code]color[/code] and "
"[code]width[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:236
+#: doc/classes/CanvasItem.xml:237
msgid ""
"Draws interconnected line segments with a uniform [code]width[/code] and "
"segment-by-segment coloring. Colors assigned to line segments match by index "
"between [code]points[/code] and [code]colors[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:263
+#: doc/classes/CanvasItem.xml:264
msgid ""
"Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points "
"for a triangle, and 4 points for a quad."
msgstr ""
-#: doc/classes/CanvasItem.xml:278
+#: doc/classes/CanvasItem.xml:279
msgid ""
"Draws a rectangle. If [code]filled[/code] is [code]true[/code], the "
"rectangle will be filled with the [code]color[/code] specified. If "
@@ -11243,272 +10791,278 @@ msgid ""
"[code]false[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:292
+#: doc/classes/CanvasItem.xml:293
msgid ""
"Sets a custom transform for drawing via components. Anything drawn "
"afterwards will be transformed by this."
msgstr ""
-#: doc/classes/CanvasItem.xml:301
+#: doc/classes/CanvasItem.xml:302
msgid ""
"Sets a custom transform for drawing via matrix. Anything drawn afterwards "
"will be transformed by this."
msgstr ""
-#: doc/classes/CanvasItem.xml:318
+#: doc/classes/CanvasItem.xml:319
msgid "Draws a string using a custom font."
msgstr ""
-#: doc/classes/CanvasItem.xml:329
+#: doc/classes/CanvasItem.xml:330
msgid "Draws a styled rectangle."
msgstr ""
-#: doc/classes/CanvasItem.xml:352
+#: doc/classes/CanvasItem.xml:353
msgid "Draws a texture at a given position."
msgstr ""
-#: doc/classes/CanvasItem.xml:379
+#: doc/classes/CanvasItem.xml:380
msgid ""
"Draws a textured rectangle at a given position, optionally modulated by a "
"color. If [code]transpose[/code] is [code]true[/code], the texture will have "
"its X and Y coordinates swapped."
msgstr ""
-#: doc/classes/CanvasItem.xml:408
+#: doc/classes/CanvasItem.xml:409
msgid ""
"Draws a textured rectangle region at a given position, optionally modulated "
"by a color. If [code]transpose[/code] is [code]true[/code], the texture will "
"have its X and Y coordinates swapped."
msgstr ""
-#: doc/classes/CanvasItem.xml:415 doc/classes/Node3D.xml:18
+#: doc/classes/CanvasItem.xml:416 doc/classes/Node3D.xml:19
msgid ""
"Forces the transform to update. Transform changes in physics are not instant "
"for performance reasons. Transforms are accumulated and then set. Use this "
"if you need an up-to-date transform when doing physics operations."
msgstr ""
-#: doc/classes/CanvasItem.xml:422
+#: doc/classes/CanvasItem.xml:423
msgid "Returns the [RID] of the [World2D] canvas where this item is in."
msgstr ""
-#: doc/classes/CanvasItem.xml:429
+#: doc/classes/CanvasItem.xml:430
msgid "Returns the canvas item RID used by [RenderingServer] for this item."
msgstr ""
-#: doc/classes/CanvasItem.xml:436
+#: doc/classes/CanvasItem.xml:437
msgid "Returns the transform matrix of this item's canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:443
+#: doc/classes/CanvasItem.xml:444
msgid "Returns the global position of the mouse."
msgstr ""
-#: doc/classes/CanvasItem.xml:450
+#: doc/classes/CanvasItem.xml:451
msgid "Returns the global transform matrix of this item."
msgstr ""
-#: doc/classes/CanvasItem.xml:457
+#: doc/classes/CanvasItem.xml:458
msgid ""
"Returns the global transform matrix of this item in relation to the canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:464
+#: doc/classes/CanvasItem.xml:465
msgid "Returns the mouse position relative to this item's position."
msgstr ""
-#: doc/classes/CanvasItem.xml:471
+#: doc/classes/CanvasItem.xml:472
msgid "Returns the transform matrix of this item."
msgstr ""
-#: doc/classes/CanvasItem.xml:478
+#: doc/classes/CanvasItem.xml:479
msgid "Returns the viewport's boundaries as a [Rect2]."
msgstr ""
-#: doc/classes/CanvasItem.xml:485
+#: doc/classes/CanvasItem.xml:486
msgid "Returns this item's transform in relation to the viewport."
msgstr ""
-#: doc/classes/CanvasItem.xml:492
+#: doc/classes/CanvasItem.xml:493
msgid "Returns the [World2D] where this item is in."
msgstr ""
-#: doc/classes/CanvasItem.xml:499
+#: doc/classes/CanvasItem.xml:500
msgid "Hide the [CanvasItem] if it's currently visible."
msgstr ""
-#: doc/classes/CanvasItem.xml:506
+#: doc/classes/CanvasItem.xml:507
msgid ""
"Returns [code]true[/code] if local transform notifications are communicated "
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml:513
+#: doc/classes/CanvasItem.xml:514
msgid ""
"Returns [code]true[/code] if the node is set as top-level. See [method "
"set_as_toplevel]."
msgstr ""
-#: doc/classes/CanvasItem.xml:520
+#: doc/classes/CanvasItem.xml:521
msgid ""
"Returns [code]true[/code] if global transform notifications are communicated "
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml:527
+#: doc/classes/CanvasItem.xml:528
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and its inherited visibility "
"is also [code]true[/code]."
msgstr ""
-#: doc/classes/CanvasItem.xml:536
+#: doc/classes/CanvasItem.xml:537
msgid "Assigns [code]screen_point[/code] as this node's new local transform."
msgstr ""
-#: doc/classes/CanvasItem.xml:545
+#: doc/classes/CanvasItem.xml:546
msgid ""
"Transformations issued by [code]event[/code]'s inputs are applied in local "
"space instead of global space."
msgstr ""
-#: doc/classes/CanvasItem.xml:554
+#: doc/classes/CanvasItem.xml:555
msgid ""
"If [code]enable[/code] is [code]true[/code], the node won't inherit its "
"transform from parent canvas items."
msgstr ""
-#: doc/classes/CanvasItem.xml:563
+#: doc/classes/CanvasItem.xml:564
msgid ""
"If [code]enable[/code] is [code]true[/code], children will be updated with "
"local transform data."
msgstr ""
-#: doc/classes/CanvasItem.xml:572
+#: doc/classes/CanvasItem.xml:573
msgid ""
"If [code]enable[/code] is [code]true[/code], children will be updated with "
"global transform data."
msgstr ""
-#: doc/classes/CanvasItem.xml:579
+#: doc/classes/CanvasItem.xml:580
msgid ""
"Show the [CanvasItem] if it's currently hidden. For controls that inherit "
"[Popup], the correct way to make them visible is to call one of the multiple "
"[code]popup*()[/code] functions instead."
msgstr ""
-#: doc/classes/CanvasItem.xml:586
+#: doc/classes/CanvasItem.xml:587
msgid ""
"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
"called on idle time to request redraw."
msgstr ""
-#: doc/classes/CanvasItem.xml:592
+#: doc/classes/CanvasItem.xml:593
msgid ""
"The rendering layers in which this [CanvasItem] responds to [Light2D] nodes."
msgstr ""
-#: doc/classes/CanvasItem.xml:595
+#: doc/classes/CanvasItem.xml:596
msgid "The material applied to textures on this [CanvasItem]."
msgstr ""
-#: doc/classes/CanvasItem.xml:598
+#: doc/classes/CanvasItem.xml:599
msgid "The color applied to textures on this [CanvasItem]."
msgstr ""
-#: doc/classes/CanvasItem.xml:601
+#: doc/classes/CanvasItem.xml:602
msgid ""
"The color applied to textures on this [CanvasItem]. This is not inherited by "
"children [CanvasItem]s."
msgstr ""
-#: doc/classes/CanvasItem.xml:604
+#: doc/classes/CanvasItem.xml:605
msgid "If [code]true[/code], the object draws behind its parent."
msgstr ""
-#: doc/classes/CanvasItem.xml:607
+#: doc/classes/CanvasItem.xml:608
msgid "If [code]true[/code], the object draws on top of its parent."
msgstr ""
-#: doc/classes/CanvasItem.xml:614
+#: doc/classes/CanvasItem.xml:615
msgid ""
"If [code]true[/code], the parent [CanvasItem]'s [member material] property "
"is used as this one's material."
msgstr ""
-#: doc/classes/CanvasItem.xml:617
+#: doc/classes/CanvasItem.xml:618
msgid ""
"If [code]true[/code], this [CanvasItem] is drawn. For controls that inherit "
"[Popup], the correct way to make them visible is to call one of the multiple "
"[code]popup*()[/code] functions instead."
msgstr ""
-#: doc/classes/CanvasItem.xml:623
+#: doc/classes/CanvasItem.xml:624
msgid ""
"Emitted when the [CanvasItem] must redraw. This can only be connected "
"realtime, as deferred will not allow drawing."
msgstr ""
-#: doc/classes/CanvasItem.xml:628
+#: doc/classes/CanvasItem.xml:629
msgid "Emitted when becoming hidden."
msgstr ""
-#: doc/classes/CanvasItem.xml:633
+#: doc/classes/CanvasItem.xml:634
msgid "Emitted when the item rect has changed."
msgstr ""
-#: doc/classes/CanvasItem.xml:638
+#: doc/classes/CanvasItem.xml:639
msgid "Emitted when the visibility (hidden/visible) changes."
msgstr ""
-#: doc/classes/CanvasItem.xml:644
+#: doc/classes/CanvasItem.xml:645
msgid ""
"The [CanvasItem]'s transform has changed. This notification is only received "
"if enabled by [method set_notify_transform] or [method "
"set_notify_local_transform]."
msgstr ""
-#: doc/classes/CanvasItem.xml:647
+#: doc/classes/CanvasItem.xml:648
msgid "The [CanvasItem] is requested to draw."
msgstr ""
-#: doc/classes/CanvasItem.xml:650
+#: doc/classes/CanvasItem.xml:651
msgid "The [CanvasItem]'s visibility has changed."
msgstr ""
-#: doc/classes/CanvasItem.xml:653
+#: doc/classes/CanvasItem.xml:654
msgid "The [CanvasItem] has entered the canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:656
+#: doc/classes/CanvasItem.xml:657
msgid "The [CanvasItem] has exited the canvas."
msgstr ""
-#: doc/classes/CanvasItem.xml:659 doc/classes/CanvasItem.xml:679
+#: doc/classes/CanvasItem.xml:660 doc/classes/CanvasItem.xml:680
msgid "The [CanvasItem] will inherit the filter from its parent."
msgstr ""
-#: doc/classes/CanvasItem.xml:662
+#: doc/classes/CanvasItem.xml:663
msgid ""
"The texture filter reads from the nearest pixel only. The simplest and "
"fastest method of filtering. Useful for pixel art."
msgstr ""
-#: doc/classes/CanvasItem.xml:682
+#: doc/classes/CanvasItem.xml:666
+msgid ""
+"The texture filter blends between the nearest four pixels. Use this for most "
+"cases where you want to avoid a pixelated style."
+msgstr ""
+
+#: doc/classes/CanvasItem.xml:683
msgid "Texture will not repeat."
msgstr ""
-#: doc/classes/CanvasItem.xml:685
+#: doc/classes/CanvasItem.xml:686
msgid "Texture will repeat normally."
msgstr ""
-#: doc/classes/CanvasItem.xml:688
+#: doc/classes/CanvasItem.xml:689
msgid ""
"Texture will repeat in a 2x2 tiled mode, where elements at even positions "
"are mirrored."
msgstr ""
-#: doc/classes/CanvasItem.xml:691
+#: doc/classes/CanvasItem.xml:692
msgid "Represents the size of the [enum TextureRepeat] enum."
msgstr ""
@@ -12696,25 +12250,24 @@ msgid ""
"component."
msgstr ""
-#: doc/classes/Color.xml:158
+#: doc/classes/Color.xml:160
msgid ""
-"Returns a new color resulting from making this color lighter by the "
-"specified percentage (ratio from 0 to 1).\n"
+"Returns the linear interpolation with another color. The interpolation "
+"factor [code]t[/code] is between 0 and 1.\n"
"[codeblock]\n"
-"var green = Color(0.0, 1.0, 0.0)\n"
-"var lightgreen = green.lightened(0.2) # 20% lighter than regular green\n"
+"var c1 = Color(1.0, 0.0, 0.0)\n"
+"var c2 = Color(0.0, 1.0, 0.0)\n"
+"var li_c = c1.lerp(c2, 0.5) # A color of an RGBA(128, 128, 0, 255)\n"
"[/codeblock]"
msgstr ""
-#: doc/classes/Color.xml:173
+#: doc/classes/Color.xml:174
msgid ""
-"Returns the linear interpolation with another color. The interpolation "
-"factor [code]t[/code] is between 0 and 1.\n"
+"Returns a new color resulting from making this color lighter by the "
+"specified percentage (ratio from 0 to 1).\n"
"[codeblock]\n"
-"var c1 = Color(1.0, 0.0, 0.0)\n"
-"var c2 = Color(0.0, 1.0, 0.0)\n"
-"var li_c = c1.lerp(c2, 0.5) # A color of an RGBA(128, 128, 0, "
-"255)\n"
+"var green = Color(0.0, 1.0, 0.0)\n"
+"var lightgreen = green.lightened(0.2) # 20% lighter than regular green\n"
"[/codeblock]"
msgstr ""
@@ -13736,7 +13289,7 @@ msgid ""
msgstr ""
#: doc/classes/ConeTwistJoint3D.xml:77 doc/classes/Generic6DOFJoint3D.xml:404
-#: doc/classes/HingeJoint3D.xml:109 doc/classes/Light3D.xml:124
+#: doc/classes/HingeJoint3D.xml:109 doc/classes/Light3D.xml:145
#: doc/classes/SliderJoint3D.xml:170
msgid "Represents the size of the [enum Param] enum."
msgstr ""
@@ -14620,8 +14173,8 @@ msgstr ""
#: doc/classes/Control.xml:801
msgid ""
"Tells Godot which node it should give keyboard focus to if the user presses "
-"Tab on a keyboard by default. You can change the key by editing the "
-"[code]ui_focus_next[/code] input action.\n"
+"[kbd]Tab[/kbd] on a keyboard by default. You can change the key by editing "
+"the [code]ui_focus_next[/code] input action.\n"
"If this property is not set, Godot will select a \"best guess\" based on "
"surrounding nodes in the scene tree."
msgstr ""
@@ -14629,8 +14182,8 @@ msgstr ""
#: doc/classes/Control.xml:805
msgid ""
"Tells Godot which node it should give keyboard focus to if the user presses "
-"Shift+Tab on a keyboard by default. You can change the key by editing the "
-"[code]ui_focus_prev[/code] input action.\n"
+"[kbd]Shift + Tab[/kbd] on a keyboard by default. You can change the key by "
+"editing the [code]ui_focus_prev[/code] input action.\n"
"If this property is not set, Godot will select a \"best guess\" based on "
"surrounding nodes in the scene tree."
msgstr ""
@@ -14712,9 +14265,9 @@ msgstr ""
#: doc/classes/Control.xml:841
msgid ""
-"Enables whether rendering of children should be clipped to this control's "
-"rectangle. If [code]true[/code], parts of a child which would be visibly "
-"outside of this control's rectangle will not be rendered."
+"Enables whether rendering of [CanvasItem] based children should be clipped "
+"to this control's rectangle. If [code]true[/code], parts of a child which "
+"would be visibly outside of this control's rectangle will not be rendered."
msgstr ""
#: doc/classes/Control.xml:844
@@ -16870,6 +16423,172 @@ msgid ""
"stiffness multiplied by the size difference from its resting length."
msgstr ""
+#: doc/classes/Decal.xml:4
+msgid "Node that projects a texture onto a [MeshInstance3D]."
+msgstr ""
+
+#: doc/classes/Decal.xml:7
+msgid ""
+"[Decal]s are used to project a texture onto a [Mesh] in the scene. Use "
+"Decals to add detail to a scene without affecting the underlying [Mesh]. "
+"They are often used to add weathering to building, add dirt or mud to the "
+"ground, or add variety to props. Decals can be moved at any time, making "
+"them suitable for things like blob shadows or laser sight dots.\n"
+"They are made of an [AABB] and a group of [Texture2D]s specifying [Color], "
+"normal, ORM (ambient occlusion, roughness, metallic), and emission. Decals "
+"are projected within their [AABB] so altering the orientation of the Decal "
+"affects the direction in which they are projected. By default, Decals are "
+"projected down (i.e. from positive Y to negative Y).\n"
+"The [Texture2D]s associated with the Decal are automatically stored in a "
+"texture atlas which is used for drawing the decals so all decals can be "
+"drawn at once. Godot uses clustered decals, meaning they are stored in "
+"cluster data and drawn when the mesh is drawn, they are not drawn as a "
+"postprocessing effect after."
+msgstr ""
+
+#: doc/classes/Decal.xml:20
+msgid ""
+"Returns the [Texture2D] associated with the specified [enum DecalTexture]. "
+"This is a convenience method, in most cases you should access the texture "
+"directly. \n"
+"For example, instead of [code]albedo_tex = $Decal.get_texture(Decal."
+"TEXTURE_ALBEDO)[/code], use [code]albedo_tex = $Decal.texture_albedo[/"
+"code].\n"
+"One case where this is better than accessing the texture directly is when "
+"you want to copy one Decal's textures to another. For example:\n"
+"[codeblock]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/Decal.xml:37
+msgid ""
+"Sets the [Texture2D] associated with the specified [enum DecalTexture]. This "
+"is a convenience method, in most cases you should access the texture "
+"directly. \n"
+"For example, instead of [code]$Decal.set_texture(Decal.TEXTURE_ALBEDO, "
+"albedo_tex)[/code], use [code]$Decal.texture_albedo = albedo_tex[/code].\n"
+"One case where this is better than accessing the texture directly is when "
+"you want to copy one Decal's textures to another. For example:\n"
+"[codeblock]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/Decal.xml:49
+msgid ""
+"Blends the albedo [Color] of the decal with albedo [Color] of the underlying "
+"mesh."
+msgstr ""
+
+#: doc/classes/Decal.xml:52
+msgid ""
+"Specifies which [member VisualInstance3D.layers] this decal will project on. "
+"By default, Decals affect all layers. This is used so you can specify which "
+"types of objects receive the Decal and which do not. This is especially "
+"useful so you an ensure that dynamic objects don't accidentally receive a "
+"Decal intended for the terrain under them."
+msgstr ""
+
+#: doc/classes/Decal.xml:55
+msgid "Distance from the camera at which the Decal begins to fade away."
+msgstr ""
+
+#: doc/classes/Decal.xml:58
+msgid ""
+"If [code]true[/code], decals will smoothly fade away when far from the "
+"active [Camera3D] starting at [member distance_fade_begin]. The Decal will "
+"fade out over [member distance_fade_length], after which it will be culled "
+"and not sent to the shader at all. Use this to reduce the number of active "
+"Decals in a scene and thus improve performance."
+msgstr ""
+
+#: doc/classes/Decal.xml:61
+msgid ""
+"Distance over which the Decal fades. The Decal becomes slowly more "
+"transparent over this distance and is completely invisible at the end."
+msgstr ""
+
+#: doc/classes/Decal.xml:64
+msgid ""
+"Energy multiplier for the emission texture. This will make the decal emit "
+"light at a higher intensity."
+msgstr ""
+
+#: doc/classes/Decal.xml:67
+msgid ""
+"Sets the size of the [AABB] used by the decal. The AABB goes from [code]-"
+"extents[/code] to [code]extents[/code]."
+msgstr ""
+
+#: doc/classes/Decal.xml:70 doc/classes/Decal.xml:91
+msgid ""
+"Sets the curve over which the decal will fade as the surface gets further "
+"from the center of the [AABB]."
+msgstr ""
+
+#: doc/classes/Decal.xml:73
+msgid "Changes the [Color] of the Decal by multiplying it with this value."
+msgstr ""
+
+#: doc/classes/Decal.xml:76
+msgid ""
+"Fades the Decal if the angle between the Decal's [AABB] and the target "
+"surface becomes too large. A value of [code]0[/code] projects the Decal "
+"regardless of angle, a value of [code]1[/code] limits the Decal to surfaces "
+"that are nearly perpendicular."
+msgstr ""
+
+#: doc/classes/Decal.xml:79
+msgid ""
+"[Texture2D] with the base [Color] of the Decal. Either this or the [member "
+"texture_emission] must be set for the Decal to be visible. Use the alpha "
+"channel like a mask to smoothly blend the edges of the decal with the "
+"underlying object."
+msgstr ""
+
+#: doc/classes/Decal.xml:82
+msgid ""
+"[Texture2D] with the emission [Color] of the Decal. Either this or the "
+"[member texture_emission] must be set for the Decal to be visible. Use the "
+"alpha channel like a mask to smoothly blend the edges of the decal with the "
+"underlying object."
+msgstr ""
+
+#: doc/classes/Decal.xml:85
+msgid ""
+"[Texture2D] with the per-pixel normalmap for the decal. Use this to add "
+"extra detail to decals."
+msgstr ""
+
+#: doc/classes/Decal.xml:88
+msgid ""
+"[Texture2D] storing ambient occlusion, roughness, and metallic for the "
+"decal. Use this to add extra detail to decals."
+msgstr ""
+
+#: doc/classes/Decal.xml:96
+msgid "[Texture2D] corresponding to [member texture_albedo]."
+msgstr ""
+
+#: doc/classes/Decal.xml:99
+msgid "[Texture2D] corresponding to [member texture_normal]."
+msgstr ""
+
+#: doc/classes/Decal.xml:102
+msgid "[Texture2D] corresponding to [member texture_orm]."
+msgstr ""
+
+#: doc/classes/Decal.xml:105
+msgid "[Texture2D] corresponding to [member texture_emission]."
+msgstr ""
+
+#: doc/classes/Decal.xml:108
+msgid "Max size of [enum DecalTexture] enum."
+msgstr ""
+
#: doc/classes/Dictionary.xml:4
msgid "Dictionary type."
msgstr ""
@@ -16877,30 +16596,40 @@ msgstr ""
#: doc/classes/Dictionary.xml:7
msgid ""
"Dictionary type. Associative container which contains values referenced by "
-"unique keys. Dictionary are composed of pairs of keys (which must be unique) "
-"and values. You can define a dictionary by placing a comma separated list of "
-"[code]key: value[/code] pairs in curly braces [code]{}[/code].\n"
-"Erasing elements while iterating over them [b]is not supported[/b].\n"
+"unique keys. Dictionaries are composed of pairs of keys (which must be "
+"unique) and values. Dictionaries will preserve the insertion order when "
+"adding elements, even though this may not be reflected when printing the "
+"dictionary. In other programming languages, this data structure is sometimes "
+"referred to as an hash map or associative array.\n"
+"You can define a dictionary by placing a comma-separated list of [code]key: "
+"value[/code] pairs in curly braces [code]{}[/code].\n"
+"Erasing elements while iterating over them [b]is not supported[/b] and will "
+"result in undefined behavior.\n"
"Creating a dictionary:\n"
"[codeblock]\n"
"var my_dir = {} # Creates an empty dictionary.\n"
"var points_dir = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
-"var my_dir = {\n"
+"var another_dir = {\n"
" key1: value1,\n"
" key2: value2,\n"
" key3: value3,\n"
"}\n"
"[/codeblock]\n"
-"You can access values of a dictionary by referencing appropriate key in "
-"above example [code]points_dir[\"White\"][/code] would return value of 50.\n"
+"You can access a dictionary's values by referencing the appropriate key. In "
+"the above example, [code]points_dir[\"White\"][/code] will return [code]50[/"
+"code]. You can also write [code]points_dir.White[/code], which is "
+"equivalent. However, you'll have to use the bracket syntax if the key you're "
+"accessing the dictionary with isn't a fixed string (such as a number or "
+"variable).\n"
"[codeblock]\n"
"export(String, \"White\", \"Yellow\", \"Orange\") var my_color\n"
"var points_dir = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
"\n"
"func _ready():\n"
+" # We can't use dot syntax here as `my_color` is a variable.\n"
" var points = points_dir[my_color]\n"
"[/codeblock]\n"
-"In the above code [code]points[/code] will be assigned the value that is "
+"In the above code, [code]points[/code] will be assigned the value that is "
"paired with the appropriate color selected in [code]my_color[/code].\n"
"Dictionaries can contain more complex data:\n"
"[codeblock]\n"
@@ -16911,16 +16640,24 @@ msgid ""
"assign to it:\n"
"[codeblock]\n"
"var points_dir = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
-"var points_dir[\"Blue\"] = 150 # Add \"Blue\" as a key and assign 150 as its "
+"points_dir[\"Blue\"] = 150 # Add \"Blue\" as a key and assign 150 as its "
"value.\n"
"[/codeblock]\n"
"Finally, dictionaries can contain different types of keys and values in the "
"same dictionary:\n"
"[codeblock]\n"
-"var my_dir = {\"String Key\": 5, 4: [1, 2, 3], 7: \"Hello\"} # This is a "
-"valid dictionary.\n"
+"# This is a valid dictionary.\n"
+"# To access the string \"Nested value\" below, use `my_dir.sub_dir.sub_key` "
+"or `my_dir[\"sub_dir\"][\"sub_key\"]`.\n"
+"# Indexing styles can be mixed and matched depending on your needs.\n"
+"var my_dir = {\n"
+" \"String Key\": 5,\n"
+" 4: [1, 2, 3],\n"
+" 7: \"Hello\",\n"
+" \"sub_dir\": {\"sub_key\": \"Nested value\"},\n"
+"}\n"
"[/codeblock]\n"
-"[b]Note:[/b] Unlike [Array]s you can't compare dictionaries directly:\n"
+"[b]Note:[/b] Unlike [Array]s, you can't compare dictionaries directly:\n"
"[codeblock]\n"
"array1 = [1, 2, 3]\n"
"array2 = [1, 2, 3]\n"
@@ -16945,49 +16682,52 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Dictionary.xml:65
+#: doc/classes/Dictionary.xml:75
msgid ""
"https://docs.godotengine.org/en/latest/getting_started/scripting/gdscript/"
"gdscript_basics.html#dictionary"
msgstr ""
-#: doc/classes/Dictionary.xml:72
+#: doc/classes/Dictionary.xml:82
msgid "Clear the dictionary, removing all key/value pairs."
msgstr ""
-#: doc/classes/Dictionary.xml:81
-msgid "Creates a copy of the dictionary, and returns it."
+#: doc/classes/Dictionary.xml:91
+msgid ""
+"Creates a copy of the dictionary, and returns it. The [code]deep[/code] "
+"parameter causes inner dictionaries and arrays to be copied recursively, but "
+"does not apply to objects."
msgstr ""
-#: doc/classes/Dictionary.xml:88
+#: doc/classes/Dictionary.xml:98
msgid "Returns [code]true[/code] if the dictionary is empty."
msgstr ""
-#: doc/classes/Dictionary.xml:97
+#: doc/classes/Dictionary.xml:107
msgid ""
"Erase a dictionary key/value pair by key. Returns [code]true[/code] if the "
"given key was present in the dictionary, [code]false[/code] otherwise. Does "
"not erase elements while iterating over the dictionary."
msgstr ""
-#: doc/classes/Dictionary.xml:108
+#: doc/classes/Dictionary.xml:118
msgid ""
"Returns the current value for the specified key in the [Dictionary]. If the "
"key does not exist, the method returns the value of the optional default "
"argument, or [code]null[/code] if it is omitted."
msgstr ""
-#: doc/classes/Dictionary.xml:117
+#: doc/classes/Dictionary.xml:127
msgid "Returns [code]true[/code] if the dictionary has a given key."
msgstr ""
-#: doc/classes/Dictionary.xml:126
+#: doc/classes/Dictionary.xml:136
msgid ""
"Returns [code]true[/code] if the dictionary has all of the keys in the given "
"array."
msgstr ""
-#: doc/classes/Dictionary.xml:133
+#: doc/classes/Dictionary.xml:143
msgid ""
"Returns a hashed integer value representing the dictionary contents. This "
"can be used to compare dictionaries by value:\n"
@@ -17000,15 +16740,15 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Dictionary.xml:146
+#: doc/classes/Dictionary.xml:156
msgid "Returns the list of keys in the [Dictionary]."
msgstr ""
-#: doc/classes/Dictionary.xml:153
+#: doc/classes/Dictionary.xml:163
msgid "Returns the size of the dictionary (in pairs)."
msgstr ""
-#: doc/classes/Dictionary.xml:160
+#: doc/classes/Dictionary.xml:170
msgid "Returns the list of values in the [Dictionary]."
msgstr ""
@@ -17034,37 +16774,42 @@ msgstr ""
#: doc/classes/DirectionalLight3D.xml:16
msgid ""
-"Amount of extra bias for shadow splits that are far away. If self-shadowing "
-"occurs only on the splits far away, increasing this value can fix them."
+"If [code]true[/code], shadow detail is sacrificed in exchange for smoother "
+"transitions between splits."
msgstr ""
#: doc/classes/DirectionalLight3D.xml:19
msgid ""
-"If [code]true[/code], shadow detail is sacrificed in exchange for smoother "
-"transitions between splits."
+"Optimizes shadow rendering for detail versus movement. See [enum "
+"ShadowDepthRange]."
msgstr ""
#: doc/classes/DirectionalLight3D.xml:22
msgid ""
-"Optimizes shadow rendering for detail versus movement. See [enum "
-"ShadowDepthRange]."
+"Proportion of [member directional_shadow_max_distance] at which point the "
+"shadow starts to fade. At [member directional_shadow_max_distance] the "
+"shadow will disappear."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:27
+#: doc/classes/DirectionalLight3D.xml:25
msgid "The maximum distance for shadow splits."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:30
+#: doc/classes/DirectionalLight3D.xml:28
msgid "The light's shadow rendering algorithm. See [enum ShadowMode]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:33
+#: doc/classes/DirectionalLight3D.xml:31 doc/classes/RenderingServer.xml:3371
msgid ""
-"Can be used to fix special cases of self shadowing when objects are "
-"perpendicular to the light."
+"Sets the size of the directional shadow pancake. The pancake offsets the "
+"start of the shadow's camera frustum to provide a higher effective depth "
+"resolution for the shadow. However, a high pancake size can cause artifacts "
+"in the shadows of large objects that are close to the edge of the frustum. "
+"Reducing the pancake size can help. Setting the size to [code]0[/code] turns "
+"off the pancaking effect."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:36
+#: doc/classes/DirectionalLight3D.xml:34
msgid ""
"The distance from camera to shadow split 1. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
@@ -17072,7 +16817,7 @@ msgid ""
"[code]SHADOW_PARALLEL_4_SPLITS[/code]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:39
+#: doc/classes/DirectionalLight3D.xml:37
msgid ""
"The distance from shadow split 1 to split 2. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
@@ -17080,34 +16825,34 @@ msgid ""
"[code]SHADOW_PARALLEL_4_SPLITS[/code]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:42
+#: doc/classes/DirectionalLight3D.xml:40
msgid ""
"The distance from shadow split 2 to split 3. Relative to [member "
"directional_shadow_max_distance]. Only used when [member "
"directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code]."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:48
+#: doc/classes/DirectionalLight3D.xml:45
msgid ""
"Renders the entire scene's shadow map from an orthogonal point of view. May "
"result in blockier shadows on close objects."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:51
+#: doc/classes/DirectionalLight3D.xml:48
msgid "Splits the view frustum in 2 areas, each with its own shadow map."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:54
+#: doc/classes/DirectionalLight3D.xml:51
msgid "Splits the view frustum in 4 areas, each with its own shadow map."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:57
+#: doc/classes/DirectionalLight3D.xml:54
msgid ""
"Keeps the shadow stable when the camera moves, at the cost of lower "
"effective shadow resolution."
msgstr ""
-#: doc/classes/DirectionalLight3D.xml:60
+#: doc/classes/DirectionalLight3D.xml:57
msgid ""
"Tries to achieve maximum shadow resolution. May result in saw effect on "
"shadow edges."
@@ -17397,61 +17142,67 @@ msgid ""
"dynamic_font.font_data = load(\"res://BarlowCondensed-Bold.ttf\")\n"
"dynamic_font.size = 64\n"
"$\"Label\".set(\"custom_fonts/font\", dynamic_font)\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] DynamicFont doesn't support features such as right-to-left "
+"typesetting, ligatures, text shaping, variable fonts and optional font "
+"features yet. If you wish to \"bake\" an optional font feature into a TTF "
+"font file, you can use [url=https://fontforge.org/]FontForge[/url] to do so. "
+"In FontForge, use [b]File > Generate Fonts[/b], click [b]Options[/b], choose "
+"the desired features then generate the font."
msgstr ""
-#: doc/classes/DynamicFont.xml:25
+#: doc/classes/DynamicFont.xml:26
msgid "Adds a fallback font."
msgstr ""
-#: doc/classes/DynamicFont.xml:34
+#: doc/classes/DynamicFont.xml:35
msgid "Returns the fallback font at index [code]idx[/code]."
msgstr ""
-#: doc/classes/DynamicFont.xml:41
+#: doc/classes/DynamicFont.xml:42
msgid "Returns the number of fallback fonts."
msgstr ""
-#: doc/classes/DynamicFont.xml:50
+#: doc/classes/DynamicFont.xml:51
msgid ""
"Returns the spacing for the given [code]type[/code] (see [enum SpacingType])."
msgstr ""
-#: doc/classes/DynamicFont.xml:59
+#: doc/classes/DynamicFont.xml:60
msgid "Removes the fallback font at index [code]idx[/code]."
msgstr ""
-#: doc/classes/DynamicFont.xml:70
+#: doc/classes/DynamicFont.xml:71
msgid "Sets the fallback font at index [code]idx[/code]."
msgstr ""
-#: doc/classes/DynamicFont.xml:81
+#: doc/classes/DynamicFont.xml:82
msgid ""
"Sets the spacing for [code]type[/code] (see [enum SpacingType]) to "
"[code]value[/code] in pixels (not relative to the font size)."
msgstr ""
-#: doc/classes/DynamicFont.xml:87
+#: doc/classes/DynamicFont.xml:88
msgid "Extra spacing at the bottom in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:90
+#: doc/classes/DynamicFont.xml:91
msgid "Extra character spacing in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:93
+#: doc/classes/DynamicFont.xml:94
msgid "Extra space spacing in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:96
+#: doc/classes/DynamicFont.xml:97
msgid "Extra spacing at the top in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:99
+#: doc/classes/DynamicFont.xml:100
msgid "The font data."
msgstr ""
-#: doc/classes/DynamicFont.xml:102
+#: doc/classes/DynamicFont.xml:103
msgid ""
"The font outline's color.\n"
"[b]Note:[/b] It's recommended to leave this at the default value so that you "
@@ -17460,27 +17211,27 @@ msgid ""
"outline modulate theme item."
msgstr ""
-#: doc/classes/DynamicFont.xml:106
+#: doc/classes/DynamicFont.xml:107
msgid "The font outline's thickness in pixels (not relative to the font size)."
msgstr ""
-#: doc/classes/DynamicFont.xml:109
+#: doc/classes/DynamicFont.xml:110
msgid "The font size in pixels."
msgstr ""
-#: doc/classes/DynamicFont.xml:114
+#: doc/classes/DynamicFont.xml:115
msgid "Spacing at the top."
msgstr ""
-#: doc/classes/DynamicFont.xml:117
+#: doc/classes/DynamicFont.xml:118
msgid "Spacing at the bottom."
msgstr ""
-#: doc/classes/DynamicFont.xml:120
+#: doc/classes/DynamicFont.xml:121
msgid "Character spacing."
msgstr ""
-#: doc/classes/DynamicFont.xml:123
+#: doc/classes/DynamicFont.xml:124
msgid "Space spacing."
msgstr ""
@@ -17595,7 +17346,7 @@ msgstr ""
msgid ""
"Saves the editor feature profile to a file in JSON format. It can then be "
"imported using the feature profile manager's [b]Import[/b] button or the "
-"[method load_from_file] button."
+"[method load_from_file] button."
msgstr ""
#: doc/classes/EditorFeatureProfile.xml:86
@@ -17809,56 +17560,58 @@ msgstr ""
#: doc/classes/EditorFileSystem.xml:7
msgid ""
"This object holds information of all resources in the filesystem, their "
-"types, etc."
+"types, etc.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_resource_filesystem]."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:18
+#: doc/classes/EditorFileSystem.xml:19
msgid "Gets the type of the file, given the full path."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:25
+#: doc/classes/EditorFileSystem.xml:26
msgid "Gets the root directory object."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:34
+#: doc/classes/EditorFileSystem.xml:35
msgid "Returns a view into the filesystem at [code]path[/code]."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:41
+#: doc/classes/EditorFileSystem.xml:42
msgid "Returns the scan progress for 0 to 1 if the FS is being scanned."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:48
+#: doc/classes/EditorFileSystem.xml:49
msgid "Returns [code]true[/code] of the filesystem is being scanned."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:55
+#: doc/classes/EditorFileSystem.xml:56
msgid "Scan the filesystem for changes."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:62
+#: doc/classes/EditorFileSystem.xml:63
msgid "Check if the source of any imported resource changed."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:71
+#: doc/classes/EditorFileSystem.xml:72
msgid ""
"Update a file information. Call this if an external program (not Godot) "
"modified the file."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:78
+#: doc/classes/EditorFileSystem.xml:79
msgid "Scans the script files and updates the list of custom class names."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:85
+#: doc/classes/EditorFileSystem.xml:86
msgid "Emitted if the filesystem changed."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:92
+#: doc/classes/EditorFileSystem.xml:93
msgid "Remitted if a resource is reimported."
msgstr ""
-#: doc/classes/EditorFileSystem.xml:105
+#: doc/classes/EditorFileSystem.xml:106
msgid "Emitted if the source of any imported file changed."
msgstr ""
@@ -18062,7 +17815,9 @@ msgid ""
"editor. It's used to edit the properties of the selected node. For example, "
"you can select a node such as the Sprite2D then edit its transform through "
"the inspector tool. The editor inspector is an essential tool in the game "
-"development workflow."
+"development workflow.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_inspector]."
msgstr ""
#: doc/classes/EditorInspectorPlugin.xml:4
@@ -18132,95 +17887,97 @@ msgid ""
"customizing the window, saving and (re-)loading scenes, rendering mesh "
"previews, inspecting and editing resources and objects, and provides access "
"to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], "
-"[ScriptEditor], the editor viewport, and information about scenes."
+"[ScriptEditor], the editor viewport, and information about scenes.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorPlugin.get_editor_interface]."
msgstr ""
-#: doc/classes/EditorInterface.xml:18
+#: doc/classes/EditorInterface.xml:19
msgid "Edits the given [Resource]."
msgstr ""
-#: doc/classes/EditorInterface.xml:25
+#: doc/classes/EditorInterface.xml:26
msgid ""
"Returns the main container of Godot editor's window. You can use it, for "
"example, to retrieve the size of the container and place your controls "
"accordingly."
msgstr ""
-#: doc/classes/EditorInterface.xml:38
+#: doc/classes/EditorInterface.xml:39
msgid "Returns the edited (current) scene's root [Node]."
msgstr ""
-#: doc/classes/EditorInterface.xml:45
+#: doc/classes/EditorInterface.xml:46
msgid "Returns the [EditorSettings]."
msgstr ""
-#: doc/classes/EditorInterface.xml:52
+#: doc/classes/EditorInterface.xml:53
msgid "Returns the editor [Viewport]."
msgstr ""
-#: doc/classes/EditorInterface.xml:71
+#: doc/classes/EditorInterface.xml:72
msgid "Returns an [Array] with the file paths of the currently opened scenes."
msgstr ""
-#: doc/classes/EditorInterface.xml:78
+#: doc/classes/EditorInterface.xml:79
msgid "Returns the [EditorFileSystem]."
msgstr ""
-#: doc/classes/EditorInterface.xml:85
+#: doc/classes/EditorInterface.xml:86
msgid "Returns the [EditorResourcePreview]."
msgstr ""
-#: doc/classes/EditorInterface.xml:92
+#: doc/classes/EditorInterface.xml:93
msgid "Returns the [ScriptEditor]."
msgstr ""
-#: doc/classes/EditorInterface.xml:105
+#: doc/classes/EditorInterface.xml:106
msgid "Returns the [EditorSelection]."
msgstr ""
-#: doc/classes/EditorInterface.xml:116
+#: doc/classes/EditorInterface.xml:117
msgid ""
"Shows the given property on the given [code]object[/code] in the Editor's "
"Inspector dock."
msgstr ""
-#: doc/classes/EditorInterface.xml:125
+#: doc/classes/EditorInterface.xml:126
msgid ""
"Returns the enabled status of a plugin. The plugin name is the same as its "
"directory name."
msgstr ""
-#: doc/classes/EditorInterface.xml:136
+#: doc/classes/EditorInterface.xml:137
msgid ""
"Returns mesh previews rendered at the given size as an [Array] of "
"[Texture2D]s."
msgstr ""
-#: doc/classes/EditorInterface.xml:145
+#: doc/classes/EditorInterface.xml:146
msgid "Opens the scene at the given path."
msgstr ""
-#: doc/classes/EditorInterface.xml:154
+#: doc/classes/EditorInterface.xml:155
msgid "Reloads the scene at the given path."
msgstr ""
-#: doc/classes/EditorInterface.xml:161
+#: doc/classes/EditorInterface.xml:162
msgid ""
"Saves the scene. Returns either [code]OK[/code] or [code]ERR_CANT_CREATE[/"
"code] (see [@GlobalScope] constants)."
msgstr ""
-#: doc/classes/EditorInterface.xml:172
+#: doc/classes/EditorInterface.xml:173
msgid "Saves the scene as a file at [code]path[/code]."
msgstr ""
-#: doc/classes/EditorInterface.xml:181
+#: doc/classes/EditorInterface.xml:182
msgid ""
"Selects the file, with the path provided by [code]file[/code], in the "
"FileSystem dock."
msgstr ""
-#: doc/classes/EditorInterface.xml:208
+#: doc/classes/EditorInterface.xml:209
msgid ""
"Sets the enabled status of a plugin. The plugin name is the same as its "
"directory name."
@@ -18833,57 +18590,57 @@ msgstr ""
msgid "Used by the inspector, when the property is checked."
msgstr ""
-#: doc/classes/EditorProperty.xml:82
+#: doc/classes/EditorProperty.xml:84
msgid "Used by the inspector, when the property must draw with error color."
msgstr ""
-#: doc/classes/EditorProperty.xml:85
+#: doc/classes/EditorProperty.xml:87
msgid "Used by the inspector, when the property can add keys for animation."
msgstr ""
-#: doc/classes/EditorProperty.xml:88
+#: doc/classes/EditorProperty.xml:90
msgid "Sets this property to change the label (if you want to show one)."
msgstr ""
-#: doc/classes/EditorProperty.xml:91
+#: doc/classes/EditorProperty.xml:93
msgid "Used by the inspector, when the property is read-only."
msgstr ""
-#: doc/classes/EditorProperty.xml:101
+#: doc/classes/EditorProperty.xml:103
msgid ""
"Emit it if you want multiple properties modified at the same time. Do not "
"use if added via [method EditorInspectorPlugin.parse_property]."
msgstr ""
-#: doc/classes/EditorProperty.xml:110
+#: doc/classes/EditorProperty.xml:112
msgid "Used by sub-inspectors. Emit it if what was selected was an Object ID."
msgstr ""
-#: doc/classes/EditorProperty.xml:119
+#: doc/classes/EditorProperty.xml:121
msgid ""
"Do not emit this manually, use the [method emit_changed] method instead."
msgstr ""
-#: doc/classes/EditorProperty.xml:128
+#: doc/classes/EditorProperty.xml:130
msgid "Emitted when a property was checked. Used internally."
msgstr ""
-#: doc/classes/EditorProperty.xml:135
+#: doc/classes/EditorProperty.xml:143
msgid ""
"Emit it if you want to add this value as an animation key (check for keying "
"being enabled first)."
msgstr ""
-#: doc/classes/EditorProperty.xml:144
+#: doc/classes/EditorProperty.xml:152
msgid "Emit it if you want to key a property with a single value."
msgstr ""
-#: doc/classes/EditorProperty.xml:153
+#: doc/classes/EditorProperty.xml:161
msgid ""
"If you want a sub-resource to be edited, emit this signal with the resource."
msgstr ""
-#: doc/classes/EditorProperty.xml:162
+#: doc/classes/EditorProperty.xml:170
msgid "Emitted when selected. Used internally."
msgstr ""
@@ -18892,20 +18649,23 @@ msgid "Helper to generate previews of resources or files."
msgstr ""
#: doc/classes/EditorResourcePreview.xml:7
-msgid "This object is used to generate previews for resources of files."
+msgid ""
+"This object is used to generate previews for resources of files.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_resource_previewer]."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:18
+#: doc/classes/EditorResourcePreview.xml:19
msgid "Create an own, custom preview generator."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:27
+#: doc/classes/EditorResourcePreview.xml:28
msgid ""
"Check if the resource changed, if so, it will be invalidated and the "
"corresponding signal emitted."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:42
+#: doc/classes/EditorResourcePreview.xml:43
msgid ""
"Queue a resource being edited for preview (using an instance). Once the "
"preview is ready, your receiver.receiver_func will be called either "
@@ -18914,7 +18674,7 @@ msgid ""
"can be anything."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:57
+#: doc/classes/EditorResourcePreview.xml:58
msgid ""
"Queue a resource file for preview (using a path). Once the preview is ready, "
"your receiver.receiver_func will be called either containing the preview "
@@ -18922,11 +18682,11 @@ msgid ""
"the format: (path,texture,userdata). Userdata can be anything."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:66
+#: doc/classes/EditorResourcePreview.xml:67
msgid "Removes a custom preview generator."
msgstr ""
-#: doc/classes/EditorResourcePreview.xml:75
+#: doc/classes/EditorResourcePreview.xml:76
msgid ""
"Emitted if a preview was invalidated (changed). [code]path[/code] "
"corresponds to the path of the preview."
@@ -19084,7 +18844,7 @@ msgstr ""
msgid ""
"Scripts extending this class and implementing its [method _run] method can "
"be executed from the Script Editor's [b]File > Run[/b] menu option (or by "
-"pressing [code]Ctrl+Shift+X[/code]) while the editor is running. This is "
+"pressing [kbd]Ctrl + Shift + X[/kbd]) while the editor is running. This is "
"useful for adding custom in-editor functionality to Godot. For more complex "
"additions, consider using [EditorPlugin]s instead.\n"
"[b]Note:[/b] Extending scripts need to have [code]tool[/code] mode enabled.\n"
@@ -19124,33 +18884,36 @@ msgid "Manages the SceneTree selection in the editor."
msgstr ""
#: doc/classes/EditorSelection.xml:7
-msgid "This object manages the SceneTree selection in the editor."
+msgid ""
+"This object manages the SceneTree selection in the editor.\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_selection]."
msgstr ""
-#: doc/classes/EditorSelection.xml:18
+#: doc/classes/EditorSelection.xml:19
msgid "Adds a node to the selection."
msgstr ""
-#: doc/classes/EditorSelection.xml:25
+#: doc/classes/EditorSelection.xml:26
msgid "Clear the selection."
msgstr ""
-#: doc/classes/EditorSelection.xml:32
+#: doc/classes/EditorSelection.xml:33
msgid "Gets the list of selected nodes."
msgstr ""
-#: doc/classes/EditorSelection.xml:39
+#: doc/classes/EditorSelection.xml:40
msgid ""
"Gets the list of selected nodes, optimized for transform operations (i.e. "
"moving them, rotating, etc). This list avoids situations where a node is "
"selected and also child/grandchild."
msgstr ""
-#: doc/classes/EditorSelection.xml:48
+#: doc/classes/EditorSelection.xml:49
msgid "Removes a node from the selection."
msgstr ""
-#: doc/classes/EditorSelection.xml:55
+#: doc/classes/EditorSelection.xml:56
msgid "Emitted when the selection changes."
msgstr ""
@@ -19167,10 +18930,12 @@ msgid ""
"settings.set(prop,value)\n"
"settings.get(prop)\n"
"list_of_settings = settings.get_property_list()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_editor_settings]."
msgstr ""
-#: doc/classes/EditorSettings.xml:24
+#: doc/classes/EditorSettings.xml:25
msgid ""
"Adds a custom property info to a property. The dictionary must contain:\n"
"- [code]name[/code]: [String] (the name of the property)\n"
@@ -19192,27 +18957,27 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/EditorSettings.xml:49
+#: doc/classes/EditorSettings.xml:50
msgid "Erase a given setting (pass full property path)."
msgstr ""
-#: doc/classes/EditorSettings.xml:56
+#: doc/classes/EditorSettings.xml:57
msgid "Gets the list of favorite files and directories for this project."
msgstr ""
-#: doc/classes/EditorSettings.xml:75
+#: doc/classes/EditorSettings.xml:76
msgid ""
"Gets the specific project settings path. Projects all have a unique sub-"
"directory inside the settings path where project specific settings are saved."
msgstr ""
-#: doc/classes/EditorSettings.xml:82
+#: doc/classes/EditorSettings.xml:83
msgid ""
"Gets the list of recently visited folders in the file dialog for this "
"project."
msgstr ""
-#: doc/classes/EditorSettings.xml:97
+#: doc/classes/EditorSettings.xml:98
msgid ""
"Gets the global settings path for the engine. Inside this path, you can find "
"some standard paths such as:\n"
@@ -19220,21 +18985,21 @@ msgid ""
"[code]settings/templates[/code] - Where export templates are located"
msgstr ""
-#: doc/classes/EditorSettings.xml:132
+#: doc/classes/EditorSettings.xml:133
msgid "Sets the list of favorite files and directories for this project."
msgstr ""
-#: doc/classes/EditorSettings.xml:165
+#: doc/classes/EditorSettings.xml:166
msgid ""
"Sets the list of recently visited folders in the file dialog for this "
"project."
msgstr ""
-#: doc/classes/EditorSettings.xml:182
+#: doc/classes/EditorSettings.xml:183
msgid "Emitted when editor settings change."
msgstr ""
-#: doc/classes/EditorSettings.xml:188
+#: doc/classes/EditorSettings.xml:189
msgid ""
"Emitted when editor settings change. It used by various editor plugins to "
"update their visuals on theme changes or logic on configuration changes."
@@ -19977,7 +19742,7 @@ msgid ""
"is visible, \"ghost trail\" artifacts will be visible when moving the camera."
msgstr ""
-#: doc/classes/Environment.xml:262 doc/classes/RenderingServer.xml:3476
+#: doc/classes/Environment.xml:262 doc/classes/RenderingServer.xml:3563
msgid "Displays a camera feed in the background."
msgstr ""
@@ -19985,64 +19750,103 @@ msgstr ""
msgid "Represents the size of the [enum BGMode] enum."
msgstr ""
-#: doc/classes/Environment.xml:282
+#: doc/classes/Environment.xml:268 doc/classes/RenderingServer.xml:3569
+msgid ""
+"Gather ambient light from whichever source is specified as the background."
+msgstr ""
+
+#: doc/classes/Environment.xml:271 doc/classes/RenderingServer.xml:3572
+msgid "Disable ambient light."
+msgstr ""
+
+#: doc/classes/Environment.xml:274 doc/classes/RenderingServer.xml:3575
+msgid "Specify a specific [Color] for ambient light."
+msgstr ""
+
+#: doc/classes/Environment.xml:277 doc/classes/RenderingServer.xml:3578
+msgid ""
+"Gather ambient light from the [Sky] regardless of what the background is."
+msgstr ""
+
+#: doc/classes/Environment.xml:280 doc/classes/RenderingServer.xml:3581
+msgid "Use the background for reflections."
+msgstr ""
+
+#: doc/classes/Environment.xml:283 doc/classes/RenderingServer.xml:3584
+msgid "Disable reflections."
+msgstr ""
+
+#: doc/classes/Environment.xml:286 doc/classes/RenderingServer.xml:3587
+msgid "Use the [Sky] for reflections regardless of what the background is."
+msgstr ""
+
+#: doc/classes/Environment.xml:289 doc/classes/RenderingServer.xml:3590
msgid ""
"Additive glow blending mode. Mostly used for particles, glows (bloom), lens "
"flare, bright sources."
msgstr ""
-#: doc/classes/Environment.xml:285
+#: doc/classes/Environment.xml:292 doc/classes/RenderingServer.xml:3593
msgid ""
"Screen glow blending mode. Increases brightness, used frequently with bloom."
msgstr ""
-#: doc/classes/Environment.xml:288
+#: doc/classes/Environment.xml:295 doc/classes/RenderingServer.xml:3596
msgid ""
"Soft light glow blending mode. Modifies contrast, exposes shadows and "
"highlights (vivid bloom)."
msgstr ""
-#: doc/classes/Environment.xml:291
+#: doc/classes/Environment.xml:298 doc/classes/RenderingServer.xml:3599
msgid ""
"Replace glow blending mode. Replaces all pixels' color by the glow value. "
"This can be used to simulate a full-screen blur effect by tweaking the glow "
"parameters to match the original image's brightness."
msgstr ""
-#: doc/classes/Environment.xml:296
+#: doc/classes/Environment.xml:301 doc/classes/RenderingServer.xml:3602
+msgid ""
+"Mixes the glow with the underlying color to avoid increasing brightness as "
+"much while still maintaining a glow effect."
+msgstr ""
+
+#: doc/classes/Environment.xml:304
msgid ""
"Linear tonemapper operator. Reads the linear data and passes it on "
"unmodified."
msgstr ""
-#: doc/classes/Environment.xml:299
+#: doc/classes/Environment.xml:307
msgid ""
"Reinhardt tonemapper operator. Performs a variation on rendered pixels' "
"colors by this formula: [code]color = color / (1 + color)[/code]."
msgstr ""
-#: doc/classes/Environment.xml:302
+#: doc/classes/Environment.xml:310
msgid "Filmic tonemapper operator."
msgstr ""
-#: doc/classes/Environment.xml:305
+#: doc/classes/Environment.xml:313
msgid "Academy Color Encoding System tonemapper operator."
msgstr ""
-#: doc/classes/Environment.xml:308
+#: doc/classes/Environment.xml:316
msgid "No blur for the screen-space ambient occlusion effect (fastest)."
msgstr ""
-#: doc/classes/Environment.xml:311
+#: doc/classes/Environment.xml:319
msgid "1×1 blur for the screen-space ambient occlusion effect."
msgstr ""
-#: doc/classes/Environment.xml:314
+#: doc/classes/Environment.xml:322
msgid "2×2 blur for the screen-space ambient occlusion effect."
msgstr ""
-#: doc/classes/Environment.xml:317
-msgid "3×3 blur for the screen-space ambient occlusion effect (slowest)."
+#: doc/classes/Environment.xml:325
+msgid ""
+"3×3 blur for the screen-space ambient occlusion effect. Increases the radius "
+"of the blur for a smoother look, but can result in checkerboard-like "
+"artifacts."
msgstr ""
#: doc/classes/Expression.xml:4
@@ -20303,26 +20107,38 @@ msgid ""
msgstr ""
#: doc/classes/File.xml:299
-msgid "Stores an integer as 16 bits in the file."
+msgid ""
+"Stores an integer as 16 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, "
+"2^16 - 1][/code]."
msgstr ""
-#: doc/classes/File.xml:308
-msgid "Stores an integer as 32 bits in the file."
+#: doc/classes/File.xml:309
+msgid ""
+"Stores an integer as 32 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, "
+"2^32 - 1][/code]."
msgstr ""
-#: doc/classes/File.xml:317
-msgid "Stores an integer as 64 bits in the file."
+#: doc/classes/File.xml:319
+msgid ""
+"Stores an integer as 64 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] must lie in the interval [code][-2^63, "
+"2^63 - 1][/code] (i.e. be a valid [int] value)."
msgstr ""
-#: doc/classes/File.xml:326
-msgid "Stores an integer as 8 bits in the file."
+#: doc/classes/File.xml:329
+msgid ""
+"Stores an integer as 8 bits in the file.\n"
+"[b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 255]"
+"[/code]."
msgstr ""
-#: doc/classes/File.xml:335
+#: doc/classes/File.xml:339
msgid "Stores the given array of bytes in the file."
msgstr ""
-#: doc/classes/File.xml:346
+#: doc/classes/File.xml:350
msgid ""
"Store the given [PackedStringArray] in the file as a line formatted in the "
"CSV (Comma-Separated Values) format. You can pass a different delimiter "
@@ -20331,45 +20147,45 @@ msgid ""
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:356
+#: doc/classes/File.xml:360
msgid "Stores a floating-point number as 64 bits in the file."
msgstr ""
-#: doc/classes/File.xml:365
+#: doc/classes/File.xml:369
msgid "Stores a floating-point number as 32 bits in the file."
msgstr ""
-#: doc/classes/File.xml:374
+#: doc/classes/File.xml:378
msgid ""
"Stores the given [String] as a line in the file.\n"
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:384
+#: doc/classes/File.xml:388
msgid ""
"Stores the given [String] as a line in the file in Pascal format (i.e. also "
"store the length of the string).\n"
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:394
+#: doc/classes/File.xml:398
msgid "Stores a floating-point number in the file."
msgstr ""
-#: doc/classes/File.xml:403
+#: doc/classes/File.xml:407
msgid ""
"Stores the given [String] in the file.\n"
"Text will be encoded as UTF-8."
msgstr ""
-#: doc/classes/File.xml:415
+#: doc/classes/File.xml:419
msgid ""
"Stores any Variant value in the file. If [code]full_objects[/code] is "
"[code]true[/code], encoding objects is allowed (and can potentially include "
"code)."
msgstr ""
-#: doc/classes/File.xml:421
+#: doc/classes/File.xml:425
msgid ""
"If [code]true[/code], the file's endianness is swapped. Use this if you're "
"dealing with files written on big-endian machines.\n"
@@ -20377,44 +20193,44 @@ msgid ""
"reset to [code]false[/code] whenever you open the file."
msgstr ""
-#: doc/classes/File.xml:427
+#: doc/classes/File.xml:431
msgid "Opens the file for read operations."
msgstr ""
-#: doc/classes/File.xml:430
+#: doc/classes/File.xml:434
msgid ""
"Opens the file for write operations. Create it if the file does not exist "
"and truncate if it exists."
msgstr ""
-#: doc/classes/File.xml:433
+#: doc/classes/File.xml:437
msgid ""
"Opens the file for read and write operations. Does not truncate the file."
msgstr ""
-#: doc/classes/File.xml:436
+#: doc/classes/File.xml:440
msgid ""
"Opens the file for read and write operations. Create it if the file does not "
"exist and truncate if it exists."
msgstr ""
-#: doc/classes/File.xml:439
+#: doc/classes/File.xml:443
msgid "Uses the [url=http://fastlz.org/]FastLZ[/url] compression method."
msgstr ""
-#: doc/classes/File.xml:442
+#: doc/classes/File.xml:446
msgid ""
"Uses the [url=https://en.wikipedia.org/wiki/DEFLATE]DEFLATE[/url] "
"compression method."
msgstr ""
-#: doc/classes/File.xml:445
+#: doc/classes/File.xml:449
msgid ""
"Uses the [url=https://facebook.github.io/zstd/]Zstandard[/url] compression "
"method."
msgstr ""
-#: doc/classes/File.xml:448
+#: doc/classes/File.xml:452
msgid "Uses the [url=https://www.gzip.org/]gzip[/url] compression method."
msgstr ""
@@ -20718,7 +20534,7 @@ msgstr ""
msgid ""
"A GDNative library can implement [NativeScript]s, global functions to call "
"with the [GDNative] class, or low-level engine extensions through interfaces "
-"such as [ARVRInterfaceGDNative]. The library must be compiled for each "
+"such as [XRInterfaceGDNative]. The library must be compiled for each "
"platform and architecture that the project will run on."
msgstr ""
@@ -21673,99 +21489,99 @@ msgid ""
"object."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:27
+#: doc/classes/GeometryInstance3D.xml:35
msgid ""
"Overrides the bounding box of this node with a custom one. To remove it, set "
"an [AABB] with all fields set to zero."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:38
+#: doc/classes/GeometryInstance3D.xml:46
msgid ""
"Sets the [enum GeometryInstance3D.Flags] specified. See [enum "
"GeometryInstance3D.Flags] for options."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:44
+#: doc/classes/GeometryInstance3D.xml:62
msgid ""
"The selected shadow casting flag. See [enum ShadowCastingSetting] for "
"possible values."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:47
+#: doc/classes/GeometryInstance3D.xml:65
msgid ""
"The extra distance added to the GeometryInstance3D's bounding box ([AABB]) "
"to increase its cull box."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:50
+#: doc/classes/GeometryInstance3D.xml:68
msgid ""
"The GeometryInstance3D's max LOD distance.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:54
+#: doc/classes/GeometryInstance3D.xml:72
msgid ""
"The GeometryInstance3D's max LOD margin.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:58
+#: doc/classes/GeometryInstance3D.xml:76
msgid ""
"The GeometryInstance3D's min LOD distance.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:62
+#: doc/classes/GeometryInstance3D.xml:80
msgid ""
"The GeometryInstance3D's min LOD margin.\n"
"[b]Note:[/b] This property currently has no effect."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:66
+#: doc/classes/GeometryInstance3D.xml:84
msgid ""
"The material override for the whole geometry.\n"
"If a material is assigned to this property, it will be used instead of any "
"material set in any material slot of the mesh."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:72
+#: doc/classes/GeometryInstance3D.xml:90
msgid ""
"If [code]true[/code], this GeometryInstance3D will be used when baking "
"lights using a [GIProbe]."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:77
+#: doc/classes/GeometryInstance3D.xml:95
msgid "Will not cast any shadows."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:80
+#: doc/classes/GeometryInstance3D.xml:98
msgid ""
"Will cast shadows from all visible faces in the GeometryInstance3D.\n"
"Will take culling into account, so faces not being rendered will not be "
"taken into account when shadow casting."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:84
+#: doc/classes/GeometryInstance3D.xml:102
msgid ""
"Will cast shadows from all visible faces in the GeometryInstance3D.\n"
"Will not take culling into account, so all faces will be taken into account "
"when shadow casting."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:88
+#: doc/classes/GeometryInstance3D.xml:106
msgid ""
"Will only show the shadows casted from this object.\n"
"In other words, the actual mesh will not be visible, only the shadows casted "
"from the mesh will be."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:92
+#: doc/classes/GeometryInstance3D.xml:110
msgid ""
"Will allow the GeometryInstance3D to be used when baking lights using a "
"[GIProbe]."
msgstr ""
-#: doc/classes/GeometryInstance3D.xml:97
+#: doc/classes/GeometryInstance3D.xml:115
msgid ""
"Unused in this class, exposed for consistency with [enum RenderingServer."
"InstanceFlags]."
@@ -22235,7 +22051,7 @@ msgid ""
msgstr ""
#: doc/classes/GraphEdit.xml:243
-msgid "Emitted when the user presses [code]Ctrl + C[/code]."
+msgid "Emitted when the user presses [kbd]Ctrl + C[/kbd]."
msgstr ""
#: doc/classes/GraphEdit.xml:248
@@ -22258,65 +22074,65 @@ msgstr ""
msgid "Emitted when a GraphNode is selected."
msgstr ""
-#: doc/classes/GraphEdit.xml:278
-msgid "Emitted when the user presses [code]Ctrl + V[/code]."
+#: doc/classes/GraphEdit.xml:284
+msgid "Emitted when the user presses [kbd]Ctrl + V[/kbd]."
msgstr ""
-#: doc/classes/GraphEdit.xml:285
+#: doc/classes/GraphEdit.xml:291
msgid ""
"Emitted when a popup is requested. Happens on right-clicking in the "
"GraphEdit. [code]position[/code] is the position of the mouse pointer when "
"the signal is sent."
msgstr ""
-#: doc/classes/GraphEdit.xml:292
+#: doc/classes/GraphEdit.xml:298
msgid ""
"Emitted when the scroll offset is changed by the user. It will not be "
"emitted when changed in code."
msgstr ""
-#: doc/classes/GraphEdit.xml:306
+#: doc/classes/GraphEdit.xml:312
msgid "The background drawn under the grid."
msgstr ""
-#: doc/classes/GraphEdit.xml:309
+#: doc/classes/GraphEdit.xml:315
msgid "Color of major grid lines."
msgstr ""
-#: doc/classes/GraphEdit.xml:312
+#: doc/classes/GraphEdit.xml:318
msgid "Color of minor grid lines."
msgstr ""
-#: doc/classes/GraphEdit.xml:315
+#: doc/classes/GraphEdit.xml:321
msgid "The icon for the zoom out button."
msgstr ""
-#: doc/classes/GraphEdit.xml:318
+#: doc/classes/GraphEdit.xml:324
msgid "The icon for the zoom in button."
msgstr ""
-#: doc/classes/GraphEdit.xml:321
+#: doc/classes/GraphEdit.xml:327
msgid ""
"The horizontal range within which a port can be grabbed (on both sides)."
msgstr ""
-#: doc/classes/GraphEdit.xml:324
+#: doc/classes/GraphEdit.xml:330
msgid "The vertical range within which a port can be grabbed (on both sides)."
msgstr ""
-#: doc/classes/GraphEdit.xml:327
+#: doc/classes/GraphEdit.xml:333
msgid "The icon for the zoom reset button."
msgstr ""
-#: doc/classes/GraphEdit.xml:330
+#: doc/classes/GraphEdit.xml:336
msgid "The fill color of the selection rectangle."
msgstr ""
-#: doc/classes/GraphEdit.xml:333
+#: doc/classes/GraphEdit.xml:339
msgid "The outline color of the selection rectangle."
msgstr ""
-#: doc/classes/GraphEdit.xml:336
+#: doc/classes/GraphEdit.xml:342
msgid "The icon for the snap toggle button."
msgstr ""
@@ -23049,21 +22865,21 @@ msgstr ""
msgid "The background of the area to the left of the grabber."
msgstr ""
-#: doc/classes/HSlider.xml:23 doc/classes/VSlider.xml:27
+#: doc/classes/HSlider.xml:25 doc/classes/VSlider.xml:29
msgid "The texture for the grabber when it's disabled."
msgstr ""
-#: doc/classes/HSlider.xml:26 doc/classes/VSlider.xml:30
+#: doc/classes/HSlider.xml:28 doc/classes/VSlider.xml:32
msgid "The texture for the grabber when it's focused."
msgstr ""
-#: doc/classes/HSlider.xml:29
+#: doc/classes/HSlider.xml:31
msgid ""
"The background for the whole slider. Determines the height of the "
"[code]grabber_area[/code]."
msgstr ""
-#: doc/classes/HSlider.xml:32 doc/classes/VSlider.xml:36
+#: doc/classes/HSlider.xml:34 doc/classes/VSlider.xml:38
msgid ""
"The texture for the ticks, visible when [member Slider.tick_count] is "
"greater than 0."
@@ -24006,16 +23822,19 @@ msgstr ""
msgid ""
"Native image datatype. Contains image data, which can be converted to a "
"[Texture2D], and several functions to interact with it. The maximum width "
-"and height for an [Image] are [constant MAX_WIDTH] and [constant MAX_HEIGHT]."
+"and height for an [Image] are [constant MAX_WIDTH] and [constant "
+"MAX_HEIGHT].\n"
+"[b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics "
+"hardware limitations. Larger images will fail to import."
msgstr ""
-#: doc/classes/Image.xml:22
+#: doc/classes/Image.xml:23
msgid ""
"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image "
"at coordinates [code]dest[/code]."
msgstr ""
-#: doc/classes/Image.xml:37
+#: doc/classes/Image.xml:38
msgid ""
"Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image "
"using [code]mask[/code] image at coordinates [code]dst[/code]. Alpha "
@@ -24026,13 +23845,13 @@ msgid ""
"but they can have different formats."
msgstr ""
-#: doc/classes/Image.xml:50
+#: doc/classes/Image.xml:51
msgid ""
"Copies [code]src_rect[/code] from [code]src[/code] image to this image at "
"coordinates [code]dst[/code]."
msgstr ""
-#: doc/classes/Image.xml:65
+#: doc/classes/Image.xml:66
msgid ""
"Blits [code]src_rect[/code] area from [code]src[/code] image to this image "
"at the coordinates given by [code]dst[/code]. [code]src[/code] pixel is "
@@ -24042,17 +23861,17 @@ msgid ""
"different formats."
msgstr ""
-#: doc/classes/Image.xml:74
+#: doc/classes/Image.xml:75
msgid ""
"Converts a bumpmap to a normalmap. A bumpmap provides a height offset per-"
"pixel, while a normalmap provides a normal direction per pixel."
msgstr ""
-#: doc/classes/Image.xml:81
+#: doc/classes/Image.xml:82
msgid "Removes the image's mipmaps."
msgstr ""
-#: doc/classes/Image.xml:94
+#: doc/classes/Image.xml:95
msgid ""
"Compresses the image to use less memory. Can not directly access pixel data "
"while the image is compressed. Returns error if the chosen compression mode "
@@ -24060,22 +23879,22 @@ msgid ""
"constants."
msgstr ""
-#: doc/classes/Image.xml:115
+#: doc/classes/Image.xml:116
msgid "Converts the image's format. See [enum Format] constants."
msgstr ""
-#: doc/classes/Image.xml:124
+#: doc/classes/Image.xml:125
msgid "Copies [code]src[/code] image to this image."
msgstr ""
-#: doc/classes/Image.xml:139
+#: doc/classes/Image.xml:140
msgid ""
"Creates an empty image of given size and format. See [enum Format] "
"constants. If [code]use_mipmaps[/code] is [code]true[/code] then generate "
"mipmaps for this image. See the [method generate_mipmaps]."
msgstr ""
-#: doc/classes/Image.xml:156
+#: doc/classes/Image.xml:157
msgid ""
"Creates a new image of given size and format. See [enum Format] constants. "
"Fills the image with the given raw data. If [code]use_mipmaps[/code] is "
@@ -24083,49 +23902,49 @@ msgid ""
"generate_mipmaps]."
msgstr ""
-#: doc/classes/Image.xml:167
+#: doc/classes/Image.xml:168
msgid ""
"Crops the image to the given [code]width[/code] and [code]height[/code]. If "
"the specified size is larger than the current size, the extra area is filled "
"with black pixels."
msgstr ""
-#: doc/classes/Image.xml:174
+#: doc/classes/Image.xml:175
msgid ""
"Decompresses the image if it is compressed. Returns an error if decompress "
"function is not available."
msgstr ""
-#: doc/classes/Image.xml:181
+#: doc/classes/Image.xml:182
msgid ""
"Returns [constant ALPHA_BLEND] if the image has data for alpha values. "
"Returns [constant ALPHA_BIT] if all the alpha values are stored in a single "
"bit. Returns [constant ALPHA_NONE] if no data for alpha values is found."
msgstr ""
-#: doc/classes/Image.xml:196
+#: doc/classes/Image.xml:197
msgid ""
"Stretches the image and enlarges it by a factor of 2. No interpolation is "
"done."
msgstr ""
-#: doc/classes/Image.xml:205
+#: doc/classes/Image.xml:206
msgid "Fills the image with a given [Color]."
msgstr ""
-#: doc/classes/Image.xml:212
+#: doc/classes/Image.xml:213
msgid "Blends low-alpha pixels with nearby pixels."
msgstr ""
-#: doc/classes/Image.xml:219
+#: doc/classes/Image.xml:220
msgid "Flips the image horizontally."
msgstr ""
-#: doc/classes/Image.xml:226
+#: doc/classes/Image.xml:227
msgid "Flips the image vertically."
msgstr ""
-#: doc/classes/Image.xml:235
+#: doc/classes/Image.xml:236
msgid ""
"Generates mipmaps for the image. Mipmaps are pre-calculated and lower "
"resolution copies of the image. Mipmaps are automatically used if the image "
@@ -24134,125 +23953,129 @@ msgid ""
"in a custom format or if the image's width/height is 0."
msgstr ""
-#: doc/classes/Image.xml:242
+#: doc/classes/Image.xml:243
msgid "Returns the image's raw data."
msgstr ""
-#: doc/classes/Image.xml:249
+#: doc/classes/Image.xml:250
msgid "Returns the image's format. See [enum Format] constants."
msgstr ""
-#: doc/classes/Image.xml:256
+#: doc/classes/Image.xml:257
msgid "Returns the image's height."
msgstr ""
-#: doc/classes/Image.xml:265
+#: doc/classes/Image.xml:266
msgid ""
"Returns the offset where the image's mipmap with index [code]mipmap[/code] "
"is stored in the [code]data[/code] dictionary."
msgstr ""
-#: doc/classes/Image.xml:276
+#: doc/classes/Image.xml:277
msgid ""
"Returns the color of the pixel at [code](x, y)[/code]. This is the same as "
"[method get_pixelv], but with two integer arguments instead of a [Vector2] "
"argument."
msgstr ""
-#: doc/classes/Image.xml:285
+#: doc/classes/Image.xml:286
msgid ""
"Returns the color of the pixel at [code]src[/code]. This is the same as "
"[method get_pixel], but with a [Vector2] argument instead of two integer "
"arguments."
msgstr ""
-#: doc/classes/Image.xml:294
+#: doc/classes/Image.xml:295
msgid ""
"Returns a new image that is a copy of the image's area specified with "
"[code]rect[/code]."
msgstr ""
-#: doc/classes/Image.xml:301
+#: doc/classes/Image.xml:302
msgid "Returns the image's size (width and height)."
msgstr ""
-#: doc/classes/Image.xml:308
+#: doc/classes/Image.xml:309
msgid ""
"Returns a [Rect2] enclosing the visible portion of the image, considering "
"each pixel with a non-zero alpha channel as visible."
msgstr ""
-#: doc/classes/Image.xml:315
+#: doc/classes/Image.xml:316
msgid "Returns the image's width."
msgstr ""
-#: doc/classes/Image.xml:322
+#: doc/classes/Image.xml:323
msgid "Returns [code]true[/code] if the image has generated mipmaps."
msgstr ""
-#: doc/classes/Image.xml:329
+#: doc/classes/Image.xml:330
msgid "Returns [code]true[/code] if the image is compressed."
msgstr ""
-#: doc/classes/Image.xml:336
+#: doc/classes/Image.xml:337
msgid "Returns [code]true[/code] if the image has no data."
msgstr ""
-#: doc/classes/Image.xml:343
+#: doc/classes/Image.xml:344
msgid ""
"Returns [code]true[/code] if all the image's pixels have an alpha value of "
"0. Returns [code]false[/code] if any pixel has an alpha value higher than 0."
msgstr ""
-#: doc/classes/Image.xml:352
-msgid "Loads an image from file [code]path[/code]."
+#: doc/classes/Image.xml:353
+msgid ""
+"Loads an image from file [code]path[/code]. See [url=https://docs."
+"godotengine.org/en/latest/getting_started/workflow/assets/importing_images."
+"html#supported-image-formats]Supported image formats[/url] for a list of "
+"supported image formats and limitations."
msgstr ""
-#: doc/classes/Image.xml:361
+#: doc/classes/Image.xml:362
msgid "Loads an image from the binary contents of a JPEG file."
msgstr ""
-#: doc/classes/Image.xml:370
+#: doc/classes/Image.xml:371
msgid "Loads an image from the binary contents of a PNG file."
msgstr ""
-#: doc/classes/Image.xml:379
+#: doc/classes/Image.xml:380
msgid "Loads an image from the binary contents of a WebP file."
msgstr ""
-#: doc/classes/Image.xml:386
+#: doc/classes/Image.xml:387
msgid ""
"Converts the image's data to represent coordinates on a 3D plane. This is "
"used when the image represents a normalmap. A normalmap can add lots of "
"detail to a 3D surface without increasing the polygon count."
msgstr ""
-#: doc/classes/Image.xml:393
+#: doc/classes/Image.xml:394
msgid ""
"Multiplies color values with alpha values. Resulting color values for a "
"pixel are [code](color * alpha)/256[/code]."
msgstr ""
-#: doc/classes/Image.xml:406
+#: doc/classes/Image.xml:407
msgid ""
"Resizes the image to the given [code]width[/code] and [code]height[/code]. "
"New pixels are calculated using [code]interpolation[/code]. See "
"[code]interpolation[/code] constants."
msgstr ""
-#: doc/classes/Image.xml:415
+#: doc/classes/Image.xml:416
msgid ""
"Resizes the image to the nearest power of 2 for the width and height. If "
"[code]square[/code] is [code]true[/code] then set width and height to be the "
"same."
msgstr ""
-#: doc/classes/Image.xml:422
+#: doc/classes/Image.xml:423
msgid ""
"Converts a standard RGBE (Red Green Blue Exponent) image to an sRGB image."
msgstr ""
-#: doc/classes/Image.xml:433
+#: doc/classes/Image.xml:434
msgid ""
"Saves the image as an EXR file to [code]path[/code]. If [code]grayscale[/"
"code] is [code]true[/code] and the image has only one channel, it will be "
@@ -24261,11 +24084,11 @@ msgid ""
"TinyEXR module."
msgstr ""
-#: doc/classes/Image.xml:442
+#: doc/classes/Image.xml:443
msgid "Saves the image as a PNG file to [code]path[/code]."
msgstr ""
-#: doc/classes/Image.xml:455
+#: doc/classes/Image.xml:456
msgid ""
"Sets the [Color] of the pixel at [code](x, y)[/code]. Example:\n"
"[codeblock]\n"
@@ -24275,7 +24098,7 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Image.xml:471
+#: doc/classes/Image.xml:472
msgid ""
"Sets the [Color] of the pixel at [code](dst.x, dst.y)[/code]. Note that the "
"[code]dst[/code] values must be integers. Example:\n"
@@ -24286,51 +24109,51 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/Image.xml:483
+#: doc/classes/Image.xml:484
msgid "Shrinks the image by a factor of 2."
msgstr ""
-#: doc/classes/Image.xml:490
+#: doc/classes/Image.xml:491
msgid "Converts the raw data from the sRGB colorspace to a linear scale."
msgstr ""
-#: doc/classes/Image.xml:496
+#: doc/classes/Image.xml:497
msgid ""
"Holds all of the image's color data in a given format. See [enum Format] "
"constants."
msgstr ""
-#: doc/classes/Image.xml:501
+#: doc/classes/Image.xml:502
msgid "The maximal width allowed for [Image] resources."
msgstr ""
-#: doc/classes/Image.xml:504
+#: doc/classes/Image.xml:505
msgid "The maximal height allowed for [Image] resources."
msgstr ""
-#: doc/classes/Image.xml:507
+#: doc/classes/Image.xml:508
msgid "Texture format with a single 8-bit depth representing luminance."
msgstr ""
-#: doc/classes/Image.xml:510
+#: doc/classes/Image.xml:511
msgid ""
"OpenGL texture format with two values, luminance and alpha each stored with "
"8 bits."
msgstr ""
-#: doc/classes/Image.xml:513
+#: doc/classes/Image.xml:514
msgid ""
"OpenGL texture format [code]RED[/code] with a single component and a "
"bitdepth of 8."
msgstr ""
-#: doc/classes/Image.xml:516
+#: doc/classes/Image.xml:517
msgid ""
"OpenGL texture format [code]RG[/code] with two components and a bitdepth of "
"8 for each."
msgstr ""
-#: doc/classes/Image.xml:519
+#: doc/classes/Image.xml:520
msgid ""
"OpenGL texture format [code]RGB[/code] with three components, each with a "
"bitdepth of 8.\n"
@@ -24338,7 +24161,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:523
+#: doc/classes/Image.xml:524
msgid ""
"OpenGL texture format [code]RGBA[/code] with four components, each with a "
"bitdepth of 8.\n"
@@ -24346,67 +24169,67 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:527
+#: doc/classes/Image.xml:528
msgid ""
"OpenGL texture format [code]RGBA[/code] with four components, each with a "
"bitdepth of 4."
msgstr ""
-#: doc/classes/Image.xml:532
+#: doc/classes/Image.xml:533
msgid ""
"OpenGL texture format [code]GL_R32F[/code] where there's one component, a 32-"
"bit floating-point value."
msgstr ""
-#: doc/classes/Image.xml:535
+#: doc/classes/Image.xml:536
msgid ""
"OpenGL texture format [code]GL_RG32F[/code] where there are two components, "
"each a 32-bit floating-point values."
msgstr ""
-#: doc/classes/Image.xml:538
+#: doc/classes/Image.xml:539
msgid ""
"OpenGL texture format [code]GL_RGB32F[/code] where there are three "
"components, each a 32-bit floating-point values."
msgstr ""
-#: doc/classes/Image.xml:541
+#: doc/classes/Image.xml:542
msgid ""
"OpenGL texture format [code]GL_RGBA32F[/code] where there are four "
"components, each a 32-bit floating-point values."
msgstr ""
-#: doc/classes/Image.xml:544
+#: doc/classes/Image.xml:545
msgid ""
"OpenGL texture format [code]GL_R32F[/code] where there's one component, a 16-"
"bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:547
+#: doc/classes/Image.xml:548
msgid ""
"OpenGL texture format [code]GL_RG32F[/code] where there are two components, "
"each a 16-bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:550
+#: doc/classes/Image.xml:551
msgid ""
"OpenGL texture format [code]GL_RGB32F[/code] where there are three "
"components, each a 16-bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:553
+#: doc/classes/Image.xml:554
msgid ""
"OpenGL texture format [code]GL_RGBA32F[/code] where there are four "
"components, each a 16-bit \"half-precision\" floating-point value."
msgstr ""
-#: doc/classes/Image.xml:556
+#: doc/classes/Image.xml:557
msgid ""
"A special OpenGL texture format where the three color components have 9 bits "
"of precision and all three share a single 5-bit exponent."
msgstr ""
-#: doc/classes/Image.xml:559
+#: doc/classes/Image.xml:560
msgid ""
"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] "
"texture format that uses Block Compression 1, and is the smallest variation "
@@ -24416,7 +24239,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:563
+#: doc/classes/Image.xml:564
msgid ""
"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] "
"texture format that uses Block Compression 2, and color data is interpreted "
@@ -24426,7 +24249,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:567
+#: doc/classes/Image.xml:568
msgid ""
"The [url=https://en.wikipedia.org/wiki/S3_Texture_Compression]S3TC[/url] "
"texture format also known as Block Compression 3 or BC3 that contains 64 "
@@ -24437,7 +24260,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:571
+#: doc/classes/Image.xml:572
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"Red_Green_Texture_Compression]Red Green Texture Compression[/url], "
@@ -24445,7 +24268,7 @@ msgid ""
"DXT5 uses for the alpha channel."
msgstr ""
-#: doc/classes/Image.xml:574
+#: doc/classes/Image.xml:575
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"Red_Green_Texture_Compression]Red Green Texture Compression[/url], "
@@ -24453,7 +24276,7 @@ msgid ""
"algorithm that DXT5 uses for the alpha channel."
msgstr ""
-#: doc/classes/Image.xml:577
+#: doc/classes/Image.xml:578
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"BPTC_Texture_Compression]BPTC[/url] compression with unsigned normalized "
@@ -24462,21 +24285,21 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:581
+#: doc/classes/Image.xml:582
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"BPTC_Texture_Compression]BPTC[/url] compression with signed floating-point "
"RGB components."
msgstr ""
-#: doc/classes/Image.xml:584
+#: doc/classes/Image.xml:585
msgid ""
"Texture format that uses [url=https://www.khronos.org/opengl/wiki/"
"BPTC_Texture_Compression]BPTC[/url] compression with unsigned floating-point "
"RGB components."
msgstr ""
-#: doc/classes/Image.xml:587
+#: doc/classes/Image.xml:588
msgid ""
"Texture format used on PowerVR-supported mobile platforms, uses 2-bit color "
"depth with no alpha. More information can be found [url=https://en.wikipedia."
@@ -24485,25 +24308,25 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:591
+#: doc/classes/Image.xml:592
msgid ""
"Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with an "
"alpha component."
msgstr ""
-#: doc/classes/Image.xml:594
+#: doc/classes/Image.xml:595
msgid ""
"Similar to [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC2[/url], but with 4-"
"bit color depth and no alpha."
msgstr ""
-#: doc/classes/Image.xml:597
+#: doc/classes/Image.xml:598
msgid ""
"Same as [url=https://en.wikipedia.org/wiki/PVRTC]PVRTC4[/url], but with an "
"alpha component."
msgstr ""
-#: doc/classes/Image.xml:600
+#: doc/classes/Image.xml:601
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC1]Ericsson Texture Compression format 1[/"
@@ -24511,7 +24334,7 @@ msgid ""
"standard. This format cannot store an alpha channel."
msgstr ""
-#: doc/classes/Image.xml:603
+#: doc/classes/Image.xml:604
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24519,7 +24342,7 @@ msgid ""
"unsigned data."
msgstr ""
-#: doc/classes/Image.xml:606
+#: doc/classes/Image.xml:607
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24527,7 +24350,7 @@ msgid ""
"channel of signed data."
msgstr ""
-#: doc/classes/Image.xml:609
+#: doc/classes/Image.xml:610
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24535,7 +24358,7 @@ msgid ""
"of unsigned data."
msgstr ""
-#: doc/classes/Image.xml:612
+#: doc/classes/Image.xml:613
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24543,7 +24366,7 @@ msgid ""
"channels of signed data."
msgstr ""
-#: doc/classes/Image.xml:615
+#: doc/classes/Image.xml:616
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24553,7 +24376,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:619
+#: doc/classes/Image.xml:620
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24563,7 +24386,7 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:623
+#: doc/classes/Image.xml:624
msgid ""
"[url=https://en.wikipedia.org/wiki/"
"Ericsson_Texture_Compression#ETC2_and_EAC]Ericsson Texture Compression "
@@ -24574,31 +24397,31 @@ msgid ""
"conversion is performed."
msgstr ""
-#: doc/classes/Image.xml:631
+#: doc/classes/Image.xml:632
msgid "Represents the size of the [enum Format] enum."
msgstr ""
-#: doc/classes/Image.xml:634
+#: doc/classes/Image.xml:635
msgid ""
"Performs nearest-neighbor interpolation. If the image is resized, it will be "
"pixelated."
msgstr ""
-#: doc/classes/Image.xml:637
+#: doc/classes/Image.xml:638
msgid ""
"Performs bilinear interpolation. If the image is resized, it will be blurry. "
"This mode is faster than [constant INTERPOLATE_CUBIC], but it results in "
"lower quality."
msgstr ""
-#: doc/classes/Image.xml:640
+#: doc/classes/Image.xml:641
msgid ""
"Performs cubic interpolation. If the image is resized, it will be blurry. "
"This mode often gives better results compared to [constant "
"INTERPOLATE_BILINEAR], at the cost of being slower."
msgstr ""
-#: doc/classes/Image.xml:643
+#: doc/classes/Image.xml:644
msgid ""
"Performs bilinear separately on the two most-suited mipmap levels, then "
"linearly interpolates between them.\n"
@@ -24613,55 +24436,55 @@ msgid ""
"a new set will be generated for the resulting image."
msgstr ""
-#: doc/classes/Image.xml:650
+#: doc/classes/Image.xml:651
msgid ""
"Performs Lanczos interpolation. This is the slowest image resizing mode, but "
"it typically gives the best results, especially when downscalng images."
msgstr ""
-#: doc/classes/Image.xml:653
+#: doc/classes/Image.xml:654
msgid "Image does not have alpha."
msgstr ""
-#: doc/classes/Image.xml:656
+#: doc/classes/Image.xml:657
msgid "Image stores alpha in a single bit."
msgstr ""
-#: doc/classes/Image.xml:659
+#: doc/classes/Image.xml:660
msgid "Image uses alpha."
msgstr ""
-#: doc/classes/Image.xml:662
+#: doc/classes/Image.xml:663
msgid "Use S3TC compression."
msgstr ""
-#: doc/classes/Image.xml:665
+#: doc/classes/Image.xml:666
msgid "Use PVRTC2 compression."
msgstr ""
-#: doc/classes/Image.xml:668
+#: doc/classes/Image.xml:669
msgid "Use PVRTC4 compression."
msgstr ""
-#: doc/classes/Image.xml:671
+#: doc/classes/Image.xml:672
msgid "Use ETC compression."
msgstr ""
-#: doc/classes/Image.xml:674
+#: doc/classes/Image.xml:675
msgid "Use ETC2 compression."
msgstr ""
-#: doc/classes/Image.xml:689
+#: doc/classes/Image.xml:690
msgid ""
"Source texture (before compression) is a regular texture. Default for all "
"textures."
msgstr ""
-#: doc/classes/Image.xml:692
+#: doc/classes/Image.xml:693
msgid "Source texture (before compression) is in sRGB space."
msgstr ""
-#: doc/classes/Image.xml:695
+#: doc/classes/Image.xml:696
msgid ""
"Source texture (before compression) is a normal texture (e.g. it can be "
"compressed into two channels)."
@@ -24674,22 +24497,24 @@ msgstr ""
#: doc/classes/ImageTexture.xml:7
msgid ""
"A [Texture2D] based on an [Image]. Can be created from an [Image] with "
-"[method create_from_image]."
+"[method create_from_image].\n"
+"[b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics "
+"hardware limitations. Larger images will fail to import."
msgstr ""
-#: doc/classes/ImageTexture.xml:18
+#: doc/classes/ImageTexture.xml:19
msgid "Create a new [ImageTexture] from an [Image]."
msgstr ""
-#: doc/classes/ImageTexture.xml:25
+#: doc/classes/ImageTexture.xml:26
msgid "Returns the format of the [ImageTexture], one of [enum Image.Format]."
msgstr ""
-#: doc/classes/ImageTexture.xml:34
+#: doc/classes/ImageTexture.xml:35
msgid "Resizes the [ImageTexture] to the specified dimensions."
msgstr ""
-#: doc/classes/ImageTexture.xml:45
+#: doc/classes/ImageTexture.xml:46
msgid ""
"Replaces the texture's data with a new [code]image[/code]. If "
"[code]immediate[/code] is [code]true[/code], it will take effect immediately "
@@ -24702,20 +24527,29 @@ msgstr ""
#: doc/classes/ImmediateGeometry3D.xml:7
msgid ""
-"Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x."
+"Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x.\n"
+"See also [ArrayMesh], [MeshDataTool] and [SurfaceTool] for procedural "
+"geometry generation.\n"
+"[b]Note:[/b] ImmediateGeometry3D is best suited to small amounts of mesh "
+"data that change every frame. It will be slow when handling large amounts of "
+"mesh data. If mesh data doesn't change often, use [ArrayMesh], "
+"[MeshDataTool] or [SurfaceTool] instead.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:24
+#: doc/classes/ImmediateGeometry3D.xml:27
msgid ""
"Simple helper to draw an UV sphere with given latitude, longitude and radius."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:33
+#: doc/classes/ImmediateGeometry3D.xml:36
msgid ""
"Adds a vertex in local coordinate space with the currently set color/uv/etc."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:44
+#: doc/classes/ImmediateGeometry3D.xml:47
msgid ""
"Begin drawing (and optionally pass a texture override). When done call "
"[method end]. For more information on how this works, search for "
@@ -24723,34 +24557,454 @@ msgid ""
"For the type of primitive, see the [enum Mesh.PrimitiveType] enum."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:52
+#: doc/classes/ImmediateGeometry3D.xml:55
msgid "Clears everything that was drawn using begin/end."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:59
+#: doc/classes/ImmediateGeometry3D.xml:62
msgid "Ends a drawing context and displays the results."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:68
+#: doc/classes/ImmediateGeometry3D.xml:71
msgid "The current drawing color."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:77
+#: doc/classes/ImmediateGeometry3D.xml:80
msgid "The next vertex's normal."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:86
+#: doc/classes/ImmediateGeometry3D.xml:89
msgid "The next vertex's tangent (and binormal facing)."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:95
+#: doc/classes/ImmediateGeometry3D.xml:98
msgid "The next vertex's UV."
msgstr ""
-#: doc/classes/ImmediateGeometry3D.xml:104
+#: doc/classes/ImmediateGeometry3D.xml:107
msgid "The next vertex's second layer UV."
msgstr ""
+#: doc/classes/Input.xml:4
+msgid "A singleton that deals with inputs."
+msgstr ""
+
+#: doc/classes/Input.xml:7
+msgid ""
+"A singleton that deals with inputs. This includes key presses, mouse buttons "
+"and movement, joypads, and input actions. Actions and their events can be "
+"set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or "
+"with the [InputMap] class."
+msgstr ""
+
+#: doc/classes/Input.xml:10
+msgid "https://docs.godotengine.org/en/latest/tutorials/inputs/index.html"
+msgstr ""
+
+#: doc/classes/Input.xml:21
+msgid ""
+"This will simulate pressing the specified action.\n"
+"The strength can be used for non-boolean actions, it's ranged between 0 and "
+"1 representing the intensity of the given action.\n"
+"[b]Note:[/b] This method will not cause any [method Node._input] calls. It "
+"is intended to be used with [method is_action_pressed] and [method "
+"is_action_just_pressed]. If you want to simulate [code]_input[/code], use "
+"[method parse_input_event] instead."
+msgstr ""
+
+#: doc/classes/Input.xml:32
+msgid "If the specified action is already pressed, this will release it."
+msgstr ""
+
+#: doc/classes/Input.xml:43
+msgid ""
+"Adds a new mapping entry (in SDL2 format) to the mapping database. "
+"Optionally update already connected devices."
+msgstr ""
+
+#: doc/classes/Input.xml:50
+msgid ""
+"If the device has an accelerometer, this will return the acceleration. "
+"Otherwise, it returns an empty [Vector3].\n"
+"Note this method returns an empty [Vector3] when running from the editor "
+"even when your device has an accelerometer. You must export your project to "
+"a supported device to read values from the accelerometer."
+msgstr ""
+
+#: doc/classes/Input.xml:60
+msgid ""
+"Returns a value between 0 and 1 representing the intensity of the given "
+"action. In a joypad, for example, the further away the axis (analog sticks "
+"or L2, R2 triggers) is from the dead zone, the closer the value will be to "
+"1. If the action is mapped to a control that has no axis as the keyboard, "
+"the value returned will be 0 or 1."
+msgstr ""
+
+#: doc/classes/Input.xml:67
+msgid ""
+"Returns an [Array] containing the device IDs of all currently connected "
+"joypads."
+msgstr ""
+
+#: doc/classes/Input.xml:74
+msgid "Returns the currently assigned cursor shape (see [enum CursorShape])."
+msgstr ""
+
+#: doc/classes/Input.xml:81
+msgid ""
+"If the device has an accelerometer, this will return the gravity. Otherwise, "
+"it returns an empty [Vector3]."
+msgstr ""
+
+#: doc/classes/Input.xml:88
+msgid ""
+"If the device has a gyroscope, this will return the rate of rotation in rad/"
+"s around a device's X, Y, and Z axes. Otherwise, it returns an empty "
+"[Vector3]."
+msgstr ""
+
+#: doc/classes/Input.xml:99
+msgid ""
+"Returns the current value of the joypad axis at given index (see [enum "
+"JoystickList])."
+msgstr ""
+
+#: doc/classes/Input.xml:108
+msgid "Returns the index of the provided axis name."
+msgstr ""
+
+#: doc/classes/Input.xml:117
+msgid ""
+"Receives a [enum JoystickList] axis and returns its equivalent name as a "
+"string."
+msgstr ""
+
+#: doc/classes/Input.xml:126
+msgid "Returns the index of the provided button name."
+msgstr ""
+
+#: doc/classes/Input.xml:135
+msgid ""
+"Receives a gamepad button from [enum JoystickList] and returns its "
+"equivalent name as a string."
+msgstr ""
+
+#: doc/classes/Input.xml:144
+msgid ""
+"Returns a SDL2-compatible device GUID on platforms that use gamepad "
+"remapping. Returns [code]\"Default Gamepad\"[/code] otherwise."
+msgstr ""
+
+#: doc/classes/Input.xml:153
+msgid "Returns the name of the joypad at the specified device index."
+msgstr ""
+
+#: doc/classes/Input.xml:162
+msgid "Returns the duration of the current vibration effect in seconds."
+msgstr ""
+
+#: doc/classes/Input.xml:171
+msgid ""
+"Returns the strength of the joypad vibration: x is the strength of the weak "
+"motor, and y is the strength of the strong motor."
+msgstr ""
+
+#: doc/classes/Input.xml:178
+msgid ""
+"Returns the mouse speed for the last time the cursor was moved, and this "
+"until the next frame where the mouse moves. This means that even if the "
+"mouse is not moving, this function will still return the value of the last "
+"motion."
+msgstr ""
+
+#: doc/classes/Input.xml:185
+msgid ""
+"If the device has a magnetometer, this will return the magnetic field "
+"strength in micro-Tesla for all axes."
+msgstr ""
+
+#: doc/classes/Input.xml:192
+msgid ""
+"Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at "
+"the same time, the bits are added together."
+msgstr ""
+
+#: doc/classes/Input.xml:199
+msgid "Returns the mouse mode. See the constants for more information."
+msgstr ""
+
+#: doc/classes/Input.xml:208
+msgid ""
+"Returns [code]true[/code] when the user starts pressing the action event, "
+"meaning it's [code]true[/code] only on the frame that the user pressed down "
+"the button.\n"
+"This is useful for code that needs to run only once when an action is "
+"pressed, instead of every frame while it's pressed."
+msgstr ""
+
+#: doc/classes/Input.xml:218
+msgid ""
+"Returns [code]true[/code] when the user stops pressing the action event, "
+"meaning it's [code]true[/code] only on the frame that the user released the "
+"button."
+msgstr ""
+
+#: doc/classes/Input.xml:227
+msgid ""
+"Returns [code]true[/code] if you are pressing the action event. Note that if "
+"an action has multiple buttons assigned and more than one of them is "
+"pressed, releasing one button will release the action, even if some other "
+"button assigned to this action is still pressed."
+msgstr ""
+
+#: doc/classes/Input.xml:238
+msgid ""
+"Returns [code]true[/code] if you are pressing the joypad button (see [enum "
+"JoystickList])."
+msgstr ""
+
+#: doc/classes/Input.xml:247
+msgid ""
+"Returns [code]true[/code] if the system knows the specified device. This "
+"means that it sets all button and axis indices exactly as defined in [enum "
+"JoystickList]. Unknown joypads are not expected to match these constants, "
+"but you can still retrieve events from them."
+msgstr ""
+
+#: doc/classes/Input.xml:256
+msgid ""
+"Returns [code]true[/code] if you are pressing the key in the current "
+"keyboard layout. You can pass a [enum KeyList] constant."
+msgstr ""
+
+#: doc/classes/Input.xml:265
+msgid ""
+"Returns [code]true[/code] if you are pressing the mouse button specified "
+"with [enum ButtonList]."
+msgstr ""
+
+#: doc/classes/Input.xml:280
+msgid ""
+"Notifies the [Input] singleton that a connection has changed, to update the "
+"state for the [code]device[/code] index.\n"
+"This is used internally and should not have to be called from user scripts. "
+"See [signal joy_connection_changed] for the signal emitted when this is "
+"triggered internally."
+msgstr ""
+
+#: doc/classes/Input.xml:290
+msgid ""
+"Feeds an [InputEvent] to the game. Can be used to artificially trigger input "
+"events from code. Also generates [method Node._input] calls.\n"
+"Example:\n"
+"[codeblock]\n"
+"var a = InputEventAction.new()\n"
+"a.action = \"ui_cancel\"\n"
+"a.pressed = true\n"
+"Input.parse_input_event(a)\n"
+"[/codeblock]"
+msgstr ""
+
+#: doc/classes/Input.xml:306
+msgid ""
+"Removes all mappings from the internal database that match the given GUID."
+msgstr ""
+
+#: doc/classes/Input.xml:319
+msgid ""
+"Sets a custom mouse cursor image, which is only visible inside the game "
+"window. The hotspot can also be specified. Passing [code]null[/code] to the "
+"image parameter resets to the system cursor. See [enum CursorShape] for the "
+"list of shapes.\n"
+"[code]image[/code]'s size must be lower than 256×256.\n"
+"[code]hotspot[/code] must be within [code]image[/code]'s size.\n"
+"[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If "
+"using an [AnimatedTexture], only the first frame will be displayed.\n"
+"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
+"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
+"compression mode can't be used for custom cursors."
+msgstr ""
+
+#: doc/classes/Input.xml:332
+msgid ""
+"Sets the default cursor shape to be used in the viewport instead of "
+"[constant CURSOR_ARROW].\n"
+"[b]Note:[/b] If you want to change the default cursor shape for [Control]'s "
+"nodes, use [member Control.mouse_default_cursor_shape] instead.\n"
+"[b]Note:[/b] This method generates an [InputEventMouseMotion] to update "
+"cursor immediately."
+msgstr ""
+
+#: doc/classes/Input.xml:343
+msgid "Sets the mouse mode. See the constants for more information."
+msgstr ""
+
+#: doc/classes/Input.xml:352
+msgid ""
+"Enables or disables the accumulation of similar input events sent by the "
+"operating system. When input accumulation is enabled, all input events "
+"generated during a frame will be merged and emitted when the frame is done "
+"rendering. Therefore, this limits the number of input method calls per "
+"second to the rendering FPS.\n"
+"Input accumulation is enabled by default. It can be disabled to get slightly "
+"more precise/reactive input at the cost of increased CPU usage. In "
+"applications where drawing freehand lines is required, input accumulation "
+"should generally be disabled while the user is drawing the line to get "
+"results that closely follow the actual input."
+msgstr ""
+
+#: doc/classes/Input.xml:368
+msgid ""
+"Starts to vibrate the joypad. Joypads usually come with two rumble motors, a "
+"strong and a weak one. [code]weak_magnitude[/code] is the strength of the "
+"weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the "
+"strength of the strong motor (between 0 and 1). [code]duration[/code] is the "
+"duration of the effect in seconds (a duration of 0 will try to play the "
+"vibration indefinitely).\n"
+"[b]Note:[/b] Not every hardware is compatible with long effect durations; it "
+"is recommended to restart an effect if it has to be played for more than a "
+"few seconds."
+msgstr ""
+
+#: doc/classes/Input.xml:378
+msgid "Stops the vibration of the joypad."
+msgstr ""
+
+#: doc/classes/Input.xml:387
+msgid ""
+"Vibrate Android and iOS devices.\n"
+"[b]Note:[/b] It needs VIBRATE permission for Android at export settings. iOS "
+"does not support duration."
+msgstr ""
+
+#: doc/classes/Input.xml:397
+msgid "Sets the mouse position to the specified vector."
+msgstr ""
+
+#: doc/classes/Input.xml:408
+msgid "Emitted when a joypad device has been connected or disconnected."
+msgstr ""
+
+#: doc/classes/Input.xml:414
+msgid "Makes the mouse cursor visible if it is hidden."
+msgstr ""
+
+#: doc/classes/Input.xml:417
+msgid "Makes the mouse cursor hidden if it is visible."
+msgstr ""
+
+#: doc/classes/Input.xml:420
+msgid ""
+"Captures the mouse. The mouse will be hidden and unable to leave the game "
+"window, but it will still register movement and mouse button presses. On "
+"Windows and Linux, the mouse will use raw input mode, which means the "
+"reported movement will be unaffected by the OS' mouse acceleration settings."
+msgstr ""
+
+#: doc/classes/Input.xml:423
+msgid "Makes the mouse cursor visible but confines it to the game window."
+msgstr ""
+
+#: doc/classes/Input.xml:426
+msgid "Arrow cursor. Standard, default pointing cursor."
+msgstr ""
+
+#: doc/classes/Input.xml:429
+msgid ""
+"I-beam cursor. Usually used to show where the text cursor will appear when "
+"the mouse is clicked."
+msgstr ""
+
+#: doc/classes/Input.xml:432
+msgid ""
+"Pointing hand cursor. Usually used to indicate the pointer is over a link or "
+"other interactable item."
+msgstr ""
+
+#: doc/classes/Input.xml:435
+msgid ""
+"Cross cursor. Typically appears over regions in which a drawing operation "
+"can be performed or for selections."
+msgstr ""
+
+#: doc/classes/Input.xml:438
+msgid ""
+"Wait cursor. Indicates that the application is busy performing an operation. "
+"This cursor shape denotes that the application is still usable during the "
+"operation."
+msgstr ""
+
+#: doc/classes/Input.xml:441
+msgid ""
+"Busy cursor. Indicates that the application is busy performing an operation. "
+"This cursor shape denotes that the application isn't usable during the "
+"operation (e.g. something is blocking its main thread)."
+msgstr ""
+
+#: doc/classes/Input.xml:444
+msgid "Drag cursor. Usually displayed when dragging something."
+msgstr ""
+
+#: doc/classes/Input.xml:447
+msgid ""
+"Can drop cursor. Usually displayed when dragging something to indicate that "
+"it can be dropped at the current position."
+msgstr ""
+
+#: doc/classes/Input.xml:450
+msgid ""
+"Forbidden cursor. Indicates that the current action is forbidden (for "
+"example, when dragging something) or that the control at a position is "
+"disabled."
+msgstr ""
+
+#: doc/classes/Input.xml:453
+msgid ""
+"Vertical resize mouse cursor. A double-headed vertical arrow. It tells the "
+"user they can resize the window or the panel vertically."
+msgstr ""
+
+#: doc/classes/Input.xml:456
+msgid ""
+"Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells "
+"the user they can resize the window or the panel horizontally."
+msgstr ""
+
+#: doc/classes/Input.xml:459
+msgid ""
+"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
+"from the bottom left to the top right. It tells the user they can resize the "
+"window or the panel both horizontally and vertically."
+msgstr ""
+
+#: doc/classes/Input.xml:462
+msgid ""
+"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
+"from the top left to the bottom right, the opposite of [constant "
+"CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel "
+"both horizontally and vertically."
+msgstr ""
+
+#: doc/classes/Input.xml:465
+msgid "Move cursor. Indicates that something can be moved."
+msgstr ""
+
+#: doc/classes/Input.xml:468
+msgid ""
+"Vertical split mouse cursor. On Windows, it's the same as [constant "
+"CURSOR_VSIZE]."
+msgstr ""
+
+#: doc/classes/Input.xml:471
+msgid ""
+"Horizontal split mouse cursor. On Windows, it's the same as [constant "
+"CURSOR_HSIZE]."
+msgstr ""
+
+#: doc/classes/Input.xml:474
+msgid "Help cursor. Usually a question mark."
+msgstr ""
+
#: doc/classes/InputEvent.xml:4
msgid "Generic input event."
msgstr ""
@@ -24956,8 +25210,8 @@ msgstr ""
#: doc/classes/InputEventKey.xml:17
msgid ""
-"Returns the keycode combined with modifier keys such as [code]Shift[/code] "
-"or [code]Alt[/code]. See also [InputEventWithModifiers].\n"
+"Returns the keycode combined with modifier keys such as [kbd]Shift[/kbd] or "
+"[kbd]Alt[/kbd]. See also [InputEventWithModifiers].\n"
"To get a human-readable representation of the [InputEventKey] with "
"modifiers, use [code]OS.get_keycode_string(event."
"get_keycode_with_modifiers())[/code] where [code]event[/code] is the "
@@ -24966,8 +25220,8 @@ msgstr ""
#: doc/classes/InputEventKey.xml:25
msgid ""
-"Returns the physical keycode combined with modifier keys such as "
-"[code]Shift[/code] or [code]Alt[/code]. See also [InputEventWithModifiers].\n"
+"Returns the physical keycode combined with modifier keys such as [kbd]Shift[/"
+"kbd] or [kbd]Alt[/kbd]. See also [InputEventWithModifiers].\n"
"To get a human-readable representation of the [InputEventKey] with "
"modifiers, use [code]OS.get_keycode_string(event."
"get_physical_keycode_with_modifiers())[/code] where [code]event[/code] is "
@@ -25174,448 +25428,28 @@ msgstr ""
#: doc/classes/InputEventWithModifiers.xml:7
msgid ""
-"Contains keys events information with modifiers support like [code]Shift[/"
-"code] or [code]Alt[/code]. See [method Node._input]."
+"Contains keys events information with modifiers support like [kbd]Shift[/"
+"kbd] or [kbd]Alt[/kbd]. See [method Node._input]."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:16
-msgid "State of the [code]Alt[/code] modifier."
+msgid "State of the [kbd]Alt[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:19
-msgid "State of the [code]Command[/code] modifier."
+msgid "State of the [kbd]Cmd[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:22
-msgid "State of the [code]Ctrl[/code] modifier."
+msgid "State of the [kbd]Ctrl[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:25
-msgid "State of the [code]Meta[/code] modifier."
+msgid "State of the [kbd]Meta[/kbd] modifier."
msgstr ""
#: doc/classes/InputEventWithModifiers.xml:28
-msgid "State of the [code]Shift[/code] modifier."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:4
-msgid "A singleton that deals with inputs."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:7
-msgid ""
-"A singleton that deals with inputs. This includes key presses, mouse buttons "
-"and movement, joypads, and input actions. Actions and their events can be "
-"set in the [b]Input Map[/b] tab in the [b]Project > Project Settings[/b], or "
-"with the [InputMap] class."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:10
-msgid "https://docs.godotengine.org/en/latest/tutorials/inputs/index.html"
-msgstr ""
-
-#: doc/classes/InputFilter.xml:21
-msgid ""
-"This will simulate pressing the specified action.\n"
-"The strength can be used for non-boolean actions, it's ranged between 0 and "
-"1 representing the intensity of the given action.\n"
-"[b]Note:[/b] This method will not cause any [method Node._input] calls. It "
-"is intended to be used with [method is_action_pressed] and [method "
-"is_action_just_pressed]. If you want to simulate [code]_input[/code], use "
-"[method parse_input_event] instead."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:32
-msgid "If the specified action is already pressed, this will release it."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:43
-msgid ""
-"Adds a new mapping entry (in SDL2 format) to the mapping database. "
-"Optionally update already connected devices."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:50
-msgid ""
-"If the device has an accelerometer, this will return the acceleration. "
-"Otherwise, it returns an empty [Vector3].\n"
-"Note this method returns an empty [Vector3] when running from the editor "
-"even when your device has an accelerometer. You must export your project to "
-"a supported device to read values from the accelerometer."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:60
-msgid ""
-"Returns a value between 0 and 1 representing the intensity of the given "
-"action. In a joypad, for example, the further away the axis (analog sticks "
-"or L2, R2 triggers) is from the dead zone, the closer the value will be to "
-"1. If the action is mapped to a control that has no axis as the keyboard, "
-"the value returned will be 0 or 1."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:67
-msgid ""
-"Returns an [Array] containing the device IDs of all currently connected "
-"joypads."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:74
-msgid "Returns the currently assigned cursor shape (see [enum CursorShape])."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:81
-msgid ""
-"If the device has an accelerometer, this will return the gravity. Otherwise, "
-"it returns an empty [Vector3]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:88
-msgid ""
-"If the device has a gyroscope, this will return the rate of rotation in rad/"
-"s around a device's X, Y, and Z axes. Otherwise, it returns an empty "
-"[Vector3]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:99
-msgid ""
-"Returns the current value of the joypad axis at given index (see [enum "
-"JoystickList])."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:108
-msgid "Returns the index of the provided axis name."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:117
-msgid ""
-"Receives a [enum JoystickList] axis and returns its equivalent name as a "
-"string."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:126
-msgid "Returns the index of the provided button name."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:135
-msgid ""
-"Receives a gamepad button from [enum JoystickList] and returns its "
-"equivalent name as a string."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:144
-msgid ""
-"Returns a SDL2-compatible device GUID on platforms that use gamepad "
-"remapping. Returns [code]\"Default Gamepad\"[/code] otherwise."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:153
-msgid "Returns the name of the joypad at the specified device index."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:162
-msgid "Returns the duration of the current vibration effect in seconds."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:171
-msgid ""
-"Returns the strength of the joypad vibration: x is the strength of the weak "
-"motor, and y is the strength of the strong motor."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:178
-msgid ""
-"Returns the mouse speed for the last time the cursor was moved, and this "
-"until the next frame where the mouse moves. This means that even if the "
-"mouse is not moving, this function will still return the value of the last "
-"motion."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:185
-msgid ""
-"If the device has a magnetometer, this will return the magnetic field "
-"strength in micro-Tesla for all axes."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:192
-msgid ""
-"Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at "
-"the same time, the bits are added together."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:199
-msgid "Returns the mouse mode. See the constants for more information."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:208
-msgid ""
-"Returns [code]true[/code] when the user starts pressing the action event, "
-"meaning it's [code]true[/code] only on the frame that the user pressed down "
-"the button.\n"
-"This is useful for code that needs to run only once when an action is "
-"pressed, instead of every frame while it's pressed."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:218
-msgid ""
-"Returns [code]true[/code] when the user stops pressing the action event, "
-"meaning it's [code]true[/code] only on the frame that the user released the "
-"button."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:227
-msgid ""
-"Returns [code]true[/code] if you are pressing the action event. Note that if "
-"an action has multiple buttons assigned and more than one of them is "
-"pressed, releasing one button will release the action, even if some other "
-"button assigned to this action is still pressed."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:238
-msgid ""
-"Returns [code]true[/code] if you are pressing the joypad button (see [enum "
-"JoystickList])."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:247
-msgid ""
-"Returns [code]true[/code] if the system knows the specified device. This "
-"means that it sets all button and axis indices exactly as defined in [enum "
-"JoystickList]. Unknown joypads are not expected to match these constants, "
-"but you can still retrieve events from them."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:256
-msgid ""
-"Returns [code]true[/code] if you are pressing the key in the current "
-"keyboard layout. You can pass a [enum KeyList] constant."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:265
-msgid ""
-"Returns [code]true[/code] if you are pressing the mouse button specified "
-"with [enum ButtonList]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:280
-msgid ""
-"Notifies the [InputFilter] singleton that a connection has changed, to "
-"update the state for the [code]device[/code] index.\n"
-"This is used internally and should not have to be called from user scripts. "
-"See [signal joy_connection_changed] for the signal emitted when this is "
-"triggered internally."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:290
-msgid ""
-"Feeds an [InputEvent] to the game. Can be used to artificially trigger input "
-"events from code. Also generates [method Node._input] calls.\n"
-"Example:\n"
-"[codeblock]\n"
-"var a = InputEventAction.new()\n"
-"a.action = \"ui_cancel\"\n"
-"a.pressed = true\n"
-"InputFilter.parse_input_event(a)\n"
-"[/codeblock]"
-msgstr ""
-
-#: doc/classes/InputFilter.xml:306
-msgid ""
-"Removes all mappings from the internal database that match the given GUID."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:319
-msgid ""
-"Sets a custom mouse cursor image, which is only visible inside the game "
-"window. The hotspot can also be specified. Passing [code]null[/code] to the "
-"image parameter resets to the system cursor. See [enum CursorShape] for the "
-"list of shapes.\n"
-"[code]image[/code]'s size must be lower than 256×256.\n"
-"[code]hotspot[/code] must be within [code]image[/code]'s size.\n"
-"[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If "
-"using an [AnimatedTexture], only the first frame will be displayed.\n"
-"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
-"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:332
-msgid ""
-"Sets the default cursor shape to be used in the viewport instead of "
-"[constant CURSOR_ARROW].\n"
-"[b]Note:[/b] If you want to change the default cursor shape for [Control]'s "
-"nodes, use [member Control.mouse_default_cursor_shape] instead.\n"
-"[b]Note:[/b] This method generates an [InputEventMouseMotion] to update "
-"cursor immediately."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:343
-msgid "Sets the mouse mode. See the constants for more information."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:352
-msgid ""
-"Enables or disables the accumulation of similar input events sent by the "
-"operating system. When input accumulation is enabled, all input events "
-"generated during a frame will be merged and emitted when the frame is done "
-"rendering. Therefore, this limits the number of input method calls per "
-"second to the rendering FPS.\n"
-"Input accumulation is enabled by default. It can be disabled to get slightly "
-"more precise/reactive input at the cost of increased CPU usage. In "
-"applications where drawing freehand lines is required, input accumulation "
-"should generally be disabled while the user is drawing the line to get "
-"results that closely follow the actual input."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:368
-msgid ""
-"Starts to vibrate the joypad. Joypads usually come with two rumble motors, a "
-"strong and a weak one. [code]weak_magnitude[/code] is the strength of the "
-"weak motor (between 0 and 1) and [code]strong_magnitude[/code] is the "
-"strength of the strong motor (between 0 and 1). [code]duration[/code] is the "
-"duration of the effect in seconds (a duration of 0 will try to play the "
-"vibration indefinitely).\n"
-"[b]Note:[/b] Not every hardware is compatible with long effect durations; it "
-"is recommended to restart an effect if it has to be played for more than a "
-"few seconds."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:378
-msgid "Stops the vibration of the joypad."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:387
-msgid ""
-"Vibrate Android and iOS devices.\n"
-"[b]Note:[/b] It needs VIBRATE permission for Android at export settings. iOS "
-"does not support duration."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:397
-msgid "Sets the mouse position to the specified vector."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:408
-msgid "Emitted when a joypad device has been connected or disconnected."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:414
-msgid "Makes the mouse cursor visible if it is hidden."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:417
-msgid "Makes the mouse cursor hidden if it is visible."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:420
-msgid ""
-"Captures the mouse. The mouse will be hidden and unable to leave the game "
-"window, but it will still register movement and mouse button presses. On "
-"Windows and Linux, the mouse will use raw input mode, which means the "
-"reported movement will be unaffected by the OS' mouse acceleration settings."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:423
-msgid "Makes the mouse cursor visible but confines it to the game window."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:426
-msgid "Arrow cursor. Standard, default pointing cursor."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:429
-msgid ""
-"I-beam cursor. Usually used to show where the text cursor will appear when "
-"the mouse is clicked."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:432
-msgid ""
-"Pointing hand cursor. Usually used to indicate the pointer is over a link or "
-"other interactable item."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:435
-msgid ""
-"Cross cursor. Typically appears over regions in which a drawing operation "
-"can be performed or for selections."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:438
-msgid ""
-"Wait cursor. Indicates that the application is busy performing an operation. "
-"This cursor shape denotes that the application is still usable during the "
-"operation."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:441
-msgid ""
-"Busy cursor. Indicates that the application is busy performing an operation. "
-"This cursor shape denotes that the application isn't usable during the "
-"operation (e.g. something is blocking its main thread)."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:444
-msgid "Drag cursor. Usually displayed when dragging something."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:447
-msgid ""
-"Can drop cursor. Usually displayed when dragging something to indicate that "
-"it can be dropped at the current position."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:450
-msgid ""
-"Forbidden cursor. Indicates that the current action is forbidden (for "
-"example, when dragging something) or that the control at a position is "
-"disabled."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:453
-msgid ""
-"Vertical resize mouse cursor. A double-headed vertical arrow. It tells the "
-"user they can resize the window or the panel vertically."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:456
-msgid ""
-"Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells "
-"the user they can resize the window or the panel horizontally."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:459
-msgid ""
-"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
-"from the bottom left to the top right. It tells the user they can resize the "
-"window or the panel both horizontally and vertically."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:462
-msgid ""
-"Window resize mouse cursor. The cursor is a double-headed arrow that goes "
-"from the top left to the bottom right, the opposite of [constant "
-"CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel "
-"both horizontally and vertically."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:465
-msgid "Move cursor. Indicates that something can be moved."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:468
-msgid ""
-"Vertical split mouse cursor. On Windows, it's the same as [constant "
-"CURSOR_VSIZE]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:471
-msgid ""
-"Horizontal split mouse cursor. On Windows, it's the same as [constant "
-"CURSOR_HSIZE]."
-msgstr ""
-
-#: doc/classes/InputFilter.xml:474
-msgid "Help cursor. Usually a question mark."
+msgid "State of the [kbd]Shift[/kbd] modifier."
msgstr ""
#: doc/classes/InputMap.xml:4
@@ -25886,14 +25720,6 @@ msgstr ""
msgid "Address type: Any."
msgstr ""
-#: doc/classes/IP_Unix.xml:4
-msgid "UNIX IP support. See [IP]."
-msgstr ""
-
-#: doc/classes/IP_Unix.xml:7
-msgid "UNIX-specific implementation of IP support functions. See [IP]."
-msgstr ""
-
#: doc/classes/ItemList.xml:4
msgid ""
"Control that provides a list of selectable items (and/or icons) in a single "
@@ -25908,7 +25734,7 @@ msgid ""
"Selectable items in the list may be selected or deselected and multiple "
"selection may be enabled. Selection with right mouse button may also be "
"enabled to allow use of popup context menus. Items may also be \"activated\" "
-"by double-clicking them or by pressing Enter.\n"
+"by double-clicking them or by pressing [kbd]Enter[/kbd].\n"
"Item text only supports single-line strings, newline characters (e.g. "
"[code]\\n[/code]) in the string won't produce a newline. Text wrapping is "
"enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to "
@@ -26067,7 +25893,7 @@ msgstr ""
msgid ""
"Disables (or enables) the item at the specified index.\n"
"Disabled items cannot be selected and do not trigger activation signals "
-"(when double-clicking or pressing Enter)."
+"(when double-clicking or pressing [kbd]Enter[/kbd])."
msgstr ""
#: doc/classes/ItemList.xml:292
@@ -26202,7 +26028,7 @@ msgstr ""
#: doc/classes/ItemList.xml:455
msgid ""
"Triggered when specified list item is activated via double-clicking or by "
-"pressing Enter."
+"pressing [kbd]Enter[/kbd]."
msgstr ""
#: doc/classes/ItemList.xml:464
@@ -26252,7 +26078,9 @@ msgid "Only allow selecting a single item."
msgstr ""
#: doc/classes/ItemList.xml:511
-msgid "Allows selecting multiple items by holding Ctrl or Shift."
+msgid ""
+"Allows selecting multiple items by holding [kbd]Ctrl[/kbd] or [kbd]Shift[/"
+"kbd]."
msgstr ""
#: doc/classes/ItemList.xml:516
@@ -27243,59 +27071,91 @@ msgid ""
msgstr ""
#: doc/classes/Light3D.xml:39
-msgid "The light's bake mode. See [enum BakeMode]."
+msgid ""
+"Angular size of the light in degrees. Only available for "
+"[DirectionalLight3D]s. For reference, the sun from earth is approximately "
+"[code]0.5[/code]."
msgstr ""
#: doc/classes/Light3D.xml:42
-msgid "The light's color."
+msgid "The light's bake mode. See [enum BakeMode]."
msgstr ""
#: doc/classes/Light3D.xml:45
-msgid "The light will affect objects in the selected layers."
+msgid "The light's color."
msgstr ""
#: doc/classes/Light3D.xml:48
-msgid "The light's strength multiplier."
+msgid "The light will affect objects in the selected layers."
msgstr ""
#: doc/classes/Light3D.xml:51
+msgid "The light's strength multiplier."
+msgstr ""
+
+#: doc/classes/Light3D.xml:54
msgid ""
"Secondary multiplier used with indirect light (light bounces). Used with "
"[GIProbe]."
msgstr ""
-#: doc/classes/Light3D.xml:54
+#: doc/classes/Light3D.xml:57
msgid ""
"If [code]true[/code], the light's effect is reversed, darkening areas and "
"casting bright shadows."
msgstr ""
-#: doc/classes/Light3D.xml:57
+#: doc/classes/Light3D.xml:60
+msgid ""
+"[Texture2D] projected by light. [member shadow_enabled] must be on for the "
+"projector to work. Light projectors make the light appear as if it is "
+"shining through a colored but transparent object, almost like light shining "
+"through stained glass."
+msgstr ""
+
+#: doc/classes/Light3D.xml:63
+msgid ""
+"The size of the light in Godot units. Only available for [OmniLight3D]s and "
+"[SpotLight3D]s."
+msgstr ""
+
+#: doc/classes/Light3D.xml:66
msgid ""
"The intensity of the specular blob in objects affected by the light. At "
"[code]0[/code] the light becomes a pure diffuse light."
msgstr ""
-#: doc/classes/Light3D.xml:60
+#: doc/classes/Light3D.xml:69
msgid ""
"Used to adjust shadow appearance. Too small a value results in self-"
"shadowing, while too large a value causes shadows to separate from casters. "
"Adjust as needed."
msgstr ""
-#: doc/classes/Light3D.xml:63
-msgid "The color of shadows cast by this light."
+#: doc/classes/Light3D.xml:72 doc/classes/RenderingServer.xml:3374
+msgid ""
+"Blurs the edges of the shadow. Can be used to hide pixel artifacts in low "
+"resolution shadow maps. A high value can make shadows appear grainy and can "
+"cause other unwanted artifacts. Try to keep as near default as possible."
msgstr ""
-#: doc/classes/Light3D.xml:66
-msgid "Attempts to reduce [member shadow_bias] gap."
+#: doc/classes/Light3D.xml:75
+msgid "The color of shadows cast by this light."
msgstr ""
-#: doc/classes/Light3D.xml:69
+#: doc/classes/Light3D.xml:78
msgid "If [code]true[/code], the light will cast shadows."
msgstr ""
-#: doc/classes/Light3D.xml:72
+#: doc/classes/Light3D.xml:81
+msgid ""
+"Offsets the lookup into the shadow map by the objects normal. This can be "
+"used reduce self-shadowing artifacts without using [member shadow_bias]. In "
+"practice, this value should be tweaked along with [member shadow_bias] to "
+"reduce artifacts as much as possible."
+msgstr ""
+
+#: doc/classes/Light3D.xml:84
msgid ""
"If [code]true[/code], reverses the backface culling of the mesh. This can be "
"useful when you have a flat mesh that has a light behind it. If you need to "
@@ -27304,93 +27164,105 @@ msgid ""
"SHADOW_CASTING_SETTING_DOUBLE_SIDED]."
msgstr ""
-#: doc/classes/Light3D.xml:77
+#: doc/classes/Light3D.xml:91
msgid "Constant for accessing [member light_energy]."
msgstr ""
-#: doc/classes/Light3D.xml:80
+#: doc/classes/Light3D.xml:94
msgid "Constant for accessing [member light_indirect_energy]."
msgstr ""
-#: doc/classes/Light3D.xml:83
+#: doc/classes/Light3D.xml:97
msgid "Constant for accessing [member light_specular]."
msgstr ""
-#: doc/classes/Light3D.xml:86
+#: doc/classes/Light3D.xml:100
msgid ""
"Constant for accessing [member OmniLight3D.omni_range] or [member "
"SpotLight3D.spot_range]."
msgstr ""
-#: doc/classes/Light3D.xml:89
+#: doc/classes/Light3D.xml:103
+msgid "Constant for accessing [member light_size]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:106
msgid ""
"Constant for accessing [member OmniLight3D.omni_attenuation] or [member "
"SpotLight3D.spot_attenuation]."
msgstr ""
-#: doc/classes/Light3D.xml:92
+#: doc/classes/Light3D.xml:109
msgid "Constant for accessing [member SpotLight3D.spot_angle]."
msgstr ""
-#: doc/classes/Light3D.xml:95
+#: doc/classes/Light3D.xml:112
msgid "Constant for accessing [member SpotLight3D.spot_angle_attenuation]."
msgstr ""
-#: doc/classes/Light3D.xml:98
-msgid "Constant for accessing [member shadow_contact]."
-msgstr ""
-
-#: doc/classes/Light3D.xml:101
+#: doc/classes/Light3D.xml:115
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_max_distance]."
msgstr ""
-#: doc/classes/Light3D.xml:104
+#: doc/classes/Light3D.xml:118
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_split_1]."
msgstr ""
-#: doc/classes/Light3D.xml:107
+#: doc/classes/Light3D.xml:121
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_split_2]."
msgstr ""
-#: doc/classes/Light3D.xml:110
+#: doc/classes/Light3D.xml:124
msgid ""
"Constant for accessing [member DirectionalLight3D."
"directional_shadow_split_3]."
msgstr ""
-#: doc/classes/Light3D.xml:115
+#: doc/classes/Light3D.xml:127
msgid ""
"Constant for accessing [member DirectionalLight3D."
-"directional_shadow_normal_bias]."
+"directional_shadow_fade_start]."
msgstr ""
-#: doc/classes/Light3D.xml:118
+#: doc/classes/Light3D.xml:130
+msgid "Constant for accessing [member shadow_normal_bias]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:133
msgid "Constant for accessing [member shadow_bias]."
msgstr ""
-#: doc/classes/Light3D.xml:121
+#: doc/classes/Light3D.xml:136
msgid ""
"Constant for accessing [member DirectionalLight3D."
-"directional_shadow_bias_split_scale]."
+"directional_shadow_pancake_size]."
msgstr ""
-#: doc/classes/Light3D.xml:127
+#: doc/classes/Light3D.xml:139
+msgid "Constant for accessing [member shadow_blur]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:142
+msgid "Constant for accessing [member shadow_transmittance_bias]."
+msgstr ""
+
+#: doc/classes/Light3D.xml:148
msgid ""
"Light is ignored when baking.\n"
"[b]Note:[/b] Hiding a light does [i]not[/i] affect baking."
msgstr ""
-#: doc/classes/Light3D.xml:131
+#: doc/classes/Light3D.xml:152
msgid "Only indirect lighting will be baked (default)."
msgstr ""
-#: doc/classes/Light3D.xml:134
+#: doc/classes/Light3D.xml:155
msgid ""
"Both direct and indirect light will be baked.\n"
"[b]Note:[/b] You should hide the light if you don't want it to appear twice "
@@ -27581,32 +27453,40 @@ msgstr ""
msgid ""
"LineEdit provides a single-line string editor, used for text fields.\n"
"It features many built-in shortcuts which will always be available "
-"([code]Ctrl[/code] here maps to [code]Command[/code] on macOS):\n"
-"- Ctrl + C: Copy\n"
-"- Ctrl + X: Cut\n"
-"- Ctrl + V or Ctrl + Y: Paste/\"yank\"\n"
-"- Ctrl + Z: Undo\n"
-"- Ctrl + Shift + Z: Redo\n"
-"- Ctrl + U: Delete text from the cursor position to the beginning of the "
-"line\n"
-"- Ctrl + K: Delete text from the cursor position to the end of the line\n"
-"- Ctrl + A: Select all text\n"
-"- Up/Down arrow: Move the cursor to the beginning/end of the line\n"
-"On macOS, some extra keyboard shortcuts are available:\n"
-"- Ctrl + F: Like the right arrow key, move the cursor one character right\n"
-"- Ctrl + B: Like the left arrow key, move the cursor one character left\n"
-"- Ctrl + P: Like the up arrow key, move the cursor to the previous line\n"
-"- Ctrl + N: Like the down arrow key, move the cursor to the next line\n"
-"- Ctrl + D: Like the Delete key, delete the character on the right side of "
-"cursor\n"
-"- Ctrl + H: Like the Backspace key, delete the character on the left side of "
-"the cursor\n"
-"- Ctrl + A: Like the Home key, move the cursor to the beginning of the line\n"
-"- Ctrl + E: Like the End key, move the cursor to the end of the line\n"
-"- Command + Left arrow: Like the Home key, move the cursor to the beginning "
+"([kbd]Ctrl[/kbd] here maps to [kbd]Cmd[/kbd] on macOS):\n"
+"- [kbd]Ctrl + C[/kbd]: Copy\n"
+"- [kbd]Ctrl + X[/kbd]: Cut\n"
+"- [kbd]Ctrl + V[/kbd] or [kbd]Ctrl + Y[/kbd]: Paste/\"yank\"\n"
+"- [kbd]Ctrl + Z[/kbd]: Undo\n"
+"- [kbd]Ctrl + Shift + Z[/kbd]: Redo\n"
+"- [kbd]Ctrl + U[/kbd]: Delete text from the cursor position to the beginning "
"of the line\n"
-"- Command + Right arrow: Like the End key, move the cursor to the end of the "
-"line"
+"- [kbd]Ctrl + K[/kbd]: Delete text from the cursor position to the end of "
+"the line\n"
+"- [kbd]Ctrl + A[/kbd]: Select all text\n"
+"- [kbd]Up Arrow[/kbd]/[kbd]Down Arrow[/kbd]: Move the cursor to the "
+"beginning/end of the line\n"
+"On macOS, some extra keyboard shortcuts are available:\n"
+"- [kbd]Ctrl + F[/kbd]: Same as [kbd]Right Arrow[/kbd], move the cursor one "
+"character right\n"
+"- [kbd]Ctrl + B[/kbd]: Same as [kbd]Left Arrow[/kbd], move the cursor one "
+"character left\n"
+"- [kbd]Ctrl + P[/kbd]: Same as [kbd]Up Arrow[/kbd], move the cursor to the "
+"previous line\n"
+"- [kbd]Ctrl + N[/kbd]: Same as [kbd]Down Arrow[/kbd], move the cursor to the "
+"next line\n"
+"- [kbd]Ctrl + D[/kbd]: Same as [kbd]Delete[/kbd], delete the character on "
+"the right side of cursor\n"
+"- [kbd]Ctrl + H[/kbd]: Same as [kbd]Backspace[/kbd], delete the character on "
+"the left side of the cursor\n"
+"- [kbd]Ctrl + A[/kbd]: Same as [kbd]Home[/kbd], move the cursor to the "
+"beginning of the line\n"
+"- [kbd]Ctrl + E[/kbd]: Same as [kbd]End[/kbd], move the cursor to the end of "
+"the line\n"
+"- [kbd]Cmd + Left Arrow[/kbd]: Same as [kbd]Home[/kbd], move the cursor to "
+"the beginning of the line\n"
+"- [kbd]Cmd + Right Arrow[/kbd]: Same as [kbd]End[/kbd], move the cursor to "
+"the end of the line"
msgstr ""
#: doc/classes/LineEdit.xml:39
@@ -27751,7 +27631,7 @@ msgid ""
"max_length]."
msgstr ""
-#: doc/classes/LineEdit.xml:163 doc/classes/TextEdit.xml:513
+#: doc/classes/LineEdit.xml:163 doc/classes/TextEdit.xml:514
msgid "Emitted when the text changes."
msgstr ""
@@ -27775,11 +27655,11 @@ msgstr ""
msgid "Stretches whitespaces to fit the [LineEdit]'s width."
msgstr ""
-#: doc/classes/LineEdit.xml:188 doc/classes/TextEdit.xml:534
+#: doc/classes/LineEdit.xml:188 doc/classes/TextEdit.xml:535
msgid "Cuts (copies and clears) the selected text."
msgstr ""
-#: doc/classes/LineEdit.xml:191 doc/classes/TextEdit.xml:537
+#: doc/classes/LineEdit.xml:191 doc/classes/TextEdit.xml:538
msgid "Copies the selected text."
msgstr ""
@@ -27799,7 +27679,7 @@ msgstr ""
msgid "Selects the whole [LineEdit] text."
msgstr ""
-#: doc/classes/LineEdit.xml:204 doc/classes/TextEdit.xml:549
+#: doc/classes/LineEdit.xml:204 doc/classes/TextEdit.xml:550
msgid "Undoes the previous action."
msgstr ""
@@ -27807,7 +27687,7 @@ msgstr ""
msgid "Reverse the last undo action."
msgstr ""
-#: doc/classes/LineEdit.xml:210 doc/classes/TextEdit.xml:555
+#: doc/classes/LineEdit.xml:210 doc/classes/TextEdit.xml:556
msgid "Represents the size of the [enum MenuItems] enum."
msgstr ""
@@ -28437,11 +28317,11 @@ msgstr ""
msgid "Render array as triangle strips."
msgstr ""
-#: doc/classes/Mesh.xml:126 doc/classes/RenderingServer.xml:3254
+#: doc/classes/Mesh.xml:126 doc/classes/RenderingServer.xml:3306
msgid "Blend shapes are normalized."
msgstr ""
-#: doc/classes/Mesh.xml:129 doc/classes/RenderingServer.xml:3257
+#: doc/classes/Mesh.xml:129 doc/classes/RenderingServer.xml:3309
msgid "Blend shapes are relative to base weight."
msgstr ""
@@ -28483,37 +28363,37 @@ msgstr ""
msgid "Mesh array uses indices."
msgstr ""
-#: doc/classes/Mesh.xml:159 doc/classes/RenderingServer.xml:3210
+#: doc/classes/Mesh.xml:159 doc/classes/RenderingServer.xml:3262
msgid "Flag used to mark a compressed (half float) normal array."
msgstr ""
-#: doc/classes/Mesh.xml:162 doc/classes/RenderingServer.xml:3213
+#: doc/classes/Mesh.xml:162 doc/classes/RenderingServer.xml:3265
msgid "Flag used to mark a compressed (half float) tangent array."
msgstr ""
-#: doc/classes/Mesh.xml:165 doc/classes/RenderingServer.xml:3216
+#: doc/classes/Mesh.xml:165 doc/classes/RenderingServer.xml:3268
msgid "Flag used to mark a compressed (half float) color array."
msgstr ""
-#: doc/classes/Mesh.xml:168 doc/classes/RenderingServer.xml:3219
+#: doc/classes/Mesh.xml:168 doc/classes/RenderingServer.xml:3271
msgid "Flag used to mark a compressed (half float) UV coordinates array."
msgstr ""
-#: doc/classes/Mesh.xml:171 doc/classes/RenderingServer.xml:3222
+#: doc/classes/Mesh.xml:171 doc/classes/RenderingServer.xml:3274
msgid ""
"Flag used to mark a compressed (half float) UV coordinates array for the "
"second UV coordinates."
msgstr ""
-#: doc/classes/Mesh.xml:174 doc/classes/RenderingServer.xml:3225
+#: doc/classes/Mesh.xml:174 doc/classes/RenderingServer.xml:3277
msgid "Flag used to mark a compressed index array."
msgstr ""
-#: doc/classes/Mesh.xml:177 doc/classes/RenderingServer.xml:3228
+#: doc/classes/Mesh.xml:177 doc/classes/RenderingServer.xml:3283
msgid "Flag used to mark that the array contains 2D vertices."
msgstr ""
-#: doc/classes/Mesh.xml:180 doc/classes/RenderingServer.xml:3233
+#: doc/classes/Mesh.xml:180 doc/classes/RenderingServer.xml:3280
msgid ""
"Used to set flags [constant ARRAY_COMPRESS_NORMAL], [constant "
"ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant "
@@ -28578,67 +28458,72 @@ msgid ""
" mdt.set_vertex(i, vertex)\n"
"mesh.surface_remove(0)\n"
"mdt.commit_to_surface(mesh)\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"See also [ArrayMesh], [ImmediateGeometry3D] and [SurfaceTool] for procedural "
+"geometry generation.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/MeshDataTool.xml:28
+#: doc/classes/MeshDataTool.xml:30
msgid "Clears all data currently in MeshDataTool."
msgstr ""
-#: doc/classes/MeshDataTool.xml:37
+#: doc/classes/MeshDataTool.xml:39
msgid "Adds a new surface to specified [Mesh] with edited data."
msgstr ""
-#: doc/classes/MeshDataTool.xml:48
+#: doc/classes/MeshDataTool.xml:50
msgid ""
"Uses specified surface of given [Mesh] to populate data for MeshDataTool.\n"
"Requires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:56
+#: doc/classes/MeshDataTool.xml:58
msgid "Returns the number of edges in this [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:65
+#: doc/classes/MeshDataTool.xml:67
msgid "Returns array of faces that touch given edge."
msgstr ""
-#: doc/classes/MeshDataTool.xml:74
+#: doc/classes/MeshDataTool.xml:76
msgid "Returns meta information assigned to given edge."
msgstr ""
-#: doc/classes/MeshDataTool.xml:85
+#: doc/classes/MeshDataTool.xml:87
msgid ""
"Returns index of specified vertex connected to given edge.\n"
"Vertex argument can only be 0 or 1 because edges are comprised of two "
"vertices."
msgstr ""
-#: doc/classes/MeshDataTool.xml:93
+#: doc/classes/MeshDataTool.xml:95
msgid "Returns the number of faces in this [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:104
+#: doc/classes/MeshDataTool.xml:106
msgid ""
"Returns specified edge associated with given face.\n"
"Edge argument must 2 or less because a face only has three edges."
msgstr ""
-#: doc/classes/MeshDataTool.xml:114
+#: doc/classes/MeshDataTool.xml:116
msgid "Returns the metadata associated with the given face."
msgstr ""
-#: doc/classes/MeshDataTool.xml:123
+#: doc/classes/MeshDataTool.xml:125
msgid "Calculates and returns the face normal of the given face."
msgstr ""
-#: doc/classes/MeshDataTool.xml:134
+#: doc/classes/MeshDataTool.xml:136
msgid ""
"Returns the specified vertex of the given face.\n"
"Vertex argument must be 2 or less because faces contain three vertices."
msgstr ""
-#: doc/classes/MeshDataTool.xml:142
+#: doc/classes/MeshDataTool.xml:144
msgid ""
"Returns the [Mesh]'s format. Format is an integer made up of [Mesh] format "
"flags combined together. For example, a mesh containing both vertices and "
@@ -28648,103 +28533,103 @@ msgid ""
"See [enum ArrayMesh.ArrayFormat] for a list of format flags."
msgstr ""
-#: doc/classes/MeshDataTool.xml:150
+#: doc/classes/MeshDataTool.xml:152
msgid "Returns the material assigned to the [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:159
+#: doc/classes/MeshDataTool.xml:161
msgid "Returns the vertex at given index."
msgstr ""
-#: doc/classes/MeshDataTool.xml:168
+#: doc/classes/MeshDataTool.xml:170
msgid "Returns the bones of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:177
+#: doc/classes/MeshDataTool.xml:179
msgid "Returns the color of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:184
+#: doc/classes/MeshDataTool.xml:186
msgid "Returns the total number of vertices in [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:193
+#: doc/classes/MeshDataTool.xml:195
msgid "Returns an array of edges that share the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:202
+#: doc/classes/MeshDataTool.xml:204
msgid "Returns an array of faces that share the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:211
+#: doc/classes/MeshDataTool.xml:213
msgid "Returns the metadata associated with the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:220
+#: doc/classes/MeshDataTool.xml:222
msgid "Returns the normal of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:229
+#: doc/classes/MeshDataTool.xml:231
msgid "Returns the tangent of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:238
+#: doc/classes/MeshDataTool.xml:240
msgid "Returns the UV of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:247
+#: doc/classes/MeshDataTool.xml:249
msgid "Returns the UV2 of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:256
+#: doc/classes/MeshDataTool.xml:258
msgid "Returns bone weights of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:267
+#: doc/classes/MeshDataTool.xml:269
msgid "Sets the metadata of the given edge."
msgstr ""
-#: doc/classes/MeshDataTool.xml:278
+#: doc/classes/MeshDataTool.xml:280
msgid "Sets the metadata of the given face."
msgstr ""
-#: doc/classes/MeshDataTool.xml:287
+#: doc/classes/MeshDataTool.xml:289
msgid "Sets the material to be used by newly-constructed [Mesh]."
msgstr ""
-#: doc/classes/MeshDataTool.xml:298
+#: doc/classes/MeshDataTool.xml:300
msgid "Sets the position of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:309
+#: doc/classes/MeshDataTool.xml:311
msgid "Sets the bones of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:320
+#: doc/classes/MeshDataTool.xml:322
msgid "Sets the color of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:331
+#: doc/classes/MeshDataTool.xml:333
msgid "Sets the metadata associated with the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:342
+#: doc/classes/MeshDataTool.xml:344
msgid "Sets the normal of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:353
+#: doc/classes/MeshDataTool.xml:355
msgid "Sets the tangent of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:364
+#: doc/classes/MeshDataTool.xml:366
msgid "Sets the UV of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:375
+#: doc/classes/MeshDataTool.xml:377
msgid "Sets the UV2 of the given vertex."
msgstr ""
-#: doc/classes/MeshDataTool.xml:386
+#: doc/classes/MeshDataTool.xml:388
msgid "Sets the bone weights of the given vertex."
msgstr ""
@@ -28990,9 +28875,9 @@ msgid ""
"setting [member eye_height].\n"
"You can initialise this interface as follows:\n"
"[codeblock]\n"
-"var interface = ARVRServer.find_interface(\"Native mobile\")\n"
+"var interface = XRServer.find_interface(\"Native mobile\")\n"
"if interface and interface.initialize():\n"
-" get_viewport().arvr = true\n"
+" get_viewport().xr = true\n"
"[/codeblock]"
msgstr ""
@@ -29009,7 +28894,7 @@ msgstr ""
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml:28
msgid ""
"The height at which the camera is placed in relation to the ground (i.e. "
-"[ARVROrigin] node)."
+"[XROrigin3D] node)."
msgstr ""
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml:31
@@ -31489,7 +31374,7 @@ msgstr ""
#: doc/classes/Node.xml:935
msgid ""
"Notification received from the OS when a close request is sent (e.g. closing "
-"the window with a \"Close\" button or Alt+F4).\n"
+"the window with a \"Close\" button or [kbd]Alt + F4[/kbd]).\n"
"Implemented on desktop platforms."
msgstr ""
@@ -31591,11 +31476,21 @@ msgid ""
msgstr ""
#: doc/classes/Node2D.xml:95
-msgid "Converts a local point's coordinates to global coordinates."
+msgid ""
+"Transforms the provided local position into a position in global coordinate "
+"space. The input is expected to be local relative to the [Node2D] it is "
+"called on. e.g. Applying this method to the positions of child nodes will "
+"correctly transform their positions into the global coordinate space, but "
+"applying it to a node's own position will give an incorrect result, as it "
+"will incorporate the node's own transformation into its global position."
msgstr ""
#: doc/classes/Node2D.xml:104
-msgid "Converts a global point's coordinates to local coordinates."
+msgid ""
+"Transforms the provided global position into a position in local coordinate "
+"space. The output will be local relative to the [Node2D] it is called on. e."
+"g. It is appropriate for determining the positions of child nodes, but it is "
+"not appropriate for determining its own position relative to its parent."
msgstr ""
#: doc/classes/Node2D.xml:113
@@ -31670,80 +31565,83 @@ msgid ""
"operations in this coordinate system correspond to direct affine operations "
"on the [Node3D]'s transform. The word local below refers to this coordinate "
"system. The coordinate system that is attached to the [Node3D] object itself "
-"is referred to as object-local coordinate system."
+"is referred to as object-local coordinate system.\n"
+"[b]Note:[/b] Unless otherwise specified, all methods that have angle "
+"parameters must have angles specified as [i]radians[/i]. To convert degrees "
+"to radians, use [method @GDScript.deg2rad]."
msgstr ""
-#: doc/classes/Node3D.xml:11
+#: doc/classes/Node3D.xml:12
msgid ""
"https://docs.godotengine.org/en/latest/tutorials/3d/introduction_to_3d.html"
msgstr ""
-#: doc/classes/Node3D.xml:25
+#: doc/classes/Node3D.xml:26
msgid ""
"Returns the parent [Node3D], or an empty [Object] if no parent exists or "
"parent is not of type [Node3D]."
msgstr ""
-#: doc/classes/Node3D.xml:32
+#: doc/classes/Node3D.xml:33
msgid ""
"Returns the current [World3D] resource this [Node3D] node is registered to."
msgstr ""
-#: doc/classes/Node3D.xml:43
+#: doc/classes/Node3D.xml:44
msgid ""
"Rotates the global (world) transformation around axis, a unit [Vector3], by "
"specified angle in radians. The rotation axis is in global coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:52
+#: doc/classes/Node3D.xml:53
msgid ""
"Scales the global (world) transformation by the given [Vector3] scale "
"factors."
msgstr ""
-#: doc/classes/Node3D.xml:61
+#: doc/classes/Node3D.xml:62
msgid ""
"Moves the global (world) transformation by [Vector3] offset. The offset is "
"in global coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:68
+#: doc/classes/Node3D.xml:69
msgid ""
"Disables rendering of this node. Changes [member visible] to [code]false[/"
"code]."
msgstr ""
-#: doc/classes/Node3D.xml:75
+#: doc/classes/Node3D.xml:76
msgid ""
"Returns whether node notifies about its local transformation changes. "
"[Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:82
+#: doc/classes/Node3D.xml:83
msgid ""
"Returns whether this node uses a scale of [code](1, 1, 1)[/code] or its "
"local transformation scale."
msgstr ""
-#: doc/classes/Node3D.xml:89
+#: doc/classes/Node3D.xml:90
msgid ""
"Returns whether this node is set as Toplevel, that is whether it ignores its "
"parent nodes transformations."
msgstr ""
-#: doc/classes/Node3D.xml:96
+#: doc/classes/Node3D.xml:97
msgid ""
"Returns whether the node notifies about its global and local transformation "
"changes. [Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:103
+#: doc/classes/Node3D.xml:104
msgid ""
"Returns whether the node is visible, taking into consideration that its "
"parents visibility."
msgstr ""
-#: doc/classes/Node3D.xml:114
+#: doc/classes/Node3D.xml:115
msgid ""
"Rotates itself so that the local -Z axis points towards the [code]target[/"
"code] position.\n"
@@ -31753,106 +31651,106 @@ msgid ""
"Operations take place in global space."
msgstr ""
-#: doc/classes/Node3D.xml:129
+#: doc/classes/Node3D.xml:130
msgid ""
"Moves the node to the specified [code]position[/code], and then rotates "
"itself to point toward the [code]target[/code] as per [method look_at]. "
"Operations take place in global space."
msgstr ""
-#: doc/classes/Node3D.xml:136
+#: doc/classes/Node3D.xml:137
msgid ""
"Resets this node's transformations (like scale, skew and taper) preserving "
"its rotation and translation by performing Gram-Schmidt orthonormalization "
"on this node's [Transform]."
msgstr ""
-#: doc/classes/Node3D.xml:147
+#: doc/classes/Node3D.xml:148
msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:158
+#: doc/classes/Node3D.xml:159
msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians. The rotation axis is in object-local coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:167
+#: doc/classes/Node3D.xml:168
msgid "Rotates the local transformation around the X axis by angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:176
+#: doc/classes/Node3D.xml:177
msgid "Rotates the local transformation around the Y axis by angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:185
+#: doc/classes/Node3D.xml:186
msgid "Rotates the local transformation around the Z axis by angle in radians."
msgstr ""
-#: doc/classes/Node3D.xml:194
+#: doc/classes/Node3D.xml:195
msgid ""
"Scales the local transformation by given 3D scale factors in object-local "
"coordinate system."
msgstr ""
-#: doc/classes/Node3D.xml:203
+#: doc/classes/Node3D.xml:204
msgid ""
"Makes the node ignore its parents transformations. Node transformations are "
"only in global space."
msgstr ""
-#: doc/classes/Node3D.xml:212
+#: doc/classes/Node3D.xml:213
msgid ""
"Sets whether the node uses a scale of [code](1, 1, 1)[/code] or its local "
"transformation scale. Changes to the local transformation scale are "
"preserved."
msgstr ""
-#: doc/classes/Node3D.xml:219
+#: doc/classes/Node3D.xml:220
msgid ""
"Reset all transformations for this node (sets its [Transform] to the "
"identity matrix)."
msgstr ""
-#: doc/classes/Node3D.xml:228
+#: doc/classes/Node3D.xml:229
msgid ""
"Sets whether the node ignores notification that its transformation (global "
"or local) changed."
msgstr ""
-#: doc/classes/Node3D.xml:237
+#: doc/classes/Node3D.xml:238
msgid ""
"Sets whether the node notifies about its local transformation changes. "
"[Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:246
+#: doc/classes/Node3D.xml:247
msgid ""
"Sets whether the node notifies about its global and local transformation "
"changes. [Node3D] will not propagate this by default."
msgstr ""
-#: doc/classes/Node3D.xml:253
+#: doc/classes/Node3D.xml:254
msgid ""
"Enables rendering of this node. Changes [member visible] to [code]true[/"
"code]."
msgstr ""
-#: doc/classes/Node3D.xml:262
+#: doc/classes/Node3D.xml:263
msgid ""
"Transforms [code]local_point[/code] from this node's local space to world "
"space."
msgstr ""
-#: doc/classes/Node3D.xml:271
+#: doc/classes/Node3D.xml:272
msgid ""
"Transforms [code]global_point[/code] from world space to this node's local "
"space."
msgstr ""
-#: doc/classes/Node3D.xml:280
+#: doc/classes/Node3D.xml:281
msgid ""
"Changes the node's position by the given offset [Vector3].\n"
"Note that the translation [code]offset[/code] is affected by the node's "
@@ -31861,26 +31759,26 @@ msgid ""
"to the X coordinate."
msgstr ""
-#: doc/classes/Node3D.xml:290
+#: doc/classes/Node3D.xml:291
msgid ""
"Changes the node's position by the given offset [Vector3] in local space."
msgstr ""
-#: doc/classes/Node3D.xml:297
+#: doc/classes/Node3D.xml:298
msgid "Updates the [Node3DGizmo] of this node."
msgstr ""
-#: doc/classes/Node3D.xml:303
+#: doc/classes/Node3D.xml:304
msgid ""
"The [Node3DGizmo] for this node. Used for example in [EditorNode3DGizmo] as "
"custom visualization and editing handles in Editor."
msgstr ""
-#: doc/classes/Node3D.xml:306
+#: doc/classes/Node3D.xml:307
msgid "World3D space (global) [Transform] of this node."
msgstr ""
-#: doc/classes/Node3D.xml:309
+#: doc/classes/Node3D.xml:310
msgid ""
"Rotation part of the local transformation in radians, specified in terms of "
"YXZ-Euler angles in the format (X angle, Y angle, Z angle).\n"
@@ -31893,33 +31791,33 @@ msgid ""
"\" is not meaningful."
msgstr ""
-#: doc/classes/Node3D.xml:313
+#: doc/classes/Node3D.xml:314
msgid ""
"Rotation part of the local transformation in degrees, specified in terms of "
"YXZ-Euler angles in the format (X angle, Y angle, Z angle)."
msgstr ""
-#: doc/classes/Node3D.xml:316
+#: doc/classes/Node3D.xml:317
msgid "Scale part of the local transformation."
msgstr ""
-#: doc/classes/Node3D.xml:319
+#: doc/classes/Node3D.xml:320
msgid "Local space [Transform] of this node, with respect to the parent node."
msgstr ""
-#: doc/classes/Node3D.xml:322
+#: doc/classes/Node3D.xml:323
msgid "Local translation of this node."
msgstr ""
-#: doc/classes/Node3D.xml:325
+#: doc/classes/Node3D.xml:326
msgid "If [code]true[/code], this node is drawn."
msgstr ""
-#: doc/classes/Node3D.xml:331
+#: doc/classes/Node3D.xml:332
msgid "Emitted when node visibility changes."
msgstr ""
-#: doc/classes/Node3D.xml:337
+#: doc/classes/Node3D.xml:338
msgid ""
"Node3D nodes receives this notification when their global transform changes. "
"This means that either the current or a parent node changed its transform.\n"
@@ -31927,19 +31825,19 @@ msgid ""
"need to ask for it, with [method set_notify_transform]."
msgstr ""
-#: doc/classes/Node3D.xml:341
+#: doc/classes/Node3D.xml:342
msgid ""
"Node3D nodes receives this notification when they are registered to new "
"[World3D] resource."
msgstr ""
-#: doc/classes/Node3D.xml:344
+#: doc/classes/Node3D.xml:345
msgid ""
"Node3D nodes receives this notification when they are unregistered from "
"current [World3D] resource."
msgstr ""
-#: doc/classes/Node3D.xml:347
+#: doc/classes/Node3D.xml:348
msgid "Node3D nodes receives this notification when their visibility changes."
msgstr ""
@@ -33315,11 +33213,13 @@ msgid ""
"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
"that can be added.\n"
+"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
+"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
"and Windows."
msgstr ""
-#: doc/classes/OS.xml:493
+#: doc/classes/OS.xml:494
msgid ""
"The exit code passed to the OS when the main loop exits. By convention, an "
"exit code of [code]0[/code] indicates success whereas a non-zero exit code "
@@ -33329,133 +33229,133 @@ msgid ""
"with an [code]exit_code[/code] argument passed."
msgstr ""
-#: doc/classes/OS.xml:497
+#: doc/classes/OS.xml:498
msgid ""
"If [code]true[/code], the engine optimizes for low processor usage by only "
"refreshing the screen if needed. Can improve battery consumption on mobile."
msgstr ""
-#: doc/classes/OS.xml:500
+#: doc/classes/OS.xml:501
msgid ""
"The amount of sleeping between frames when the low-processor usage mode is "
"enabled (in microseconds). Higher values will result in lower CPU usage."
msgstr ""
-#: doc/classes/OS.xml:505
+#: doc/classes/OS.xml:506
msgid ""
"The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL "
"2.1 on desktop platforms and WebGL 1.0 on the web."
msgstr ""
-#: doc/classes/OS.xml:508
+#: doc/classes/OS.xml:509
msgid "The Vulkan rendering backend."
msgstr ""
-#: doc/classes/OS.xml:511
+#: doc/classes/OS.xml:512
msgid "Sunday."
msgstr ""
-#: doc/classes/OS.xml:514
+#: doc/classes/OS.xml:515
msgid "Monday."
msgstr ""
-#: doc/classes/OS.xml:517
+#: doc/classes/OS.xml:518
msgid "Tuesday."
msgstr ""
-#: doc/classes/OS.xml:520
+#: doc/classes/OS.xml:521
msgid "Wednesday."
msgstr ""
-#: doc/classes/OS.xml:523
+#: doc/classes/OS.xml:524
msgid "Thursday."
msgstr ""
-#: doc/classes/OS.xml:526
+#: doc/classes/OS.xml:527
msgid "Friday."
msgstr ""
-#: doc/classes/OS.xml:529
+#: doc/classes/OS.xml:530
msgid "Saturday."
msgstr ""
-#: doc/classes/OS.xml:532
+#: doc/classes/OS.xml:533
msgid "January."
msgstr ""
-#: doc/classes/OS.xml:535
+#: doc/classes/OS.xml:536
msgid "February."
msgstr ""
-#: doc/classes/OS.xml:538
+#: doc/classes/OS.xml:539
msgid "March."
msgstr ""
-#: doc/classes/OS.xml:541
+#: doc/classes/OS.xml:542
msgid "April."
msgstr ""
-#: doc/classes/OS.xml:544
+#: doc/classes/OS.xml:545
msgid "May."
msgstr ""
-#: doc/classes/OS.xml:547
+#: doc/classes/OS.xml:548
msgid "June."
msgstr ""
-#: doc/classes/OS.xml:550
+#: doc/classes/OS.xml:551
msgid "July."
msgstr ""
-#: doc/classes/OS.xml:553
+#: doc/classes/OS.xml:554
msgid "August."
msgstr ""
-#: doc/classes/OS.xml:556
+#: doc/classes/OS.xml:557
msgid "September."
msgstr ""
-#: doc/classes/OS.xml:559
+#: doc/classes/OS.xml:560
msgid "October."
msgstr ""
-#: doc/classes/OS.xml:562
+#: doc/classes/OS.xml:563
msgid "November."
msgstr ""
-#: doc/classes/OS.xml:565
+#: doc/classes/OS.xml:566
msgid "December."
msgstr ""
-#: doc/classes/OS.xml:568
+#: doc/classes/OS.xml:569
msgid "Desktop directory path."
msgstr ""
-#: doc/classes/OS.xml:571
+#: doc/classes/OS.xml:572
msgid "DCIM (Digital Camera Images) directory path."
msgstr ""
-#: doc/classes/OS.xml:574
+#: doc/classes/OS.xml:575
msgid "Documents directory path."
msgstr ""
-#: doc/classes/OS.xml:577
+#: doc/classes/OS.xml:578
msgid "Downloads directory path."
msgstr ""
-#: doc/classes/OS.xml:580
+#: doc/classes/OS.xml:581
msgid "Movies directory path."
msgstr ""
-#: doc/classes/OS.xml:583
+#: doc/classes/OS.xml:584
msgid "Music directory path."
msgstr ""
-#: doc/classes/OS.xml:586
+#: doc/classes/OS.xml:587
msgid "Pictures directory path."
msgstr ""
-#: doc/classes/OS.xml:589
+#: doc/classes/OS.xml:590
msgid "Ringtones directory path."
msgstr ""
@@ -33727,49 +33627,52 @@ msgid ""
"code] is owned by [code]node[/code] and [code]pack[/code] will therefore "
"only save those two nodes, but not [code]collision[/code].\n"
"[codeblock]\n"
-"# Create the objects\n"
+"# Create the objects.\n"
"var node = Node2D.new()\n"
"var rigid = RigidBody2D.new()\n"
"var collision = CollisionShape2D.new()\n"
"\n"
-"# Create the object hierarchy\n"
+"# Create the object hierarchy.\n"
"rigid.add_child(collision)\n"
"node.add_child(rigid)\n"
"\n"
-"# Change owner of rigid, but not of collision\n"
+"# Change owner of `rigid`, but not of `collision`.\n"
"rigid.owner = node\n"
"\n"
"var scene = PackedScene.new()\n"
-"# Only node and rigid are now packed\n"
+"# Only `node` and `rigid` are now packed.\n"
"var result = scene.pack(node)\n"
"if result == OK:\n"
-" ResourceSaver.save(\"res://path/name.scn\", scene) # Or \"user://...\"\n"
+" var error = ResourceSaver.save(\"res://path/name.scn\", scene) # Or "
+"\"user://...\"\n"
+" if error != OK:\n"
+" push_error(\"An error occurred while saving the scene to disk.\")\n"
"[/codeblock]"
msgstr ""
-#: doc/classes/PackedScene.xml:38
+#: doc/classes/PackedScene.xml:40
msgid "Returns [code]true[/code] if the scene file has nodes."
msgstr ""
-#: doc/classes/PackedScene.xml:45
+#: doc/classes/PackedScene.xml:47
msgid ""
"Returns the [code]SceneState[/code] representing the scene file contents."
msgstr ""
-#: doc/classes/PackedScene.xml:54
+#: doc/classes/PackedScene.xml:56
msgid ""
"Instantiates the scene's node hierarchy. Triggers child scene "
"instantiation(s). Triggers a [constant Node.NOTIFICATION_INSTANCED] "
"notification on the root node."
msgstr ""
-#: doc/classes/PackedScene.xml:63
+#: doc/classes/PackedScene.xml:65
msgid ""
"Pack will ignore any sub-nodes not owned by given node. See [member Node."
"owner]."
msgstr ""
-#: doc/classes/PackedScene.xml:69
+#: doc/classes/PackedScene.xml:71
msgid ""
"A dictionary representation of the scene contents.\n"
"Available keys include \"rnames\" and \"variants\" for resources, "
@@ -33778,18 +33681,18 @@ msgid ""
"connections, and \"version\" for the format style of the PackedScene."
msgstr ""
-#: doc/classes/PackedScene.xml:75
+#: doc/classes/PackedScene.xml:77
msgid "If passed to [method instance], blocks edits to the scene state."
msgstr ""
-#: doc/classes/PackedScene.xml:78
+#: doc/classes/PackedScene.xml:80
msgid ""
"If passed to [method instance], provides local scene resources to the local "
"scene.\n"
"[b]Note:[/b] Only available in editor builds."
msgstr ""
-#: doc/classes/PackedScene.xml:82
+#: doc/classes/PackedScene.xml:84
msgid ""
"If passed to [method instance], provides local scene resources to the local "
"scene. Only the main scene should receive the main edit state.\n"
@@ -34857,20 +34760,20 @@ msgstr ""
msgid "Draw calls per frame. 3D only."
msgstr ""
-#: doc/classes/Performance.xml:77 doc/classes/RenderingServer.xml:3711
+#: doc/classes/Performance.xml:77 doc/classes/RenderingServer.xml:3922
msgid ""
"The amount of video memory used, i.e. texture and vertex memory combined."
msgstr ""
-#: doc/classes/Performance.xml:80 doc/classes/RenderingServer.xml:3714
+#: doc/classes/Performance.xml:80 doc/classes/RenderingServer.xml:3925
msgid "The amount of texture memory used."
msgstr ""
-#: doc/classes/Performance.xml:83 doc/classes/RenderingServer.xml:3717
+#: doc/classes/Performance.xml:83 doc/classes/RenderingServer.xml:3928
msgid "The amount of vertex memory used."
msgstr ""
-#: doc/classes/Performance.xml:86 doc/classes/RenderingServer.xml:3708
+#: doc/classes/Performance.xml:86 doc/classes/RenderingServer.xml:3919
msgid "Unimplemented in the GLES2 rendering backend, always returns 0."
msgstr ""
@@ -34922,6 +34825,96 @@ msgid ""
"resource."
msgstr ""
+#: doc/classes/PhysicalBone3D.xml:67
+msgid "Damps the body's rotation if greater than [code]0[/code]."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:70 doc/classes/RigidBody3D.xml:132
+msgid "Lock the body's rotation in the X axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:73 doc/classes/RigidBody3D.xml:135
+msgid "Lock the body's rotation in the Y axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:76 doc/classes/RigidBody3D.xml:138
+msgid "Lock the body's rotation in the Z axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:79 doc/classes/RigidBody3D.xml:141
+msgid "Lock the body's movement in the X axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:82 doc/classes/RigidBody3D.xml:144
+msgid "Lock the body's movement in the Y axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:85 doc/classes/RigidBody3D.xml:147
+msgid "Lock the body's movement in the Z axis."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:88
+msgid "Sets the body's transform."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:91 doc/classes/PhysicsMaterial.xml:17
+msgid ""
+"The body's bounciness. Values range from [code]0[/code] (no bounce) to "
+"[code]1[/code] (full bounciness)."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:94 doc/classes/RigidBody3D.xml:150
+msgid ""
+"If [code]true[/code], the body is deactivated when there is no movement, so "
+"it will not take part in the simulation until it is awaken by an external "
+"force."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:97
+msgid ""
+"The body's friction, from [code]0[/code] (frictionless) to [code]1[/code] "
+"(max friction)."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:100
+msgid ""
+"This is multiplied by the global 3D gravity setting found in [b]Project > "
+"Project Settings > Physics > 3d[/b] to produce the body's gravity. For "
+"example, a value of 1 will be normal gravity, 2 will apply double gravity, "
+"and 0.5 will apply half gravity to this object."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:103
+msgid "Sets the joint's transform."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:106
+msgid "Sets the joint's rotation in radians."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:109
+msgid "Sets the joint's rotation in degrees."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:112
+msgid "Sets the joint type. See [enum JointType] for possible values."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:115
+msgid "Damps the body's movement if greater than [code]0[/code]."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:118 doc/classes/RigidBody2D.xml:158
+#: doc/classes/RigidBody3D.xml:175
+msgid "The body's mass."
+msgstr ""
+
+#: doc/classes/PhysicalBone3D.xml:121 doc/classes/RigidBody3D.xml:188
+msgid ""
+"The body's weight based on its mass and the global 3D gravity. Global values "
+"are set in [b]Project > Project Settings > Physics > 3d[/b]."
+msgstr ""
+
#: doc/classes/PhysicalSkyMaterial.xml:4
msgid "[Sky] [Material] used for a physically based sky."
msgstr ""
@@ -35255,17 +35248,6 @@ msgstr ""
msgid "The body's transformation matrix."
msgstr ""
-#: doc/classes/PhysicsDirectBodyState2DSW.xml:4
-msgid "Software implementation of [PhysicsDirectBodyState2D]."
-msgstr ""
-
-#: doc/classes/PhysicsDirectBodyState2DSW.xml:7
-msgid ""
-"Software implementation of [PhysicsDirectBodyState2D]. This object exposes "
-"no new methods or properties and should not be used, as "
-"[PhysicsDirectBodyState2D] selects the best implementation available."
-msgstr ""
-
#: doc/classes/PhysicsDirectBodyState3D.xml:4
msgid "Direct access object to a physics body in the [PhysicsServer3D]."
msgstr ""
@@ -35278,7 +35260,7 @@ msgid ""
"direct state of that body. See [method RigidBody3D._integrate_forces]."
msgstr ""
-#: doc/classes/PhysicsDirectBodyState3D.xml:18 doc/classes/RigidBody3D.xml:31
+#: doc/classes/PhysicsDirectBodyState3D.xml:18
msgid ""
"Adds a constant directional force without affecting rotation.\n"
"This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]."
@@ -35455,7 +35437,7 @@ msgid ""
"will occur. If no collision is detected, the returned array will be [code]"
"[1, 1][/code].\n"
"If the shape can not move, the returned array will be [code][0, 0][/code] "
-"under Bullet, and empty under GodotPhysics."
+"under Bullet, and empty under GodotPhysics3D."
msgstr ""
#: doc/classes/PhysicsDirectSpaceState3D.xml:33
@@ -35526,12 +35508,6 @@ msgid ""
"Provides a means of modifying the collision properties of a [PhysicsBody3D]."
msgstr ""
-#: doc/classes/PhysicsMaterial.xml:17
-msgid ""
-"The body's bounciness. Values range from [code]0[/code] (no bounce) to "
-"[code]1[/code] (full bounciness)."
-msgstr ""
-
#: doc/classes/PhysicsMaterial.xml:20
msgid ""
"The body's friction. Values range from [code]0[/code] (frictionless) to "
@@ -35772,7 +35748,7 @@ msgid ""
msgstr ""
#: doc/classes/PhysicsServer2D.xml:620 doc/classes/PhysicsServer3D.xml:637
-#: doc/classes/RigidBody3D.xml:119
+#: doc/classes/RigidBody3D.xml:120
msgid ""
"Sets an axis velocity. The velocity in the given vector axis will be set as "
"the given vector length. This is useful for jumping behavior."
@@ -36288,16 +36264,6 @@ msgid ""
"Constant to get the number of space regions where a collision could occur."
msgstr ""
-#: doc/classes/PhysicsServer2DSW.xml:4
-msgid "Software implementation of [PhysicsServer2D]."
-msgstr ""
-
-#: doc/classes/PhysicsServer2DSW.xml:7
-msgid ""
-"This class exposes no new methods or properties and should not be used, as "
-"[PhysicsServer2D] automatically selects the best implementation available."
-msgstr ""
-
#: doc/classes/PhysicsServer3D.xml:4
msgid "Server interface for low-level physics access."
msgstr ""
@@ -37959,12 +37925,8 @@ msgid "Distance from center of sun where it fades out completely."
msgstr ""
#: doc/classes/ProceduralSkyMaterial.xml:44
-msgid "Distance from sun where it goes from solid to starting to fade."
-msgstr ""
-
-#: doc/classes/ProceduralSkyMaterial.xml:47
msgid ""
-"How quickly the sun fades away between [member sun_angle_min] and [member "
+"How quickly the sun fades away between the edge of the sun disk and [member "
"sun_angle_max]."
msgstr ""
@@ -38299,28 +38261,42 @@ msgstr ""
#: doc/classes/ProjectSettings.xml:263
msgid ""
-"Default compression level for gzip. Affects compressed scenes and resources."
+"The default compression level for gzip. Affects compressed scenes and "
+"resources. Higher levels result in smaller files at the cost of compression "
+"speed. Decompression speed is mostly unaffected by the compression level. "
+"[code]-1[/code] uses the default gzip compression level, which is identical "
+"to [code]6[/code] but could change in the future due to underlying zlib "
+"updates."
msgstr ""
#: doc/classes/ProjectSettings.xml:266
msgid ""
-"Default compression level for Zlib. Affects compressed scenes and resources."
+"The default compression level for Zlib. Affects compressed scenes and "
+"resources. Higher levels result in smaller files at the cost of compression "
+"speed. Decompression speed is mostly unaffected by the compression level. "
+"[code]-1[/code] uses the default gzip compression level, which is identical "
+"to [code]6[/code] but could change in the future due to underlying zlib "
+"updates."
msgstr ""
#: doc/classes/ProjectSettings.xml:269
msgid ""
-"Default compression level for Zstandard. Affects compressed scenes and "
-"resources."
+"The default compression level for Zstandard. Affects compressed scenes and "
+"resources. Higher levels result in smaller files at the cost of compression "
+"speed. Decompression speed is mostly unaffected by the compression level."
msgstr ""
#: doc/classes/ProjectSettings.xml:272
-msgid "Enables long-distance matching in Zstandard."
+msgid ""
+"Enables [url=https://github.com/facebook/zstd/releases/tag/v1.3.2]long-"
+"distance matching[/url] in Zstandard."
msgstr ""
#: doc/classes/ProjectSettings.xml:275
msgid ""
"Largest size limit (in power of 2) allowed when compressing using long-"
-"distance matching with Zstandard."
+"distance matching with Zstandard. Higher values can result in better "
+"compression, but will require more memory when compressing and decompressing."
msgstr ""
#: doc/classes/ProjectSettings.xml:278
@@ -38701,37 +38677,37 @@ msgid ""
"UWP to follow interface conventions."
msgstr ""
-#: doc/classes/ProjectSettings.xml:473
+#: doc/classes/ProjectSettings.xml:475
msgid ""
"Path to a custom [Theme] resource file to use for the project ([code]theme[/"
"code] or generic [code]tres[/code]/[code]res[/code] extension)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:476
+#: doc/classes/ProjectSettings.xml:478
msgid ""
"Path to a custom [Font] resource to use as default for all GUI elements of "
"the project."
msgstr ""
-#: doc/classes/ProjectSettings.xml:479
+#: doc/classes/ProjectSettings.xml:481
msgid "If [code]true[/code], makes sure the theme used works with HiDPI."
msgstr ""
-#: doc/classes/ProjectSettings.xml:482
+#: doc/classes/ProjectSettings.xml:484
msgid ""
"Timer setting for incremental search in [Tree], [ItemList], etc. controls "
"(in milliseconds)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:485
+#: doc/classes/ProjectSettings.xml:487
msgid "Timer for detecting idle in [TextEdit] (in seconds)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:488
+#: doc/classes/ProjectSettings.xml:490
msgid "Default delay for tooltips (in seconds)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:491
+#: doc/classes/ProjectSettings.xml:493
msgid ""
"Default [InputEventAction] to confirm a focused button, menu or list item, "
"or validate input.\n"
@@ -38740,7 +38716,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:495
+#: doc/classes/ProjectSettings.xml:497
msgid ""
"Default [InputEventAction] to discard a modal or pending input.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38748,7 +38724,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:499
+#: doc/classes/ProjectSettings.xml:501
msgid ""
"Default [InputEventAction] to move down in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38756,7 +38732,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:503
+#: doc/classes/ProjectSettings.xml:505
msgid ""
"Default [InputEventAction] to go to the end position of a [Control] (e.g. "
"last item in an [ItemList] or a [Tree]), matching the behavior of [constant "
@@ -38766,7 +38742,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:507
+#: doc/classes/ProjectSettings.xml:509
msgid ""
"Default [InputEventAction] to focus the next [Control] in the scene. The "
"focus behavior can be configured via [member Control.focus_next].\n"
@@ -38775,7 +38751,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:511
+#: doc/classes/ProjectSettings.xml:513
msgid ""
"Default [InputEventAction] to focus the previous [Control] in the scene. The "
"focus behavior can be configured via [member Control.focus_previous].\n"
@@ -38784,7 +38760,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:515
+#: doc/classes/ProjectSettings.xml:517
msgid ""
"Default [InputEventAction] to go to the start position of a [Control] (e.g. "
"first item in an [ItemList] or a [Tree]), matching the behavior of [constant "
@@ -38794,7 +38770,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:519
+#: doc/classes/ProjectSettings.xml:521
msgid ""
"Default [InputEventAction] to move left in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38802,7 +38778,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:523
+#: doc/classes/ProjectSettings.xml:525
msgid ""
"Default [InputEventAction] to go down a page in a [Control] (e.g. in an "
"[ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEDOWN] on "
@@ -38812,7 +38788,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:527
+#: doc/classes/ProjectSettings.xml:529
msgid ""
"Default [InputEventAction] to go up a page in a [Control] (e.g. in an "
"[ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEUP] on "
@@ -38822,7 +38798,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:531
+#: doc/classes/ProjectSettings.xml:533
msgid ""
"Default [InputEventAction] to move right in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38830,7 +38806,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:535
+#: doc/classes/ProjectSettings.xml:537
msgid ""
"Default [InputEventAction] to select an item in a [Control] (e.g. in an "
"[ItemList] or a [Tree]).\n"
@@ -38839,7 +38815,7 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:539
+#: doc/classes/ProjectSettings.xml:541
msgid ""
"Default [InputEventAction] to move up in the UI.\n"
"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are "
@@ -38847,371 +38823,371 @@ msgid ""
"to the action can however be modified."
msgstr ""
-#: doc/classes/ProjectSettings.xml:543
+#: doc/classes/ProjectSettings.xml:545
msgid ""
"If [code]true[/code], sends mouse input events when tapping or swiping on "
"the touchscreen."
msgstr ""
-#: doc/classes/ProjectSettings.xml:546
+#: doc/classes/ProjectSettings.xml:548
msgid ""
"If [code]true[/code], sends touch input events when clicking or dragging the "
"mouse."
msgstr ""
-#: doc/classes/ProjectSettings.xml:549
+#: doc/classes/ProjectSettings.xml:551
msgid "Optional name for the 2D physics layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:552
+#: doc/classes/ProjectSettings.xml:554
msgid "Optional name for the 2D physics layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:555
+#: doc/classes/ProjectSettings.xml:557
msgid "Optional name for the 2D physics layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:558
+#: doc/classes/ProjectSettings.xml:560
msgid "Optional name for the 2D physics layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:561
+#: doc/classes/ProjectSettings.xml:563
msgid "Optional name for the 2D physics layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:564
+#: doc/classes/ProjectSettings.xml:566
msgid "Optional name for the 2D physics layer 14."
msgstr ""
-#: doc/classes/ProjectSettings.xml:567
+#: doc/classes/ProjectSettings.xml:569
msgid "Optional name for the 2D physics layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:570
+#: doc/classes/ProjectSettings.xml:572
msgid "Optional name for the 2D physics layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:573
+#: doc/classes/ProjectSettings.xml:575
msgid "Optional name for the 2D physics layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:576
+#: doc/classes/ProjectSettings.xml:578
msgid "Optional name for the 2D physics layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:579
+#: doc/classes/ProjectSettings.xml:581
msgid "Optional name for the 2D physics layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:582
+#: doc/classes/ProjectSettings.xml:584
msgid "Optional name for the 2D physics layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:585
+#: doc/classes/ProjectSettings.xml:587
msgid "Optional name for the 2D physics layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:588
+#: doc/classes/ProjectSettings.xml:590
msgid "Optional name for the 2D physics layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:591
+#: doc/classes/ProjectSettings.xml:593
msgid "Optional name for the 2D physics layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:594
+#: doc/classes/ProjectSettings.xml:596
msgid "Optional name for the 2D physics layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:597
+#: doc/classes/ProjectSettings.xml:599
msgid "Optional name for the 2D physics layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:600
+#: doc/classes/ProjectSettings.xml:602
msgid "Optional name for the 2D physics layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:603
+#: doc/classes/ProjectSettings.xml:605
msgid "Optional name for the 2D physics layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:606
+#: doc/classes/ProjectSettings.xml:608
msgid "Optional name for the 2D physics layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:609
+#: doc/classes/ProjectSettings.xml:611
msgid "Optional name for the 2D render layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:612
+#: doc/classes/ProjectSettings.xml:614
msgid "Optional name for the 2D render layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:615
+#: doc/classes/ProjectSettings.xml:617
msgid "Optional name for the 2D render layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:618
+#: doc/classes/ProjectSettings.xml:620
msgid "Optional name for the 2D render layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:621
+#: doc/classes/ProjectSettings.xml:623
msgid "Optional name for the 2D render layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:624
+#: doc/classes/ProjectSettings.xml:626
msgid "Optional name for the 2D render layer 14."
msgstr ""
-#: doc/classes/ProjectSettings.xml:627
+#: doc/classes/ProjectSettings.xml:629
msgid "Optional name for the 2D render layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:630
+#: doc/classes/ProjectSettings.xml:632
msgid "Optional name for the 2D render layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:633
+#: doc/classes/ProjectSettings.xml:635
msgid "Optional name for the 2D render layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:636
+#: doc/classes/ProjectSettings.xml:638
msgid "Optional name for the 2D render layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:639
+#: doc/classes/ProjectSettings.xml:641
msgid "Optional name for the 2D render layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:642
+#: doc/classes/ProjectSettings.xml:644
msgid "Optional name for the 2D render layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:645
+#: doc/classes/ProjectSettings.xml:647
msgid "Optional name for the 2D render layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:648
+#: doc/classes/ProjectSettings.xml:650
msgid "Optional name for the 2D render layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:651
+#: doc/classes/ProjectSettings.xml:653
msgid "Optional name for the 2D render layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:654
+#: doc/classes/ProjectSettings.xml:656
msgid "Optional name for the 2D render layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:657
+#: doc/classes/ProjectSettings.xml:659
msgid "Optional name for the 2D render layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:660
+#: doc/classes/ProjectSettings.xml:662
msgid "Optional name for the 2D render layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:663
+#: doc/classes/ProjectSettings.xml:665
msgid "Optional name for the 2D render layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:666
+#: doc/classes/ProjectSettings.xml:668
msgid "Optional name for the 2D render layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:669
+#: doc/classes/ProjectSettings.xml:671
msgid "Optional name for the 3D physics layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:672
+#: doc/classes/ProjectSettings.xml:674
msgid "Optional name for the 3D physics layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:675
+#: doc/classes/ProjectSettings.xml:677
msgid "Optional name for the 3D physics layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:678
+#: doc/classes/ProjectSettings.xml:680
msgid "Optional name for the 3D physics layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:681
+#: doc/classes/ProjectSettings.xml:683
msgid "Optional name for the 3D physics layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:684
+#: doc/classes/ProjectSettings.xml:686
msgid "Optional name for the 3D physics layer 14."
msgstr ""
-#: doc/classes/ProjectSettings.xml:687
+#: doc/classes/ProjectSettings.xml:689
msgid "Optional name for the 3D physics layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:690
+#: doc/classes/ProjectSettings.xml:692
msgid "Optional name for the 3D physics layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:693
+#: doc/classes/ProjectSettings.xml:695
msgid "Optional name for the 3D physics layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:696
+#: doc/classes/ProjectSettings.xml:698
msgid "Optional name for the 3D physics layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:699
+#: doc/classes/ProjectSettings.xml:701
msgid "Optional name for the 3D physics layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:702
+#: doc/classes/ProjectSettings.xml:704
msgid "Optional name for the 3D physics layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:705
+#: doc/classes/ProjectSettings.xml:707
msgid "Optional name for the 3D physics layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:708
+#: doc/classes/ProjectSettings.xml:710
msgid "Optional name for the 3D physics layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:711
+#: doc/classes/ProjectSettings.xml:713
msgid "Optional name for the 3D physics layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:714
+#: doc/classes/ProjectSettings.xml:716
msgid "Optional name for the 3D physics layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:717
+#: doc/classes/ProjectSettings.xml:719
msgid "Optional name for the 3D physics layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:720
+#: doc/classes/ProjectSettings.xml:722
msgid "Optional name for the 3D physics layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:723
+#: doc/classes/ProjectSettings.xml:725
msgid "Optional name for the 3D physics layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:726
+#: doc/classes/ProjectSettings.xml:728
msgid "Optional name for the 3D physics layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:729
+#: doc/classes/ProjectSettings.xml:731
msgid "Optional name for the 3D render layer 1."
msgstr ""
-#: doc/classes/ProjectSettings.xml:732
+#: doc/classes/ProjectSettings.xml:734
msgid "Optional name for the 3D render layer 10."
msgstr ""
-#: doc/classes/ProjectSettings.xml:735
+#: doc/classes/ProjectSettings.xml:737
msgid "Optional name for the 3D render layer 11."
msgstr ""
-#: doc/classes/ProjectSettings.xml:738
+#: doc/classes/ProjectSettings.xml:740
msgid "Optional name for the 3D render layer 12."
msgstr ""
-#: doc/classes/ProjectSettings.xml:741
+#: doc/classes/ProjectSettings.xml:743
msgid "Optional name for the 3D render layer 13."
msgstr ""
-#: doc/classes/ProjectSettings.xml:744
+#: doc/classes/ProjectSettings.xml:746
msgid "Optional name for the 3D render layer 14"
msgstr ""
-#: doc/classes/ProjectSettings.xml:747
+#: doc/classes/ProjectSettings.xml:749
msgid "Optional name for the 3D render layer 15."
msgstr ""
-#: doc/classes/ProjectSettings.xml:750
+#: doc/classes/ProjectSettings.xml:752
msgid "Optional name for the 3D render layer 16."
msgstr ""
-#: doc/classes/ProjectSettings.xml:753
+#: doc/classes/ProjectSettings.xml:755
msgid "Optional name for the 3D render layer 17."
msgstr ""
-#: doc/classes/ProjectSettings.xml:756
+#: doc/classes/ProjectSettings.xml:758
msgid "Optional name for the 3D render layer 18."
msgstr ""
-#: doc/classes/ProjectSettings.xml:759
+#: doc/classes/ProjectSettings.xml:761
msgid "Optional name for the 3D render layer 19."
msgstr ""
-#: doc/classes/ProjectSettings.xml:762
+#: doc/classes/ProjectSettings.xml:764
msgid "Optional name for the 3D render layer 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:765
+#: doc/classes/ProjectSettings.xml:767
msgid "Optional name for the 3D render layer 20."
msgstr ""
-#: doc/classes/ProjectSettings.xml:768
+#: doc/classes/ProjectSettings.xml:770
msgid "Optional name for the 3D render layer 3."
msgstr ""
-#: doc/classes/ProjectSettings.xml:771
+#: doc/classes/ProjectSettings.xml:773
msgid "Optional name for the 3D render layer 4."
msgstr ""
-#: doc/classes/ProjectSettings.xml:774
+#: doc/classes/ProjectSettings.xml:776
msgid "Optional name for the 3D render layer 5."
msgstr ""
-#: doc/classes/ProjectSettings.xml:777
+#: doc/classes/ProjectSettings.xml:779
msgid "Optional name for the 3D render layer 6."
msgstr ""
-#: doc/classes/ProjectSettings.xml:780
+#: doc/classes/ProjectSettings.xml:782
msgid "Optional name for the 3D render layer 7."
msgstr ""
-#: doc/classes/ProjectSettings.xml:783
+#: doc/classes/ProjectSettings.xml:785
msgid "Optional name for the 3D render layer 8."
msgstr ""
-#: doc/classes/ProjectSettings.xml:786
+#: doc/classes/ProjectSettings.xml:788
msgid "Optional name for the 3D render layer 9."
msgstr ""
-#: doc/classes/ProjectSettings.xml:789
+#: doc/classes/ProjectSettings.xml:791
msgid ""
"The locale to fall back to if a translation isn't available in a given "
"language. If left empty, [code]en[/code] (English) will be used."
msgstr ""
-#: doc/classes/ProjectSettings.xml:792
+#: doc/classes/ProjectSettings.xml:794
msgid ""
"If non-empty, this locale will be used when running the project from the "
"editor."
msgstr ""
-#: doc/classes/ProjectSettings.xml:795
+#: doc/classes/ProjectSettings.xml:797
msgid "If [code]true[/code], logs all output to files."
msgstr ""
-#: doc/classes/ProjectSettings.xml:798
+#: doc/classes/ProjectSettings.xml:800
msgid ""
"Path to logs within the project. Using an [code]user://[/code] path is "
"recommended."
msgstr ""
-#: doc/classes/ProjectSettings.xml:801
+#: doc/classes/ProjectSettings.xml:803
msgid "Specifies the maximum amount of log files allowed (used for rotation)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:804
+#: doc/classes/ProjectSettings.xml:806
msgid ""
"Godot uses a message queue to defer some function calls. If you run out of "
"space on it (you will see an error), you can increase the size here."
msgstr ""
-#: doc/classes/ProjectSettings.xml:807
+#: doc/classes/ProjectSettings.xml:809
msgid ""
"This is used by servers when used in multi-threading mode (servers and "
"visual). RIDs are preallocated to avoid stalling the server requesting them "
@@ -39219,118 +39195,118 @@ msgid ""
"thread, increase this number."
msgstr ""
-#: doc/classes/ProjectSettings.xml:822
+#: doc/classes/ProjectSettings.xml:824
msgid ""
"Maximum amount of characters allowed to send as output from the debugger. "
"Over this value, content is dropped. This helps not to stall the debugger "
"connection."
msgstr ""
-#: doc/classes/ProjectSettings.xml:825
+#: doc/classes/ProjectSettings.xml:827
msgid ""
"Maximum number of errors allowed to be sent from the debugger. Over this "
"value, content is dropped. This helps not to stall the debugger connection."
msgstr ""
-#: doc/classes/ProjectSettings.xml:828
+#: doc/classes/ProjectSettings.xml:830
msgid ""
"Maximum amount of messages in the debugger queue. Over this value, content "
"is dropped. This helps to limit the debugger memory usage."
msgstr ""
-#: doc/classes/ProjectSettings.xml:831
+#: doc/classes/ProjectSettings.xml:833
msgid ""
"Maximum number of warnings allowed to be sent from the debugger. Over this "
"value, content is dropped. This helps not to stall the debugger connection."
msgstr ""
-#: doc/classes/ProjectSettings.xml:834
+#: doc/classes/ProjectSettings.xml:836
msgid ""
"Default size of packet peer stream for deserializing Godot data. Over this "
"size, data is dropped."
msgstr ""
-#: doc/classes/ProjectSettings.xml:837
+#: doc/classes/ProjectSettings.xml:839
msgid "Timeout (in seconds) for connection attempts using TCP."
msgstr ""
-#: doc/classes/ProjectSettings.xml:840
+#: doc/classes/ProjectSettings.xml:842
msgid "Maximum size (in kiB) for the [WebRTCDataChannel] input buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:843
+#: doc/classes/ProjectSettings.xml:845
msgid "Maximum size (in kiB) for the [WebSocketClient] input buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:846
+#: doc/classes/ProjectSettings.xml:848
msgid "Maximum number of concurrent input packets for [WebSocketClient]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:849
+#: doc/classes/ProjectSettings.xml:851
msgid "Maximum size (in kiB) for the [WebSocketClient] output buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:852
+#: doc/classes/ProjectSettings.xml:854
msgid "Maximum number of concurrent output packets for [WebSocketClient]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:855
+#: doc/classes/ProjectSettings.xml:857
msgid "Maximum size (in kiB) for the [WebSocketServer] input buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:858
+#: doc/classes/ProjectSettings.xml:860
msgid "Maximum number of concurrent input packets for [WebSocketServer]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:861
+#: doc/classes/ProjectSettings.xml:863
msgid "Maximum size (in kiB) for the [WebSocketServer] output buffer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:864
+#: doc/classes/ProjectSettings.xml:866
msgid "Maximum number of concurrent output packets for [WebSocketServer]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:867
+#: doc/classes/ProjectSettings.xml:869
msgid ""
"Amount of read ahead used by remote filesystem. Higher values decrease the "
"effects of latency at the cost of higher bandwidth usage."
msgstr ""
-#: doc/classes/ProjectSettings.xml:870
+#: doc/classes/ProjectSettings.xml:872
msgid "Page size used by remote filesystem (in bytes)."
msgstr ""
-#: doc/classes/ProjectSettings.xml:873
+#: doc/classes/ProjectSettings.xml:875
msgid ""
"CA certificates bundle to use for SSL connections. If not defined, Godot's "
"internal CA certificates are used."
msgstr ""
-#: doc/classes/ProjectSettings.xml:876
+#: doc/classes/ProjectSettings.xml:878
msgid ""
"When creating node names automatically, set the type of casing in this "
"project. This is mostly an editor setting."
msgstr ""
-#: doc/classes/ProjectSettings.xml:879
+#: doc/classes/ProjectSettings.xml:881
msgid ""
"What to use to separate node name from number. This is mostly an editor "
"setting."
msgstr ""
-#: doc/classes/ProjectSettings.xml:882
+#: doc/classes/ProjectSettings.xml:884
msgid "Size of the hash table used for the broad-phase 2D hash grid algorithm."
msgstr ""
-#: doc/classes/ProjectSettings.xml:885
+#: doc/classes/ProjectSettings.xml:887
msgid "Cell size used for the broad-phase 2D hash grid algorithm."
msgstr ""
-#: doc/classes/ProjectSettings.xml:888
+#: doc/classes/ProjectSettings.xml:890
msgid "The default angular damp in 2D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:891
+#: doc/classes/ProjectSettings.xml:893
msgid ""
"The default gravity strength in 2D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39342,7 +39318,7 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:899
+#: doc/classes/ProjectSettings.xml:901
msgid ""
"The default gravity direction in 2D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39354,38 +39330,38 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:907
+#: doc/classes/ProjectSettings.xml:909
msgid "The default linear damp in 2D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:910
+#: doc/classes/ProjectSettings.xml:912
msgid ""
"Threshold defining the surface size that constitutes a large object with "
"regard to cells in the broad-phase 2D hash grid algorithm."
msgstr ""
-#: doc/classes/ProjectSettings.xml:913
+#: doc/classes/ProjectSettings.xml:915
msgid ""
"Sets which physics engine to use for 2D physics.\n"
-"\"DEFAULT\" and \"GodotPhysics\" are the same, as there is currently no "
+"\"DEFAULT\" and \"GodotPhysics2D\" are the same, as there is currently no "
"alternative 2D physics server implemented."
msgstr ""
-#: doc/classes/ProjectSettings.xml:917
+#: doc/classes/ProjectSettings.xml:919
msgid ""
"Threshold angular velocity under which a 2D physics body will be considered "
"inactive. See [constant PhysicsServer2D."
"SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:920
+#: doc/classes/ProjectSettings.xml:922
msgid ""
"Threshold linear velocity under which a 2D physics body will be considered "
"inactive. See [constant PhysicsServer2D."
"SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:923
+#: doc/classes/ProjectSettings.xml:925
msgid ""
"Sets whether physics is run on the main thread or a separate one. Running "
"the server on a thread increases performance, but restricts API access to "
@@ -39395,23 +39371,23 @@ msgid ""
"give you extra performance and no regressions when using it."
msgstr ""
-#: doc/classes/ProjectSettings.xml:927
+#: doc/classes/ProjectSettings.xml:929
msgid ""
"Time (in seconds) of inactivity before which a 2D physics body will put to "
"sleep. See [constant PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:930
+#: doc/classes/ProjectSettings.xml:932
msgid ""
"Sets whether the 3D physics world will be created with support for "
"[SoftBody3D] physics. Only applies to the Bullet physics engine."
msgstr ""
-#: doc/classes/ProjectSettings.xml:933
+#: doc/classes/ProjectSettings.xml:935
msgid "The default angular damp in 3D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:936
+#: doc/classes/ProjectSettings.xml:938
msgid ""
"The default gravity strength in 3D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39423,7 +39399,7 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:944
+#: doc/classes/ProjectSettings.xml:946
msgid ""
"The default gravity direction in 3D.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
@@ -39435,23 +39411,23 @@ msgid ""
"[/codeblock]"
msgstr ""
-#: doc/classes/ProjectSettings.xml:952
+#: doc/classes/ProjectSettings.xml:954
msgid "The default linear damp in 3D."
msgstr ""
-#: doc/classes/ProjectSettings.xml:955
+#: doc/classes/ProjectSettings.xml:957
msgid ""
"Sets which physics engine to use for 3D physics.\n"
"\"DEFAULT\" is currently the [url=https://bulletphysics.org]Bullet[/url] "
-"physics engine. The \"GodotPhysics\" engine is still supported as an "
+"physics engine. The \"GodotPhysics3D\" engine is still supported as an "
"alternative."
msgstr ""
-#: doc/classes/ProjectSettings.xml:959
+#: doc/classes/ProjectSettings.xml:961
msgid "Enables [member Viewport.physics_object_picking] on the root viewport."
msgstr ""
-#: doc/classes/ProjectSettings.xml:962
+#: doc/classes/ProjectSettings.xml:964
msgid ""
"The number of fixed iterations per second. This controls how often physics "
"simulation and [method Node._physics_process] methods are run.\n"
@@ -39460,7 +39436,7 @@ msgid ""
"instead."
msgstr ""
-#: doc/classes/ProjectSettings.xml:966
+#: doc/classes/ProjectSettings.xml:968
msgid ""
"Fix to improve physics jitter, specially on monitors where refresh rate is "
"different than the physics FPS.\n"
@@ -39468,7 +39444,7 @@ msgid ""
"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
-#: doc/classes/ProjectSettings.xml:970
+#: doc/classes/ProjectSettings.xml:972
msgid ""
"Default background clear color. Overridable per [Viewport] using its "
"[Environment]. See [member Environment.background_mode] and [member "
@@ -39476,7 +39452,7 @@ msgid ""
"programmatically, use [method RenderingServer.set_default_clear_color]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:973
+#: doc/classes/ProjectSettings.xml:975
msgid ""
"[Environment] that will be used as a fallback environment in case a scene "
"does not specify its own environment. The default environment is loaded in "
@@ -39486,14 +39462,14 @@ msgid ""
"here."
msgstr ""
-#: doc/classes/ProjectSettings.xml:976
+#: doc/classes/ProjectSettings.xml:980
msgid ""
"Max amount of elements renderable in a frame. If more than this are visible "
"per frame, they will be dropped. Keep in mind elements refer to mesh "
"surfaces and not meshes themselves."
msgstr ""
-#: doc/classes/ProjectSettings.xml:979
+#: doc/classes/ProjectSettings.xml:985
msgid ""
"Some NVIDIA GPU drivers have a bug which produces flickering issues for the "
"[code]draw_rect[/code] method, especially as used in [TileMap]. Refer to "
@@ -39505,39 +39481,73 @@ msgid ""
"using the Vulkan backend."
msgstr ""
-#: doc/classes/ProjectSettings.xml:983
+#: doc/classes/ProjectSettings.xml:989
msgid ""
"If [code]true[/code], forces snapping of polygons to pixels in 2D rendering. "
"May help in some pixel art styles."
msgstr ""
-#: doc/classes/ProjectSettings.xml:986
+#: doc/classes/ProjectSettings.xml:992
+msgid ""
+"Sets the quality of the depth of field effect. Higher quality takes more "
+"samples, which is slower but looks smoother."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:995
+msgid ""
+"Sets the depth of field shape. Can be Box, Hexagon, or Circle. Box is the "
+"fastest. Circle is the most realistic, but also the most expensive to "
+"compute."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:998
+msgid ""
+"If [code]true[/code], jitters DOF samples to make effect slightly blurrier "
+"and hide lines created from low sample rates. This can result in a slightly "
+"grainy appearance when used with a low number of samples."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1001
msgid ""
"Disables depth pre-pass for some GPU vendors (usually mobile), as their "
"architecture already does this."
msgstr ""
-#: doc/classes/ProjectSettings.xml:989
+#: doc/classes/ProjectSettings.xml:1004
msgid ""
"If [code]true[/code], performs a previous depth pass before rendering "
"materials. This increases performance in scenes with high overdraw, when "
"complex materials and lighting are used."
msgstr ""
-#: doc/classes/ProjectSettings.xml:992
+#: doc/classes/ProjectSettings.xml:1007
msgid ""
"The directional shadow's size in pixels. Higher values will result in "
"sharper shadows, at the cost of performance. The value will be rounded up to "
"the nearest power of 2."
msgstr ""
-#: doc/classes/ProjectSettings.xml:995
+#: doc/classes/ProjectSettings.xml:1010
msgid ""
"Lower-end override for [member rendering/quality/directional_shadow/size] on "
"mobile devices, due to performance concerns or driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:998
+#: doc/classes/ProjectSettings.xml:1013
+msgid ""
+"Quality setting for shadows cast by [DirectionalLight3D]s. Higher quality "
+"settings use more samples when reading from shadow maps and are thus slower. "
+"Low quality settings may result in shadows looking grainy."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1016
+msgid ""
+"Lower-end override for [member rendering/quality/directional_shadow/"
+"soft_shadow_quality] on mobile devices, due to performance concerns or "
+"driver support."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1019
msgid ""
"The video driver to use (\"GLES2\" or \"Vulkan\").\n"
"[b]Note:[/b] The backend in use can be overridden at runtime via the [code]--"
@@ -39547,25 +39557,33 @@ msgid ""
"get_current_video_driver[/code] to query it at run-time."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1012
+#: doc/classes/ProjectSettings.xml:1025
msgid ""
-"Sets the number of MSAA samples to use. MSAA is used to reduce aliasing "
-"around the edges of polygons. A higher MSAA value results in smoother edges "
-"but can be significantly slower on some hardware.\n"
-"[b]Note:[/b] MSAA is not available on HTML5 export using the GLES2 backend."
+"If [code]true[/code], take additional samples when rendering objects "
+"affected by a [GIProbe] to reduce artifacts from only sampling in one "
+"direction."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1020
+#: doc/classes/ProjectSettings.xml:1028
msgid ""
-"If [code]true[/code], uses nearest-neighbor mipmap filtering when using "
-"mipmaps (also called \"bilinear filtering\"), which will result in visible "
-"seams appearing between mipmap stages. This may increase performance in "
-"mobile as less memory bandwidth is used. If [code]false[/code], linear "
-"mipmap filtering (also called \"trilinear filtering\") is used."
+"Sets the number of cone samples taken when rendering objects affected by "
+"[GIProbe]s."
msgstr ""
#: doc/classes/ProjectSettings.xml:1031
msgid ""
+"Sets how the glow effect is upscaled before being copied onto the screen. "
+"Linear is faster, but looks blocky. Bicubic is slower but looks smooth."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1034
+msgid ""
+"Lower-end override for [member rendering/quality/glow/upscale_mode] on "
+"mobile devices, due to performance concerns or driver support."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1037
+msgid ""
"Strategy used for framebuffer allocation. The simpler it is, the less "
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
@@ -39574,41 +39592,41 @@ msgid ""
"be available in the [Environment]."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1034
+#: doc/classes/ProjectSettings.xml:1040
msgid ""
"Lower-end override for [member rendering/quality/intended_usage/"
"framebuffer_allocation] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1037
+#: doc/classes/ProjectSettings.xml:1043
msgid ""
"Number of cubemaps to store in the reflection atlas. The number of "
"[ReflectionProbe]s in a scene will be limited by this amount. A higher "
"number requires more VRAM."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1040
+#: doc/classes/ProjectSettings.xml:1046
msgid ""
"Size of cubemap faces for [ReflectionProbe]s. A higher number requires more "
"VRAM and may make reflection probe updating slower."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1043
+#: doc/classes/ProjectSettings.xml:1049
msgid ""
"Lower-end override for [member rendering/quality/reflection_atlas/"
"reflection_size] on mobile devices, due to performance concerns or driver "
"support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1046
+#: doc/classes/ProjectSettings.xml:1052
msgid ""
"Use a higher quality variant of the fast filtering algorithm. Significantly "
"slower than using default quality, but results in smoother reflections. "
"Should only be used when the scene is especially detailed."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1049
+#: doc/classes/ProjectSettings.xml:1055
msgid ""
"Sets the number of samples to take when using importance sampling for [Sky]s "
"and [ReflectionProbe]s. A higher value will result in smoother, higher "
@@ -39618,19 +39636,19 @@ msgid ""
"environments with a high level of detail."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1052
+#: doc/classes/ProjectSettings.xml:1058
msgid ""
"Lower-end override for [member rendering/quality/reflections/ggx_samples] on "
"mobile devices, due to performance concerns or driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1055
+#: doc/classes/ProjectSettings.xml:1061
msgid ""
"Limits the number of layers to use in radiance maps when using importance "
"sampling. A lower number will be slightly faster and take up less VRAM."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1058
+#: doc/classes/ProjectSettings.xml:1064
msgid ""
"If [code]true[/code], uses texture arrays instead of mipmaps for reflection "
"probes and panorama backgrounds (sky). This reduces jitter noise and "
@@ -39639,128 +39657,229 @@ msgid ""
"memory."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1061
+#: doc/classes/ProjectSettings.xml:1067
msgid ""
"Lower-end override for [member rendering/quality/reflections/"
"texture_array_reflections] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1066
+#: doc/classes/ProjectSettings.xml:1070
+msgid ""
+"Sets the number of MSAA samples to use. MSAA is used to reduce aliasing "
+"around the edges of polygons. A higher MSAA value results in smoother edges "
+"but can be significantly slower on some hardware.\n"
+"[b]Note:[/b] MSAA is not available on HTML5 export using the GLES2 backend."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1074
+msgid ""
+"Sets the screen-space antialiasing mode for the default screen [Viewport]. "
+"Screen-space antialiasing works by selectively blurring edges in a post-"
+"process shader. It differs from MSAA which takes multiple coverage samples "
+"while rendering objects. Screen-space AA methods are typically faster than "
+"MSAA and will smooth out specular aliasing, but tend to make scenes appear "
+"blurry.\n"
+"Another way to combat specular aliasing is to enable [member rendering/"
+"quality/screen_filters/screen_space_roughness_limiter]."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1078
+msgid ""
+"Enables the screen-space roughness limiter which increases material "
+"roughness in areas with a high normal frequency (i.e. when normals change a "
+"lot from pixel to pixel). This helps to reduce the amount of specular "
+"aliasing in a scene. Specular aliasing looks like random bright pixels that "
+"occur in reflections."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1081
+msgid ""
+"Curves the amount of the roughness limited effect. A higher value limits the "
+"effect to very sharply curved surfaces, while a lower threshold extends the "
+"effect to smoother surfaces."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1084
+msgid ""
+"Sets the quality for rough screen-space reflections. Turning off will make "
+"all screen space reflections sharp, while higher values make rough "
+"reflections look better."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1087
msgid ""
"If [code]true[/code], uses faster but lower-quality Blinn model to generate "
"blurred reflections instead of the GGX model."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1069
+#: doc/classes/ProjectSettings.xml:1090
msgid ""
"Lower-end override for [member rendering/quality/shading/"
"force_blinn_over_ggx] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1072
+#: doc/classes/ProjectSettings.xml:1093
msgid ""
"If [code]true[/code], uses faster but lower-quality Lambert material "
"lighting model instead of Burley."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1075
+#: doc/classes/ProjectSettings.xml:1096
msgid ""
"Lower-end override for [member rendering/quality/shading/"
"force_lambert_over_burley] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1078
+#: doc/classes/ProjectSettings.xml:1099
msgid ""
"If [code]true[/code], forces vertex shading for all rendering. This can "
"increase performance a lot, but also reduces quality immensely. Can be used "
"to optimize performance on low-end mobile devices."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1081
+#: doc/classes/ProjectSettings.xml:1102
msgid ""
"Lower-end override for [member rendering/quality/shading/"
"force_vertex_shading] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1084 doc/classes/ProjectSettings.xml:1087
-#: doc/classes/ProjectSettings.xml:1090 doc/classes/ProjectSettings.xml:1093
+#: doc/classes/ProjectSettings.xml:1105 doc/classes/ProjectSettings.xml:1108
+#: doc/classes/ProjectSettings.xml:1111 doc/classes/ProjectSettings.xml:1114
msgid ""
"Subdivision quadrant size for shadow mapping. See shadow mapping "
"documentation."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1096
+#: doc/classes/ProjectSettings.xml:1117
msgid ""
"Size for shadow atlas (used for OmniLights and SpotLights). See "
"documentation."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1099
+#: doc/classes/ProjectSettings.xml:1120
msgid ""
"Lower-end override for [member rendering/quality/shadow_atlas/size] on "
"mobile devices, due to performance concerns or driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1102
+#: doc/classes/ProjectSettings.xml:1123
msgid ""
-"Shadow filter mode. Higher-quality settings result in smoother shadows that "
-"flicker less when moving. \"Disabled\" is the fastest option, but also has "
-"the lowest quality. \"PCF5\" is smoother but is also slower. \"PCF13\" is "
-"the smoothest option, but is also the slowest."
+"Quality setting for shadows cast by [OmniLight3D]s and [SpotLight3D]s. "
+"Higher quality settings use more samples when reading from shadow maps and "
+"are thus slower. Low quality settings may result in shadows looking grainy."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1105
+#: doc/classes/ProjectSettings.xml:1126
msgid ""
-"Lower-end override for [member rendering/quality/shadows/filter_mode] on "
-"mobile devices, due to performance concerns or driver support."
+"Lower-end override for [member rendering/quality/shadows/"
+"soft_shadow_quality] on mobile devices, due to performance concerns or "
+"driver support."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1118
+#: doc/classes/ProjectSettings.xml:1129
+msgid ""
+"If [code]true[/code], screen-space ambient occlusion will be rendered at "
+"half size and then upscaled before being added to the scene. This is "
+"significantly faster but may miss small details."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1132
+msgid ""
+"Sets the quality of the screen-space ambient occlusion effect. Higher values "
+"take more samples and so will result in better quality, at the cost of "
+"performance."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1135
+msgid ""
+"Scales the depth over which the subsurface scattering effect is applied. A "
+"high value may allow light to scatter into a part of the mesh or another "
+"mesh that is close in screen space but far in depth."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1138
+msgid ""
+"Sets the quality of the subsurface scattering effect. Higher values are "
+"slower but look nicer."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1141
+msgid ""
+"Scales the distance over which samples are taken for subsurface scattering "
+"effect. Changing this does not impact performance, but higher values will "
+"result in significant artifacts as the samples will become obviously spread "
+"out. A lower value results in a smaller spread of scattered light."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1144
+msgid ""
+"Sets the maximum number of samples to take when using anisotropic filtering "
+"on textures. A higher sample count will result in sharper textures at "
+"oblique angles, but is more expensive to compute.\n"
+"Only power of two values are valid ([code]1[/code], [code]2[/code], [code]4[/"
+"code], [code]8[/code], [code]16[/code]). A value of [code]1[/code] forcibly "
+"disables anisotropic filtering, even on materials where it is enabled."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1148
+msgid ""
+"If [code]true[/code], uses nearest-neighbor mipmap filtering when using "
+"mipmaps (also called \"bilinear filtering\"), which will result in visible "
+"seams appearing between mipmap stages. This may increase performance in "
+"mobile as less memory bandwidth is used. If [code]false[/code], linear "
+"mipmap filtering (also called \"trilinear filtering\") is used."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml:1151
msgid ""
"Thread model for rendering. Rendering on a thread can vastly improve "
"performance, but synchronizing to the main thread can cause a bit more "
"jitter."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1121
+#: doc/classes/ProjectSettings.xml:1154
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the BPTC algorithm. This texture compression algorithm is "
"only supported on desktop platforms, and only when using the Vulkan renderer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1124
+#: doc/classes/ProjectSettings.xml:1157
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the Ericsson Texture Compression algorithm. This algorithm "
"doesn't support alpha channels in textures."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1127
+#: doc/classes/ProjectSettings.xml:1160
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the Ericsson Texture Compression 2 algorithm. This texture "
"compression algorithm is only supported when using the Vulkan renderer."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1130
+#: doc/classes/ProjectSettings.xml:1163
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the PowerVR Texture Compression algorithm. This texture "
"compression algorithm is only supported on iOS."
msgstr ""
-#: doc/classes/ProjectSettings.xml:1133
+#: doc/classes/ProjectSettings.xml:1166
msgid ""
"If [code]true[/code], the texture importer will import VRAM-compressed "
"textures using the S3 Texture Compression algorithm. This algorithm is only "
"supported on desktop platforms and consoles."
msgstr ""
+#: doc/classes/ProjectSettings.xml:1177
+msgid "Cell size used for the 2D hash grid that [VisibilityNotifier2D] uses."
+msgstr ""
+
#: doc/classes/ProximityGroup3D.xml:4 doc/classes/ProximityGroup3D.xml:7
msgid "General-purpose proximity detection node."
msgstr ""
@@ -40861,11 +40980,11 @@ msgstr ""
#: doc/classes/RenderingServer.xml:7
msgid ""
-"Server for anything visible. The visual server is the API backend for "
+"Server for anything visible. The rendering server is the API backend for "
"everything visible. The whole scene system mounts on it to display.\n"
-"The visual server is completely opaque, the internals are entirely "
+"The rendering server is completely opaque, the internals are entirely "
"implementation specific and cannot be accessed.\n"
-"The visual server can be used to bypass the scene system entirely.\n"
+"The rendering server can be used to bypass the scene system entirely.\n"
"Resources are created using the [code]*_create[/code] functions.\n"
"All objects are drawn to a viewport. You can use the [Viewport] attached to "
"the [SceneTree] or you can create one yourself with [method "
@@ -40873,10 +40992,10 @@ msgid ""
"canvas needs to be attached to the viewport using [method "
"viewport_set_scenario] or [method viewport_attach_canvas].\n"
"In 3D, all visual objects must be associated with a scenario. The scenario "
-"is a visual representation of the world. If accessing the visual server from "
-"a running game, the scenario can be accessed from the scene tree from any "
-"[Node3D] node with [method Node3D.get_world]. Otherwise, a scenario can be "
-"created with [method scenario_create].\n"
+"is a visual representation of the world. If accessing the rendering server "
+"from a running game, the scenario can be accessed from the scene tree from "
+"any [Node3D] node with [method Node3D.get_world]. Otherwise, a scenario can "
+"be created with [method scenario_create].\n"
"Similarly in 2D, a canvas is needed to draw all canvas items.\n"
"In 3D, all visible objects are comprised of a resource and an instance. A "
"resource can be a mesh, a particle system, a light, or any other 3D object. "
@@ -41302,42 +41421,42 @@ msgstr ""
msgid "Returns the id of a white texture. Creates one if none exists."
msgstr ""
-#: doc/classes/RenderingServer.xml:954
+#: doc/classes/RenderingServer.xml:1006
msgid ""
"Returns [code]true[/code] if changes have been made to the RenderingServer's "
"data. [method force_draw] is usually called if this happens."
msgstr ""
-#: doc/classes/RenderingServer.xml:963
+#: doc/classes/RenderingServer.xml:1015
msgid "Not yet implemented. Always returns [code]false[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:972
+#: doc/classes/RenderingServer.xml:1024
msgid ""
"Returns [code]true[/code] if the OS supports a certain feature. Features "
"might be [code]s3tc[/code], [code]etc[/code], [code]etc2[/code] and "
"[code]pvrtc[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:985
+#: doc/classes/RenderingServer.xml:1037
msgid ""
"Sets up [ImmediateGeometry3D] internals to prepare for drawing. Equivalent "
"to [method ImmediateGeometry3D.begin]."
msgstr ""
-#: doc/classes/RenderingServer.xml:994
+#: doc/classes/RenderingServer.xml:1046
msgid ""
"Clears everything that was set up between [method immediate_begin] and "
"[method immediate_end]. Equivalent to [method ImmediateGeometry3D.clear]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1005
+#: doc/classes/RenderingServer.xml:1057
msgid ""
"Sets the color to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1012
+#: doc/classes/RenderingServer.xml:1064
msgid ""
"Creates an immediate geometry and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41348,78 +41467,78 @@ msgid ""
"[method instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1023
+#: doc/classes/RenderingServer.xml:1075
msgid ""
"Ends drawing the [ImmediateGeometry3D] and displays it. Equivalent to "
"[method ImmediateGeometry3D.end]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1032
+#: doc/classes/RenderingServer.xml:1084
msgid "Returns the material assigned to the [ImmediateGeometry3D]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1043
+#: doc/classes/RenderingServer.xml:1095
msgid ""
"Sets the normal to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_normal]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1054
+#: doc/classes/RenderingServer.xml:1106
msgid "Sets the material to be used to draw the [ImmediateGeometry3D]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1065
+#: doc/classes/RenderingServer.xml:1117
msgid ""
"Sets the tangent to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_tangent]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1076
+#: doc/classes/RenderingServer.xml:1128
msgid ""
"Sets the UV to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_uv]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1087
+#: doc/classes/RenderingServer.xml:1139
msgid ""
"Sets the UV2 to be used with next vertex. Equivalent to [method "
"ImmediateGeometry3D.set_uv2]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1098
+#: doc/classes/RenderingServer.xml:1150
msgid ""
"Adds the next vertex using the information provided in advance. Equivalent "
"to [method ImmediateGeometry3D.add_vertex]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1109
+#: doc/classes/RenderingServer.xml:1161
msgid ""
"Adds the next vertex using the information provided in advance. This is a "
"helper class that calls [method immediate_vertex] under the hood. Equivalent "
"to [method ImmediateGeometry3D.add_vertex]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1116
+#: doc/classes/RenderingServer.xml:1168
msgid ""
-"Initializes the visual server. This function is called internally by "
+"Initializes the rendering server. This function is called internally by "
"platform-dependent code during engine initialization. If called from a "
"running game, it will not do anything."
msgstr ""
-#: doc/classes/RenderingServer.xml:1127
+#: doc/classes/RenderingServer.xml:1179
msgid ""
"Attaches a unique Object ID to instance. Object ID must be attached to "
"instance for proper culling with [method instances_cull_aabb], [method "
"instances_cull_convex], and [method instances_cull_ray]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1138
+#: doc/classes/RenderingServer.xml:1190
msgid ""
"Attaches a skeleton to an instance. Removes the previous skeleton from the "
"instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:1145
+#: doc/classes/RenderingServer.xml:1197
msgid ""
"Creates a visual instance and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41431,7 +41550,7 @@ msgid ""
"instance to be visible in the scenario using [method instance_set_base]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1158
+#: doc/classes/RenderingServer.xml:1210
msgid ""
"Creates a visual instance, adds it to the RenderingServer, and sets both "
"base and scenario. It can be accessed with the RID that is returned. This "
@@ -41440,31 +41559,31 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:1170 doc/classes/RenderingServer.xml:1198
-#: doc/classes/RenderingServer.xml:1488
+#: doc/classes/RenderingServer.xml:1222 doc/classes/RenderingServer.xml:1250
+#: doc/classes/RenderingServer.xml:1540
msgid "Not implemented in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:1181
+#: doc/classes/RenderingServer.xml:1233
msgid ""
"Sets the shadow casting setting to one of [enum ShadowCastingSetting]. "
"Equivalent to [member GeometryInstance3D.cast_shadow]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1211
+#: doc/classes/RenderingServer.xml:1263
msgid ""
"Sets the flag for a given [enum InstanceFlags]. See [enum InstanceFlags] for "
"more details."
msgstr ""
-#: doc/classes/RenderingServer.xml:1222
+#: doc/classes/RenderingServer.xml:1274
msgid ""
"Sets a material that will override the material for all surfaces on the mesh "
"associated with this instance. Equivalent to [member GeometryInstance3D."
"material_override]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1233
+#: doc/classes/RenderingServer.xml:1285
msgid ""
"Sets the base of the instance. A base can be any of the 3D objects that are "
"created in the RenderingServer that can be displayed. For example, any of "
@@ -41473,62 +41592,62 @@ msgid ""
"be set as the base of an instance in order to be displayed in the scenario."
msgstr ""
-#: doc/classes/RenderingServer.xml:1246
+#: doc/classes/RenderingServer.xml:1298
msgid "Sets the weight for a given blend shape associated with this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:1257
+#: doc/classes/RenderingServer.xml:1309
msgid ""
"Sets a custom AABB to use when culling objects from the view frustum. "
"Equivalent to [method GeometryInstance3D.set_custom_aabb]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1268
+#: doc/classes/RenderingServer.xml:1320
msgid "Function not implemented in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:1279
+#: doc/classes/RenderingServer.xml:1331
msgid ""
"Sets a margin to increase the size of the AABB when culling objects from the "
"view frustum. This allows you avoid culling objects that fall outside the "
"view frustum. Equivalent to [member GeometryInstance3D.extra_cull_margin]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1290
+#: doc/classes/RenderingServer.xml:1342
msgid ""
"Sets the render layers that this instance will be drawn to. Equivalent to "
"[member VisualInstance3D.layers]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1301
+#: doc/classes/RenderingServer.xml:1353
msgid ""
"Sets the scenario that the instance is in. The scenario is the 3D world that "
"the objects will be displayed in."
msgstr ""
-#: doc/classes/RenderingServer.xml:1314
+#: doc/classes/RenderingServer.xml:1366
msgid ""
"Sets the material of a specific surface. Equivalent to [method "
"MeshInstance3D.set_surface_material]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1325
+#: doc/classes/RenderingServer.xml:1377
msgid ""
"Sets the world space transform of the instance. Equivalent to [member Node3D."
"transform]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1338
+#: doc/classes/RenderingServer.xml:1390
msgid "Sets the lightmap to use with this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:1349
+#: doc/classes/RenderingServer.xml:1401
msgid ""
"Sets whether an instance is drawn or not. Equivalent to [member Node3D."
"visible]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1360
+#: doc/classes/RenderingServer.xml:1412
msgid ""
"Returns an array of object IDs intersecting with the provided AABB. Only "
"visual 3D nodes are considered, such as [MeshInstance3D] or "
@@ -41540,7 +41659,7 @@ msgid ""
"game use cases, prefer physics collision."
msgstr ""
-#: doc/classes/RenderingServer.xml:1372
+#: doc/classes/RenderingServer.xml:1424
msgid ""
"Returns an array of object IDs intersecting with the provided convex shape. "
"Only visual 3D nodes are considered, such as [MeshInstance3D] or "
@@ -41552,7 +41671,7 @@ msgid ""
"game use cases, prefer physics collision."
msgstr ""
-#: doc/classes/RenderingServer.xml:1386
+#: doc/classes/RenderingServer.xml:1438
msgid ""
"Returns an array of object IDs intersecting with the provided 3D ray. Only "
"visual 3D nodes are considered, such as [MeshInstance3D] or "
@@ -41564,58 +41683,58 @@ msgid ""
"game use cases, prefer physics collision."
msgstr ""
-#: doc/classes/RenderingServer.xml:1398
+#: doc/classes/RenderingServer.xml:1450
msgid ""
"If [code]true[/code], this directional light will blend between shadow map "
"splits resulting in a smoother transition between them. Equivalent to "
"[member DirectionalLight3D.directional_shadow_blend_splits]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1409
+#: doc/classes/RenderingServer.xml:1461
msgid ""
"Sets the shadow depth range mode for this directional light. Equivalent to "
"[member DirectionalLight3D.directional_shadow_depth_range]. See [enum "
"LightDirectionalShadowDepthRangeMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:1420
+#: doc/classes/RenderingServer.xml:1472
msgid ""
"Sets the shadow mode for this directional light. Equivalent to [member "
"DirectionalLight3D.directional_shadow_mode]. See [enum "
"LightDirectionalShadowMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:1431
+#: doc/classes/RenderingServer.xml:1483
msgid ""
"Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual "
"paraboloid is faster but may suffer from artifacts. Equivalent to [member "
"OmniLight3D.omni_shadow_mode]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1442
+#: doc/classes/RenderingServer.xml:1494
msgid ""
"Sets the color of the light. Equivalent to [member Light3D.light_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1453
+#: doc/classes/RenderingServer.xml:1505
msgid ""
"Sets the cull mask for this Light3D. Lights only affect objects in the "
"selected layers. Equivalent to [member Light3D.light_cull_mask]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1464
+#: doc/classes/RenderingServer.xml:1516
msgid ""
"If [code]true[/code], light will subtract light instead of adding light. "
"Equivalent to [member Light3D.light_negative]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1477
+#: doc/classes/RenderingServer.xml:1529
msgid ""
"Sets the specified light parameter. See [enum LightParam] for options. "
"Equivalent to [method Light3D.set_param]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1499
+#: doc/classes/RenderingServer.xml:1551
msgid ""
"If [code]true[/code], reverses the backface culling of the mesh. This can be "
"useful when you have a flat mesh that has a light behind it. If you need to "
@@ -41624,23 +41743,23 @@ msgid ""
"to [member Light3D.shadow_reverse_cull_face]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1510
+#: doc/classes/RenderingServer.xml:1562
msgid ""
"If [code]true[/code], light will cast shadows. Equivalent to [member Light3D."
"shadow_enabled]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1521
+#: doc/classes/RenderingServer.xml:1573
msgid ""
"Sets the color of the shadow cast by the light. Equivalent to [member "
"Light3D.shadow_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:1532
+#: doc/classes/RenderingServer.xml:1584
msgid "Sets whether GI probes capture light information from this light."
msgstr ""
-#: doc/classes/RenderingServer.xml:1539
+#: doc/classes/RenderingServer.xml:1591
msgid ""
"Creates a lightmap capture and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41651,54 +41770,54 @@ msgid ""
"[method instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1550
+#: doc/classes/RenderingServer.xml:1602
msgid "Returns the size of the lightmap capture area."
msgstr ""
-#: doc/classes/RenderingServer.xml:1559
+#: doc/classes/RenderingServer.xml:1611
msgid "Returns the energy multiplier used by the lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1568
+#: doc/classes/RenderingServer.xml:1620
msgid "Returns the octree used by the lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1577
+#: doc/classes/RenderingServer.xml:1629
msgid ""
"Returns the cell subdivision amount used by this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1586
+#: doc/classes/RenderingServer.xml:1638
msgid "Returns the cell transform for this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1597
+#: doc/classes/RenderingServer.xml:1649
msgid "Sets the size of the area covered by the lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1608
+#: doc/classes/RenderingServer.xml:1660
msgid "Sets the energy multiplier for this lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1619
+#: doc/classes/RenderingServer.xml:1671
msgid "Sets the octree to be used by this lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:1630
+#: doc/classes/RenderingServer.xml:1682
msgid "Sets the subdivision level of this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1641
+#: doc/classes/RenderingServer.xml:1693
msgid "Sets the octree cell transform for this lightmap capture's octree."
msgstr ""
-#: doc/classes/RenderingServer.xml:1654
+#: doc/classes/RenderingServer.xml:1706
msgid ""
"Returns a mesh of a sphere with the given amount of horizontal and vertical "
"subdivisions."
msgstr ""
-#: doc/classes/RenderingServer.xml:1661
+#: doc/classes/RenderingServer.xml:1713
msgid ""
"Creates an empty material and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41707,31 +41826,31 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:1673
+#: doc/classes/RenderingServer.xml:1725
msgid "Returns the value of a certain material's parameter."
msgstr ""
-#: doc/classes/RenderingServer.xml:1684
+#: doc/classes/RenderingServer.xml:1736
msgid "Sets an object's next material."
msgstr ""
-#: doc/classes/RenderingServer.xml:1697
+#: doc/classes/RenderingServer.xml:1749
msgid "Sets a material's parameter."
msgstr ""
-#: doc/classes/RenderingServer.xml:1708
+#: doc/classes/RenderingServer.xml:1760
msgid "Sets a material's render priority."
msgstr ""
-#: doc/classes/RenderingServer.xml:1719
+#: doc/classes/RenderingServer.xml:1771
msgid "Sets a shader material's shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:1748
+#: doc/classes/RenderingServer.xml:1800
msgid "Removes all surfaces from a mesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1755
+#: doc/classes/RenderingServer.xml:1807
msgid ""
"Creates a new mesh and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all [code]mesh_*[/"
@@ -41742,58 +41861,58 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1766
+#: doc/classes/RenderingServer.xml:1818
msgid "Returns a mesh's blend shape count."
msgstr ""
-#: doc/classes/RenderingServer.xml:1775
+#: doc/classes/RenderingServer.xml:1827
msgid "Returns a mesh's blend shape mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:1784
+#: doc/classes/RenderingServer.xml:1836
msgid "Returns a mesh's custom aabb."
msgstr ""
-#: doc/classes/RenderingServer.xml:1793
+#: doc/classes/RenderingServer.xml:1845
msgid "Returns a mesh's number of surfaces."
msgstr ""
-#: doc/classes/RenderingServer.xml:1804
+#: doc/classes/RenderingServer.xml:1856
msgid "Sets a mesh's blend shape mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:1815
+#: doc/classes/RenderingServer.xml:1867
msgid "Sets a mesh's custom aabb."
msgstr ""
-#: doc/classes/RenderingServer.xml:1826
+#: doc/classes/RenderingServer.xml:1878
msgid "Returns a mesh's surface's buffer arrays."
msgstr ""
-#: doc/classes/RenderingServer.xml:1837
+#: doc/classes/RenderingServer.xml:1889
msgid "Returns a mesh's surface's arrays for blend shapes."
msgstr ""
-#: doc/classes/RenderingServer.xml:1852 doc/classes/RenderingServer.xml:1865
+#: doc/classes/RenderingServer.xml:1904 doc/classes/RenderingServer.xml:1917
msgid "Function is unused in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:1876
+#: doc/classes/RenderingServer.xml:1928
msgid "Returns a mesh's surface's material."
msgstr ""
-#: doc/classes/RenderingServer.xml:1889
+#: doc/classes/RenderingServer.xml:1941
msgid "Sets a mesh's surface's material."
msgstr ""
-#: doc/classes/RenderingServer.xml:1904
+#: doc/classes/RenderingServer.xml:1956
msgid ""
"Updates a specific region of a vertex buffer for the specified surface. "
"Warning: this function alters the vertex buffer directly with no safety "
"mechanisms, you can easily corrupt your mesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1927
+#: doc/classes/RenderingServer.xml:1979
msgid ""
"Creates a new multimesh on the RenderingServer and returns an [RID] handle. "
"This RID will be used in all [code]multimesh_*[/code] RenderingServer "
@@ -41804,82 +41923,82 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:1938
+#: doc/classes/RenderingServer.xml:1990
msgid ""
"Calculates and returns the axis-aligned bounding box that encloses all "
"instances within the multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1955
+#: doc/classes/RenderingServer.xml:2007
msgid "Returns the number of instances allocated for this multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1964
+#: doc/classes/RenderingServer.xml:2016
msgid ""
"Returns the RID of the mesh that will be used in drawing this multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1973
+#: doc/classes/RenderingServer.xml:2025
msgid "Returns the number of visible instances for this multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:1984
+#: doc/classes/RenderingServer.xml:2036
msgid "Returns the color by which the specified instance will be modulated."
msgstr ""
-#: doc/classes/RenderingServer.xml:1995
+#: doc/classes/RenderingServer.xml:2047
msgid "Returns the custom data associated with the specified instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:2006
+#: doc/classes/RenderingServer.xml:2058
msgid "Returns the [Transform] of the specified instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:2017
+#: doc/classes/RenderingServer.xml:2069
msgid ""
"Returns the [Transform2D] of the specified instance. For use when the "
"multimesh is set to use 2D transforms."
msgstr ""
-#: doc/classes/RenderingServer.xml:2030
+#: doc/classes/RenderingServer.xml:2082
msgid ""
"Sets the color by which this instance will be modulated. Equivalent to "
"[method MultiMesh.set_instance_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2043
+#: doc/classes/RenderingServer.xml:2095
msgid ""
"Sets the custom data for this instance. Custom data is passed as a [Color], "
"but is interpreted as a [code]vec4[/code] in the shader. Equivalent to "
"[method MultiMesh.set_instance_custom_data]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2056
+#: doc/classes/RenderingServer.xml:2108
msgid ""
"Sets the [Transform] for this instance. Equivalent to [method MultiMesh."
"set_instance_transform]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2069
+#: doc/classes/RenderingServer.xml:2121
msgid ""
"Sets the [Transform2D] for this instance. For use when multimesh is used in "
"2D. Equivalent to [method MultiMesh.set_instance_transform_2d]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2090
+#: doc/classes/RenderingServer.xml:2142
msgid ""
"Sets the mesh to be drawn by the multimesh. Equivalent to [member MultiMesh."
"mesh]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2101
+#: doc/classes/RenderingServer.xml:2153
msgid ""
"Sets the number of instances visible at a given time. If -1, all instances "
"that have been allocated are drawn. Equivalent to [member MultiMesh."
"visible_instance_count]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2108
+#: doc/classes/RenderingServer.xml:2160
msgid ""
"Creates a new omni light and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID can be used in most "
@@ -41890,7 +42009,7 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2117
+#: doc/classes/RenderingServer.xml:2169
msgid ""
"Creates a particle system and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -41901,23 +42020,23 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2128
+#: doc/classes/RenderingServer.xml:2180
msgid ""
"Calculates and returns the axis-aligned bounding box that contains all the "
"particles. Equivalent to [method GPUParticles3D.capture_aabb]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2137
+#: doc/classes/RenderingServer.xml:2189
msgid "Returns [code]true[/code] if particles are currently set to emitting."
msgstr ""
-#: doc/classes/RenderingServer.xml:2146
+#: doc/classes/RenderingServer.xml:2198
msgid ""
"Returns [code]true[/code] if particles are not emitting and particles are "
"set to inactive."
msgstr ""
-#: doc/classes/RenderingServer.xml:2155
+#: doc/classes/RenderingServer.xml:2207
msgid ""
"Add particle system to list of particle systems that need to be updated. "
"Update will take place on the next frame, or on the next call to [method "
@@ -41925,121 +42044,121 @@ msgid ""
"instances_cull_ray]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2164
+#: doc/classes/RenderingServer.xml:2216
msgid ""
"Reset the particles on the next update. Equivalent to [method GPUParticles3D."
"restart]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2175
+#: doc/classes/RenderingServer.xml:2227
msgid ""
"Sets the number of particles to be drawn and allocates the memory for them. "
"Equivalent to [member GPUParticles3D.amount]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2186
+#: doc/classes/RenderingServer.xml:2238
msgid ""
"Sets a custom axis-aligned bounding box for the particle system. Equivalent "
"to [member GPUParticles3D.visibility_aabb]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2197
+#: doc/classes/RenderingServer.xml:2249
msgid ""
"Sets the draw order of the particles to one of the named enums from [enum "
"ParticlesDrawOrder]. See [enum ParticlesDrawOrder] for options. Equivalent "
"to [member GPUParticles3D.draw_order]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2210
+#: doc/classes/RenderingServer.xml:2262
msgid ""
"Sets the mesh to be used for the specified draw pass. Equivalent to [member "
"GPUParticles3D.draw_pass_1], [member GPUParticles3D.draw_pass_2], [member "
"GPUParticles3D.draw_pass_3], and [member GPUParticles3D.draw_pass_4]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2221
+#: doc/classes/RenderingServer.xml:2273
msgid ""
"Sets the number of draw passes to use. Equivalent to [member GPUParticles3D."
"draw_passes]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2232
+#: doc/classes/RenderingServer.xml:2284
msgid ""
"Sets the [Transform] that will be used by the particles when they first emit."
msgstr ""
-#: doc/classes/RenderingServer.xml:2243
+#: doc/classes/RenderingServer.xml:2295
msgid ""
"If [code]true[/code], particles will emit over time. Setting to false does "
"not reset the particles, but only stops their emission. Equivalent to "
"[member GPUParticles3D.emitting]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2254
+#: doc/classes/RenderingServer.xml:2306
msgid ""
"Sets the explosiveness ratio. Equivalent to [member GPUParticles3D."
"explosiveness]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2265
+#: doc/classes/RenderingServer.xml:2317
msgid ""
"Sets the frame rate that the particle system rendering will be fixed to. "
"Equivalent to [member GPUParticles3D.fixed_fps]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2276
+#: doc/classes/RenderingServer.xml:2328
msgid ""
"If [code]true[/code], uses fractional delta which smooths the movement of "
"the particles. Equivalent to [member GPUParticles3D.fract_delta]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2287
+#: doc/classes/RenderingServer.xml:2339
msgid ""
"Sets the lifetime of each particle in the system. Equivalent to [member "
"GPUParticles3D.lifetime]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2298
+#: doc/classes/RenderingServer.xml:2350
msgid ""
"If [code]true[/code], particles will emit once and then stop. Equivalent to "
"[member GPUParticles3D.one_shot]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2309
+#: doc/classes/RenderingServer.xml:2361
msgid ""
"Sets the preprocess time for the particles animation. This lets you delay "
"starting an animation until after the particles have begun emitting. "
"Equivalent to [member GPUParticles3D.preprocess]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2320
+#: doc/classes/RenderingServer.xml:2372
msgid ""
"Sets the material for processing the particles. Note: this is not the "
"material used to draw the materials. Equivalent to [member GPUParticles3D."
"process_material]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2331
+#: doc/classes/RenderingServer.xml:2383
msgid ""
"Sets the emission randomness ratio. This randomizes the emission of "
"particles within their phase. Equivalent to [member GPUParticles3D."
"randomness]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2342
+#: doc/classes/RenderingServer.xml:2394
msgid ""
"Sets the speed scale of the particle system. Equivalent to [member "
"GPUParticles3D.speed_scale]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2353
+#: doc/classes/RenderingServer.xml:2405
msgid ""
"If [code]true[/code], particles use local coordinates. If [code]false[/code] "
"they use global coordinates. Equivalent to [member GPUParticles3D."
"local_coords]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2360
+#: doc/classes/RenderingServer.xml:2412
msgid ""
"Creates a reflection probe and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -42050,59 +42169,59 @@ msgid ""
"[method instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2373
+#: doc/classes/RenderingServer.xml:2425
msgid ""
"If [code]true[/code], reflections will ignore sky contribution. Equivalent "
"to [member ReflectionProbe.interior_enable]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2384
+#: doc/classes/RenderingServer.xml:2436
msgid ""
"Sets the render cull mask for this reflection probe. Only instances with a "
"matching cull mask will be rendered by this probe. Equivalent to [member "
"ReflectionProbe.cull_mask]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2395
+#: doc/classes/RenderingServer.xml:2447
msgid ""
"If [code]true[/code], uses box projection. This can make reflections look "
"more correct in certain situations. Equivalent to [member ReflectionProbe."
"box_projection]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2406
+#: doc/classes/RenderingServer.xml:2458
msgid ""
"If [code]true[/code], computes shadows in the reflection probe. This makes "
"the reflection much slower to compute. Equivalent to [member ReflectionProbe."
"enable_shadows]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2417
+#: doc/classes/RenderingServer.xml:2469
msgid ""
"Sets the size of the area that the reflection probe will capture. Equivalent "
"to [member ReflectionProbe.extents]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2428
+#: doc/classes/RenderingServer.xml:2480
msgid ""
"Sets the intensity of the reflection probe. Intensity modulates the strength "
"of the reflection. Equivalent to [member ReflectionProbe.intensity]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2439
+#: doc/classes/RenderingServer.xml:2491
msgid ""
"Sets the ambient light color for this reflection probe when set to interior "
"mode. Equivalent to [member ReflectionProbe.interior_ambient_color]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2450
+#: doc/classes/RenderingServer.xml:2502
msgid ""
"Sets the energy multiplier for this reflection probes ambient light "
"contribution when set to interior mode. Equivalent to [member "
"ReflectionProbe.interior_ambient_energy]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2461
+#: doc/classes/RenderingServer.xml:2513
msgid ""
"Sets the contribution value for how much the reflection affects the ambient "
"light for this reflection probe when set to interior mode. Useful so that "
@@ -42110,25 +42229,25 @@ msgid ""
"ReflectionProbe.interior_ambient_contrib]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2472
+#: doc/classes/RenderingServer.xml:2524
msgid ""
"Sets the max distance away from the probe an object can be before it is "
"culled. Equivalent to [member ReflectionProbe.max_distance]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2483
+#: doc/classes/RenderingServer.xml:2535
msgid ""
"Sets the origin offset to be used when this reflection probe is in box "
"project mode. Equivalent to [member ReflectionProbe.origin_offset]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2494
+#: doc/classes/RenderingServer.xml:2546
msgid ""
"Sets how often the reflection probe updates. Can either be once or every "
"frame. See [enum ReflectionProbeUpdateMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2507
+#: doc/classes/RenderingServer.xml:2559
msgid ""
"Schedules a callback to the corresponding named [code]method[/code] on "
"[code]where[/code] after a frame has been drawn.\n"
@@ -42136,7 +42255,7 @@ msgid ""
"[code]userdata[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2515
+#: doc/classes/RenderingServer.xml:2567
msgid ""
"Creates a scenario and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all "
@@ -42146,24 +42265,24 @@ msgid ""
"The scenario is the 3D world that all the visual instances exist in."
msgstr ""
-#: doc/classes/RenderingServer.xml:2528
+#: doc/classes/RenderingServer.xml:2580
msgid ""
"Sets the [enum ScenarioDebugMode] for this scenario. See [enum "
"ScenarioDebugMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2539
+#: doc/classes/RenderingServer.xml:2591
msgid "Sets the environment that will be used with this scenario."
msgstr ""
-#: doc/classes/RenderingServer.xml:2550
+#: doc/classes/RenderingServer.xml:2602
msgid ""
"Sets the fallback environment to be used by this scenario. The fallback "
"environment is used if no environment is set. Internally, this is used by "
"the editor to provide a default environment."
msgstr ""
-#: doc/classes/RenderingServer.xml:2565
+#: doc/classes/RenderingServer.xml:2617
msgid ""
"Sets a boot image. The color defines the background color. If [code]scale[/"
"code] is [code]true[/code], the image will be scaled to fit the screen size. "
@@ -42172,19 +42291,19 @@ msgid ""
"the image will be scaled with nearest-neighbor interpolation."
msgstr ""
-#: doc/classes/RenderingServer.xml:2574
+#: doc/classes/RenderingServer.xml:2626
msgid ""
"If [code]true[/code], the engine will generate wireframes for use with the "
"wireframe debug mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:2583
+#: doc/classes/RenderingServer.xml:2635
msgid ""
"Sets the default clear color which is used when a specific clear color has "
"not been selected."
msgstr ""
-#: doc/classes/RenderingServer.xml:2590
+#: doc/classes/RenderingServer.xml:2642
msgid ""
"Creates an empty shader and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -42193,47 +42312,47 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2600
+#: doc/classes/RenderingServer.xml:2652
msgid "Returns a shader's code."
msgstr ""
-#: doc/classes/RenderingServer.xml:2611
+#: doc/classes/RenderingServer.xml:2663
msgid "Returns a default texture from a shader searched by name."
msgstr ""
-#: doc/classes/RenderingServer.xml:2630
+#: doc/classes/RenderingServer.xml:2682
msgid "Returns the parameters of a shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:2641
+#: doc/classes/RenderingServer.xml:2693
msgid "Sets a shader's code."
msgstr ""
-#: doc/classes/RenderingServer.xml:2654
+#: doc/classes/RenderingServer.xml:2706
msgid "Sets a shader's default texture. Overwrites the texture given by name."
msgstr ""
-#: doc/classes/RenderingServer.xml:2667
+#: doc/classes/RenderingServer.xml:2719
msgid "Allocates the GPU buffers for this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2678
+#: doc/classes/RenderingServer.xml:2730
msgid "Returns the [Transform] set for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2689
+#: doc/classes/RenderingServer.xml:2741
msgid "Returns the [Transform2D] set for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2702
+#: doc/classes/RenderingServer.xml:2754
msgid "Sets the [Transform] for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2715
+#: doc/classes/RenderingServer.xml:2767
msgid "Sets the [Transform2D] for a specific bone of this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2722
+#: doc/classes/RenderingServer.xml:2774
msgid ""
"Creates a skeleton and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all "
@@ -42242,11 +42361,11 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2732
+#: doc/classes/RenderingServer.xml:2784
msgid "Returns the number of bones allocated for this skeleton."
msgstr ""
-#: doc/classes/RenderingServer.xml:2739
+#: doc/classes/RenderingServer.xml:2791
msgid ""
"Creates an empty sky and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID will be used in all [code]sky_*[/"
@@ -42255,13 +42374,13 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2751
+#: doc/classes/RenderingServer.xml:2803
msgid ""
"Sets the material that the sky uses to render the background and reflection "
"maps."
msgstr ""
-#: doc/classes/RenderingServer.xml:2758
+#: doc/classes/RenderingServer.xml:2810
msgid ""
"Creates a spot light and adds it to the RenderingServer. It can be accessed "
"with the RID that is returned. This RID can be used in most [code]light_*[/"
@@ -42272,15 +42391,15 @@ msgid ""
"instance_set_base] using the returned RID."
msgstr ""
-#: doc/classes/RenderingServer.xml:2787
+#: doc/classes/RenderingServer.xml:2839
msgid "Sets a viewport's camera."
msgstr ""
-#: doc/classes/RenderingServer.xml:2798
+#: doc/classes/RenderingServer.xml:2850
msgid "Sets a viewport's canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:2811
+#: doc/classes/RenderingServer.xml:2863
msgid ""
"Copies the viewport to a region of the screen specified by [code]rect[/"
"code]. If [method viewport_set_render_direct_to_screen] is [code]true[/"
@@ -42302,7 +42421,7 @@ msgid ""
"viewport_set_render_direct_to_screen]."
msgstr ""
-#: doc/classes/RenderingServer.xml:2825
+#: doc/classes/RenderingServer.xml:2877
msgid ""
"Creates an empty viewport and adds it to the RenderingServer. It can be "
"accessed with the RID that is returned. This RID will be used in all "
@@ -42311,72 +42430,72 @@ msgid ""
"RenderingServer's [method free_rid] static method."
msgstr ""
-#: doc/classes/RenderingServer.xml:2837
+#: doc/classes/RenderingServer.xml:2889
msgid ""
"Returns a viewport's render information. For options, see the [enum "
"ViewportRenderInfo] constants."
msgstr ""
-#: doc/classes/RenderingServer.xml:2846
+#: doc/classes/RenderingServer.xml:2898
msgid "Returns the viewport's last rendered frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:2857
+#: doc/classes/RenderingServer.xml:2909
msgid "Detaches a viewport from a canvas and vice versa."
msgstr ""
-#: doc/classes/RenderingServer.xml:2868
+#: doc/classes/RenderingServer.xml:2920
msgid "If [code]true[/code], sets the viewport active, else sets it inactive."
msgstr ""
-#: doc/classes/RenderingServer.xml:2883
+#: doc/classes/RenderingServer.xml:2935
msgid ""
"Sets the stacking order for a viewport's canvas.\n"
"[code]layer[/code] is the actual canvas layer, while [code]sublayer[/code] "
"specifies the stacking order of the canvas among those in the same layer."
msgstr ""
-#: doc/classes/RenderingServer.xml:2897
+#: doc/classes/RenderingServer.xml:2949
msgid "Sets the transformation of a viewport's canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:2908
+#: doc/classes/RenderingServer.xml:2960
msgid ""
"Sets the clear mode of a viewport. See [enum ViewportClearMode] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2919
+#: doc/classes/RenderingServer.xml:2971
msgid ""
"Sets the debug draw mode of a viewport. See [enum ViewportDebugDraw] for "
"options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2930
+#: doc/classes/RenderingServer.xml:2982
msgid ""
"If [code]true[/code], rendering of a viewport's environment is disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:2941
+#: doc/classes/RenderingServer.xml:2993
msgid "Sets the viewport's global transformation matrix."
msgstr ""
-#: doc/classes/RenderingServer.xml:2952
+#: doc/classes/RenderingServer.xml:3004
msgid "If [code]true[/code], the viewport's canvas is not rendered."
msgstr ""
-#: doc/classes/RenderingServer.xml:2963
+#: doc/classes/RenderingServer.xml:3015
msgid "Currently unimplemented in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:2974
+#: doc/classes/RenderingServer.xml:3026
msgid "Sets the anti-aliasing mode. See [enum ViewportMSAA] for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:2985
+#: doc/classes/RenderingServer.xml:3037
msgid "Sets the viewport's parent to another viewport."
msgstr ""
-#: doc/classes/RenderingServer.xml:2996
+#: doc/classes/RenderingServer.xml:3048
msgid ""
"If [code]true[/code], render the contents of the viewport directly to "
"screen. This allows a low-level optimization where you can skip drawing a "
@@ -42392,708 +42511,864 @@ msgid ""
"significantly larger than the window size."
msgstr ""
-#: doc/classes/RenderingServer.xml:3007
+#: doc/classes/RenderingServer.xml:3059
msgid ""
"Sets a viewport's scenario.\n"
"The scenario contains information about the [enum ScenarioDebugMode], "
"environment information, reflection atlas etc."
msgstr ""
-#: doc/classes/RenderingServer.xml:3021
+#: doc/classes/RenderingServer.xml:3073
msgid "Sets the shadow atlas quadrant's subdivision."
msgstr ""
-#: doc/classes/RenderingServer.xml:3032
+#: doc/classes/RenderingServer.xml:3084
msgid ""
"Sets the size of the shadow atlas's images (used for omni and spot lights). "
"The value will be rounded up to the nearest power of 2."
msgstr ""
-#: doc/classes/RenderingServer.xml:3045
+#: doc/classes/RenderingServer.xml:3097
msgid "Sets the viewport's width and height."
msgstr ""
-#: doc/classes/RenderingServer.xml:3056
+#: doc/classes/RenderingServer.xml:3108
msgid ""
"If [code]true[/code], the viewport renders its background as transparent."
msgstr ""
-#: doc/classes/RenderingServer.xml:3067
+#: doc/classes/RenderingServer.xml:3119
msgid ""
"Sets when the viewport should be updated. See [enum ViewportUpdateMode] "
"constants for options."
msgstr ""
-#: doc/classes/RenderingServer.xml:3078
+#: doc/classes/RenderingServer.xml:3130
msgid ""
"If [code]true[/code], the viewport uses augmented or virtual reality "
-"technologies. See [ARVRInterface]."
+"technologies. See [XRInterface]."
msgstr ""
-#: doc/classes/RenderingServer.xml:3085
+#: doc/classes/RenderingServer.xml:3137
msgid ""
"Emitted at the end of the frame, after the RenderingServer has finished "
"updating all the Viewports."
msgstr ""
-#: doc/classes/RenderingServer.xml:3090
+#: doc/classes/RenderingServer.xml:3142
msgid ""
"Emitted at the beginning of the frame, before the RenderingServer updates "
"all the Viewports."
msgstr ""
-#: doc/classes/RenderingServer.xml:3096
+#: doc/classes/RenderingServer.xml:3148
msgid "Marks an error that shows that the index array is empty."
msgstr ""
-#: doc/classes/RenderingServer.xml:3099
+#: doc/classes/RenderingServer.xml:3151
msgid "Number of weights/bones per vertex."
msgstr ""
-#: doc/classes/RenderingServer.xml:3102
+#: doc/classes/RenderingServer.xml:3154
msgid "The minimum Z-layer for canvas items."
msgstr ""
-#: doc/classes/RenderingServer.xml:3105
+#: doc/classes/RenderingServer.xml:3157
msgid "The maximum Z-layer for canvas items."
msgstr ""
-#: doc/classes/RenderingServer.xml:3108
+#: doc/classes/RenderingServer.xml:3160
msgid ""
"Max number of glow levels that can be used with glow post-process effect."
msgstr ""
-#: doc/classes/RenderingServer.xml:3111
+#: doc/classes/RenderingServer.xml:3163
msgid "Unused enum in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:3114
-msgid "The minimum renderpriority of all materials."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3117
-msgid "The maximum renderpriority of all materials."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3138
+#: doc/classes/RenderingServer.xml:3184
msgid "Shader is a 3D shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3141
+#: doc/classes/RenderingServer.xml:3187
msgid "Shader is a 2D shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3144
+#: doc/classes/RenderingServer.xml:3190
msgid "Shader is a particle shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3147
+#: doc/classes/RenderingServer.xml:3193
msgid "Shader is a sky shader."
msgstr ""
-#: doc/classes/RenderingServer.xml:3150
+#: doc/classes/RenderingServer.xml:3196
msgid "Represents the size of the [enum ShaderMode] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3153
+#: doc/classes/RenderingServer.xml:3199
+msgid "The minimum renderpriority of all materials."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3202
+msgid "The maximum renderpriority of all materials."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3205
msgid "Array is a vertex array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3156
+#: doc/classes/RenderingServer.xml:3208
msgid "Array is a normal array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3159
+#: doc/classes/RenderingServer.xml:3211
msgid "Array is a tangent array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3162
+#: doc/classes/RenderingServer.xml:3214
msgid "Array is a color array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3165
+#: doc/classes/RenderingServer.xml:3217
msgid "Array is an UV coordinates array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3168
+#: doc/classes/RenderingServer.xml:3220
msgid "Array is an UV coordinates array for the second UV coordinates."
msgstr ""
-#: doc/classes/RenderingServer.xml:3171
+#: doc/classes/RenderingServer.xml:3223
msgid "Array contains bone information."
msgstr ""
-#: doc/classes/RenderingServer.xml:3174
+#: doc/classes/RenderingServer.xml:3226
msgid "Array is weight information."
msgstr ""
-#: doc/classes/RenderingServer.xml:3177
+#: doc/classes/RenderingServer.xml:3229
msgid "Array is index array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3183
+#: doc/classes/RenderingServer.xml:3235
msgid "Flag used to mark a vertex array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3186
+#: doc/classes/RenderingServer.xml:3238
msgid "Flag used to mark a normal array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3189
+#: doc/classes/RenderingServer.xml:3241
msgid "Flag used to mark a tangent array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3192
+#: doc/classes/RenderingServer.xml:3244
msgid "Flag used to mark a color array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3195
+#: doc/classes/RenderingServer.xml:3247
msgid "Flag used to mark an UV coordinates array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3198
+#: doc/classes/RenderingServer.xml:3250
msgid ""
"Flag used to mark an UV coordinates array for the second UV coordinates."
msgstr ""
-#: doc/classes/RenderingServer.xml:3201
+#: doc/classes/RenderingServer.xml:3253
msgid "Flag used to mark a bone information array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3204
+#: doc/classes/RenderingServer.xml:3256
msgid "Flag used to mark a weights array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3207
+#: doc/classes/RenderingServer.xml:3259
msgid "Flag used to mark an index array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3236
+#: doc/classes/RenderingServer.xml:3288
msgid "Primitive to draw consists of points."
msgstr ""
-#: doc/classes/RenderingServer.xml:3239
+#: doc/classes/RenderingServer.xml:3291
msgid "Primitive to draw consists of lines."
msgstr ""
-#: doc/classes/RenderingServer.xml:3242
+#: doc/classes/RenderingServer.xml:3294
msgid "Primitive to draw consists of a line strip from start to end."
msgstr ""
-#: doc/classes/RenderingServer.xml:3245
+#: doc/classes/RenderingServer.xml:3297
msgid "Primitive to draw consists of triangles."
msgstr ""
-#: doc/classes/RenderingServer.xml:3248
+#: doc/classes/RenderingServer.xml:3300
msgid ""
"Primitive to draw consists of a triangle strip (the last 3 vertices are "
"always combined to make a triangle)."
msgstr ""
-#: doc/classes/RenderingServer.xml:3251
+#: doc/classes/RenderingServer.xml:3303
msgid "Represents the size of the [enum PrimitiveType] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3260
+#: doc/classes/RenderingServer.xml:3312
msgid "Use [Transform2D] to store MultiMesh transform."
msgstr ""
-#: doc/classes/RenderingServer.xml:3263
+#: doc/classes/RenderingServer.xml:3315
msgid "Use [Transform] to store MultiMesh transform."
msgstr ""
-#: doc/classes/RenderingServer.xml:3266
+#: doc/classes/RenderingServer.xml:3318
msgid "Is a directional (sun) light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3269
+#: doc/classes/RenderingServer.xml:3321
msgid "Is an omni light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3272
+#: doc/classes/RenderingServer.xml:3324
msgid "Is a spot light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3275
+#: doc/classes/RenderingServer.xml:3327
msgid "The light's energy."
msgstr ""
-#: doc/classes/RenderingServer.xml:3280
+#: doc/classes/RenderingServer.xml:3332
msgid "The light's influence on specularity."
msgstr ""
-#: doc/classes/RenderingServer.xml:3283
+#: doc/classes/RenderingServer.xml:3335
msgid "The light's range."
msgstr ""
-#: doc/classes/RenderingServer.xml:3286
+#: doc/classes/RenderingServer.xml:3338
+msgid ""
+"The size of the light when using spot light or omni light. The angular size "
+"of the light when using directional light."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3341
msgid "The light's attenuation."
msgstr ""
-#: doc/classes/RenderingServer.xml:3289
+#: doc/classes/RenderingServer.xml:3344
msgid "The spotlight's angle."
msgstr ""
-#: doc/classes/RenderingServer.xml:3292
+#: doc/classes/RenderingServer.xml:3347
msgid "The spotlight's attenuation."
msgstr ""
-#: doc/classes/RenderingServer.xml:3295
-msgid "Scales the shadow color."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3298
+#: doc/classes/RenderingServer.xml:3350
msgid "Max distance that shadows will be rendered."
msgstr ""
-#: doc/classes/RenderingServer.xml:3301
+#: doc/classes/RenderingServer.xml:3353
msgid "Proportion of shadow atlas occupied by the first split."
msgstr ""
-#: doc/classes/RenderingServer.xml:3304
+#: doc/classes/RenderingServer.xml:3356
msgid "Proportion of shadow atlas occupied by the second split."
msgstr ""
-#: doc/classes/RenderingServer.xml:3307
+#: doc/classes/RenderingServer.xml:3359
msgid ""
"Proportion of shadow atlas occupied by the third split. The fourth split "
"occupies the rest."
msgstr ""
-#: doc/classes/RenderingServer.xml:3312
+#: doc/classes/RenderingServer.xml:3362
+msgid ""
+"Proportion of shadow max distance where the shadow will start to fade out."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3365
msgid ""
"Normal bias used to offset shadow lookup by object normal. Can be used to "
"fix self-shadowing artifacts."
msgstr ""
-#: doc/classes/RenderingServer.xml:3315
+#: doc/classes/RenderingServer.xml:3368
msgid "Bias the shadow lookup to fix self-shadowing artifacts."
msgstr ""
-#: doc/classes/RenderingServer.xml:3318
-msgid ""
-"Increases bias on further splits to fix self-shadowing that only occurs far "
-"away from the camera."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3321
+#: doc/classes/RenderingServer.xml:3379
msgid "Represents the size of the [enum LightParam] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3324
+#: doc/classes/RenderingServer.xml:3382
msgid "Use a dual paraboloid shadow map for omni lights."
msgstr ""
-#: doc/classes/RenderingServer.xml:3327
+#: doc/classes/RenderingServer.xml:3385
msgid ""
"Use a cubemap shadow map for omni lights. Slower but better quality than "
"dual paraboloid."
msgstr ""
-#: doc/classes/RenderingServer.xml:3330
+#: doc/classes/RenderingServer.xml:3388
msgid "Use orthogonal shadow projection for directional light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3333
+#: doc/classes/RenderingServer.xml:3391
msgid "Use 2 splits for shadow projection when using directional light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3336
+#: doc/classes/RenderingServer.xml:3394
msgid "Use 4 splits for shadow projection when using directional light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3339
+#: doc/classes/RenderingServer.xml:3397
msgid ""
"Keeps shadows stable as camera moves but has lower effective resolution."
msgstr ""
-#: doc/classes/RenderingServer.xml:3342
+#: doc/classes/RenderingServer.xml:3400
msgid ""
"Optimize use of shadow maps, increasing the effective resolution. But may "
"result in shadows moving or flickering slightly."
msgstr ""
-#: doc/classes/RenderingServer.xml:3345
+#: doc/classes/RenderingServer.xml:3403
msgid "Reflection probe will update reflections once and then stop."
msgstr ""
-#: doc/classes/RenderingServer.xml:3348
+#: doc/classes/RenderingServer.xml:3406
msgid ""
"Reflection probe will update each frame. This mode is necessary to capture "
"moving objects."
msgstr ""
-#: doc/classes/RenderingServer.xml:3351
+#: doc/classes/RenderingServer.xml:3419
msgid "Draw particles in the order that they appear in the particles array."
msgstr ""
-#: doc/classes/RenderingServer.xml:3354
+#: doc/classes/RenderingServer.xml:3422
msgid "Sort particles based on their lifetime."
msgstr ""
-#: doc/classes/RenderingServer.xml:3357
+#: doc/classes/RenderingServer.xml:3425
msgid "Sort particles based on their distance to the camera."
msgstr ""
-#: doc/classes/RenderingServer.xml:3360
+#: doc/classes/RenderingServer.xml:3428
msgid "Do not update the viewport."
msgstr ""
-#: doc/classes/RenderingServer.xml:3363
+#: doc/classes/RenderingServer.xml:3431
msgid "Update the viewport once then set to disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:3366
+#: doc/classes/RenderingServer.xml:3434
msgid "Update the viewport whenever it is visible."
msgstr ""
-#: doc/classes/RenderingServer.xml:3371
+#: doc/classes/RenderingServer.xml:3439
msgid "Always update the viewport."
msgstr ""
-#: doc/classes/RenderingServer.xml:3374
+#: doc/classes/RenderingServer.xml:3442
msgid "The viewport is always cleared before drawing."
msgstr ""
-#: doc/classes/RenderingServer.xml:3377
+#: doc/classes/RenderingServer.xml:3445
msgid "The viewport is never cleared before drawing."
msgstr ""
-#: doc/classes/RenderingServer.xml:3380
+#: doc/classes/RenderingServer.xml:3448
msgid ""
"The viewport is cleared once, then the clear mode is set to [constant "
"VIEWPORT_CLEAR_NEVER]."
msgstr ""
-#: doc/classes/RenderingServer.xml:3383
+#: doc/classes/RenderingServer.xml:3451
msgid "Multisample antialiasing is disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:3386
-msgid "Multisample antialiasing is set to 2×."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3389
-msgid "Multisample antialiasing is set to 4×."
-msgstr ""
-
-#: doc/classes/RenderingServer.xml:3392
-msgid "Multisample antialiasing is set to 8×."
+#: doc/classes/RenderingServer.xml:3454
+msgid "Multisample antialiasing uses 2 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3395
-msgid "Multisample antialiasing is set to 16×."
+#: doc/classes/RenderingServer.xml:3457
+msgid "Multisample antialiasing uses 4 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3398
-msgid ""
-"Multisample antialiasing is set to 2× on external texture. Special mode for "
-"GLES2 Android VR (Oculus Quest and Go)."
+#: doc/classes/RenderingServer.xml:3460
+msgid "Multisample antialiasing uses 8 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3401
-msgid ""
-"Multisample antialiasing is set to 4× on external texture. Special mode for "
-"GLES2 Android VR (Oculus Quest and Go)."
+#: doc/classes/RenderingServer.xml:3463
+msgid "Multisample antialiasing uses 16 samples per pixel."
msgstr ""
-#: doc/classes/RenderingServer.xml:3404
+#: doc/classes/RenderingServer.xml:3474
msgid "Number of objects drawn in a single frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3407
+#: doc/classes/RenderingServer.xml:3477
msgid "Number of vertices drawn in a single frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3410
+#: doc/classes/RenderingServer.xml:3480
msgid "Number of material changes during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3413
+#: doc/classes/RenderingServer.xml:3483
msgid "Number of shader changes during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3416
+#: doc/classes/RenderingServer.xml:3486
msgid "Number of surface changes during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3419
+#: doc/classes/RenderingServer.xml:3489
msgid "Number of draw calls during this frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3422
+#: doc/classes/RenderingServer.xml:3492
msgid "Represents the size of the [enum ViewportRenderInfo] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3425
+#: doc/classes/RenderingServer.xml:3495
msgid "Debug draw is disabled. Default setting."
msgstr ""
-#: doc/classes/RenderingServer.xml:3428
-msgid "Debug draw sets objects to unshaded."
+#: doc/classes/RenderingServer.xml:3498 doc/classes/Viewport.xml:348
+msgid "Objects are displayed without light information."
msgstr ""
-#: doc/classes/RenderingServer.xml:3433
-msgid "Overwrites clear color to [code](0,0,0,0)[/code]."
+#: doc/classes/RenderingServer.xml:3501
+msgid "Objects are displayed with only light information."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3504 doc/classes/Viewport.xml:353
+msgid ""
+"Objects are displayed semi-transparent with additive blending so you can see "
+"where they are drawing over top of one another. A higher overdraw means you "
+"are wasting performance on drawing pixels that are being hidden behind "
+"others."
msgstr ""
-#: doc/classes/RenderingServer.xml:3436
+#: doc/classes/RenderingServer.xml:3507
msgid "Debug draw draws objects in wireframe."
msgstr ""
-#: doc/classes/RenderingServer.xml:3461
+#: doc/classes/RenderingServer.xml:3510
+msgid ""
+"Normal buffer is drawn instead of regular scene so you can see the per-pixel "
+"normals that will be used by post-processing effects."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3513 doc/classes/Viewport.xml:361
+msgid "Objects are displayed with only the albedo value from [GIProbe]s."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3516 doc/classes/Viewport.xml:364
+msgid "Objects are displayed with only the lighting value from [GIProbe]s."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3519 doc/classes/Viewport.xml:367
+msgid "Objects are displayed with only the emission color from [GIProbe]s."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3522 doc/classes/Viewport.xml:370
+msgid ""
+"Draws the shadow atlas that stores shadows from [OmniLight3D]s and "
+"[SpotLight3D]s in the upper left quadrant of the [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3525 doc/classes/Viewport.xml:373
+msgid ""
+"Draws the shadow atlas that stores shadows from [DirectionalLight3D]s in the "
+"upper left quadrant of the [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3530
+msgid ""
+"Draws the screen space ambient occlusion texture instead of the scene so "
+"that you can clearly see how it is affecting objects. In order for this "
+"display mode to work, you must have [member Environment.ssao_enabled] set in "
+"your [WorldEnvironment]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3533 doc/classes/Viewport.xml:381
+msgid ""
+"Draws the roughness limiter post process over the Viewport so you can see "
+"where it has an effect. It must be enabled in [member ProjectSettings."
+"rendering/quality/screen_filters/screen_space_roughness_limiter] to work."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3536
+msgid ""
+"Colors each PSSM split for the [DirectionalLight3D]s in the scene a "
+"different color so you can see where the splits are. In order they will be "
+"colored red, green, blue, yellow."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3541
+msgid ""
+"Uses high quality importance sampling to process the radiance map. In "
+"general, this results in much higher quality than [constant Sky."
+"PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be "
+"used if you plan on changing the sky at runtime. If you are finding that the "
+"reflection is not blurry enough and is showing sparkles or fireflies, try "
+"increasing [member ProjectSettings.rendering/quality/reflections/"
+"ggx_samples]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3544
+msgid ""
+"Uses the fast filtering algorithm to process the radiance map. In general "
+"this results in lower quality, but substantially faster run times.\n"
+"[b]Note:[/b] The fast filtering algorithm is limited to 256x256 cubemaps, so "
+"[member Sky.radiance_size] must be set to [constant Sky.RADIANCE_SIZE_256]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3548
msgid "Use the clear color as background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3464
+#: doc/classes/RenderingServer.xml:3551
msgid "Use a specified color as the background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3467
+#: doc/classes/RenderingServer.xml:3554
msgid "Use a sky resource for the background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3470
+#: doc/classes/RenderingServer.xml:3557
msgid ""
"Use a specified canvas layer as the background. This can be useful for "
"instantiating a 2D scene in a 3D world."
msgstr ""
-#: doc/classes/RenderingServer.xml:3473
+#: doc/classes/RenderingServer.xml:3560
msgid ""
"Do not clear the background, use whatever was rendered last frame as the "
"background."
msgstr ""
-#: doc/classes/RenderingServer.xml:3479
+#: doc/classes/RenderingServer.xml:3566
msgid "Represents the size of the [enum EnvironmentBG] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3506
+#: doc/classes/RenderingServer.xml:3605
msgid "Output color as they came in."
msgstr ""
-#: doc/classes/RenderingServer.xml:3509
+#: doc/classes/RenderingServer.xml:3608
msgid "Use the Reinhard tonemapper."
msgstr ""
-#: doc/classes/RenderingServer.xml:3512
+#: doc/classes/RenderingServer.xml:3611
msgid "Use the filmic tonemapper."
msgstr ""
-#: doc/classes/RenderingServer.xml:3515
+#: doc/classes/RenderingServer.xml:3614
msgid "Use the ACES tonemapper."
msgstr ""
-#: doc/classes/RenderingServer.xml:3518
+#: doc/classes/RenderingServer.xml:3625
msgid "Disables the blur set for SSAO. Will make SSAO look noisier."
msgstr ""
-#: doc/classes/RenderingServer.xml:3521
+#: doc/classes/RenderingServer.xml:3628
msgid "Perform a 1x1 blur on the SSAO output."
msgstr ""
-#: doc/classes/RenderingServer.xml:3524
+#: doc/classes/RenderingServer.xml:3631
msgid "Performs a 2x2 blur on the SSAO output."
msgstr ""
-#: doc/classes/RenderingServer.xml:3527
+#: doc/classes/RenderingServer.xml:3634
msgid "Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO."
msgstr ""
-#: doc/classes/RenderingServer.xml:3530
+#: doc/classes/RenderingServer.xml:3637
msgid "Lowest quality of screen space ambient occlusion."
msgstr ""
-#: doc/classes/RenderingServer.xml:3533
+#: doc/classes/RenderingServer.xml:3640
msgid "Medium quality screen space ambient occlusion."
msgstr ""
-#: doc/classes/RenderingServer.xml:3536
+#: doc/classes/RenderingServer.xml:3643
+msgid "High quality screen space ambient occlusion."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3646
msgid "Highest quality screen space ambient occlusion."
msgstr ""
-#: doc/classes/RenderingServer.xml:3555
+#: doc/classes/RenderingServer.xml:3657
+msgid ""
+"Lowest quality DOF blur. This is the fastest setting, but you may be able to "
+"see filtering artifacts."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3660
+msgid "Low quality DOF blur."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3663
+msgid "Medium quality DOF blur."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3666
+msgid ""
+"Highest quality DOF blur. Results in the smoothest looking blur by taking "
+"the most samples, but is also significantly slower."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3669
+msgid ""
+"Calculate the DOF blur using a box filter. The fastest option, but results "
+"in obvious lines in blur pattern."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3672
+msgid "Calculates DOF blur using a hexagon shaped filter."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3675
+msgid ""
+"Calculates DOF blur using a circle shaped filter. Best quality and most "
+"realistic, but slowest. Use only for areas where a lot of performance can be "
+"dedicated to post-processing (e.g. cutscenes)."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3690
msgid "Do not use a debug mode."
msgstr ""
-#: doc/classes/RenderingServer.xml:3558
+#: doc/classes/RenderingServer.xml:3693
msgid "Draw all objects as wireframe models."
msgstr ""
-#: doc/classes/RenderingServer.xml:3561
+#: doc/classes/RenderingServer.xml:3696
msgid ""
"Draw all objects in a way that displays how much overdraw is occurring. "
"Overdraw occurs when a section of pixels is drawn and shaded and then "
"another object covers it up. To optimize a scene, you should reduce overdraw."
msgstr ""
-#: doc/classes/RenderingServer.xml:3564
+#: doc/classes/RenderingServer.xml:3699
msgid ""
"Draw all objects without shading. Equivalent to setting all objects shaders "
"to [code]unshaded[/code]."
msgstr ""
-#: doc/classes/RenderingServer.xml:3567
+#: doc/classes/RenderingServer.xml:3702
msgid "The instance does not have a type."
msgstr ""
-#: doc/classes/RenderingServer.xml:3570
+#: doc/classes/RenderingServer.xml:3705
msgid "The instance is a mesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:3573
+#: doc/classes/RenderingServer.xml:3708
msgid "The instance is a multimesh."
msgstr ""
-#: doc/classes/RenderingServer.xml:3576
+#: doc/classes/RenderingServer.xml:3711
msgid "The instance is an immediate geometry."
msgstr ""
-#: doc/classes/RenderingServer.xml:3579
+#: doc/classes/RenderingServer.xml:3714
msgid "The instance is a particle emitter."
msgstr ""
-#: doc/classes/RenderingServer.xml:3582
+#: doc/classes/RenderingServer.xml:3717
msgid "The instance is a light."
msgstr ""
-#: doc/classes/RenderingServer.xml:3585
+#: doc/classes/RenderingServer.xml:3720
msgid "The instance is a reflection probe."
msgstr ""
-#: doc/classes/RenderingServer.xml:3588
+#: doc/classes/RenderingServer.xml:3723
+msgid "The instance is a decal."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3726
msgid "The instance is a GI probe."
msgstr ""
-#: doc/classes/RenderingServer.xml:3591
+#: doc/classes/RenderingServer.xml:3729
msgid "The instance is a lightmap capture."
msgstr ""
-#: doc/classes/RenderingServer.xml:3594
+#: doc/classes/RenderingServer.xml:3732
msgid "Represents the size of the [enum InstanceType] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3597
+#: doc/classes/RenderingServer.xml:3735
msgid ""
"A combination of the flags of geometry instances (mesh, multimesh, immediate "
"and particles)."
msgstr ""
-#: doc/classes/RenderingServer.xml:3600
+#: doc/classes/RenderingServer.xml:3738
msgid "Allows the instance to be used in baked lighting."
msgstr ""
-#: doc/classes/RenderingServer.xml:3605
+#: doc/classes/RenderingServer.xml:3741
+msgid "Allows the instance to be used with dynamic global illumination."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3744
msgid "When set, manually requests to draw geometry on next frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3608
+#: doc/classes/RenderingServer.xml:3747
msgid "Represents the size of the [enum InstanceFlags] enum."
msgstr ""
-#: doc/classes/RenderingServer.xml:3611
+#: doc/classes/RenderingServer.xml:3750
msgid "Disable shadows from this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:3614
+#: doc/classes/RenderingServer.xml:3753
msgid "Cast shadows from this instance."
msgstr ""
-#: doc/classes/RenderingServer.xml:3617
+#: doc/classes/RenderingServer.xml:3756
msgid ""
"Disable backface culling when rendering the shadow of the object. This is "
"slightly slower but may result in more correct shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3620
+#: doc/classes/RenderingServer.xml:3759
msgid ""
"Only render the shadows from the object. The object itself will not be drawn."
msgstr ""
-#: doc/classes/RenderingServer.xml:3623
+#: doc/classes/RenderingServer.xml:3762
msgid "The nine patch gets stretched where needed."
msgstr ""
-#: doc/classes/RenderingServer.xml:3626
+#: doc/classes/RenderingServer.xml:3765
msgid "The nine patch gets filled with tiles where needed."
msgstr ""
-#: doc/classes/RenderingServer.xml:3629
+#: doc/classes/RenderingServer.xml:3768
msgid ""
"The nine patch gets filled with tiles where needed and stretches them a bit "
"if needed."
msgstr ""
-#: doc/classes/RenderingServer.xml:3658
+#: doc/classes/RenderingServer.xml:3771
+msgid "Uses the default filter mode for this [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3783 doc/classes/Viewport.xml:399
+msgid ""
+"The texture filter blends between the nearest 4 pixels and between the "
+"nearest 2 mipmaps."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3792
+msgid "Max value for [enum CanvasItemTextureFilter] enum."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3795
+msgid "Uses the default repeat mode for this [Viewport]."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3798 doc/classes/Viewport.xml:405
+msgid ""
+"Disables textures repeating. Instead, when reading UVs outside the 0-1 "
+"range, the value will be clamped to the edge of the texture, resulting in a "
+"stretched out look at the borders of the texture."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3804 doc/classes/Viewport.xml:411
+msgid ""
+"Flip the texture when repeating so that the edge lines up instead of "
+"abruptly changing."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3807
+msgid "Max value for [enum CanvasItemTextureRepeat] enum."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3810
msgid "Adds light color additive to the canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:3661
+#: doc/classes/RenderingServer.xml:3813
msgid "Adds light color subtractive to the canvas."
msgstr ""
-#: doc/classes/RenderingServer.xml:3664
+#: doc/classes/RenderingServer.xml:3816
msgid "The light adds color depending on transparency."
msgstr ""
-#: doc/classes/RenderingServer.xml:3667
+#: doc/classes/RenderingServer.xml:3819
msgid "The light adds color depending on mask."
msgstr ""
-#: doc/classes/RenderingServer.xml:3670
+#: doc/classes/RenderingServer.xml:3822
msgid "Do not apply a filter to canvas light shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3673
+#: doc/classes/RenderingServer.xml:3825
msgid "Use PCF5 filtering to filter canvas light shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3676
+#: doc/classes/RenderingServer.xml:3828
msgid "Use PCF13 filtering to filter canvas light shadows."
msgstr ""
-#: doc/classes/RenderingServer.xml:3681
+#: doc/classes/RenderingServer.xml:3831
+msgid "Max value of the [enum CanvasLightShadowFilter] enum."
+msgstr ""
+
+#: doc/classes/RenderingServer.xml:3834
msgid "Culling of the canvas occluder is disabled."
msgstr ""
-#: doc/classes/RenderingServer.xml:3684
+#: doc/classes/RenderingServer.xml:3837
msgid "Culling of the canvas occluder is clockwise."
msgstr ""
-#: doc/classes/RenderingServer.xml:3687
+#: doc/classes/RenderingServer.xml:3840
msgid "Culling of the canvas occluder is counterclockwise."
msgstr ""
-#: doc/classes/RenderingServer.xml:3690
+#: doc/classes/RenderingServer.xml:3901
msgid "The amount of objects in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3693
+#: doc/classes/RenderingServer.xml:3904
msgid "The amount of vertices in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3696
+#: doc/classes/RenderingServer.xml:3907
msgid "The amount of modified materials in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3699
+#: doc/classes/RenderingServer.xml:3910
msgid "The amount of shader rebinds in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3702
+#: doc/classes/RenderingServer.xml:3913
msgid "The amount of surface changes in the frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3705
+#: doc/classes/RenderingServer.xml:3916
msgid "The amount of draw calls in frame."
msgstr ""
-#: doc/classes/RenderingServer.xml:3720
+#: doc/classes/RenderingServer.xml:3931
msgid "Hardware supports shaders. This enum is currently unused in Godot 3.x."
msgstr ""
-#: doc/classes/RenderingServer.xml:3723
+#: doc/classes/RenderingServer.xml:3934
msgid ""
"Hardware supports multithreading. This enum is currently unused in Godot 3.x."
msgstr ""
@@ -44091,15 +44366,11 @@ msgid ""
"Physics > 2d[/b]."
msgstr ""
-#: doc/classes/RigidBody2D.xml:158 doc/classes/RigidBody3D.xml:174
-msgid "The body's mass."
-msgstr ""
-
#: doc/classes/RigidBody2D.xml:161
msgid "The body's mode. See [enum Mode] for possible values."
msgstr ""
-#: doc/classes/RigidBody2D.xml:164 doc/classes/RigidBody3D.xml:180
+#: doc/classes/RigidBody2D.xml:164 doc/classes/RigidBody3D.xml:181
#: doc/classes/StaticBody2D.xml:22 doc/classes/StaticBody3D.xml:22
msgid ""
"The physics material override for the body.\n"
@@ -44228,22 +44499,32 @@ msgid ""
"for a body."
msgstr ""
+#: doc/classes/RigidBody3D.xml:31
+msgid ""
+"Adds a constant directional force (i.e. acceleration) without affecting "
+"rotation.\n"
+"This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]."
+msgstr ""
+
#: doc/classes/RigidBody3D.xml:43
-msgid "Adds a constant force (i.e. acceleration)."
+msgid ""
+"Adds a constant directional force (i.e. acceleration).\n"
+"The position uses the rotation of the global coordinate system, but is "
+"centered at the object's origin."
msgstr ""
-#: doc/classes/RigidBody3D.xml:52
+#: doc/classes/RigidBody3D.xml:53
msgid ""
"Adds a constant rotational force (i.e. a motor) without affecting position."
msgstr ""
-#: doc/classes/RigidBody3D.xml:61
+#: doc/classes/RigidBody3D.xml:62
msgid ""
"Applies a directional impulse without affecting rotation.\n"
"This is equivalent to [code]apply_impulse(Vector3(0,0,0), impulse)[/code]."
msgstr ""
-#: doc/classes/RigidBody3D.xml:73
+#: doc/classes/RigidBody3D.xml:74
msgid ""
"Applies a positioned impulse to the body. An impulse is time independent! "
"Applying an impulse every frame would result in a framerate-dependent force. "
@@ -44252,19 +44533,19 @@ msgid ""
"at the object's origin."
msgstr ""
-#: doc/classes/RigidBody3D.xml:82
+#: doc/classes/RigidBody3D.xml:83
msgid ""
"Applies a torque impulse which will be affected by the body mass and shape. "
"This will rotate the body around the [code]impulse[/code] vector passed."
msgstr ""
-#: doc/classes/RigidBody3D.xml:91
+#: doc/classes/RigidBody3D.xml:92
msgid ""
"Returns [code]true[/code] if the specified linear or rotational axis is "
"locked."
msgstr ""
-#: doc/classes/RigidBody3D.xml:98
+#: doc/classes/RigidBody3D.xml:99
msgid ""
"Returns a list of the bodies colliding with this one. By default, number of "
"max contacts reported is at 0, see the [member contacts_reported] property "
@@ -44274,64 +44555,32 @@ msgid ""
"physics step. Consider using signals instead."
msgstr ""
-#: doc/classes/RigidBody3D.xml:110
+#: doc/classes/RigidBody3D.xml:111
msgid "Locks the specified linear or rotational axis."
msgstr ""
-#: doc/classes/RigidBody3D.xml:125
+#: doc/classes/RigidBody3D.xml:126
msgid "Damps RigidBody3D's rotational forces."
msgstr ""
-#: doc/classes/RigidBody3D.xml:128
+#: doc/classes/RigidBody3D.xml:129
msgid "RigidBody3D's rotational velocity."
msgstr ""
-#: doc/classes/RigidBody3D.xml:131
-msgid "Lock the body's rotation in the X axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:134
-msgid "Lock the body's rotation in the Y axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:137
-msgid "Lock the body's rotation in the Z axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:140
-msgid "Lock the body's movement in the X axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:143
-msgid "Lock the body's movement in the Y axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:146
-msgid "Lock the body's movement in the Z axis."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:149
-msgid ""
-"If [code]true[/code], the RigidBody3D will not calculate forces and will act "
-"as a static body while there is no movement. It will wake up when forces are "
-"applied through other collisions or when the [code]apply_impulse[/code] "
-"method is used."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:152
+#: doc/classes/RigidBody3D.xml:153
msgid ""
"If [code]true[/code], the RigidBody3D will emit signals when it collides "
"with another RigidBody3D."
msgstr ""
-#: doc/classes/RigidBody3D.xml:155
+#: doc/classes/RigidBody3D.xml:156
msgid ""
"The maximum contacts to report. Bodies can keep a log of the contacts with "
"other bodies, this is enabled by setting the maximum amount of contacts "
"reported to a number greater than 0."
msgstr ""
-#: doc/classes/RigidBody3D.xml:158
+#: doc/classes/RigidBody3D.xml:159
msgid ""
"If [code]true[/code], continuous collision detection is used.\n"
"Continuous collision detection tries to predict where a moving body will "
@@ -44341,7 +44590,7 @@ msgid ""
"faster to compute, but can miss small, fast-moving objects."
msgstr ""
-#: doc/classes/RigidBody3D.xml:162
+#: doc/classes/RigidBody3D.xml:163
msgid ""
"If [code]true[/code], internal force integration will be disabled (like "
"gravity or air friction) for this body. Other than collision response, the "
@@ -44349,7 +44598,7 @@ msgid ""
"function, if defined."
msgstr ""
-#: doc/classes/RigidBody3D.xml:165
+#: doc/classes/RigidBody3D.xml:166
msgid ""
"This is multiplied by the global 3D gravity setting found in [b]Project > "
"Project Settings > Physics > 3d[/b] to produce RigidBody3D's gravity. For "
@@ -44357,14 +44606,14 @@ msgid ""
"and 0.5 will apply half gravity to this object."
msgstr ""
-#: doc/classes/RigidBody3D.xml:168
+#: doc/classes/RigidBody3D.xml:169
msgid ""
"The body's linear damp. Cannot be less than -1.0. If this value is different "
"from -1.0, any linear damp derived from the world or areas will be "
"overridden."
msgstr ""
-#: doc/classes/RigidBody3D.xml:171
+#: doc/classes/RigidBody3D.xml:172
msgid ""
"The body's linear velocity. Can be used sporadically, but [b]don't set this "
"every frame[/b], because physics may run in another thread and runs at a "
@@ -44372,35 +44621,29 @@ msgid ""
"for precise control of the body state."
msgstr ""
-#: doc/classes/RigidBody3D.xml:177
+#: doc/classes/RigidBody3D.xml:178
msgid "The body mode. See [enum Mode] for possible values."
msgstr ""
-#: doc/classes/RigidBody3D.xml:184
+#: doc/classes/RigidBody3D.xml:185
msgid ""
"If [code]true[/code], the body is sleeping and will not calculate forces "
"until woken up by a collision or the [code]apply_impulse[/code] method."
msgstr ""
-#: doc/classes/RigidBody3D.xml:187
-msgid ""
-"The body's weight based on its mass and the global 3D gravity. Global values "
-"are set in [b]Project > Project Settings > Physics > 3d[/b]."
-msgstr ""
-
-#: doc/classes/RigidBody3D.xml:195
+#: doc/classes/RigidBody3D.xml:196
msgid ""
"Emitted when a body enters into contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work."
msgstr ""
-#: doc/classes/RigidBody3D.xml:202
+#: doc/classes/RigidBody3D.xml:203
msgid ""
"Emitted when a body shape exits contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work."
msgstr ""
-#: doc/classes/RigidBody3D.xml:215
+#: doc/classes/RigidBody3D.xml:216
msgid ""
"Emitted when a body enters into contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work.\n"
@@ -44410,7 +44653,7 @@ msgid ""
"([code]local_shape[/code]) the other body collided with."
msgstr ""
-#: doc/classes/RigidBody3D.xml:229
+#: doc/classes/RigidBody3D.xml:230
msgid ""
"Emitted when a body shape exits contact with this one. Contact monitor and "
"contacts reported must be enabled for this to work.\n"
@@ -44420,30 +44663,30 @@ msgid ""
"([code]local_shape[/code]) the other body stopped colliding with."
msgstr ""
-#: doc/classes/RigidBody3D.xml:235
+#: doc/classes/RigidBody3D.xml:236
msgid ""
"Emitted when the body changes its sleeping state. Either by sleeping or "
"waking up."
msgstr ""
-#: doc/classes/RigidBody3D.xml:241
+#: doc/classes/RigidBody3D.xml:242
msgid ""
"Rigid body mode. This is the \"natural\" state of a rigid body. It is "
"affected by forces, and can move, rotate, and be affected by user code."
msgstr ""
-#: doc/classes/RigidBody3D.xml:244
+#: doc/classes/RigidBody3D.xml:245
msgid ""
"Static mode. The body behaves like a [StaticBody3D], and can only move by "
"user code."
msgstr ""
-#: doc/classes/RigidBody3D.xml:247
+#: doc/classes/RigidBody3D.xml:248
msgid ""
"Character body mode. This behaves like a rigid body, but can not rotate."
msgstr ""
-#: doc/classes/RigidBody3D.xml:250
+#: doc/classes/RigidBody3D.xml:251
msgid ""
"Kinematic body mode. The body behaves like a [KinematicBody3D], and can only "
"move by user code."
@@ -45067,27 +45310,33 @@ msgstr ""
msgid "Godot editor's script editor."
msgstr ""
-#: doc/classes/ScriptEditor.xml:39
+#: doc/classes/ScriptEditor.xml:7
+msgid ""
+"[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access "
+"the singleton using [method EditorInterface.get_script_editor]."
+msgstr ""
+
+#: doc/classes/ScriptEditor.xml:40
msgid "Returns a [Script] that is currently active in editor."
msgstr ""
-#: doc/classes/ScriptEditor.xml:56
+#: doc/classes/ScriptEditor.xml:57
msgid ""
"Returns an array with all [Script] objects which are currently open in "
"editor."
msgstr ""
-#: doc/classes/ScriptEditor.xml:65
+#: doc/classes/ScriptEditor.xml:66
msgid "Goes to the specified line in the current script."
msgstr ""
-#: doc/classes/ScriptEditor.xml:84
+#: doc/classes/ScriptEditor.xml:85
msgid ""
"Emitted when user changed active script. Argument is a freshly activated "
"[Script]."
msgstr ""
-#: doc/classes/ScriptEditor.xml:91
+#: doc/classes/ScriptEditor.xml:92
msgid ""
"Emitted when editor is about to close the active script. Argument is a "
"[Script] that is going to be closed."
@@ -45149,7 +45398,7 @@ msgid ""
"visible."
msgstr ""
-#: doc/classes/ScrollContainer.xml:37 doc/classes/TextEdit.xml:441
+#: doc/classes/ScrollContainer.xml:37 doc/classes/TextEdit.xml:442
msgid "The current horizontal scroll value."
msgstr ""
@@ -45157,7 +45406,7 @@ msgstr ""
msgid "If [code]true[/code], enables horizontal scrolling."
msgstr ""
-#: doc/classes/ScrollContainer.xml:43 doc/classes/TextEdit.xml:444
+#: doc/classes/ScrollContainer.xml:43 doc/classes/TextEdit.xml:445
msgid "The current vertical scroll value."
msgstr ""
@@ -45687,7 +45936,10 @@ msgid ""
"Uses high quality importance sampling to process the radiance map. In "
"general, this results in much higher quality than [constant "
"PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be "
-"used if you plan on changing the sky at runtime."
+"used if you plan on changing the sky at runtime. If you are finding that the "
+"reflection is not blurry enough and is showing sparkles or fireflies, try "
+"increasing [member ProjectSettings.rendering/quality/reflections/"
+"ggx_samples]."
msgstr ""
#: doc/classes/Sky.xml:55
@@ -47881,65 +48133,65 @@ msgid ""
msgstr ""
#: doc/classes/SubViewport.xml:13
-msgid "If [code]true[/code], the sub-viewport will be used in AR/VR process."
-msgstr ""
-
-#: doc/classes/SubViewport.xml:16
msgid "The clear mode when the sub-viewport is used as a render target."
msgstr ""
-#: doc/classes/SubViewport.xml:19
+#: doc/classes/SubViewport.xml:16
msgid "The update mode when the sub-viewport is used as a render target."
msgstr ""
-#: doc/classes/SubViewport.xml:22
+#: doc/classes/SubViewport.xml:19
msgid "The width and height of the sub-viewport."
msgstr ""
-#: doc/classes/SubViewport.xml:25
+#: doc/classes/SubViewport.xml:22
msgid ""
"The 2D size override of the sub-viewport. If either the width or height is "
"[code]0[/code], the override is disabled."
msgstr ""
-#: doc/classes/SubViewport.xml:28
+#: doc/classes/SubViewport.xml:25
msgid "If [code]true[/code], the 2D size override affects stretch as well."
msgstr ""
+#: doc/classes/SubViewport.xml:28
+msgid "If [code]true[/code], the sub-viewport will be used in AR/VR process."
+msgstr ""
+
#: doc/classes/SubViewport.xml:33
-msgid "Do not update the render target."
+msgid "Always clear the render target before drawing."
msgstr ""
#: doc/classes/SubViewport.xml:36
-msgid ""
-"Update the render target once, then switch to [constant UPDATE_DISABLED]."
+msgid "Never clear the render target."
msgstr ""
#: doc/classes/SubViewport.xml:39
msgid ""
-"Update the render target only when it is visible. This is the default value."
+"Clear the render target next frame, then switch to [constant "
+"CLEAR_MODE_NEVER]."
msgstr ""
#: doc/classes/SubViewport.xml:42
-msgid "Update the render target only when the its parent is visible."
+msgid "Do not update the render target."
msgstr ""
#: doc/classes/SubViewport.xml:45
-msgid "Always update the render target."
+msgid ""
+"Update the render target once, then switch to [constant UPDATE_DISABLED]."
msgstr ""
#: doc/classes/SubViewport.xml:48
-msgid "Always clear the render target before drawing."
+msgid ""
+"Update the render target only when it is visible. This is the default value."
msgstr ""
#: doc/classes/SubViewport.xml:51
-msgid "Never clear the render target."
+msgid "Update the render target only when the its parent is visible."
msgstr ""
#: doc/classes/SubViewport.xml:54
-msgid ""
-"Clear the render target next frame, then switch to [constant "
-"CLEAR_MODE_NEVER]."
+msgid "Always update the render target."
msgstr ""
#: doc/classes/SubViewportContainer.xml:4
@@ -47994,85 +48246,90 @@ msgid ""
"information to a mesh.\n"
"Additionally, the attributes used before the first vertex is added determine "
"the format of the mesh. For example, if you only add UVs to the first "
-"vertex, you cannot add color to any of the subsequent vertices."
+"vertex, you cannot add color to any of the subsequent vertices.\n"
+"See also [ArrayMesh], [ImmediateGeometry3D] and [MeshDataTool] for "
+"procedural geometry generation.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
msgstr ""
-#: doc/classes/SurfaceTool.xml:28
+#: doc/classes/SurfaceTool.xml:30
msgid ""
"Adds an array of bones for the next vertex to use. [code]bones[/code] must "
"contain 4 integers."
msgstr ""
-#: doc/classes/SurfaceTool.xml:37
+#: doc/classes/SurfaceTool.xml:39
msgid "Specifies a [Color] for the next vertex to use."
msgstr ""
-#: doc/classes/SurfaceTool.xml:46
+#: doc/classes/SurfaceTool.xml:48
msgid ""
"Adds an index to index array if you are using indexed vertices. Does not "
"need to be called before adding vertices."
msgstr ""
-#: doc/classes/SurfaceTool.xml:55
+#: doc/classes/SurfaceTool.xml:57
msgid "Specifies a normal for the next vertex to use."
msgstr ""
-#: doc/classes/SurfaceTool.xml:64
+#: doc/classes/SurfaceTool.xml:66
msgid ""
"Specifies whether the current vertex (if using only vertex arrays) or "
"current index (if also using index arrays) should use smooth normals for "
"normal calculation."
msgstr ""
-#: doc/classes/SurfaceTool.xml:73
+#: doc/classes/SurfaceTool.xml:75
msgid "Specifies a tangent for the next vertex to use."
msgstr ""
-#: doc/classes/SurfaceTool.xml:92
+#: doc/classes/SurfaceTool.xml:94
msgid ""
"Inserts a triangle fan made of array data into [Mesh] being constructed.\n"
"Requires the primitive type be set to [constant Mesh.PRIMITIVE_TRIANGLES]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:102
+#: doc/classes/SurfaceTool.xml:104
msgid "Specifies a set of UV coordinates to use for the next vertex."
msgstr ""
-#: doc/classes/SurfaceTool.xml:111
+#: doc/classes/SurfaceTool.xml:113
msgid ""
"Specifies an optional second set of UV coordinates to use for the next "
"vertex."
msgstr ""
-#: doc/classes/SurfaceTool.xml:120
+#: doc/classes/SurfaceTool.xml:122
msgid ""
"Specifies the position of current vertex. Should be called after specifying "
"other vertex properties (e.g. Color, UV)."
msgstr ""
-#: doc/classes/SurfaceTool.xml:129
+#: doc/classes/SurfaceTool.xml:131
msgid ""
"Specifies weight values for next vertex to use. [code]weights[/code] must "
"contain 4 values."
msgstr ""
-#: doc/classes/SurfaceTool.xml:142
+#: doc/classes/SurfaceTool.xml:144
msgid ""
"Append vertices from a given [Mesh] surface onto the current vertex array "
"with specified [Transform]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:151
+#: doc/classes/SurfaceTool.xml:153
msgid ""
"Called before adding any vertices. Takes the primitive type as an argument "
"(e.g. [constant Mesh.PRIMITIVE_TRIANGLES])."
msgstr ""
-#: doc/classes/SurfaceTool.xml:158
+#: doc/classes/SurfaceTool.xml:160
msgid "Clear all information passed into the surface tool so far."
msgstr ""
-#: doc/classes/SurfaceTool.xml:169
+#: doc/classes/SurfaceTool.xml:171
msgid ""
"Returns a constructed [ArrayMesh] from current information passed in. If an "
"existing [ArrayMesh] is passed in as an argument, will add an extra surface "
@@ -48082,28 +48339,28 @@ msgid ""
"flags."
msgstr ""
-#: doc/classes/SurfaceTool.xml:177
+#: doc/classes/SurfaceTool.xml:179
msgid ""
"Commits the data to the same format used by [method ArrayMesh."
"add_surface_from_arrays]. This way you can further process the mesh data "
"using the [ArrayMesh] API."
msgstr ""
-#: doc/classes/SurfaceTool.xml:188
+#: doc/classes/SurfaceTool.xml:190
msgid "Creates a vertex array from an existing [Mesh]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:201
+#: doc/classes/SurfaceTool.xml:203
msgid ""
"Creates a vertex array from the specified blend shape of an existing [Mesh]. "
"This can be used to extract a specific pose from a blend shape."
msgstr ""
-#: doc/classes/SurfaceTool.xml:208
+#: doc/classes/SurfaceTool.xml:210
msgid "Removes the index array by expanding the vertex array."
msgstr ""
-#: doc/classes/SurfaceTool.xml:217
+#: doc/classes/SurfaceTool.xml:219
msgid ""
"Generates normals from vertices so you do not have to do it manually. If "
"[code]flip[/code] is [code]true[/code], the resulting normals will be "
@@ -48111,19 +48368,19 @@ msgid ""
"Requires the primitive type to be set to [constant Mesh.PRIMITIVE_TRIANGLES]."
msgstr ""
-#: doc/classes/SurfaceTool.xml:225
+#: doc/classes/SurfaceTool.xml:227
msgid ""
"Generates a tangent vector for each vertex. Requires that each vertex have "
"UVs and normals set already."
msgstr ""
-#: doc/classes/SurfaceTool.xml:232
+#: doc/classes/SurfaceTool.xml:234
msgid ""
"Shrinks the vertex array by creating an index array (avoids reusing "
"vertices)."
msgstr ""
-#: doc/classes/SurfaceTool.xml:241
+#: doc/classes/SurfaceTool.xml:243
msgid "Sets [Material] to be used by the [Mesh] you are constructing."
msgstr ""
@@ -48157,7 +48414,7 @@ msgid "Returns the previously active tab index."
msgstr ""
#: doc/classes/TabContainer.xml:42
-msgid "Returns the currently visible tab's [Control] node."
+msgid "Returns the [Control] node from the tab at index [code]tab_idx[/code]."
msgstr ""
#: doc/classes/TabContainer.xml:49 doc/classes/Tabs.xml:50
@@ -48826,151 +49083,163 @@ msgstr ""
msgid "If [code]true[/code], the line containing the cursor is highlighted."
msgstr ""
-#: doc/classes/TextEdit.xml:438
+#: doc/classes/TextEdit.xml:436
+msgid ""
+"If [code]true[/code], custom [code]font_color_selected[/code] will be used "
+"for selected text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml:439
msgid ""
"If [code]true[/code], read-only mode is enabled. Existing text cannot be "
"modified and new text cannot be added."
msgstr ""
-#: doc/classes/TextEdit.xml:451
+#: doc/classes/TextEdit.xml:452
msgid ""
"If [code]true[/code], line numbers are displayed to the left of the text."
msgstr ""
-#: doc/classes/TextEdit.xml:454
+#: doc/classes/TextEdit.xml:455
msgid ""
"If [code]true[/code], sets the [code]step[/code] of the scrollbars to "
"[code]0.25[/code] which results in smoother scrolling."
msgstr ""
-#: doc/classes/TextEdit.xml:457
+#: doc/classes/TextEdit.xml:458
msgid ""
"If [code]true[/code], any custom color properties that have been set for "
"this [TextEdit] will be visible."
msgstr ""
-#: doc/classes/TextEdit.xml:460
+#: doc/classes/TextEdit.xml:461
msgid "String value of the [TextEdit]."
msgstr ""
-#: doc/classes/TextEdit.xml:463
+#: doc/classes/TextEdit.xml:464
msgid "Vertical scroll sensitivity."
msgstr ""
-#: doc/classes/TextEdit.xml:466
+#: doc/classes/TextEdit.xml:467
msgid ""
"If [code]true[/code], enables text wrapping when it goes beyond the edge of "
"what is visible."
msgstr ""
-#: doc/classes/TextEdit.xml:474
+#: doc/classes/TextEdit.xml:475
msgid "Emitted when a breakpoint is placed via the breakpoint gutter."
msgstr ""
-#: doc/classes/TextEdit.xml:479
+#: doc/classes/TextEdit.xml:480
msgid "Emitted when the cursor changes."
msgstr ""
-#: doc/classes/TextEdit.xml:488
+#: doc/classes/TextEdit.xml:489
msgid "Emitted when the info icon is clicked."
msgstr ""
-#: doc/classes/TextEdit.xml:519
+#: doc/classes/TextEdit.xml:520
msgid "Match case when searching."
msgstr ""
-#: doc/classes/TextEdit.xml:522
+#: doc/classes/TextEdit.xml:523
msgid "Match whole words when searching."
msgstr ""
-#: doc/classes/TextEdit.xml:525
+#: doc/classes/TextEdit.xml:526
msgid "Search from end to beginning."
msgstr ""
-#: doc/classes/TextEdit.xml:528
+#: doc/classes/TextEdit.xml:529
msgid "Used to access the result column from [method search]."
msgstr ""
-#: doc/classes/TextEdit.xml:531
+#: doc/classes/TextEdit.xml:532
msgid "Used to access the result line from [method search]."
msgstr ""
-#: doc/classes/TextEdit.xml:540
+#: doc/classes/TextEdit.xml:541
msgid ""
"Pastes the clipboard text over the selected text (or at the cursor's "
"position)."
msgstr ""
-#: doc/classes/TextEdit.xml:543
+#: doc/classes/TextEdit.xml:544
msgid "Erases the whole [TextEdit] text."
msgstr ""
-#: doc/classes/TextEdit.xml:546
+#: doc/classes/TextEdit.xml:547
msgid "Selects the whole [TextEdit] text."
msgstr ""
-#: doc/classes/TextEdit.xml:552
+#: doc/classes/TextEdit.xml:553
msgid "Redoes the previous action."
msgstr ""
-#: doc/classes/TextEdit.xml:560
+#: doc/classes/TextEdit.xml:561
msgid ""
"Sets the background [Color] of this [TextEdit]. [member syntax_highlighting] "
"has to be enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:563
+#: doc/classes/TextEdit.xml:564
msgid ""
"Sets the [Color] of the bookmark marker. [member syntax_highlighting] has to "
"be enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:568 doc/classes/TextEdit.xml:595
+#: doc/classes/TextEdit.xml:569 doc/classes/TextEdit.xml:596
msgid ""
"Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be "
"enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:606
+#: doc/classes/TextEdit.xml:607
msgid "Sets the default [Font]."
msgstr ""
-#: doc/classes/TextEdit.xml:609
+#: doc/classes/TextEdit.xml:610
msgid "Sets the font [Color]."
msgstr ""
-#: doc/classes/TextEdit.xml:618
+#: doc/classes/TextEdit.xml:615
+msgid ""
+"Sets the [Color] of the selected text. [member override_selected_font_color] "
+"has to be enabled."
+msgstr ""
+
+#: doc/classes/TextEdit.xml:620
msgid ""
"Sets the [Color] of the line numbers. [member show_line_numbers] has to be "
"enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:621
+#: doc/classes/TextEdit.xml:623
msgid "Sets the spacing between the lines."
msgstr ""
-#: doc/classes/TextEdit.xml:624
+#: doc/classes/TextEdit.xml:626
msgid "Sets the [Color] of marked text."
msgstr ""
-#: doc/classes/TextEdit.xml:629
+#: doc/classes/TextEdit.xml:631
msgid "Sets the [StyleBox] of this [TextEdit]."
msgstr ""
-#: doc/classes/TextEdit.xml:634
+#: doc/classes/TextEdit.xml:636
msgid ""
"Sets the [StyleBox] of this [TextEdit] when [member readonly] is enabled."
msgstr ""
-#: doc/classes/TextEdit.xml:639
+#: doc/classes/TextEdit.xml:641
msgid "Sets the highlight [Color] of text selections."
msgstr ""
-#: doc/classes/TextEdit.xml:646
+#: doc/classes/TextEdit.xml:648
msgid "Sets a custom [Texture2D] for tab text characters."
msgstr ""
-#: doc/classes/TextEdit.xml:649
+#: doc/classes/TextEdit.xml:651
msgid ""
"Sets the highlight [Color] of multiple occurrences. [member "
"highlight_all_occurrences] has to be enabled."
@@ -49642,8 +49911,8 @@ msgstr ""
#: doc/classes/TileMap.xml:46
msgid ""
-"Returns the coordinate of the autotile variation in the tileset. Returns a "
-"zero vector if the cell doesn't have autotiling."
+"Returns the coordinate (subtile column and row) of the autotile variation in "
+"the tileset. Returns a zero vector if the cell doesn't have autotiling."
msgstr ""
#: doc/classes/TileMap.xml:55
@@ -49700,7 +49969,8 @@ msgid ""
"Sets the tile index for the cell given by a Vector2.\n"
"An index of [code]-1[/code] clears the cell.\n"
"Optionally, the tile can also be flipped, transposed, or given autotile "
-"coordinates.\n"
+"coordinates. The autotile coordinate refers to the column and row of the "
+"subtile.\n"
"[b]Note:[/b] Data such as navigation polygons and collision shapes are not "
"immediately updated for performance reasons.\n"
"If you need these to be immediately updated, you can call [method "
@@ -50507,9 +50777,10 @@ msgid ""
"using matrix multiplication. The axis must be a normalized vector."
msgstr ""
-#: doc/classes/Transform.xml:138 doc/classes/Transform2D.xml:140
+#: doc/classes/Transform.xml:138
msgid ""
-"Scales the transform by the given scale factor, using matrix multiplication."
+"Scales basis and origin of the transform by the given scale factor, using "
+"matrix multiplication."
msgstr ""
#: doc/classes/Transform.xml:147 doc/classes/Transform2D.xml:149
@@ -50619,6 +50890,11 @@ msgid ""
"multiplication."
msgstr ""
+#: doc/classes/Transform2D.xml:140
+msgid ""
+"Scales the transform by the given scale factor, using matrix multiplication."
+msgstr ""
+
#: doc/classes/Transform2D.xml:159
msgid ""
"Transforms the given [Vector2], [Rect2], or [PackedVector2Array] by this "
@@ -50776,7 +51052,8 @@ msgid ""
"[/codeblock]\n"
"To iterate over all the [TreeItem] objects in a [Tree] object, use [method "
"TreeItem.get_next] and [method TreeItem.get_children] after getting the root "
-"through [method get_root]."
+"through [method get_root]. You can use [method Object.free] on a [TreeItem] "
+"to remove it from the [Tree]."
msgstr ""
#: doc/classes/Tree.xml:28
@@ -51262,10 +51539,11 @@ msgstr ""
#: doc/classes/TreeItem.xml:7
msgid ""
"Control for a single item inside a [Tree]. May have child [TreeItem]s and be "
-"styled as well as contain buttons."
+"styled as well as contain buttons.\n"
+"You can remove a [TreeItem] by using [method Object.free]."
msgstr ""
-#: doc/classes/TreeItem.xml:26
+#: doc/classes/TreeItem.xml:27
msgid ""
"Adds a button with [Texture2D] [code]button[/code] at column [code]column[/"
"code]. The [code]button_idx[/code] index is used to identify the button when "
@@ -51275,89 +51553,89 @@ msgid ""
"have a [code]tooltip[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:35
+#: doc/classes/TreeItem.xml:36
msgid ""
"Calls the [code]method[/code] on the actual TreeItem and its children "
"recursively. Pass parameters as a comma separated list."
msgstr ""
-#: doc/classes/TreeItem.xml:44
+#: doc/classes/TreeItem.xml:45
msgid "Resets the background color for the given column to default."
msgstr ""
-#: doc/classes/TreeItem.xml:53
+#: doc/classes/TreeItem.xml:54
msgid "Resets the color for the given column to default."
msgstr ""
-#: doc/classes/TreeItem.xml:62
+#: doc/classes/TreeItem.xml:63
msgid "Deselects the given column."
msgstr ""
-#: doc/classes/TreeItem.xml:73
+#: doc/classes/TreeItem.xml:74
msgid ""
"Removes the button at index [code]button_idx[/code] in column [code]column[/"
"code]."
msgstr ""
-#: doc/classes/TreeItem.xml:84
+#: doc/classes/TreeItem.xml:85
msgid ""
"Returns the [Texture2D] of the button at index [code]button_idx[/code] in "
"column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:93
+#: doc/classes/TreeItem.xml:94
msgid ""
"Returns the number of buttons in column [code]column[/code]. May be used to "
"get the most recently added button's index, if no index was specified."
msgstr ""
-#: doc/classes/TreeItem.xml:104
+#: doc/classes/TreeItem.xml:105
msgid ""
"Returns the tooltip string for the button at index [code]button_idx[/code] "
"in column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:113
+#: doc/classes/TreeItem.xml:114
msgid "Returns the column's cell mode."
msgstr ""
-#: doc/classes/TreeItem.xml:120
+#: doc/classes/TreeItem.xml:121
msgid "Returns the TreeItem's child items."
msgstr ""
-#: doc/classes/TreeItem.xml:129
+#: doc/classes/TreeItem.xml:130
msgid "Returns the custom background color of column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:138
+#: doc/classes/TreeItem.xml:139
msgid "Returns the custom color of column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:147
+#: doc/classes/TreeItem.xml:148
msgid "Returns [code]true[/code] if [code]expand_right[/code] is set."
msgstr ""
-#: doc/classes/TreeItem.xml:156
+#: doc/classes/TreeItem.xml:157
msgid "Returns the given column's icon [Texture2D]. Error if no icon is set."
msgstr ""
-#: doc/classes/TreeItem.xml:165
+#: doc/classes/TreeItem.xml:166
msgid "Returns the column's icon's maximum width."
msgstr ""
-#: doc/classes/TreeItem.xml:174
+#: doc/classes/TreeItem.xml:175
msgid "Returns the [Color] modulating the column's icon."
msgstr ""
-#: doc/classes/TreeItem.xml:183
+#: doc/classes/TreeItem.xml:184
msgid "Returns the icon [Texture2D] region as [Rect2]."
msgstr ""
-#: doc/classes/TreeItem.xml:198
+#: doc/classes/TreeItem.xml:199
msgid "Returns the next TreeItem in the tree."
msgstr ""
-#: doc/classes/TreeItem.xml:207
+#: doc/classes/TreeItem.xml:208
msgid ""
"Returns the next visible TreeItem in the tree.\n"
"If [code]wrap[/code] is enabled, the method will wrap around to the first "
@@ -51365,15 +51643,15 @@ msgid ""
"otherwise it returns [code]null[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:215
+#: doc/classes/TreeItem.xml:216
msgid "Returns the parent TreeItem."
msgstr ""
-#: doc/classes/TreeItem.xml:222
+#: doc/classes/TreeItem.xml:223
msgid "Returns the previous TreeItem in the tree."
msgstr ""
-#: doc/classes/TreeItem.xml:231
+#: doc/classes/TreeItem.xml:232
msgid ""
"Returns the previous visible TreeItem in the tree.\n"
"If [code]wrap[/code] is enabled, the method will wrap around to the last "
@@ -51381,89 +51659,92 @@ msgid ""
"otherwise it returns [code]null[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:257
+#: doc/classes/TreeItem.xml:258
msgid "Returns the given column's text."
msgstr ""
-#: doc/classes/TreeItem.xml:266
+#: doc/classes/TreeItem.xml:267
msgid "Returns the given column's text alignment."
msgstr ""
-#: doc/classes/TreeItem.xml:275
+#: doc/classes/TreeItem.xml:276
msgid "Returns the given column's tooltip."
msgstr ""
-#: doc/classes/TreeItem.xml:286
+#: doc/classes/TreeItem.xml:287
msgid ""
"Returns [code]true[/code] if the button at index [code]button_idx[/code] for "
"the given column is disabled."
msgstr ""
-#: doc/classes/TreeItem.xml:295
+#: doc/classes/TreeItem.xml:296
msgid "Returns [code]true[/code] if the given column is checked."
msgstr ""
-#: doc/classes/TreeItem.xml:312
+#: doc/classes/TreeItem.xml:313
msgid "Returns [code]true[/code] if column [code]column[/code] is editable."
msgstr ""
-#: doc/classes/TreeItem.xml:321
+#: doc/classes/TreeItem.xml:322
msgid "Returns [code]true[/code] if column [code]column[/code] is selectable."
msgstr ""
-#: doc/classes/TreeItem.xml:330
+#: doc/classes/TreeItem.xml:331
msgid "Returns [code]true[/code] if column [code]column[/code] is selected."
msgstr ""
-#: doc/classes/TreeItem.xml:337
+#: doc/classes/TreeItem.xml:338
msgid "Moves this TreeItem to the bottom in the [Tree] hierarchy."
msgstr ""
-#: doc/classes/TreeItem.xml:344
+#: doc/classes/TreeItem.xml:345
msgid "Moves this TreeItem to the top in the [Tree] hierarchy."
msgstr ""
-#: doc/classes/TreeItem.xml:353
-msgid "Removes the given child TreeItem."
+#: doc/classes/TreeItem.xml:354
+msgid ""
+"Removes the given child [TreeItem] and all its children from the [Tree]. "
+"Note that it doesn't free the item from memory, so it can be reused later. "
+"To completely remove a [TreeItem] use [method Object.free]."
msgstr ""
-#: doc/classes/TreeItem.xml:362
+#: doc/classes/TreeItem.xml:363
msgid "Selects the column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:375
+#: doc/classes/TreeItem.xml:376
msgid ""
"Sets the given column's button [Texture2D] at index [code]button_idx[/code] "
"to [code]button[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:388
+#: doc/classes/TreeItem.xml:389
msgid ""
"If [code]true[/code], disables the button at index [code]button_idx[/code] "
"in column [code]column[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:399
+#: doc/classes/TreeItem.xml:400
msgid ""
"Sets the given column's cell mode to [code]mode[/code]. See [enum "
"TreeCellMode] constants."
msgstr ""
-#: doc/classes/TreeItem.xml:410
+#: doc/classes/TreeItem.xml:411
msgid "If [code]true[/code], the column [code]column[/code] is checked."
msgstr ""
-#: doc/classes/TreeItem.xml:433
+#: doc/classes/TreeItem.xml:434
msgid ""
"Sets the given column's custom background color and whether to just use it "
"as an outline."
msgstr ""
-#: doc/classes/TreeItem.xml:444
+#: doc/classes/TreeItem.xml:445
msgid "Sets the given column's custom color."
msgstr ""
-#: doc/classes/TreeItem.xml:457
+#: doc/classes/TreeItem.xml:458
msgid ""
"Sets the given column's custom draw callback to [code]callback[/code] method "
"on [code]object[/code].\n"
@@ -51471,82 +51752,82 @@ msgid ""
"is drawn and its position and size as a [Rect2]."
msgstr ""
-#: doc/classes/TreeItem.xml:469
+#: doc/classes/TreeItem.xml:470
msgid "If [code]true[/code], column [code]column[/code] is editable."
msgstr ""
-#: doc/classes/TreeItem.xml:480
+#: doc/classes/TreeItem.xml:481
msgid ""
"If [code]true[/code], column [code]column[/code] is expanded to the right."
msgstr ""
-#: doc/classes/TreeItem.xml:491
+#: doc/classes/TreeItem.xml:492
msgid "Sets the given column's icon [Texture2D]."
msgstr ""
-#: doc/classes/TreeItem.xml:502
+#: doc/classes/TreeItem.xml:503
msgid "Sets the given column's icon's maximum width."
msgstr ""
-#: doc/classes/TreeItem.xml:513
+#: doc/classes/TreeItem.xml:514
msgid "Modulates the given column's icon with [code]modulate[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:524
+#: doc/classes/TreeItem.xml:525
msgid "Sets the given column's icon's texture region."
msgstr ""
-#: doc/classes/TreeItem.xml:571
+#: doc/classes/TreeItem.xml:572
msgid "If [code]true[/code], the given column is selectable."
msgstr ""
-#: doc/classes/TreeItem.xml:592
+#: doc/classes/TreeItem.xml:593
msgid ""
"Sets the given column's text alignment. See [enum TextAlign] for possible "
"values."
msgstr ""
-#: doc/classes/TreeItem.xml:603
+#: doc/classes/TreeItem.xml:604
msgid "Sets the given column's tooltip text."
msgstr ""
-#: doc/classes/TreeItem.xml:609
+#: doc/classes/TreeItem.xml:610
msgid "If [code]true[/code], the TreeItem is collapsed."
msgstr ""
-#: doc/classes/TreeItem.xml:612
+#: doc/classes/TreeItem.xml:613
msgid "The custom minimum height."
msgstr ""
-#: doc/classes/TreeItem.xml:615
+#: doc/classes/TreeItem.xml:616
msgid "If [code]true[/code], folding is disabled for this TreeItem."
msgstr ""
-#: doc/classes/TreeItem.xml:620
+#: doc/classes/TreeItem.xml:621
msgid "Cell contains a string."
msgstr ""
-#: doc/classes/TreeItem.xml:623
+#: doc/classes/TreeItem.xml:624
msgid "Cell can be checked."
msgstr ""
-#: doc/classes/TreeItem.xml:626
+#: doc/classes/TreeItem.xml:627
msgid "Cell contains a range."
msgstr ""
-#: doc/classes/TreeItem.xml:629
+#: doc/classes/TreeItem.xml:630
msgid "Cell contains an icon."
msgstr ""
-#: doc/classes/TreeItem.xml:634
+#: doc/classes/TreeItem.xml:635
msgid "Align text to the left. See [code]set_text_align()[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:637
+#: doc/classes/TreeItem.xml:638
msgid "Center text. See [code]set_text_align()[/code]."
msgstr ""
-#: doc/classes/TreeItem.xml:640
+#: doc/classes/TreeItem.xml:641
msgid "Align text to the right. See [code]set_text_align()[/code]."
msgstr ""
@@ -51572,8 +51853,8 @@ msgid ""
"know the final values in advance. For example, interpolating a dynamically-"
"chosen camera zoom value is best done with a [Tween] node; it would be "
"difficult to do the same thing with an [AnimationPlayer] node.\n"
-"Here is a brief usage example that causes a 2D node to move smoothly between "
-"two positions:\n"
+"Here is a brief usage example that makes a 2D node move smoothly between two "
+"positions:\n"
"[codeblock]\n"
"var tween = get_node(\"Tween\")\n"
"tween.interpolate_property($Node2D, \"position\",\n"
@@ -51588,15 +51869,18 @@ msgid ""
"where it would only apply to that particular component.\n"
"Many of the methods accept [code]trans_type[/code] and [code]ease_type[/"
"code]. The first accepts an [enum TransitionType] constant, and refers to "
-"the way the timing of the animation is handled (see [code]http://easings.net/"
-"[/code] for some examples). The second accepts an [enum EaseType] constant, "
-"and controls the where [code]trans_type[/code] is applied to the "
-"interpolation (in the beginning, the end, or both). If you don't know which "
-"transition and easing to pick, you can try different [enum TransitionType] "
-"constants with [constant EASE_IN_OUT], and use the one that looks best."
+"the way the timing of the animation is handled (see [url=https://easings."
+"net/]easings.net[/url] for some examples). The second accepts an [enum "
+"EaseType] constant, and controls the where [code]trans_type[/code] is "
+"applied to the interpolation (in the beginning, the end, or both). If you "
+"don't know which transition and easing to pick, you can try different [enum "
+"TransitionType] constants with [constant EASE_IN_OUT], and use the one that "
+"looks best.\n"
+"[b][url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url][/b]"
msgstr ""
-#: doc/classes/Tween.xml:45
+#: doc/classes/Tween.xml:46
msgid ""
"Follows [code]method[/code] of [code]object[/code] and applies the returned "
"value on [code]target_method[/code] of [code]target[/code], beginning from "
@@ -51608,7 +51892,7 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:71
+#: doc/classes/Tween.xml:72
msgid ""
"Follows [code]property[/code] of [code]object[/code] and applies it on "
"[code]target_property[/code] of [code]target[/code], beginning from "
@@ -51620,21 +51904,21 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:79
+#: doc/classes/Tween.xml:80
msgid ""
"Returns the total time needed for all tweens to end. If you have two tweens, "
"one lasting 10 seconds and the other 20 seconds, it would return 20 seconds, "
"as by that time all tweens would have finished."
msgstr ""
-#: doc/classes/Tween.xml:102
+#: doc/classes/Tween.xml:103
msgid ""
"Calls [code]callback[/code] of [code]object[/code] after [code]duration[/"
"code]. [code]arg1[/code]-[code]arg5[/code] are arguments to be passed to the "
"callback."
msgstr ""
-#: doc/classes/Tween.xml:125
+#: doc/classes/Tween.xml:126
msgid ""
"Calls [code]callback[/code] of [code]object[/code] after [code]duration[/"
"code] on the main thread (similar to [method Object.call_deferred]). "
@@ -51642,7 +51926,7 @@ msgid ""
"callback."
msgstr ""
-#: doc/classes/Tween.xml:148
+#: doc/classes/Tween.xml:149
msgid ""
"Animates [code]method[/code] of [code]object[/code] from [code]initial_val[/"
"code] to [code]final_val[/code] for [code]duration[/code] seconds, "
@@ -51654,7 +51938,7 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:172
+#: doc/classes/Tween.xml:173
msgid ""
"Animates [code]property[/code] of [code]object[/code] from "
"[code]initial_val[/code] to [code]final_val[/code] for [code]duration[/code] "
@@ -51666,72 +51950,72 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:180
+#: doc/classes/Tween.xml:181
msgid ""
"Returns [code]true[/code] if any tweens are currently running.\n"
"[b]Note:[/b] This method doesn't consider tweens that have ended."
msgstr ""
-#: doc/classes/Tween.xml:192
+#: doc/classes/Tween.xml:193
msgid ""
"Stops animation and removes a tween, given its object and property/method "
"pair. By default, all tweens are removed, unless [code]key[/code] is "
"specified."
msgstr ""
-#: doc/classes/Tween.xml:199
+#: doc/classes/Tween.xml:200
msgid "Stops animation and removes all tweens."
msgstr ""
-#: doc/classes/Tween.xml:210
+#: doc/classes/Tween.xml:211
msgid ""
"Resets a tween to its initial value (the one given, not the one before the "
"tween), given its object and property/method pair. By default, all tweens "
"are removed, unless [code]key[/code] is specified."
msgstr ""
-#: doc/classes/Tween.xml:217
+#: doc/classes/Tween.xml:218
msgid ""
"Resets all tweens to their initial values (the ones given, not those before "
"the tween)."
msgstr ""
-#: doc/classes/Tween.xml:228
+#: doc/classes/Tween.xml:229
msgid ""
"Continues animating a stopped tween, given its object and property/method "
"pair. By default, all tweens are resumed, unless [code]key[/code] is "
"specified."
msgstr ""
-#: doc/classes/Tween.xml:235
+#: doc/classes/Tween.xml:236
msgid "Continues animating all stopped tweens."
msgstr ""
-#: doc/classes/Tween.xml:244
+#: doc/classes/Tween.xml:245
msgid "Sets the interpolation to the given [code]time[/code] in seconds."
msgstr ""
-#: doc/classes/Tween.xml:253
+#: doc/classes/Tween.xml:254
msgid ""
"Activates/deactivates the tween. See also [method stop_all] and [method "
"resume_all]."
msgstr ""
-#: doc/classes/Tween.xml:260
+#: doc/classes/Tween.xml:261
msgid "Starts the tween. You can define animations both before and after this."
msgstr ""
-#: doc/classes/Tween.xml:271
+#: doc/classes/Tween.xml:272
msgid ""
"Stops a tween, given its object and property/method pair. By default, all "
"tweens are stopped, unless [code]key[/code] is specified."
msgstr ""
-#: doc/classes/Tween.xml:278
+#: doc/classes/Tween.xml:279
msgid "Stops animating all tweens."
msgstr ""
-#: doc/classes/Tween.xml:303
+#: doc/classes/Tween.xml:304
msgid ""
"Animates [code]method[/code] of [code]object[/code] from the value returned "
"by [code]initial_method[/code] to [code]final_val[/code] for [code]duration[/"
@@ -51743,7 +52027,7 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:329
+#: doc/classes/Tween.xml:330
msgid ""
"Animates [code]property[/code] of [code]object[/code] from the current value "
"of the [code]initial_val[/code] property of [code]initial[/code] to "
@@ -51755,15 +52039,15 @@ msgid ""
"information."
msgstr ""
-#: doc/classes/Tween.xml:337
+#: doc/classes/Tween.xml:338
msgid "Returns the current time of the tween."
msgstr ""
-#: doc/classes/Tween.xml:343
+#: doc/classes/Tween.xml:344
msgid "The tween's animation process thread. See [enum TweenProcessMode]."
msgstr ""
-#: doc/classes/Tween.xml:346
+#: doc/classes/Tween.xml:347
msgid ""
"The tween's speed multiplier. For example, set it to [code]1.0[/code] for "
"normal speed, [code]2.0[/code] for two times normal speed, or [code]0.5[/"
@@ -51771,100 +52055,100 @@ msgid ""
"animation, but see also [method set_active] or [method stop_all] for this."
msgstr ""
-#: doc/classes/Tween.xml:349
+#: doc/classes/Tween.xml:350
msgid "If [code]true[/code], the tween loops."
msgstr ""
-#: doc/classes/Tween.xml:355
+#: doc/classes/Tween.xml:356
msgid "Emitted when all processes in a tween end."
msgstr ""
-#: doc/classes/Tween.xml:364
+#: doc/classes/Tween.xml:365
msgid "Emitted when a tween ends."
msgstr ""
-#: doc/classes/Tween.xml:373
+#: doc/classes/Tween.xml:374
msgid "Emitted when a tween starts."
msgstr ""
-#: doc/classes/Tween.xml:386
+#: doc/classes/Tween.xml:387
msgid "Emitted at each step of the animation."
msgstr ""
-#: doc/classes/Tween.xml:392
+#: doc/classes/Tween.xml:393
msgid "The tween updates with the [code]_physics_process[/code] callback."
msgstr ""
-#: doc/classes/Tween.xml:395
+#: doc/classes/Tween.xml:396
msgid "The tween updates with the [code]_process[/code] callback."
msgstr ""
-#: doc/classes/Tween.xml:398
+#: doc/classes/Tween.xml:399
msgid "The animation is interpolated linearly."
msgstr ""
-#: doc/classes/Tween.xml:401
+#: doc/classes/Tween.xml:402
msgid "The animation is interpolated using a sine function."
msgstr ""
-#: doc/classes/Tween.xml:404
+#: doc/classes/Tween.xml:405
msgid ""
"The animation is interpolated with a quintic (to the power of 5) function."
msgstr ""
-#: doc/classes/Tween.xml:407
+#: doc/classes/Tween.xml:408
msgid ""
"The animation is interpolated with a quartic (to the power of 4) function."
msgstr ""
-#: doc/classes/Tween.xml:410
+#: doc/classes/Tween.xml:411
msgid ""
"The animation is interpolated with a quadratic (to the power of 2) function."
msgstr ""
-#: doc/classes/Tween.xml:413
+#: doc/classes/Tween.xml:414
msgid ""
"The animation is interpolated with an exponential (to the power of x) "
"function."
msgstr ""
-#: doc/classes/Tween.xml:416
+#: doc/classes/Tween.xml:417
msgid ""
"The animation is interpolated with elasticity, wiggling around the edges."
msgstr ""
-#: doc/classes/Tween.xml:419
+#: doc/classes/Tween.xml:420
msgid ""
"The animation is interpolated with a cubic (to the power of 3) function."
msgstr ""
-#: doc/classes/Tween.xml:422
+#: doc/classes/Tween.xml:423
msgid "The animation is interpolated with a function using square roots."
msgstr ""
-#: doc/classes/Tween.xml:425
+#: doc/classes/Tween.xml:426
msgid "The animation is interpolated by bouncing at the end."
msgstr ""
-#: doc/classes/Tween.xml:428
+#: doc/classes/Tween.xml:429
msgid "The animation is interpolated backing out at ends."
msgstr ""
-#: doc/classes/Tween.xml:431
+#: doc/classes/Tween.xml:432
msgid "The interpolation starts slowly and speeds up towards the end."
msgstr ""
-#: doc/classes/Tween.xml:434
+#: doc/classes/Tween.xml:435
msgid "The interpolation starts quickly and slows down towards the end."
msgstr ""
-#: doc/classes/Tween.xml:437
+#: doc/classes/Tween.xml:438
msgid ""
"A combination of [constant EASE_IN] and [constant EASE_OUT]. The "
"interpolation is slowest at both ends."
msgstr ""
-#: doc/classes/Tween.xml:440
+#: doc/classes/Tween.xml:441
msgid ""
"A combination of [constant EASE_IN] and [constant EASE_OUT]. The "
"interpolation is fastest at both ends."
@@ -53468,69 +53752,90 @@ msgstr ""
msgid "If [code]true[/code], the viewport will process 3D audio streams."
msgstr ""
-#: doc/classes/Viewport.xml:199
+#: doc/classes/Viewport.xml:195
+msgid ""
+"Sets the default filter mode used by [CanvasItem]s in this Viewport. See "
+"[enum DefaultCanvasItemTextureFilter] for options."
+msgstr ""
+
+#: doc/classes/Viewport.xml:198
+msgid ""
+"Sets the default repeat mode used by [CanvasItem]s in this Viewport. See "
+"[enum DefaultCanvasItemTextureRepeat] for options."
+msgstr ""
+
+#: doc/classes/Viewport.xml:201
msgid ""
"The canvas transform of the viewport, useful for changing the on-screen "
"positions of all child [CanvasItem]s. This is relative to the global canvas "
"transform of the viewport."
msgstr ""
-#: doc/classes/Viewport.xml:202
+#: doc/classes/Viewport.xml:204
msgid "The overlay mode for test rendered geometry in debug purposes."
msgstr ""
-#: doc/classes/Viewport.xml:205
+#: doc/classes/Viewport.xml:207
msgid ""
"The global canvas transform of the viewport. The canvas transform is "
"relative to this."
msgstr ""
-#: doc/classes/Viewport.xml:208
+#: doc/classes/Viewport.xml:210
msgid "If [code]true[/code], the viewport will not receive input event."
msgstr ""
-#: doc/classes/Viewport.xml:213
+#: doc/classes/Viewport.xml:215
msgid ""
"If [code]true[/code], the GUI controls on the viewport will lay pixel "
"perfectly."
msgstr ""
-#: doc/classes/Viewport.xml:218
+#: doc/classes/Viewport.xml:220
msgid ""
"The multisample anti-aliasing mode. A higher number results in smoother "
"edges at the cost of significantly worse performance. A value of 4 is best "
"unless targeting very high-end systems."
msgstr ""
-#: doc/classes/Viewport.xml:221
+#: doc/classes/Viewport.xml:223
msgid ""
"If [code]true[/code], the viewport will use [World3D] defined in "
"[code]world[/code] property."
msgstr ""
-#: doc/classes/Viewport.xml:224
+#: doc/classes/Viewport.xml:226
msgid ""
"If [code]true[/code], the objects rendered by viewport become subjects of "
"mouse picking process."
msgstr ""
-#: doc/classes/Viewport.xml:227
+#: doc/classes/Viewport.xml:229
+msgid ""
+"Sets the screen-space antialiasing method used. Screen-space antialiasing "
+"works by selectively blurring edges in a post-process shader. It differs "
+"from MSAA which takes multiple coverage samples while rendering objects. "
+"Screen-space AA methods are typically faster than MSAA and will smooth out "
+"specular aliasing, but tend to make scenes appear blurry."
+msgstr ""
+
+#: doc/classes/Viewport.xml:232
msgid "The subdivision amount of the first quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:230
+#: doc/classes/Viewport.xml:235
msgid "The subdivision amount of the second quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:233
+#: doc/classes/Viewport.xml:238
msgid "The subdivision amount of the third quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:236
+#: doc/classes/Viewport.xml:241
msgid "The subdivision amount of the fourth quadrant on the shadow atlas."
msgstr ""
-#: doc/classes/Viewport.xml:239
+#: doc/classes/Viewport.xml:244
msgid ""
"The shadow atlas' resolution (used for omni and spot lights). The value will "
"be rounded up to the nearest power of 2.\n"
@@ -53539,136 +53844,177 @@ msgid ""
"manually."
msgstr ""
-#: doc/classes/Viewport.xml:243
+#: doc/classes/Viewport.xml:248
msgid ""
"If [code]true[/code], the viewport should render its background as "
"transparent."
msgstr ""
-#: doc/classes/Viewport.xml:246
+#: doc/classes/Viewport.xml:251
msgid "The custom [World3D] which can be used as 3D environment source."
msgstr ""
-#: doc/classes/Viewport.xml:249
+#: doc/classes/Viewport.xml:254
msgid "The custom [World2D] which can be used as 2D environment source."
msgstr ""
-#: doc/classes/Viewport.xml:257
+#: doc/classes/Viewport.xml:262
msgid "Emitted when a Control node grabs keyboard focus."
msgstr ""
-#: doc/classes/Viewport.xml:262
+#: doc/classes/Viewport.xml:267
msgid ""
"Emitted when the size of the viewport is changed, whether by resizing of "
"window, or some other means."
msgstr ""
-#: doc/classes/Viewport.xml:268
+#: doc/classes/Viewport.xml:273
msgid "This quadrant will not be used."
msgstr ""
-#: doc/classes/Viewport.xml:271
+#: doc/classes/Viewport.xml:276
msgid "This quadrant will only be used by one shadow map."
msgstr ""
-#: doc/classes/Viewport.xml:274
+#: doc/classes/Viewport.xml:279
msgid "This quadrant will be split in 4 and used by up to 4 shadow maps."
msgstr ""
-#: doc/classes/Viewport.xml:277
+#: doc/classes/Viewport.xml:282
msgid "This quadrant will be split 16 ways and used by up to 16 shadow maps."
msgstr ""
-#: doc/classes/Viewport.xml:280
+#: doc/classes/Viewport.xml:285
msgid "This quadrant will be split 64 ways and used by up to 64 shadow maps."
msgstr ""
-#: doc/classes/Viewport.xml:283
+#: doc/classes/Viewport.xml:288
msgid ""
"This quadrant will be split 256 ways and used by up to 256 shadow maps. "
"Unless the [member shadow_atlas_size] is very high, the shadows in this "
"quadrant will be very low resolution."
msgstr ""
-#: doc/classes/Viewport.xml:286
+#: doc/classes/Viewport.xml:291
msgid ""
"This quadrant will be split 1024 ways and used by up to 1024 shadow maps. "
"Unless the [member shadow_atlas_size] is very high, the shadows in this "
"quadrant will be very low resolution."
msgstr ""
-#: doc/classes/Viewport.xml:289
+#: doc/classes/Viewport.xml:294
msgid "Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum."
msgstr ""
-#: doc/classes/Viewport.xml:292
-msgid "Amount of objects in frame."
+#: doc/classes/Viewport.xml:297
+msgid ""
+"Multisample antialiasing mode disabled. This is the default value, and also "
+"the fastest setting."
msgstr ""
-#: doc/classes/Viewport.xml:295
-msgid "Amount of vertices in frame."
+#: doc/classes/Viewport.xml:300
+msgid "Use 2x Multisample Antialiasing."
msgstr ""
-#: doc/classes/Viewport.xml:298
-msgid "Amount of material changes in frame."
+#: doc/classes/Viewport.xml:303
+msgid "Use 4x Multisample Antialiasing."
msgstr ""
-#: doc/classes/Viewport.xml:301
-msgid "Amount of shader changes in frame."
+#: doc/classes/Viewport.xml:306
+msgid ""
+"Use 8x Multisample Antialiasing. Likely unsupported on low-end and older "
+"hardware."
msgstr ""
-#: doc/classes/Viewport.xml:304
-msgid "Amount of surface changes in frame."
+#: doc/classes/Viewport.xml:309
+msgid ""
+"Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end "
+"hardware."
msgstr ""
-#: doc/classes/Viewport.xml:307
-msgid "Amount of draw calls in frame."
+#: doc/classes/Viewport.xml:312
+msgid "Represents the size of the [enum MSAA] enum."
msgstr ""
-#: doc/classes/Viewport.xml:310
-msgid "Represents the size of the [enum RenderInfo] enum."
+#: doc/classes/Viewport.xml:315
+msgid "Do not perform any antialiasing in the full screen post-process."
msgstr ""
-#: doc/classes/Viewport.xml:313
-msgid "Objects are displayed normally."
+#: doc/classes/Viewport.xml:318
+msgid ""
+"Use fast approximate antialiasing. FXAA is a popular screen-space "
+"antialising method, which is fast but will make the image look blurry, "
+"especially at lower resolutions. It can still work relatively well at large "
+"resolutions such as 1440p and 4K."
msgstr ""
-#: doc/classes/Viewport.xml:316
-msgid "Objects are displayed without light information."
+#: doc/classes/Viewport.xml:321
+msgid "Represents the size of the [enum ScreenSpaceAA] enum."
msgstr ""
-#: doc/classes/Viewport.xml:319
-msgid ""
-"Objected are displayed semi-transparent with additive blending so you can "
-"see where they intersect."
+#: doc/classes/Viewport.xml:324
+msgid "Amount of objects in frame."
msgstr ""
-#: doc/classes/Viewport.xml:322
-msgid "Objects are displayed in wireframe style."
+#: doc/classes/Viewport.xml:327
+msgid "Amount of vertices in frame."
+msgstr ""
+
+#: doc/classes/Viewport.xml:330
+msgid "Amount of material changes in frame."
+msgstr ""
+
+#: doc/classes/Viewport.xml:333
+msgid "Amount of shader changes in frame."
+msgstr ""
+
+#: doc/classes/Viewport.xml:336
+msgid "Amount of surface changes in frame."
msgstr ""
#: doc/classes/Viewport.xml:339
-msgid "Multisample anti-aliasing mode disabled. This is the default value."
+msgid "Amount of draw calls in frame."
msgstr ""
#: doc/classes/Viewport.xml:342
-msgid "Use 2x Multisample Antialiasing."
+msgid "Represents the size of the [enum RenderInfo] enum."
msgstr ""
#: doc/classes/Viewport.xml:345
-msgid "Use 4x Multisample Antialiasing."
+msgid "Objects are displayed normally."
msgstr ""
-#: doc/classes/Viewport.xml:348
+#: doc/classes/Viewport.xml:356
+msgid "Objects are displayed in wireframe style."
+msgstr ""
+
+#: doc/classes/Viewport.xml:378
msgid ""
-"Use 8x Multisample Antialiasing. Likely unsupported on low-end and older "
-"hardware."
+"Draws the screen-space ambient occlusion texture instead of the scene so "
+"that you can clearly see how it is affecting objects. In order for this "
+"display mode to work, you must have [member Environment.ssao_enabled] set in "
+"your [WorldEnvironment]."
msgstr ""
-#: doc/classes/Viewport.xml:351
+#: doc/classes/Viewport.xml:384
msgid ""
-"Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end "
-"hardware."
+"Colors each PSSM split for the [DirectionalLight3D]s in the scene a "
+"different color so you can see where the splits are. In order, they will be "
+"colored red, green, blue, and yellow."
+msgstr ""
+
+#: doc/classes/Viewport.xml:387
+msgid ""
+"Draws the decal atlas used by [Decal]s and light projector textures in the "
+"upper left quadrant of the [Viewport]."
+msgstr ""
+
+#: doc/classes/Viewport.xml:402
+msgid "Max value for [enum DefaultCanvasItemTextureFilter] enum."
+msgstr ""
+
+#: doc/classes/Viewport.xml:414
+msgid "Max value for [enum DefaultCanvasItemTextureRepeat] enum."
msgstr ""
#: doc/classes/ViewportTexture.xml:4
@@ -53690,7 +54036,7 @@ msgid ""
msgstr ""
#: doc/classes/VisibilityEnabler2D.xml:4 doc/classes/VisibilityEnabler3D.xml:4
-msgid "Enables certain nodes only when visible."
+msgid "Enables certain nodes only when approximately visible."
msgstr ""
#: doc/classes/VisibilityEnabler2D.xml:7
@@ -53698,78 +54044,82 @@ msgid ""
"The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and "
"other nodes when they are not visible. It will only affect nodes with the "
"same root node as the VisibilityEnabler2D, and the root node itself.\n"
-"Note that VisibilityEnabler2D will not affect nodes added after scene "
+"[b]Note:[/b] For performance reasons, VisibilityEnabler2D uses an "
+"approximate heuristic with precision determined by [member ProjectSettings."
+"world/2d/cell_size]. If you need exact visibility checking, use another "
+"method such as adding an [Area2D] node as a child of a [Camera2D] node.\n"
+"[b]Note:[/b] VisibilityEnabler2D will not affect nodes added after scene "
"initialization."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:19
-#: doc/classes/VisibilityEnabler3D.xml:19
+#: doc/classes/VisibilityEnabler2D.xml:20
+#: doc/classes/VisibilityEnabler3D.xml:20
msgid ""
"Returns whether the enabler identified by given [enum Enabler] constant is "
"active."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:30
-#: doc/classes/VisibilityEnabler3D.xml:30
+#: doc/classes/VisibilityEnabler2D.xml:31
+#: doc/classes/VisibilityEnabler3D.xml:31
msgid ""
"Sets active state of the enabler identified by given [enum Enabler] constant."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:36
+#: doc/classes/VisibilityEnabler2D.xml:37
msgid "If [code]true[/code], [RigidBody2D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:39
+#: doc/classes/VisibilityEnabler2D.xml:40
msgid "If [code]true[/code], [AnimatedSprite2D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:42
-#: doc/classes/VisibilityEnabler3D.xml:39
+#: doc/classes/VisibilityEnabler2D.xml:43
+#: doc/classes/VisibilityEnabler3D.xml:40
msgid "If [code]true[/code], [AnimationPlayer] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:45
+#: doc/classes/VisibilityEnabler2D.xml:46
msgid "If [code]true[/code], [GPUParticles2D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:48
+#: doc/classes/VisibilityEnabler2D.xml:49
msgid ""
"If [code]true[/code], the parent's [method Node._physics_process] will be "
"stopped."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:51
+#: doc/classes/VisibilityEnabler2D.xml:52
msgid ""
"If [code]true[/code], the parent's [method Node._process] will be stopped."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:56
-#: doc/classes/VisibilityEnabler3D.xml:44
+#: doc/classes/VisibilityEnabler2D.xml:57
+#: doc/classes/VisibilityEnabler3D.xml:45
msgid "This enabler will pause [AnimationPlayer] nodes."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:59
+#: doc/classes/VisibilityEnabler2D.xml:60
msgid "This enabler will freeze [RigidBody2D] nodes."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:62
+#: doc/classes/VisibilityEnabler2D.xml:63
msgid "This enabler will stop [GPUParticles2D] nodes."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:65
+#: doc/classes/VisibilityEnabler2D.xml:66
msgid "This enabler will stop the parent's _process function."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:68
+#: doc/classes/VisibilityEnabler2D.xml:69
msgid "This enabler will stop the parent's _physics_process function."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:71
+#: doc/classes/VisibilityEnabler2D.xml:72
msgid "This enabler will stop [AnimatedSprite2D] nodes animations."
msgstr ""
-#: doc/classes/VisibilityEnabler2D.xml:74
-#: doc/classes/VisibilityEnabler3D.xml:50
+#: doc/classes/VisibilityEnabler2D.xml:75
+#: doc/classes/VisibilityEnabler3D.xml:51
msgid "Represents the size of the [enum Enabler] enum."
msgstr ""
@@ -53778,31 +54128,39 @@ msgid ""
"The VisibilityEnabler3D will disable [RigidBody3D] and [AnimationPlayer] "
"nodes when they are not visible. It will only affect other nodes within the "
"same scene as the VisibilityEnabler3D itself.\n"
-"Note that VisibilityEnabler3D will not affect nodes added after scene "
+"[b]Note:[/b] VisibilityEnabler3D uses an approximate heuristic for "
+"performance reasons. It doesn't take walls and other occlusion into account. "
+"If you need exact visibility checking, use another method such as adding an "
+"[Area3D] node as a child of a [Camera3D] node.\n"
+"[b]Note:[/b] VisibilityEnabler3D will not affect nodes added after scene "
"initialization."
msgstr ""
-#: doc/classes/VisibilityEnabler3D.xml:36
+#: doc/classes/VisibilityEnabler3D.xml:37
msgid "If [code]true[/code], [RigidBody3D] nodes will be paused."
msgstr ""
-#: doc/classes/VisibilityEnabler3D.xml:47
+#: doc/classes/VisibilityEnabler3D.xml:48
msgid "This enabler will freeze [RigidBody3D] nodes."
msgstr ""
#: doc/classes/VisibilityNotifier2D.xml:4
#: doc/classes/VisibilityNotifier3D.xml:4
-msgid "Detects when the node is visible on screen."
+msgid "Detects approximately when the node is visible on screen."
msgstr ""
#: doc/classes/VisibilityNotifier2D.xml:7
msgid ""
"The VisibilityNotifier2D detects when it is visible on the screen. It also "
"notifies when its bounding rectangle enters or exits the screen or a "
-"viewport."
+"viewport.\n"
+"[b]Note:[/b] For performance reasons, VisibilityNotifier2D uses an "
+"approximate heuristic with precision determined by [member ProjectSettings."
+"world/2d/cell_size]. If you need exact visibility checking, use another "
+"method such as adding an [Area2D] node as a child of a [Camera2D] node."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:16
+#: doc/classes/VisibilityNotifier2D.xml:17
msgid ""
"If [code]true[/code], the bounding rectangle is on the screen.\n"
"[b]Note:[/b] It takes one frame for the node's visibility to be assessed "
@@ -53811,23 +54169,23 @@ msgid ""
"pass."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:23
+#: doc/classes/VisibilityNotifier2D.xml:24
msgid "The VisibilityNotifier2D's bounding rectangle."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:29
+#: doc/classes/VisibilityNotifier2D.xml:30
msgid "Emitted when the VisibilityNotifier2D enters the screen."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:34
+#: doc/classes/VisibilityNotifier2D.xml:35
msgid "Emitted when the VisibilityNotifier2D exits the screen."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:41
+#: doc/classes/VisibilityNotifier2D.xml:42
msgid "Emitted when the VisibilityNotifier2D enters a [Viewport]'s view."
msgstr ""
-#: doc/classes/VisibilityNotifier2D.xml:48
+#: doc/classes/VisibilityNotifier2D.xml:49
msgid "Emitted when the VisibilityNotifier2D exits a [Viewport]'s view."
msgstr ""
@@ -53835,10 +54193,14 @@ msgstr ""
msgid ""
"The VisibilityNotifier3D detects when it is visible on the screen. It also "
"notifies when its bounding rectangle enters or exits the screen or a "
-"[Camera3D]'s view."
+"[Camera3D]'s view.\n"
+"[b]Note:[/b] VisibilityNotifier3D uses an approximate heuristic for "
+"performance reasons. It doesn't take walls and other occlusion into account. "
+"If you need exact visibility checking, use another method such as adding an "
+"[Area3D] node as a child of a [Camera3D] node."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:16
+#: doc/classes/VisibilityNotifier3D.xml:17
msgid ""
"If [code]true[/code], the bounding box is on the screen.\n"
"[b]Note:[/b] It takes one frame for the node's visibility to be assessed "
@@ -53847,23 +54209,23 @@ msgid ""
"pass."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:23
+#: doc/classes/VisibilityNotifier3D.xml:24
msgid "The VisibilityNotifier3D's bounding box."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:31
+#: doc/classes/VisibilityNotifier3D.xml:32
msgid "Emitted when the VisibilityNotifier3D enters a [Camera3D]'s view."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:38
+#: doc/classes/VisibilityNotifier3D.xml:39
msgid "Emitted when the VisibilityNotifier3D exits a [Camera3D]'s view."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:43
+#: doc/classes/VisibilityNotifier3D.xml:44
msgid "Emitted when the VisibilityNotifier3D enters the screen."
msgstr ""
-#: doc/classes/VisibilityNotifier3D.xml:48
+#: doc/classes/VisibilityNotifier3D.xml:49
msgid "Emitted when the VisibilityNotifier3D exits the screen."
msgstr ""
@@ -56455,7 +56817,7 @@ msgstr ""
msgid "The background of the area below the grabber."
msgstr ""
-#: doc/classes/VSlider.xml:33
+#: doc/classes/VSlider.xml:35
msgid ""
"The background for the whole slider. Determines the width of the "
"[code]grabber_area[/code]."
@@ -57437,6 +57799,667 @@ msgstr ""
msgid "Unknown node."
msgstr ""
+#: doc/classes/XRAnchor3D.xml:4
+msgid "An anchor point in AR space."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:7
+msgid ""
+"The [XRAnchor3D] point is a spatial node that maps a real world location "
+"identified by the AR platform to a position within the game world. For "
+"example, as long as plane detection in ARKit is on, ARKit will identify and "
+"update the position of planes (tables, floors, etc) and create anchors for "
+"them.\n"
+"This node is mapped to one of the anchors through its unique ID. When you "
+"receive a signal that a new anchor is available, you should add this node to "
+"your scene for that anchor. You can predefine nodes and set the ID; the "
+"nodes will simply remain on 0,0,0 until a plane is recognized.\n"
+"Keep in mind that, as long as plane detection is enabled, the size, placing "
+"and orientation of an anchor will be updated as the detection logic learns "
+"more about the real world out there especially if only part of the surface "
+"is in view."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:18
+msgid "Returns the name given to this anchor."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:25
+msgid ""
+"Returns [code]true[/code] if the anchor is being tracked and [code]false[/"
+"code] if no anchor with this ID is currently known."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:32
+msgid ""
+"If provided by the [XRInterface], this returns a mesh object for the anchor. "
+"For an anchor, this can be a shape related to the object being tracked or it "
+"can be a mesh that provides topology related to the anchor and can be used "
+"to create shadows/reflections on surfaces or for generating collision shapes."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:39
+msgid ""
+"Returns a plane aligned with our anchor; handy for intersection testing."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:46
+msgid ""
+"Returns the estimated size of the plane that was detected. Say when the "
+"anchor relates to a table in the real world, this is the estimated size of "
+"the surface of that table."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:52
+msgid ""
+"The anchor's ID. You can set this before the anchor itself exists. The first "
+"anchor gets an ID of [code]1[/code], the second an ID of [code]2[/code], "
+"etc. When anchors get removed, the engine can then assign the corresponding "
+"ID to new anchors. The most common situation where anchors \"disappear\" is "
+"when the AR server identifies that two anchors represent different parts of "
+"the same plane and merges them."
+msgstr ""
+
+#: doc/classes/XRAnchor3D.xml:60
+msgid ""
+"Emitted when the mesh associated with the anchor changes or when one becomes "
+"available. This is especially important for topology that is constantly "
+"being [code]mesh_updated[/code]."
+msgstr ""
+
+#: doc/classes/XRCamera3D.xml:4
+msgid ""
+"A camera node with a few overrules for AR/VR applied, such as location "
+"tracking."
+msgstr ""
+
+#: doc/classes/XRCamera3D.xml:7
+msgid ""
+"This is a helper spatial node for our camera; note that, if stereoscopic "
+"rendering is applicable (VR-HMD), most of the camera properties are ignored, "
+"as the HMD information overrides them. The only properties that can be "
+"trusted are the near and far planes.\n"
+"The position and orientation of this node is automatically updated by the XR "
+"Server to represent the location of the HMD if such tracking is available "
+"and can thus be used by game logic. Note that, in contrast to the XR "
+"Controller, the render thread has access to the most up-to-date tracking "
+"data of the HMD and the location of the XRCamera3D can lag a few "
+"milliseconds behind what is used for rendering as a result."
+msgstr ""
+
+#: doc/classes/XRCamera3D.xml:11 doc/classes/XRController3D.xml:12
+#: doc/classes/XRInterface.xml:11 doc/classes/XROrigin3D.xml:13
+#: doc/classes/XRPositionalTracker.xml:12 doc/classes/XRServer.xml:10
+msgid "https://docs.godotengine.org/en/latest/tutorials/vr/index.html"
+msgstr ""
+
+#: doc/classes/XRController3D.xml:4
+msgid "A spatial node representing a spatially-tracked controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:7
+msgid ""
+"This is a helper spatial node that is linked to the tracking of controllers. "
+"It also offers several handy passthroughs to the state of buttons and such "
+"on the controllers.\n"
+"Controllers are linked by their ID. You can create controller nodes before "
+"the controllers are available. If your game always uses two controllers (one "
+"for each hand), you can predefine the controllers with ID 1 and 2; they will "
+"become active as soon as the controllers are identified. If you expect "
+"additional controllers to be used, you should react to the signals and add "
+"XRController3D nodes to your scene.\n"
+"The position of the controller node is automatically updated by the "
+"[XRServer]. This makes this node ideal to add child nodes to visualize the "
+"controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:19
+msgid ""
+"If active, returns the name of the associated controller if provided by the "
+"AR/VR SDK used."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:26
+msgid ""
+"Returns the hand holding this controller, if known. See [enum "
+"XRPositionalTracker.TrackerHand]."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:33
+msgid ""
+"Returns [code]true[/code] if the bound controller is active. XR systems "
+"attempt to track active controllers."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:42
+msgid ""
+"Returns the value of the given axis for things like triggers, touchpads, "
+"etc. that are embedded into the controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:49
+msgid ""
+"Returns the ID of the joystick object bound to this. Every controller "
+"tracked by the [XRServer] that has buttons and axis will also be registered "
+"as a joystick within Godot. This means that all the normal joystick tracking "
+"and input mapping will work for buttons and axis found on the AR/VR "
+"controllers. This ID is purely offered as information so you can link up the "
+"controller with its joystick entry."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:56
+msgid ""
+"If provided by the [XRInterface], this returns a mesh associated with the "
+"controller. This can be used to visualize the controller."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:65
+msgid ""
+"Returns [code]true[/code] if the button at index [code]button[/code] is "
+"pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] "
+"constants."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:71
+msgid ""
+"The controller's ID.\n"
+"A controller ID of 0 is unbound and will always result in an inactive node. "
+"Controller ID 1 is reserved for the first controller that identifies itself "
+"as the left-hand controller and ID 2 is reserved for the first controller "
+"that identifies itself as the right-hand controller.\n"
+"For any other controller that the [XRServer] detects, we continue with "
+"controller ID 3.\n"
+"When a controller is turned off, its slot is freed. This ensures controllers "
+"will keep the same ID even when controllers with lower IDs are turned off."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:77
+msgid ""
+"The degree to which the controller vibrates. Ranges from [code]0.0[/code] to "
+"[code]1.0[/code] with precision [code].01[/code]. If changed, updates "
+"[member XRPositionalTracker.rumble] accordingly.\n"
+"This is a useful property to animate if you want the controller to vibrate "
+"for a limited duration."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:86
+msgid "Emitted when a button on this controller is pressed."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:93
+msgid "Emitted when a button on this controller is released."
+msgstr ""
+
+#: doc/classes/XRController3D.xml:100
+msgid ""
+"Emitted when the mesh associated with the controller changes or when one "
+"becomes available. Generally speaking this will be a static mesh after "
+"becoming available."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:4
+msgid "Base class for an AR/VR interface implementation."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:7
+msgid ""
+"This class needs to be implemented to make an AR or VR platform available to "
+"Godot and these should be implemented as C++ modules or GDNative modules "
+"(note that for GDNative the subclass XRScriptInterface should be used). Part "
+"of the interface is exposed to GDScript so you can detect, enable and "
+"configure an AR or VR platform.\n"
+"Interfaces should be written in such a way that simply enabling them will "
+"give us a working setup. You can query the available interfaces through "
+"[XRServer]."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:18
+msgid ""
+"If this is an AR interface that requires displaying a camera feed as the "
+"background, this method returns the feed ID in the [CameraServer] for this "
+"interface."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:25
+msgid ""
+"Returns a combination of [enum Capabilities] flags providing information "
+"about the capabilities of this interface."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:32
+msgid "Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:39
+msgid ""
+"Returns the resolution at which we should render our intermediate results "
+"before things like lens distortion are applied by the VR platform."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:46
+msgid ""
+"If supported, returns the status of our tracking. This will allow you to "
+"provide feedback to the user whether there are issues with positional "
+"tracking."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:53
+msgid ""
+"Call this to initialize this interface. The first interface that is "
+"initialized is identified as the primary interface and it will be used for "
+"rendering output.\n"
+"After initializing the interface you want to use you then need to enable the "
+"AR/VR mode of a viewport and rendering should commence.\n"
+"[b]Note:[/b] You must enable the AR/VR mode on the main viewport for any "
+"device that uses the main output of Godot, such as for mobile VR.\n"
+"If you do this for a platform that handles its own output (such as OpenVR) "
+"Godot will show just one eye without distortion on screen. Alternatively, "
+"you can add a separate viewport node to your scene and enable AR/VR on that "
+"viewport. It will be used to output to the HMD, leaving you free to do "
+"anything you like in the main window, such as using a separate camera as a "
+"spectator camera or rendering something completely different.\n"
+"While currently not used, you can activate additional interfaces. You may "
+"wish to do this if you want to track controllers from other platforms. "
+"However, at this point in time only one interface can render to an HMD."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:64
+msgid ""
+"Returns [code]true[/code] if the current output of this interface is in "
+"stereo."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:71
+msgid "Turns the interface off."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:77
+msgid "On an AR interface, [code]true[/code] if anchor detection is enabled."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:80
+msgid "[code]true[/code] if this interface been initialized."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:83
+msgid "[code]true[/code] if this is the primary interface."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:88
+msgid "No XR capabilities."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:91
+msgid ""
+"This interface can work with normal rendering output (non-HMD based AR)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:94
+msgid "This interface supports stereoscopic rendering."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:97
+msgid "This interface supports AR (video background and real world tracking)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:100
+msgid ""
+"This interface outputs to an external device. If the main viewport is used, "
+"the on screen output is an unmodified buffer of either the left or right eye "
+"(stretched if the viewport size is not changed to the same aspect ratio of "
+"[method get_render_targetsize]). Using a separate viewport node frees up the "
+"main viewport for other purposes."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:103
+msgid ""
+"Mono output, this is mostly used internally when retrieving positioning "
+"information for our camera node or when stereo scopic rendering is not "
+"supported."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:106
+msgid ""
+"Left eye output, this is mostly used internally when rendering the image for "
+"the left eye and obtaining positioning and projection information."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:109
+msgid ""
+"Right eye output, this is mostly used internally when rendering the image "
+"for the right eye and obtaining positioning and projection information."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:112
+msgid "Tracking is behaving as expected."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:115
+msgid ""
+"Tracking is hindered by excessive motion (the player is moving faster than "
+"tracking can keep up)."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:118
+msgid ""
+"Tracking is hindered by insufficient features, it's too dark (for camera-"
+"based tracking), player is blocked, etc."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:121
+msgid ""
+"We don't know the status of the tracking or this interface does not provide "
+"feedback."
+msgstr ""
+
+#: doc/classes/XRInterface.xml:124
+msgid ""
+"Tracking is not functional (camera not plugged in or obscured, lighthouses "
+"turned off, etc.)."
+msgstr ""
+
+#: modules/gdnative/doc_classes/XRInterfaceGDNative.xml:4
+msgid "GDNative wrapper for an XR interface."
+msgstr ""
+
+#: modules/gdnative/doc_classes/XRInterfaceGDNative.xml:7
+msgid ""
+"This is a wrapper class for GDNative implementations of the XR interface. To "
+"use a GDNative XR interface, simply instantiate this object and set your "
+"GDNative library containing the XR interface implementation."
+msgstr ""
+
+#: doc/classes/XROrigin3D.xml:4
+msgid "The origin point in AR/VR."
+msgstr ""
+
+#: doc/classes/XROrigin3D.xml:7
+msgid ""
+"This is a special node within the AR/VR system that maps the physical "
+"location of the center of our tracking space to the virtual location within "
+"our game world.\n"
+"There should be only one of these nodes in your scene and you must have one. "
+"All the XRCamera3D, XRController3D and XRAnchor3D nodes should be direct "
+"children of this node for spatial tracking to work correctly.\n"
+"It is the position of this node that you update when your character needs to "
+"move through your game world while we're not moving in the real world. "
+"Movement in the real world is always in relation to this origin point.\n"
+"For example, if your character is driving a car, the XROrigin3D node should "
+"be a child node of this car. Or, if you're implementing a teleport system to "
+"move your character, you should change the position of this node."
+msgstr ""
+
+#: doc/classes/XROrigin3D.xml:19
+msgid ""
+"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
+"assume a scale of 1 game world unit = 1 real world meter.\n"
+"[b]Note:[/b] This method is a passthrough to the [XRServer] itself."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:4
+msgid "A tracked object."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:7
+msgid ""
+"An instance of this object represents a device that is tracked, such as a "
+"controller or anchor point. HMDs aren't represented here as they are handled "
+"internally.\n"
+"As controllers are turned on and the AR/VR interface detects them, instances "
+"of this object are automatically added to this list of active tracking "
+"objects accessible through the [XRServer].\n"
+"The [XRController3D] and [XRAnchor3D] both consume objects of this type and "
+"should be used in your project. The positional trackers are just under-the-"
+"hood objects that make this all work. These are mostly exposed so that "
+"GDNative-based interfaces can interact with them."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:19
+msgid ""
+"Returns the hand holding this tracker, if known. See [enum TrackerHand] "
+"constants."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:26
+msgid ""
+"If this is a controller that is being tracked, the controller will also be "
+"represented by a joystick entry with this ID."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:33
+msgid ""
+"Returns the mesh related to a controller or anchor point if one is available."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:40
+msgid "Returns the controller or anchor point's name if available."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:47
+msgid "Returns the controller's orientation matrix."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:54
+msgid "Returns the world-space controller position."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:61
+msgid ""
+"Returns the internal tracker ID. This uniquely identifies the tracker per "
+"tracker type and matches the ID you need to specify for nodes such as the "
+"[XRController3D] and [XRAnchor3D] nodes."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:68
+msgid "Returns [code]true[/code] if this device tracks orientation."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:75
+msgid "Returns [code]true[/code] if this device tracks position."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:84
+msgid "Returns the transform combining this device's orientation and position."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:91
+msgid "Returns the tracker's type."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:97
+msgid ""
+"The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to "
+"[code]1.0[/code] with precision [code].01[/code]."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:102
+msgid "The hand this tracker is held in is unknown or not applicable."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:105
+msgid "This tracker is the left hand controller."
+msgstr ""
+
+#: doc/classes/XRPositionalTracker.xml:108
+msgid "This tracker is the right hand controller."
+msgstr ""
+
+#: doc/classes/XRServer.xml:4
+msgid "Server for AR and VR features."
+msgstr ""
+
+#: doc/classes/XRServer.xml:7
+msgid ""
+"The AR/VR server is the heart of our Advanced and Virtual Reality solution "
+"and handles all the processing."
+msgstr ""
+
+#: doc/classes/XRServer.xml:21
+msgid ""
+"This is an important function to understand correctly. AR and VR platforms "
+"all handle positioning slightly differently.\n"
+"For platforms that do not offer spatial tracking, our origin point (0,0,0) "
+"is the location of our HMD, but you have little control over the direction "
+"the player is facing in the real world.\n"
+"For platforms that do offer spatial tracking, our origin point depends very "
+"much on the system. For OpenVR, our origin point is usually the center of "
+"the tracking space, on the ground. For other platforms, it's often the "
+"location of the tracking camera.\n"
+"This method allows you to center your tracker on the location of the HMD. It "
+"will take the current location of the HMD and use that to adjust all your "
+"tracking data; in essence, realigning the real world to your player's "
+"current position in the game world.\n"
+"For this method to produce usable results, tracking information must be "
+"available. This often takes a few frames after starting your game.\n"
+"You should call this method after a few seconds have passed. For instance, "
+"when the user requests a realignment of the display holding a designated "
+"button on a controller for a short period of time, or when implementing a "
+"teleport mechanism."
+msgstr ""
+
+#: doc/classes/XRServer.xml:35
+msgid ""
+"Finds an interface by its name. For instance, if your project uses "
+"capabilities of an AR/VR platform, you can find the interface for that "
+"platform by name and initialize it."
+msgstr ""
+
+#: doc/classes/XRServer.xml:42
+msgid "Returns the primary interface's transformation."
+msgstr ""
+
+#: doc/classes/XRServer.xml:51
+msgid ""
+"Returns the interface registered at a given index in our list of interfaces."
+msgstr ""
+
+#: doc/classes/XRServer.xml:58
+msgid ""
+"Returns the number of interfaces currently registered with the AR/VR server. "
+"If your project supports multiple AR/VR platforms, you can look through the "
+"available interface, and either present the user with a selection or simply "
+"try to initialize each interface and use the first one that returns "
+"[code]true[/code]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:65
+msgid ""
+"Returns a list of available interfaces the ID and name of each interface."
+msgstr ""
+
+#: doc/classes/XRServer.xml:72
+msgid ""
+"Returns the absolute timestamp (in μs) of the last [XRServer] commit of the "
+"AR/VR eyes to [RenderingServer]. The value comes from an internal call to "
+"[method OS.get_ticks_usec]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:79
+msgid ""
+"Returns the duration (in μs) of the last frame. This is computed as the "
+"difference between [method get_last_commit_usec] and [method "
+"get_last_process_usec] when committing."
+msgstr ""
+
+#: doc/classes/XRServer.xml:86
+msgid ""
+"Returns the absolute timestamp (in μs) of the last [XRServer] process "
+"callback. The value comes from an internal call to [method OS."
+"get_ticks_usec]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:93
+msgid ""
+"Returns the reference frame transform. Mostly used internally and exposed "
+"for GDNative build interfaces."
+msgstr ""
+
+#: doc/classes/XRServer.xml:102
+msgid "Returns the positional tracker at the given ID."
+msgstr ""
+
+#: doc/classes/XRServer.xml:109
+msgid "Returns the number of trackers currently registered."
+msgstr ""
+
+#: doc/classes/XRServer.xml:115
+msgid "The primary [XRInterface] currently bound to the [XRServer]."
+msgstr ""
+
+#: doc/classes/XRServer.xml:118
+msgid ""
+"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
+"assume a scale of 1 game world unit = 1 real world meter."
+msgstr ""
+
+#: doc/classes/XRServer.xml:126
+msgid "Emitted when a new interface has been added."
+msgstr ""
+
+#: doc/classes/XRServer.xml:133
+msgid "Emitted when an interface is removed."
+msgstr ""
+
+#: doc/classes/XRServer.xml:144
+msgid ""
+"Emitted when a new tracker has been added. If you don't use a fixed number "
+"of controllers or if you're using [XRAnchor3D]s for an AR solution, it is "
+"important to react to this signal to add the appropriate [XRController3D] or "
+"[XRAnchor3D] nodes related to this new tracker."
+msgstr ""
+
+#: doc/classes/XRServer.xml:155
+msgid ""
+"Emitted when a tracker is removed. You should remove any [XRController3D] or "
+"[XRAnchor3D] points if applicable. This is not mandatory, the nodes simply "
+"become inactive and will be made active again when a new tracker becomes "
+"available (i.e. a new controller is switched on that takes the place of the "
+"previous one)."
+msgstr ""
+
+#: doc/classes/XRServer.xml:161
+msgid "The tracker tracks the location of a controller."
+msgstr ""
+
+#: doc/classes/XRServer.xml:164
+msgid "The tracker tracks the location of a base station."
+msgstr ""
+
+#: doc/classes/XRServer.xml:167
+msgid "The tracker tracks the location and size of an AR anchor."
+msgstr ""
+
+#: doc/classes/XRServer.xml:170
+msgid "Used internally to filter trackers of any known type."
+msgstr ""
+
+#: doc/classes/XRServer.xml:173
+msgid "Used internally if we haven't set the tracker type yet."
+msgstr ""
+
+#: doc/classes/XRServer.xml:176
+msgid "Used internally to select all trackers."
+msgstr ""
+
+#: doc/classes/XRServer.xml:179
+msgid ""
+"Fully reset the orientation of the HMD. Regardless of what direction the "
+"user is looking to in the real world. The user will look dead ahead in the "
+"virtual world."
+msgstr ""
+
+#: doc/classes/XRServer.xml:182
+msgid ""
+"Resets the orientation but keeps the tilt of the device. So if we're looking "
+"down, we keep looking down but heading will be reset."
+msgstr ""
+
+#: doc/classes/XRServer.xml:185
+msgid ""
+"Does not reset the orientation of the HMD, only the position of the player "
+"gets centered."
+msgstr ""
+
#: doc/classes/YSort.xml:4
msgid "Sort all child nodes based on their Y positions."
msgstr ""
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index 8089d463bd..b566ad0fa4 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -1052,6 +1052,7 @@ void EditorHelp::_update_doc() {
class_desc->pop(); // color
class_desc->pop(); // font
class_desc->pop(); // cell
+ method_line[cd.properties[i].setter] = property_line[cd.properties[i].name];
}
if (cd.properties[i].getter != "") {
@@ -1069,6 +1070,7 @@ void EditorHelp::_update_doc() {
class_desc->pop(); //color
class_desc->pop(); //font
class_desc->pop(); //cell
+ method_line[cd.properties[i].getter] = property_line[cd.properties[i].name];
}
class_desc->pop(); // table
diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp
index 8fcd5bacb6..6adc640651 100644
--- a/editor/editor_inspector.cpp
+++ b/editor/editor_inspector.cpp
@@ -501,18 +501,20 @@ bool EditorPropertyRevert::can_property_revert(Object *p_object, const StringNam
}
}
- if (p_object->call("property_can_revert", p_property).operator bool()) {
-
- has_revert = true;
- }
-
- if (!has_revert && !p_object->get_script().is_null()) {
- Ref<Script> scr = p_object->get_script();
- if (scr.is_valid()) {
- Variant orig_value;
- if (scr->get_property_default_value(p_property, orig_value)) {
- if (orig_value != p_object->get(p_property)) {
- has_revert = true;
+ // If the object implements property_can_revert, rely on that completely
+ // (i.e. don't then try to revert to default value - the property_get_revert implementation
+ // can do that if so desired)
+ if (p_object->has_method("property_can_revert")) {
+ has_revert = p_object->call("property_can_revert", p_property).operator bool();
+ } else {
+ if (!has_revert && !p_object->get_script().is_null()) {
+ Ref<Script> scr = p_object->get_script();
+ if (scr.is_valid()) {
+ Variant orig_value;
+ if (scr->get_property_default_value(p_property, orig_value)) {
+ if (orig_value != p_object->get(p_property)) {
+ has_revert = true;
+ }
}
}
}
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index ea2009ab58..90cea06439 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -1747,7 +1747,7 @@ void EditorNode::push_item(Object *p_object, const String &p_property, bool p_in
void EditorNode::_save_default_environment() {
- Ref<Environment> fallback = get_tree()->get_root()->get_world()->get_fallback_environment();
+ Ref<Environment> fallback = get_tree()->get_root()->get_world_3d()->get_fallback_environment();
if (fallback.is_valid() && fallback->get_path().is_resource_file()) {
Map<RES, bool> processed;
diff --git a/editor/node_3d_editor_gizmos.cpp b/editor/node_3d_editor_gizmos.cpp
index 5fcc783644..c321e85546 100644
--- a/editor/node_3d_editor_gizmos.cpp
+++ b/editor/node_3d_editor_gizmos.cpp
@@ -169,7 +169,7 @@ void EditorNode3DGizmo::set_spatial_node(Node3D *p_node) {
void EditorNode3DGizmo::Instance::create_instance(Node3D *p_base, bool p_hidden) {
- instance = RS::get_singleton()->instance_create2(mesh->get_rid(), p_base->get_world()->get_scenario());
+ instance = RS::get_singleton()->instance_create2(mesh->get_rid(), p_base->get_world_3d()->get_scenario());
RS::get_singleton()->instance_attach_object_instance_id(instance, p_base->get_instance_id());
if (skin_reference.is_valid()) {
RS::get_singleton()->instance_attach_skeleton(instance, skin_reference->get_skeleton());
diff --git a/editor/plugins/material_editor_plugin.cpp b/editor/plugins/material_editor_plugin.cpp
index eb14495b9c..f63bcb69b8 100644
--- a/editor/plugins/material_editor_plugin.cpp
+++ b/editor/plugins/material_editor_plugin.cpp
@@ -117,9 +117,9 @@ MaterialEditor::MaterialEditor() {
add_child(vc);
vc->set_anchors_and_margins_preset(PRESET_WIDE);
viewport = memnew(SubViewport);
- Ref<World3D> world;
- world.instance();
- viewport->set_world(world); //use own world
+ Ref<World3D> world_3d;
+ world_3d.instance();
+ viewport->set_world_3d(world_3d); //use own world
vc->add_child(viewport);
viewport->set_disable_input(true);
viewport->set_transparent_background(true);
diff --git a/editor/plugins/mesh_editor_plugin.cpp b/editor/plugins/mesh_editor_plugin.cpp
index 5e657c3b71..3e603fa499 100644
--- a/editor/plugins/mesh_editor_plugin.cpp
+++ b/editor/plugins/mesh_editor_plugin.cpp
@@ -116,9 +116,9 @@ void MeshEditor::_bind_methods() {
MeshEditor::MeshEditor() {
viewport = memnew(SubViewport);
- Ref<World3D> world;
- world.instance();
- viewport->set_world(world); //use own world
+ Ref<World3D> world_3d;
+ world_3d.instance();
+ viewport->set_world_3d(world_3d); //use own world
add_child(viewport);
viewport->set_disable_input(true);
viewport->set_msaa(Viewport::MSAA_2X);
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index 60a49f72c0..55b50f526c 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -496,7 +496,7 @@ ObjectID Node3DEditorViewport::_select_ray(const Point2 &p_pos, bool p_append, b
Vector3 pos = _get_ray_pos(p_pos);
Vector2 shrinked_pos = p_pos / subviewport_container->get_stretch_shrink();
- Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, ray, get_tree()->get_root()->get_world()->get_scenario());
+ Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, ray, get_tree()->get_root()->get_world_3d()->get_scenario());
Set<Ref<EditorNode3DGizmo>> found_gizmos;
Node *edited_scene = get_tree()->get_edited_scene_root();
@@ -563,7 +563,7 @@ void Node3DEditorViewport::_find_items_at_pos(const Point2 &p_pos, bool &r_inclu
Vector3 ray = _get_ray(p_pos);
Vector3 pos = _get_ray_pos(p_pos);
- Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, ray, get_tree()->get_root()->get_world()->get_scenario());
+ Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, ray, get_tree()->get_root()->get_world_3d()->get_scenario());
Set<Ref<EditorNode3DGizmo>> found_gizmos;
r_includes_current = false;
@@ -682,7 +682,7 @@ void Node3DEditorViewport::_select_region() {
far.d += get_zfar();
frustum.push_back(far);
- Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_convex(frustum, get_tree()->get_root()->get_world()->get_scenario());
+ Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_convex(frustum, get_tree()->get_root()->get_world_3d()->get_scenario());
Vector<Node *> selected;
Node *edited_scene = get_tree()->get_edited_scene_root();
@@ -3136,35 +3136,35 @@ void Node3DEditorViewport::_init_gizmo_instance(int p_idx) {
for (int i = 0; i < 3; i++) {
move_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(move_gizmo_instance[i], spatial_editor->get_move_gizmo(i)->get_rid());
- RS::get_singleton()->instance_set_scenario(move_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(move_gizmo_instance[i], get_tree()->get_root()->get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_visible(move_gizmo_instance[i], false);
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(move_gizmo_instance[i], layer);
move_plane_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(move_plane_gizmo_instance[i], spatial_editor->get_move_plane_gizmo(i)->get_rid());
- RS::get_singleton()->instance_set_scenario(move_plane_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(move_plane_gizmo_instance[i], get_tree()->get_root()->get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_visible(move_plane_gizmo_instance[i], false);
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_plane_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(move_plane_gizmo_instance[i], layer);
rotate_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(rotate_gizmo_instance[i], spatial_editor->get_rotate_gizmo(i)->get_rid());
- RS::get_singleton()->instance_set_scenario(rotate_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(rotate_gizmo_instance[i], get_tree()->get_root()->get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_visible(rotate_gizmo_instance[i], false);
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(rotate_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(rotate_gizmo_instance[i], layer);
scale_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(scale_gizmo_instance[i], spatial_editor->get_scale_gizmo(i)->get_rid());
- RS::get_singleton()->instance_set_scenario(scale_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(scale_gizmo_instance[i], get_tree()->get_root()->get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_visible(scale_gizmo_instance[i], false);
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(scale_gizmo_instance[i], layer);
scale_plane_gizmo_instance[i] = RS::get_singleton()->instance_create();
RS::get_singleton()->instance_set_base(scale_plane_gizmo_instance[i], spatial_editor->get_scale_plane_gizmo(i)->get_rid());
- RS::get_singleton()->instance_set_scenario(scale_plane_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(scale_plane_gizmo_instance[i], get_tree()->get_root()->get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_visible(scale_plane_gizmo_instance[i], false);
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_plane_gizmo_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
RS::get_singleton()->instance_set_layer_mask(scale_plane_gizmo_instance[i], layer);
@@ -3530,7 +3530,7 @@ Vector3 Node3DEditorViewport::_get_instance_position(const Point2 &p_pos) const
Vector3 world_ray = _get_ray(p_pos);
Vector3 world_pos = _get_ray_pos(p_pos);
- Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(world_pos, world_ray, get_tree()->get_root()->get_world()->get_scenario());
+ Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(world_pos, world_ray, get_tree()->get_root()->get_world_3d()->get_scenario());
Set<Ref<EditorNode3DGizmo>> found_gizmos;
float closest_dist = MAX_DISTANCE;
@@ -4543,7 +4543,7 @@ Object *Node3DEditor::_get_editor_data(Object *p_what) {
Node3DEditorSelectedItem *si = memnew(Node3DEditorSelectedItem);
si->sp = sp;
- si->sbox_instance = RenderingServer::get_singleton()->instance_create2(selection_box->get_rid(), sp->get_world()->get_scenario());
+ si->sbox_instance = RenderingServer::get_singleton()->instance_create2(selection_box->get_rid(), sp->get_world_3d()->get_scenario());
RS::get_singleton()->instance_geometry_set_cast_shadows_setting(si->sbox_instance, RS::SHADOW_CASTING_SETTING_OFF);
return si;
@@ -5197,7 +5197,7 @@ void Node3DEditor::_init_indicators() {
RenderingServer::get_singleton()->mesh_add_surface_from_arrays(origin, RenderingServer::PRIMITIVE_LINES, d);
RenderingServer::get_singleton()->mesh_surface_set_material(origin, 0, indicator_mat->get_rid());
- origin_instance = RenderingServer::get_singleton()->instance_create2(origin, get_tree()->get_root()->get_world()->get_scenario());
+ origin_instance = RenderingServer::get_singleton()->instance_create2(origin, get_tree()->get_root()->get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_layer_mask(origin_instance, 1 << Node3DEditorViewport::GIZMO_GRID_LAYER);
RenderingServer::get_singleton()->instance_geometry_set_cast_shadows_setting(origin_instance, RS::SHADOW_CASTING_SETTING_OFF);
@@ -5572,7 +5572,7 @@ void Node3DEditor::_init_grid() {
d[RenderingServer::ARRAY_COLOR] = grid_colors[i];
RenderingServer::get_singleton()->mesh_add_surface_from_arrays(grid[i], RenderingServer::PRIMITIVE_LINES, d);
RenderingServer::get_singleton()->mesh_surface_set_material(grid[i], 0, indicator_mat->get_rid());
- grid_instance[i] = RenderingServer::get_singleton()->instance_create2(grid[i], get_tree()->get_root()->get_world()->get_scenario());
+ grid_instance[i] = RenderingServer::get_singleton()->instance_create2(grid[i], get_tree()->get_root()->get_world_3d()->get_scenario());
RenderingServer::get_singleton()->instance_set_visible(grid_instance[i], grid_visible[i]);
RenderingServer::get_singleton()->instance_geometry_set_cast_shadows_setting(grid_instance[i], RS::SHADOW_CASTING_SETTING_OFF);
@@ -5717,7 +5717,7 @@ void Node3DEditor::snap_selected_nodes_to_floor() {
}
}
- PhysicsDirectSpaceState3D *ss = get_tree()->get_root()->get_world()->get_direct_space_state();
+ PhysicsDirectSpaceState3D *ss = get_tree()->get_root()->get_world_3d()->get_direct_space_state();
PhysicsDirectSpaceState3D::RayResult result;
Array keys = snap_data.keys();
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index 35a08f2d1c..e6d3f17f12 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -3190,7 +3190,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_as", TTR("Save As...")), FILE_SAVE_AS);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_MASK_ALT | KEY_S), FILE_SAVE_ALL);
file_menu->get_popup()->add_separator();
- file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Script"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R), FILE_TOOL_RELOAD_SOFT);
+ file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/reload_script_soft", TTR("Soft Reload Script"), KEY_MASK_CMD | KEY_MASK_ALT | KEY_R), FILE_TOOL_RELOAD_SOFT);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/copy_path", TTR("Copy Script Path")), FILE_COPY_PATH);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/show_in_file_system", TTR("Show in FileSystem")), SHOW_IN_FILE_SYSTEM);
file_menu->get_popup()->add_separator();
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index 1a77eeb9de..c79c97737a 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -978,6 +978,26 @@ void ScriptTextEditor::_lookup_symbol(const String &p_symbol, int p_row, int p_c
emit_signal("go_to_help", "class_global:" + result.class_name + ":" + result.class_member);
} break;
}
+ } else if (ProjectSettings::get_singleton()->has_setting("autoload/" + p_symbol)) {
+ //check for Autoload scenes
+ String path = ProjectSettings::get_singleton()->get("autoload/" + p_symbol);
+ if (path.begins_with("*")) {
+ path = path.substr(1, path.length());
+ EditorNode::get_singleton()->load_scene(path);
+ }
+ } else if (p_symbol.is_rel_path()) {
+ // Every symbol other than absolute path is relative path so keep this condition at last.
+ String path = _get_absolute_path(p_symbol);
+ if (FileAccess::exists(path)) {
+ List<String> scene_extensions;
+ ResourceLoader::get_recognized_extensions_for_type("PackedScene", &scene_extensions);
+
+ if (scene_extensions.find(path.get_extension())) {
+ EditorNode::get_singleton()->load_scene(path);
+ } else {
+ EditorNode::get_singleton()->load_resource(path);
+ }
+ }
}
}
@@ -991,13 +1011,28 @@ void ScriptTextEditor::_validate_symbol(const String &p_symbol) {
}
ScriptLanguage::LookupResult result;
- if (ScriptServer::is_global_class(p_symbol) || p_symbol.is_resource_file() || script->get_language()->lookup_code(code_editor->get_text_edit()->get_text_for_lookup_completion(), p_symbol, script->get_path(), base, result) == OK) {
+ if (ScriptServer::is_global_class(p_symbol) || p_symbol.is_resource_file() || script->get_language()->lookup_code(code_editor->get_text_edit()->get_text_for_lookup_completion(), p_symbol, script->get_path(), base, result) == OK || ProjectSettings::get_singleton()->has_setting("autoload/" + p_symbol)) {
text_edit->set_highlighted_word(p_symbol);
+ } else if (p_symbol.is_rel_path()) {
+
+ String path = _get_absolute_path(p_symbol);
+ if (FileAccess::exists(path)) {
+ text_edit->set_highlighted_word(p_symbol);
+ } else {
+ text_edit->set_highlighted_word(String());
+ }
+
} else {
text_edit->set_highlighted_word(String());
}
}
+String ScriptTextEditor::_get_absolute_path(const String &rel_path) {
+ String base_path = script->get_path().get_base_dir();
+ String path = base_path.plus_file(rel_path);
+ return path.replace("///", "//").simplify_path();
+}
+
void ScriptTextEditor::update_toggle_scripts_button() {
if (code_editor != nullptr) {
code_editor->update_toggle_scripts_button();
diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h
index 51ce30c831..a0dfba6cc8 100644
--- a/editor/plugins/script_text_editor.h
+++ b/editor/plugins/script_text_editor.h
@@ -188,6 +188,8 @@ protected:
bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
+ String _get_absolute_path(const String &rel_path);
+
public:
void _update_connected_methods();
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index a7e737fdd2..35ed29f562 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -546,6 +546,10 @@ void VisualShaderEditor::_update_graph() {
Ref<VisualShaderNodeUniform> uniform = vsnode;
Ref<VisualShaderNodeFloatUniform> float_uniform = vsnode;
Ref<VisualShaderNodeIntUniform> int_uniform = vsnode;
+ Ref<VisualShaderNodeVec3Uniform> vec3_uniform = vsnode;
+ Ref<VisualShaderNodeColorUniform> color_uniform = vsnode;
+ Ref<VisualShaderNodeBooleanUniform> bool_uniform = vsnode;
+ Ref<VisualShaderNodeTransformUniform> transform_uniform = vsnode;
if (uniform.is_valid()) {
graph->add_child(node);
_update_created_node(node);
@@ -571,7 +575,7 @@ void VisualShaderEditor::_update_graph() {
//shortcut
VisualShaderNode::PortType port_right = vsnode->get_output_port_type(0);
node->set_slot(0, false, VisualShaderNode::PORT_TYPE_SCALAR, Color(), true, port_right, type_color[port_right]);
- if (!float_uniform.is_valid() && !int_uniform.is_valid()) {
+ if (!float_uniform.is_valid() && !int_uniform.is_valid() && !vec3_uniform.is_valid() && !color_uniform.is_valid() && !bool_uniform.is_valid() && !transform_uniform.is_valid()) {
continue;
}
}
@@ -585,13 +589,16 @@ void VisualShaderEditor::_update_graph() {
}
}
- if (custom_editor && !float_uniform.is_valid() && !int_uniform.is_valid() && vsnode->get_output_port_count() > 0 && vsnode->get_output_port_name(0) == "" && (vsnode->get_input_port_count() == 0 || vsnode->get_input_port_name(0) == "")) {
+ if (custom_editor && !float_uniform.is_valid() && !int_uniform.is_valid() && !vec3_uniform.is_valid() && !bool_uniform.is_valid() && !transform_uniform.is_valid() && vsnode->get_output_port_count() > 0 && vsnode->get_output_port_name(0) == "" && (vsnode->get_input_port_count() == 0 || vsnode->get_input_port_name(0) == "")) {
//will be embedded in first port
} else if (custom_editor) {
port_offset++;
node->add_child(custom_editor);
- if (float_uniform.is_valid() || int_uniform.is_valid()) {
+ if (color_uniform.is_valid()) {
+ custom_editor->call_deferred("_show_prop_names", true);
+ }
+ if (float_uniform.is_valid() || int_uniform.is_valid() || vec3_uniform.is_valid() || bool_uniform.is_valid() || transform_uniform.is_valid()) {
custom_editor->call_deferred("_show_prop_names", true);
continue;
}
@@ -2650,7 +2657,7 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("Texture", "Input", "Fragment", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "texture"), "texture", VisualShaderNode::PORT_TYPE_SAMPLER, VisualShader::TYPE_FRAGMENT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("FragCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "fragcoord"), "fragcoord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
- add_options.push_back(AddOption("LightAlpha", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_alpha"), "light_alpha", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("LightAlpha", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_alpha"), "light_alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("LightColor", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_color"), "light_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("LightHeight", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_height"), "light_height", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("LightUV", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "light_uv"), "light_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
@@ -2658,7 +2665,9 @@ VisualShaderEditor::VisualShaderEditor() {
add_options.push_back(AddOption("Normal", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "normal"), "normal", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("PointCoord", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "point_coord"), "point_coord", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("ScreenUV", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "screen_uv"), "screen_uv", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("ShadowAlpha", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "shadow_alpha"), "shadow_alpha", VisualShaderNode::PORT_TYPE_SCALAR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("ShadowColor", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "shadow_color"), "shadow_color", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
+ add_options.push_back(AddOption("ShadowVec", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_light_shader_mode, "shadow_vec"), "shadow_vec", VisualShaderNode::PORT_TYPE_VECTOR, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("Texture", "Input", "Light", "VisualShaderNodeInput", vformat(input_param_for_fragment_and_light_shader_modes, "texture"), "texture", VisualShaderNode::PORT_TYPE_SAMPLER, VisualShader::TYPE_LIGHT, Shader::MODE_CANVAS_ITEM));
add_options.push_back(AddOption("Extra", "Input", "Vertex", "VisualShaderNodeInput", vformat(input_param_for_vertex_shader_mode, "extra"), "extra", VisualShaderNode::PORT_TYPE_TRANSFORM, VisualShader::TYPE_VERTEX, Shader::MODE_CANVAS_ITEM));
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index 92f899a35d..a8aeb05150 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -553,11 +553,12 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
selection.sort_custom<Node::Comparator>();
- for (List<Node *>::Element *E = selection.back(); E; E = E->prev()) {
+ Node *add_below_node = selection.back()->get();
+
+ for (List<Node *>::Element *E = selection.front(); E; E = E->next()) {
Node *node = E->get();
Node *parent = node->get_parent();
- Node *selection_tail = _get_selection_group_tail(node, selection);
List<Node *> owned;
node->get_owned_by(node->get_owner(), &owned);
@@ -575,7 +576,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
dup->set_name(parent->validate_child_name(dup));
- editor_data->get_undo_redo().add_do_method(parent, "add_child_below_node", selection_tail, dup);
+ editor_data->get_undo_redo().add_do_method(parent, "add_child_below_node", add_below_node, dup);
for (List<Node *>::Element *F = owned.front(); F; F = F->next()) {
if (!duplimap.has(F->get())) {
@@ -583,7 +584,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
continue;
}
Node *d = duplimap[F->get()];
- editor_data->get_undo_redo().add_do_method(d, "set_owner", selection_tail->get_owner());
+ editor_data->get_undo_redo().add_do_method(d, "set_owner", node->get_owner());
}
editor_data->get_undo_redo().add_do_method(editor_selection, "add_node", dup);
editor_data->get_undo_redo().add_undo_method(parent, "remove_child", dup);
@@ -593,6 +594,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
editor_data->get_undo_redo().add_do_method(ed, "live_debug_duplicate_node", edited_scene->get_path_to(node), dup->get_name());
editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(edited_scene->get_path_to(parent)).plus_file(dup->get_name())));
+
+ add_below_node = dup;
}
editor_data->get_undo_redo().commit_action();
@@ -600,7 +603,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
if (dupsingle)
editor->push_item(dupsingle);
- for (List<Node *>::Element *E = editable_children.front(); E; E = E->next())
+ for (List<Node *>::Element *E = editable_children.back(); E; E = E->prev())
_toggle_editable_children(E->get());
} break;
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index 6181580a68..22358973a0 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -7,7 +7,7 @@
# Basil Al-Khateeb <basil.y.alkhateeb@gmail.com>, 2017.
# Jamal Alyafei <jamal.qassim@gmail.com>, 2017.
# john lennon <khoanantonio@outlook.com>, 2017.
-# Mohammmad Khashashneh <mohammad.rasmi@gmail.com>, 2016.
+# Mohammmad Khashashneh <mohammad.rasmi@gmail.com>, 2016, 2020.
# Mr ChaosXD <mrchaosxd3@gmail.com>, 2018.
# Mrwan Ashraf <mrwan.ashraf94@gmail.com>, 2017.
# noureldin sharaf <sharaf.noureldin@yahoo.com>, 2017.
@@ -35,12 +35,14 @@
# hshw <shw@tutanota.com>, 2020.
# Youssef Harmal <the.coder.crab@gmail.com>, 2020.
# Nabeel20 <nabeelandnizam@gmail.com>, 2020.
+# merouche djallal <kbordora@gmail.com>, 2020.
+# Airbus5717 <Abdussamadf350@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-27 08:24+0000\n"
-"Last-Translator: Nabeel20 <nabeelandnizam@gmail.com>\n"
+"PO-Revision-Date: 2020-05-05 14:01+0000\n"
+"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -49,12 +51,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "نوع معامل خاطئ للدالة convert()، إستخدم ثوابت TYPE_*."
+msgstr "معامل type خاطئ لدالة Convert, استخدم احدى الثوابت من مجموعة TYPE_*."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
@@ -344,7 +346,7 @@ msgstr "التفاف الحلقة المثبتة"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr "أدخل مفتاح"
+msgstr "أدخل المفتاح"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
@@ -594,11 +596,11 @@ msgstr "إحدف المحدد (المجموعة المختارة)"
#: editor/animation_track_editor.cpp
msgid "Go to Next Step"
-msgstr "إذهب إلي الخطوة التالية"
+msgstr "إذهب إلى الخطوة التالية"
#: editor/animation_track_editor.cpp
msgid "Go to Previous Step"
-msgstr "إذهب إلي الخطوة السابقة"
+msgstr "إذهب إلى الخطوة السابقة"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
@@ -671,7 +673,7 @@ msgstr "إختر المقاطع المراد نسخها"
#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Copy"
-msgstr "أنسخ"
+msgstr "نسخ"
#: editor/animation_track_editor.cpp
msgid "Select All/None"
@@ -754,13 +756,13 @@ msgstr "تحديد التبويب البرمجي"
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom In"
-msgstr "تقريب"
+msgstr "تكبير"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Out"
-msgstr "إبعاد"
+msgstr "تصغير"
#: editor/code_editor.cpp
msgid "Reset Zoom"
@@ -869,7 +871,7 @@ msgstr "إشارة غير قادر على الاتصال"
#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Close"
-msgstr "اغلاق"
+msgstr "إغلاق"
#: editor/connections_dialog.cpp
msgid "Connect"
@@ -1100,7 +1102,7 @@ msgstr "متصفح الموارد أورفان"
#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
msgid "Delete"
-msgstr "مسح"
+msgstr "حذف"
#: editor/dependency_editor.cpp
msgid "Owns"
@@ -1716,9 +1718,8 @@ msgid "Current Profile:"
msgstr "الملف (النسخة) الحالية:"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Make Current"
-msgstr "الحالي:"
+msgstr "إجعل الحالي"
#: editor/editor_feature_profile.cpp
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -1838,15 +1839,15 @@ msgstr "حفظ ملف"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
-msgstr "إرجع للخلف"
+msgstr "الرجوع للخلف"
#: editor/editor_file_dialog.cpp
msgid "Go Forward"
-msgstr "إذهب للأمام"
+msgstr "الذهاب للأمام"
#: editor/editor_file_dialog.cpp
msgid "Go Up"
-msgstr "إذهب للأعلي"
+msgstr "إذهب للأعلى"
#: editor/editor_file_dialog.cpp
msgid "Toggle Hidden Files"
@@ -1866,51 +1867,43 @@ msgstr "مسار التركيز"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Up"
-msgstr "حرك المُفضلة للأعلي"
+msgstr "حرك المُفضلة للأعلى"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Down"
msgstr "حرك المُفضلة للأسفل"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to previous folder."
-msgstr "إذهب إلي المجلد السابق"
+msgstr "إرجع إلي المجلد السابق."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to next folder."
-msgstr "إذهب إلي المجلد السابق"
+msgstr "إذهب إلي المجلد التالي."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Go to parent folder."
-msgstr "إذهب إلي المجلد السابق"
+msgstr "إذهب إلي مجلد الأصل."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Refresh files."
-msgstr "إبحث في الأصناف"
+msgstr "حَدِّث الملفات."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "(Un)favorite current folder."
-msgstr "لا يمكن إنشاء المجلد."
+msgstr "إضافة المجلد إلى المفضلة / إخراجه من المفضلة."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Toggle the visibility of hidden files."
-msgstr "أظهر الملفات المخفية"
+msgstr "إظهار/إخفاء الملفات المخفية."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-#, fuzzy
msgid "View items as a grid of thumbnails."
-msgstr "أظهر العناصر كشبكة من الصور المصغرة"
+msgstr "أظهر العناصر كشبكة من الصور المصغرة."
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-#, fuzzy
msgid "View items as a list."
-msgstr "أظهر العناصر كقائمة"
+msgstr "أظهر العناصر كقائمة."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
@@ -1963,12 +1956,11 @@ msgstr "مورث بواسطة:"
#: editor/editor_help.cpp
msgid "Description"
-msgstr "الوصف:"
+msgstr "الوصف"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Online Tutorials"
-msgstr "الدورس علي الإنترنت:"
+msgstr "التعليمات على الإنترنت"
#: editor/editor_help.cpp
msgid "Properties"
@@ -1979,9 +1971,8 @@ msgid "override:"
msgstr "يتجاوز:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "default:"
-msgstr "الإفتراضي"
+msgstr "الافتراضي:"
#: editor/editor_help.cpp
msgid "Methods"
@@ -2000,14 +1991,12 @@ msgid "Constants"
msgstr "الثوابت"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Property Descriptions"
-msgstr "وصف الملكية:"
+msgstr "أوصاف المُلكية"
#: editor/editor_help.cpp
-#, fuzzy
msgid "(value)"
-msgstr "القيمة:"
+msgstr "(القيمة)"
#: editor/editor_help.cpp
msgid ""
@@ -2018,9 +2007,8 @@ msgstr ""
"المساهمة واحد [color=$color][url=$url]!"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Method Descriptions"
-msgstr "وصف الطريقة:"
+msgstr "أوصاف الدوال Method"
#: editor/editor_help.cpp
msgid ""
@@ -2033,16 +2021,15 @@ msgstr ""
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
msgid "Search Help"
-msgstr "إبحث في المساعدة"
+msgstr "ابحث في المساعدة"
#: editor/editor_help_search.cpp
msgid "Case Sensitive"
msgstr "حساسة لحالة الأحرف"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Show Hierarchy"
-msgstr "أظهر المساعدات"
+msgstr "اظهر التراتبية"
#: editor/editor_help_search.cpp
msgid "Display All"
@@ -2069,9 +2056,8 @@ msgid "Properties Only"
msgstr "خصائص فقط"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Theme Properties Only"
-msgstr "خصائص"
+msgstr "خصائص الموضوع Theme فقط"
#: editor/editor_help_search.cpp
msgid "Member Type"
@@ -2079,35 +2065,31 @@ msgstr "نوع العضو"
#: editor/editor_help_search.cpp
msgid "Class"
-msgstr "الصنف"
+msgstr "الصف"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Method"
-msgstr "قائمة الطرق"
+msgstr "دالة"
#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Signal"
-msgstr "إشارات"
+msgstr "الإشاراة"
#: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Constant"
msgstr "ثابت"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Property"
-msgstr "خصيصة:"
+msgstr "خاصية"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Theme Property"
-msgstr "خصائص الثمة"
+msgstr "خاصية الموضوع Theme"
#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
msgid "Property:"
-msgstr "خصيصة:"
+msgstr "خاصية:"
#: editor/editor_inspector.cpp
msgid "Set"
@@ -2119,12 +2101,11 @@ msgstr "تحديد التكرار:"
#: editor/editor_log.cpp
msgid "Output:"
-msgstr "الخرج:"
+msgstr "المُخرجات:"
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Copy Selection"
-msgstr "حذف المُحدد"
+msgstr "نسخ المُحدد"
#: editor/editor_log.cpp editor/editor_network_profiler.cpp
#: editor/editor_profiler.cpp editor/editor_properties.cpp
@@ -2134,11 +2115,11 @@ msgstr "حذف المُحدد"
#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Clear"
-msgstr "خالي"
+msgstr "مسح"
#: editor/editor_log.cpp
msgid "Clear Output"
-msgstr "أخلاء الخرج"
+msgstr "مسح المُخرجات"
#: editor/editor_network_profiler.cpp editor/editor_node.cpp
#: editor/editor_profiler.cpp
@@ -2147,23 +2128,20 @@ msgstr "إيقاف"
#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
-#, fuzzy
msgid "Start"
-msgstr "بدء!"
+msgstr "بدء"
#: editor/editor_network_profiler.cpp
-#, fuzzy
msgid "%s/s"
msgstr "%s/s"
#: editor/editor_network_profiler.cpp
-#, fuzzy
msgid "Down"
-msgstr "تنزيل"
+msgstr "أسفل"
#: editor/editor_network_profiler.cpp
msgid "Up"
-msgstr "فوق"
+msgstr "أعلى"
#: editor/editor_network_profiler.cpp editor/editor_node.cpp
msgid "Node"
@@ -2260,7 +2238,7 @@ msgstr "ينشئ الصورة المصغرة"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
-msgstr "هذه العملية لا يمكنها الإكتمال من غير شجرة رئيسة."
+msgstr "هذه العملية لا يمكنها الإكتمال من غير جذر شجرة ."
#: editor/editor_node.cpp
msgid ""
@@ -2323,7 +2301,6 @@ msgstr ""
"هذا النظام."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This resource belongs to a scene that was instanced or inherited.\n"
"Changes to it won't be kept when saving the current scene."
@@ -2340,7 +2317,6 @@ msgstr ""
"الإستيراد ومن ثم أعد إستيراده."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
"Instancing it or inheriting will allow making changes to it.\n"
@@ -2353,13 +2329,12 @@ msgstr ""
"هذا النظام."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"This is a remote object, so changes to it won't be kept.\n"
"Please read the documentation relevant to debugging to better understand "
"this workflow."
msgstr ""
-"هذا المصدر ينتمي إلي مشهد قد تم إستيراده، إذا لا يمكن تعديله.\n"
+"هذا المصدر ينتمي إلي مشهد قد تم إستيراده، التعديلات لن تحفظ.\n"
"من فضلك إقرأ التوثيق المرتبط بإستيراد المشاهد لكي تفهم بشكل أفضل كيفية عمل "
"هذا النظام."
@@ -2384,9 +2359,8 @@ msgid "Open Base Scene"
msgstr "فتح مشهد أساسي"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Quick Open..."
-msgstr "فتح سريع للمشهد..."
+msgstr "فتح سريع ..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2405,9 +2379,8 @@ msgid "Save changes to '%s' before closing?"
msgstr "هل تريد حفظ التغييرات إلي'%s' قبل الإغلاق؟"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Saved %s modified resource(s)."
-msgstr "فشل تحميل المورد."
+msgstr "حفظت %s الموارد المعدلة."
#: editor/editor_node.cpp
msgid "A root node is required to save the scene."
@@ -2471,7 +2444,7 @@ msgstr "تشغيل مشهد بسرعة..."
#: editor/editor_node.cpp
msgid "Quit"
-msgstr "خروج"
+msgstr "إنهاء"
#: editor/editor_node.cpp
msgid "Exit the editor?"
@@ -2512,9 +2485,8 @@ msgid "Close Scene"
msgstr "اغلاق المشهد"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reopen Closed Scene"
-msgstr "اغلاق المشهد"
+msgstr "إعادة فتح المشهد"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -2530,19 +2502,19 @@ msgid "Unable to load addon script from path: '%s'."
msgstr "غير قادر علي تحميل كود الإضافة من المسار: '%s'."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"Unable to load addon script from path: '%s' There seems to be an error in "
"the code, please check the syntax."
msgstr ""
-"غير قادر علي تحميل كود الإضافة من المسار: '%s' الكود ليس في وضع الأداة."
+"غير قادر علي تحميل كود الإضافة من المسار: '%s' يبدو أن الكود يوجد فيه "
+"أخطاء , الرجاء مراجعة الكود."
#: editor/editor_node.cpp
msgid ""
"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
msgstr ""
"غير قادر علي تحميل كود الإضافة من المسار: '%s' النوع الأساسي ليس إضافة "
-"للمُعدل."
+"المُعدل."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
@@ -2615,24 +2587,20 @@ msgstr "الإفتراضي"
#: editor/editor_node.cpp editor/editor_properties.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
-#, fuzzy
msgid "Show in FileSystem"
msgstr "أظهر في مدير الملفات"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Play This Scene"
msgstr "تشغيل المشهد"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close Tab"
-msgstr "اغلاق"
+msgstr "اغلاق التبويب"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Undo Close Tab"
-msgstr "اغلاق"
+msgstr "تراجع عن ‭‬إغلاق التبويب"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
@@ -2643,9 +2611,8 @@ msgid "Close Tabs to the Right"
msgstr "أغلق التبويبات على اليمين"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Close All Tabs"
-msgstr "اغلاق"
+msgstr "اغلاق جميع نوافذ التبويب"
#: editor/editor_node.cpp
msgid "Switch Scene Tab"
@@ -2688,9 +2655,8 @@ msgid "Go to previously opened scene."
msgstr "اذهب الي المشهد المفتوح مسبقا."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Copy Text"
-msgstr "نسخ المسار"
+msgstr "نسخ النص"
#: editor/editor_node.cpp
msgid "Next tab"
@@ -2729,7 +2695,6 @@ msgid "Save Scene"
msgstr "حفظ المشهد"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save All Scenes"
msgstr "حفظ جميع المشاهد"
@@ -2753,7 +2718,7 @@ msgstr "تراجع"
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Redo"
-msgstr "إعادة"
+msgstr "إعادة تراجع"
#: editor/editor_node.cpp
msgid "Revert Scene"
@@ -2769,14 +2734,12 @@ msgid "Project"
msgstr "مشروع"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Project Settings..."
-msgstr "إعدادات المشروع"
+msgstr "إعدادات المشروع..."
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Version Control"
-msgstr "النسخة:"
+msgstr "التحكم في الإصدار"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Set Up Version Control"
@@ -2787,31 +2750,28 @@ msgid "Shut Down Version Control"
msgstr "إطفاء التحكم بالنسخة Version Control"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Export..."
-msgstr "تصدير"
+msgstr "تصدير..."
#: editor/editor_node.cpp
msgid "Install Android Build Template..."
msgstr "تحميل قالب البناء للأندرويد..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Project Data Folder"
-msgstr "فتح مدير المشروع؟"
+msgstr "فتح مجلد بيانات المشروع"
#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Tools"
msgstr "ادوات"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Orphan Resource Explorer..."
-msgstr "متصفح الموارد أورفان"
+msgstr "متصفح الموارد أورفان..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr "غادر الي قائمه المشاريع"
+msgstr "غادر إلى قائمه المشاريع"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/project_export.cpp
@@ -2908,56 +2868,48 @@ msgid "Editor"
msgstr "المُعدل"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "إعدادات المُعدل"
+msgstr "إعدادات المحرّر"
#: editor/editor_node.cpp
msgid "Editor Layout"
msgstr "نسق المُعدل"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Take Screenshot"
-msgstr "حفظ المشهد"
+msgstr "أخذ صورة للشاشة"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Screenshots are stored in the Editor Data/Settings Folder."
-msgstr "إعدادات المُعدل"
+msgstr "لقطات الشاشة تكون محفوظة في مجلّد البيانات/الإعدادت داخل المحرّر"
#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
msgstr "إلغاء/تفعيل وضع الشاشة الكاملة"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Toggle System Console"
-msgstr "أظهر المود"
+msgstr "إظهار/إخفاء وحدة التحكم بالنظام"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Editor Data/Settings Folder"
-msgstr "إعدادات المُعدل"
+msgstr "فتح مجلّد البيانات/الإعدادت المحرّر"
#: editor/editor_node.cpp
msgid "Open Editor Data Folder"
msgstr "افتح ملف بيانات المحرر"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open Editor Settings Folder"
-msgstr "إعدادات المُعدل"
+msgstr "فتح مجلّد إعدادات المحرّر"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Editor Features..."
-msgstr "إدارة قوالب التصدير"
+msgstr "إدارة ميّزات المحرّر"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Export Templates..."
-msgstr "إدارة قوالب التصدير"
+msgstr "إدارة قوالب التصدير..."
#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
msgid "Help"
@@ -2982,9 +2934,8 @@ msgid "Q&A"
msgstr "الأسئلة و الأجوبة"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Report a Bug"
-msgstr "إعادة إستيراد"
+msgstr "إرسال تقرير عن bug أو خلل في شيء ما"
#: editor/editor_node.cpp
msgid "Send Docs Feedback"
@@ -3040,24 +2991,20 @@ msgstr "تعديل معرّف الفيديو video driver يتطلب إعادة
#: editor/editor_node.cpp editor/project_settings_editor.cpp
#: editor/settings_config_dialog.cpp
-#, fuzzy
msgid "Save & Restart"
-msgstr "حفظ و خروج"
+msgstr "حفظ و إعادة تشغيل"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Spins when the editor window redraws."
-msgstr "يدور حينما نافذة المُعدل يتم إعادة دهانة!"
+msgstr "يدور حينما يتم إعادة رسم نافذة المحرّر"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Continuously"
-msgstr "متواصل"
+msgstr "تحديث متواصل"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update When Changed"
-msgstr "تحديث التغييرات"
+msgstr "تحديث عند التغيير"
#: editor/editor_node.cpp
#, fuzzy
@@ -3073,9 +3020,8 @@ msgid "Inspector"
msgstr "مُراقب"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Expand Bottom Panel"
-msgstr "توسيع الكل"
+msgstr "توسيع التبويب السفلي"
#: editor/editor_node.cpp
msgid "Output"
@@ -3090,9 +3036,8 @@ msgid "Android build template is missing, please install relevant templates."
msgstr "قالب البناء الخاص بالأندرويد مفقود، من فضلك نزل قوالب ذات صلة."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Manage Templates"
-msgstr "إدارة قوالب التصدير"
+msgstr "إدارة القوالب"
#: editor/editor_node.cpp
msgid ""
@@ -3128,9 +3073,8 @@ msgid "Import Templates From ZIP File"
msgstr "إستيراد القوالب من ملف مضغوط بصيغة Zip"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Template Package"
-msgstr "‌تصدير مدير القوالب"
+msgstr "رزمة القوالب"
#: editor/editor_node.cpp
msgid "Export Library"
@@ -3181,12 +3125,10 @@ msgid "Open the previous Editor"
msgstr "إفتح المُعدل السابق"
#: editor/editor_node.h
-#, fuzzy
msgid "Warning!"
-msgstr "تحذيرات"
+msgstr "تحذيرات!"
#: editor/editor_path.cpp
-#, fuzzy
msgid "No sub-resources found."
msgstr "لا مصدر للسطح تم تحديده."
@@ -3199,14 +3141,12 @@ msgid "Thumbnail..."
msgstr "الصورة المصغرة..."
#: editor/editor_plugin_settings.cpp
-#, fuzzy
msgid "Main Script:"
-msgstr "فتح الكود"
+msgstr "النص البرمجي الأصلي :"
#: editor/editor_plugin_settings.cpp
-#, fuzzy
msgid "Edit Plugin"
-msgstr "تعديل البولي"
+msgstr "تعديل الإضافة"
#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
@@ -3230,9 +3170,8 @@ msgid "Status:"
msgstr "الحالة:"
#: editor/editor_plugin_settings.cpp
-#, fuzzy
msgid "Edit:"
-msgstr "المُعدل"
+msgstr "تحرير:"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -5709,7 +5648,7 @@ msgstr "نصف المُحدد"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr "إملئ الشاشة بالمحدد"
+msgstr "تحديد الإطار"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
@@ -6144,6 +6083,10 @@ msgid ""
"This can be used instead of the SpatialMaterial Grow property when using "
"that property isn't possible."
msgstr ""
+"يُنشى سطحاً مخططاً outline mesh سكونياً. هذا السطح تكون قيمه الطبيعية مقلوبة "
+"بصورة تلقائية.\n"
+"يمكن أن يستخدم بدلاً من خاصية التمدد (Grow ) لمادة الحيز المكاني "
+"SpatialMaterial عندما يكون استخدام هذه الخاصية غير مقدور عليه."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "View UV1"
@@ -6865,7 +6808,7 @@ msgstr "%s مرجعية الصف Class"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
-msgstr "ابحث عن التالي"
+msgstr "إيجاد التالي"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -6898,7 +6841,7 @@ msgstr "تحريك لأعلى"
#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Move Down"
-msgstr "تحرك لأسفل"
+msgstr "تحريك لأسفل"
#: editor/plugins/script_editor_plugin.cpp
msgid "Next script"
@@ -6922,7 +6865,7 @@ msgstr "إعادة فتح النص البرمجي المُغلق"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
-msgstr "احفظ الكل"
+msgstr "إحفظ الكل"
#: editor/plugins/script_editor_plugin.cpp
msgid "Soft Reload Script"
@@ -6934,11 +6877,11 @@ msgstr "نسخ مسار النص البرمجي"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Previous"
-msgstr "التأريخ السابق"
+msgstr "التاريخ السابق"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Next"
-msgstr "التأريخ التالي"
+msgstr "التاريخ التالي"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
@@ -6971,11 +6914,11 @@ msgstr "تشغيل"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
-msgstr "خطوة ضمن"
+msgstr "اخط خطوة ضمن"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Over"
-msgstr "خطوة متجاوزة"
+msgstr "اخط خطوة متجاوزة"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
@@ -7473,7 +7416,7 @@ msgstr "عرض المُخطط Wireframe"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Overdraw"
-msgstr ""
+msgstr "عرض تراكبات الرسم Overdraw"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Unshaded"
@@ -7651,27 +7594,27 @@ msgstr "نافذة التحويلات ..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "1 Viewport"
-msgstr "إطار عرض واحد 1"
+msgstr "ساحة رؤية واحدة"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports"
-msgstr "إطاري عرض"
+msgstr "ساحتان للرؤية"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports (Alt)"
-msgstr "إطاري عرض (Alt)"
+msgstr "ساحتان للرؤية (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports"
-msgstr "3 إطارات عرض"
+msgstr "3 ساحات للرؤية"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports (Alt)"
-msgstr "3 إطارات عرض (Alt)"
+msgstr "3 ساحات للرؤية (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "4 Viewports"
-msgstr "4 إطارات عرض"
+msgstr "4 ساحات للرؤية"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Gizmos"
@@ -8283,7 +8226,7 @@ msgstr "القلب أفقياً"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Flip Vertically"
-msgstr "القلب شاقولياً"
+msgstr "القلب عموديًا"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -8322,7 +8265,7 @@ msgstr "أطلس جديد"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Next Coordinate"
-msgstr "الإحداثات التالية"
+msgstr "الإحداثيات التالية"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Select the next shape, subtile, or Tile."
@@ -8704,11 +8647,11 @@ msgstr "إظهار آخر تعديلات الملف قبل قبولهم في آ
#: editor/plugins/version_control_editor_plugin.cpp
msgid "No file diff is active"
-msgstr ""
+msgstr "لا ملف فروق نشط"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect changes in file diff"
-msgstr ""
+msgstr "الكشف عن التغييرات في ملف الفروق"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
@@ -8861,7 +8804,7 @@ msgstr "مُشغل الفارق."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Dodge operator."
-msgstr ""
+msgstr "مُشغل التملص Dodge."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "HardLight operator."
@@ -9438,7 +9381,7 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Divides vector by vector."
-msgstr ""
+msgstr "يُقسّم المُتجه (الشعاع) على المُتجه."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by vector."
@@ -9863,10 +9806,10 @@ msgid ""
"Incompatible with older hardware\n"
"Not recommended for web games"
msgstr ""
-"قيمة بصرية أعلى\n"
-"جميع المزايا متوافرة\n"
-"غير متوافق مع العتاد القديم\n"
-"ليس نصحية بالنسبة لألعاب الويب"
+"جودة بصرية أعلى\n"
+"جميع الميزات المتاحة\n"
+"غير متوافق مع الأجهزة القديمة\n"
+"لا ينصح به لألعاب الويب"
#: editor/project_manager.cpp
msgid "OpenGL ES 2.0"
@@ -9879,15 +9822,14 @@ msgid ""
"Works on most hardware\n"
"Recommended for web games"
msgstr ""
-"قيمة بصرية أقل\n"
-"بعض المزايا غير متوافرة \n"
-"يعمل على أغلب العتاد\n"
-"نصيحة لألعاب الويب"
+"جودة بصرية أقل\n"
+"بعض الميزات غير متوفرة \n"
+"يعمل على معظم الأجهزة\n"
+"يوصى به لألعاب الويب"
#: editor/project_manager.cpp
msgid "Renderer can be changed later, but scenes may need to be adjusted."
-msgstr ""
-"مُحرك الإخراج البصري يمكن تغييره لاحقاً، ولكن قد تحتاج إلى تعديل المشاهد."
+msgstr "يمكن تعديل جهاز العرض لاحقاً، ولكن قد تحتاج المشاهد إلى تعديل."
#: editor/project_manager.cpp
msgid "Unnamed Project"
@@ -9899,7 +9841,7 @@ msgstr "مشروع مفقود"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
-msgstr "خطأ: المشروع مفقود في ملفات النظام."
+msgstr "خطأ: المشروع مفقود في نظام الملفات."
#: editor/project_manager.cpp
msgid "Can't open project at '%s'."
@@ -10168,11 +10110,11 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Erase Input Action Event"
-msgstr ""
+msgstr "مسح حدث إجراء الإضافة"
#: editor/project_settings_editor.cpp
msgid "Add Event"
-msgstr ""
+msgstr "إضافة حَدث"
#: editor/project_settings_editor.cpp
msgid "Button"
@@ -10180,61 +10122,63 @@ msgstr "زر"
#: editor/project_settings_editor.cpp
msgid "Left Button."
-msgstr ""
+msgstr "الزر الأيسر."
#: editor/project_settings_editor.cpp
msgid "Right Button."
-msgstr ""
+msgstr "الزر الأيمن."
#: editor/project_settings_editor.cpp
msgid "Middle Button."
-msgstr ""
+msgstr "الزر الأوسط."
#: editor/project_settings_editor.cpp
msgid "Wheel Up."
-msgstr ""
+msgstr "العجلة نحو الأقصى."
#: editor/project_settings_editor.cpp
msgid "Wheel Down."
-msgstr ""
+msgstr "العجلة نحو الأدنى."
#: editor/project_settings_editor.cpp
msgid "Add Global Property"
-msgstr ""
+msgstr "إضافة خاصية شمولية"
#: editor/project_settings_editor.cpp
msgid "Select a setting item first!"
-msgstr ""
+msgstr "اختر عنصر إعدادات بدايةً!"
#: editor/project_settings_editor.cpp
msgid "No property '%s' exists."
-msgstr ""
+msgstr "لا خاصية '%s' موجودة."
#: editor/project_settings_editor.cpp
msgid "Setting '%s' is internal, and it can't be deleted."
-msgstr ""
+msgstr "الإعداد '%s' ضمني، ولا يمكن حذفه."
#: editor/project_settings_editor.cpp
msgid "Delete Item"
-msgstr ""
+msgstr "حذف العُنصر"
#: editor/project_settings_editor.cpp
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'."
msgstr ""
+"اسم إجراء غير صالح. لا يجوز أن يكون الاسم فارغاً أو متضمناً '/'، ':'،'='، '\\' "
+"أو'\"'."
#: editor/project_settings_editor.cpp
msgid "Add Input Action"
-msgstr ""
+msgstr "إضافة إجراء إدخال"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
-msgstr ""
+msgstr "خطأ في حفظ الإعدادات."
#: editor/project_settings_editor.cpp
msgid "Settings saved OK."
-msgstr ""
+msgstr "تيسّر حفظ الإعدادات."
#: editor/project_settings_editor.cpp
#, fuzzy
@@ -10243,19 +10187,19 @@ msgstr "حرك النقطة داخل المنحنى"
#: editor/project_settings_editor.cpp
msgid "Override for Feature"
-msgstr ""
+msgstr "التجاوز للميزة"
#: editor/project_settings_editor.cpp
msgid "Add Translation"
-msgstr ""
+msgstr "إضافة ترجمة"
#: editor/project_settings_editor.cpp
msgid "Remove Translation"
-msgstr ""
+msgstr "إزالة الترجمة"
#: editor/project_settings_editor.cpp
msgid "Add Remapped Path"
-msgstr ""
+msgstr "إضافة مسار مُعاد تعيينه Remapped"
#: editor/project_settings_editor.cpp
msgid "Resource Remap Add Remap"
@@ -10275,7 +10219,7 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter"
-msgstr ""
+msgstr "مُرشح محلي مُعدّل"
#: editor/project_settings_editor.cpp
msgid "Changed Locale Filter Mode"
@@ -10283,7 +10227,7 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
-msgstr ""
+msgstr "إعدادات المشروع (project.godot)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
@@ -10291,47 +10235,47 @@ msgstr "بشكل عام"
#: editor/project_settings_editor.cpp
msgid "Override For..."
-msgstr ""
+msgstr "تجاوز لأجل..."
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "The editor must be restarted for changes to take effect."
-msgstr ""
+msgstr "لكي يظهر تأثير التغييرات ينبغي إعادة تشغيل المُحرر."
#: editor/project_settings_editor.cpp
msgid "Input Map"
-msgstr ""
+msgstr "خريطة الإدخال"
#: editor/project_settings_editor.cpp
msgid "Action:"
-msgstr ""
+msgstr "إجراء:"
#: editor/project_settings_editor.cpp
msgid "Action"
-msgstr "الفعل"
+msgstr "إجراء"
#: editor/project_settings_editor.cpp
msgid "Deadzone"
-msgstr ""
+msgstr "الحيز الميّت"
#: editor/project_settings_editor.cpp
msgid "Device:"
-msgstr ""
+msgstr "الجهاز:"
#: editor/project_settings_editor.cpp
msgid "Index:"
-msgstr ""
+msgstr "الفهرس:"
#: editor/project_settings_editor.cpp
msgid "Localization"
-msgstr ""
+msgstr "توطين"
#: editor/project_settings_editor.cpp
msgid "Translations"
-msgstr ""
+msgstr "الترجمات"
#: editor/project_settings_editor.cpp
msgid "Translations:"
-msgstr ""
+msgstr "الترجمات:"
#: editor/project_settings_editor.cpp
msgid "Remaps"
@@ -10339,41 +10283,39 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Resources:"
-msgstr ""
+msgstr "الموارد:"
#: editor/project_settings_editor.cpp
msgid "Remaps by Locale:"
-msgstr ""
+msgstr "إعادة تعيين الخرائط محلياً:"
#: editor/project_settings_editor.cpp
msgid "Locale"
-msgstr ""
+msgstr "محلي"
#: editor/project_settings_editor.cpp
msgid "Locales Filter"
-msgstr ""
+msgstr "مُرشح المحليّات Locales"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show All Locales"
-msgstr "إظهار العظام"
+msgstr "إظهار جميع المَحليّات Locales"
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Show Selected Locales Only"
-msgstr "المحدد فقط"
+msgstr "إظهار المَحليّات المُختارة فحسب"
#: editor/project_settings_editor.cpp
msgid "Filter mode:"
-msgstr "وضع المُصفي:"
+msgstr "وضع المُرشح:"
#: editor/project_settings_editor.cpp
msgid "Locales:"
-msgstr ""
+msgstr "مَحليّات:"
#: editor/project_settings_editor.cpp
msgid "AutoLoad"
-msgstr ""
+msgstr "تحميل تلقائي"
#: editor/project_settings_editor.cpp
msgid "Plugins"
@@ -10385,19 +10327,19 @@ msgstr "إعداد مُسبق..."
#: editor/property_editor.cpp
msgid "Zero"
-msgstr ""
+msgstr "صفر"
#: editor/property_editor.cpp
msgid "Easing In-Out"
-msgstr ""
+msgstr "تسارع بعد بداية بطيئة"
#: editor/property_editor.cpp
msgid "Easing Out-In"
-msgstr ""
+msgstr "تباطؤ بعد بداية سريعة"
#: editor/property_editor.cpp
msgid "File..."
-msgstr ""
+msgstr "ملف..."
#: editor/property_editor.cpp
msgid "Dir..."
@@ -10405,31 +10347,31 @@ msgstr ""
#: editor/property_editor.cpp
msgid "Assign"
-msgstr ""
+msgstr "ألحق"
#: editor/property_editor.cpp
msgid "Select Node"
-msgstr ""
+msgstr "اختر عُقدة"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
-msgstr ""
+msgstr "خطأ في تحميل الملف: ليس مورداً!"
#: editor/property_editor.cpp
msgid "Pick a Node"
-msgstr ""
+msgstr "اختر عُقدة"
#: editor/property_editor.cpp
msgid "Bit %d, val %d."
-msgstr ""
+msgstr "Bit %d، قيمة%d."
#: editor/property_selector.cpp
msgid "Select Property"
-msgstr ""
+msgstr "انتقاء الخاصية"
#: editor/property_selector.cpp
msgid "Select Virtual Method"
-msgstr "إختر طريقة إفتراضية"
+msgstr "اختر الطريقة الإفتراضية"
#: editor/property_selector.cpp
msgid "Select Method"
@@ -10442,24 +10384,23 @@ msgstr "إعادة التسمية"
#: editor/rename_dialog.cpp
msgid "Prefix"
-msgstr ""
+msgstr "بادئة"
#: editor/rename_dialog.cpp
msgid "Suffix"
-msgstr ""
+msgstr "لاحقة"
#: editor/rename_dialog.cpp
msgid "Use Regular Expressions"
msgstr "استخدام التعبيرات الاعتيادية Regular Expressions"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Advanced Options"
-msgstr "إعدادات الكبس"
+msgstr "إعدادات مُتقدمة"
#: editor/rename_dialog.cpp
msgid "Substitute"
-msgstr ""
+msgstr "استبدال"
#: editor/rename_dialog.cpp
#, fuzzy
@@ -10468,40 +10409,39 @@ msgstr "إسم العقدة:"
#: editor/rename_dialog.cpp
msgid "Node's parent name, if available"
-msgstr ""
+msgstr "اسم العُقدة الأب، إن توافر"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Node type"
-msgstr "إسم العقدة:"
+msgstr "نوع العُقدة"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Current scene name"
-msgstr "لم يتم حفظ المشهد الحالي. إفتحه علي أية حال؟"
+msgstr "اسم المشهد الحالي"
#: editor/rename_dialog.cpp
-#, fuzzy
msgid "Root node name"
-msgstr "إعادة التسمية"
+msgstr "اسم العُقدة الرئيسة (الجذر)"
#: editor/rename_dialog.cpp
msgid ""
"Sequential integer counter.\n"
"Compare counter options."
msgstr ""
+"عداد الأعداد الصحيحة التسلسلية.\n"
+"يقارن إعدادات العداد."
#: editor/rename_dialog.cpp
msgid "Per-level Counter"
-msgstr ""
+msgstr "العداد وفق-المستوى"
#: editor/rename_dialog.cpp
msgid "If set the counter restarts for each group of child nodes"
-msgstr ""
+msgstr "إذا تم تحديده فإن العداد سيعيد البدء لكل مجموعة من العُقد الأبناء"
#: editor/rename_dialog.cpp
msgid "Initial value for the counter"
-msgstr ""
+msgstr "القيمة المبدئية للعداد"
#: editor/rename_dialog.cpp
#, fuzzy
@@ -10510,7 +10450,7 @@ msgstr "خطوة (ثانية):"
#: editor/rename_dialog.cpp
msgid "Amount by which counter is incremented for each node"
-msgstr ""
+msgstr "مقدار الزيادة للعداد لكل عُقدة"
#: editor/rename_dialog.cpp
msgid "Padding"
@@ -10524,31 +10464,31 @@ msgstr ""
#: editor/rename_dialog.cpp
msgid "Post-Process"
-msgstr ""
+msgstr "المعالجة-اللاحقة Post-Process"
#: editor/rename_dialog.cpp
msgid "Keep"
-msgstr ""
+msgstr "احتفظ"
#: editor/rename_dialog.cpp
msgid "PascalCase to snake_case"
-msgstr ""
+msgstr "حالة أحرف PascalCase إلى snake_case"
#: editor/rename_dialog.cpp
msgid "snake_case to PascalCase"
-msgstr ""
+msgstr "حالة أحرف snake_case إلى PascalCase"
#: editor/rename_dialog.cpp
msgid "Case"
-msgstr ""
+msgstr "حالة"
#: editor/rename_dialog.cpp
msgid "To Lowercase"
-msgstr ""
+msgstr "لأحرف صغيرة Lowercase"
#: editor/rename_dialog.cpp
msgid "To Uppercase"
-msgstr ""
+msgstr "لأحرف كبيرة Uppercase"
#: editor/rename_dialog.cpp
#, fuzzy
@@ -10557,7 +10497,7 @@ msgstr "إرجاع التكبير"
#: editor/rename_dialog.cpp
msgid "Regular Expression Error"
-msgstr ""
+msgstr "خطأ ذو علاقة بالتعبير الاعتيادي Regular Expression"
#: editor/rename_dialog.cpp
msgid "At character %s"
@@ -10565,65 +10505,65 @@ msgstr "عند الحرف %s"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
-msgstr ""
+msgstr "إعادة اختيار أبوة العُقدة"
#: editor/reparent_dialog.cpp
msgid "Reparent Location (Select new Parent):"
-msgstr ""
+msgstr "إعادة اختيار أبوة المكان (اختر أب جديد):"
#: editor/reparent_dialog.cpp
msgid "Keep Global Transform"
-msgstr ""
+msgstr "الاحتفاظ بالتحوّل الشمولي Global"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent"
-msgstr ""
+msgstr "إعادة اختيار الأبوة"
#: editor/run_settings_dialog.cpp
msgid "Run Mode:"
-msgstr ""
+msgstr "وضع التشغيل:"
#: editor/run_settings_dialog.cpp
msgid "Current Scene"
-msgstr ""
+msgstr "المشهد الحالي"
#: editor/run_settings_dialog.cpp
msgid "Main Scene"
-msgstr ""
+msgstr "المشهد الرئيس"
#: editor/run_settings_dialog.cpp
msgid "Main Scene Arguments:"
-msgstr ""
+msgstr "معاملات المشهد الرئيس:"
#: editor/run_settings_dialog.cpp
msgid "Scene Run Settings"
-msgstr ""
+msgstr "إعدادت تشغيل المشهد"
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
-msgstr ""
+msgstr "لا أب لنمذجة المشاهد عنده."
#: editor/scene_tree_dock.cpp
msgid "Error loading scene from %s"
-msgstr ""
+msgstr "خطأ في تحميل المشهد من %s"
#: editor/scene_tree_dock.cpp
msgid ""
"Cannot instance the scene '%s' because the current scene exists within one "
"of its nodes."
-msgstr ""
+msgstr "لا يمكن نمذجة المشهد '%s' لأن المشهد الحالي مُتضَمن في واحد من عُقده."
#: editor/scene_tree_dock.cpp
msgid "Instance Scene(s)"
-msgstr ""
+msgstr "نمذجة المشهد(المشاهد)"
#: editor/scene_tree_dock.cpp
msgid "Replace with Branch Scene"
-msgstr ""
+msgstr "استبدال بمشهد فرعي"
#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
-msgstr ""
+msgstr "نمذجة المشهد الابن"
#: editor/scene_tree_dock.cpp
msgid "Clear Script"
@@ -10631,31 +10571,33 @@ msgstr "إخلاء الكود"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
-msgstr ""
+msgstr "لا يمكن إجراء هذه العملية على جذر الشجرة."
#: editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
-msgstr ""
+msgstr "نقل العُقدة عند الأب"
#: editor/scene_tree_dock.cpp
msgid "Move Nodes In Parent"
-msgstr ""
+msgstr "تحريك العُقد عند الأب"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
-msgstr ""
+msgstr "مضاعفة العُقدة(العُقد)"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
msgstr ""
+"لا يمكن إعادة اختيار أبوة العُقدة في المشاهد الموروثة، لا يمكن تغيير ترتيب "
+"العُقد."
#: editor/scene_tree_dock.cpp
msgid "Node must belong to the edited scene to become root."
-msgstr ""
+msgstr "لكي تصبح هذه العُقدة رئيسة (جذر) عليها أن تنتمي إلى المشهد المُحرر."
#: editor/scene_tree_dock.cpp
msgid "Instantiated scenes can't become root"
-msgstr ""
+msgstr "لا يمكن أن تصبح المشاهد المنمذجة مشاهد رئيسة (جذر)"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10669,11 +10611,11 @@ msgstr "إنشاء عقدة"
#: editor/scene_tree_dock.cpp
msgid "Delete the root node \"%s\"?"
-msgstr ""
+msgstr "حذف العُقدة الرئيسة (الجذر) \"%s\"؟"
#: editor/scene_tree_dock.cpp
msgid "Delete node \"%s\" and its children?"
-msgstr ""
+msgstr "حذف العُقدة \"%s\" مع جميع أبنائها؟"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10682,56 +10624,56 @@ msgstr "إنشاء عقدة"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
-msgstr ""
+msgstr "لا يمكن التنفيذ مع العُقدة الرئيسة (الجذر)."
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on instanced scenes."
-msgstr ""
+msgstr "لا يمكن تنفيذ هذا الإجراء على المشاهد المُنمذجة."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
-msgstr ""
+msgstr "احفظ المشهد الجديد كـ..."
#: editor/scene_tree_dock.cpp
msgid ""
"Disabling \"editable_instance\" will cause all properties of the node to be "
"reverted to their default."
msgstr ""
+"سيسبب تعطيل خاصية \"النمذجة_المُحررة\" \"editable_instance\" عودة قيم العُقد "
+"إلى القيم الافتراضية لها."
#: editor/scene_tree_dock.cpp
msgid ""
"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
"cause all properties of the node to be reverted to their default."
msgstr ""
+"سيسبب تمكين \"التحميل كعنصر نائب\" \"Load As Placeholder\" تعطيل \"ابن قابل "
+"للتحرير\" \"Editable Children\" والذي ينجم عنه عودة قيم جميع العُقد إلى قيمها "
+"الافتراضية."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Make Local"
-msgstr "أنشئ عظام"
+msgstr "اجعله محلياً"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "New Scene Root"
-msgstr "حفظ المشهد"
+msgstr "مشهد رئيس (جذر) جديد"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Create Root Node:"
-msgstr "إنشاء عقدة"
+msgstr "إنشاء العُقدة الرئيسة (الجذر):"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "2D Scene"
-msgstr "مشهد"
+msgstr "مشهد ثنائي البُعد"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "3D Scene"
-msgstr "مشهد"
+msgstr "مشهد ثلاثي الأبعاد"
#: editor/scene_tree_dock.cpp
msgid "User Interface"
-msgstr ""
+msgstr "واجهة المستخدم"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10740,37 +10682,37 @@ msgstr "إنشاء عقدة"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
-msgstr ""
+msgstr "لا يمكن تنفيذ الإجراء على عُقدة من مشهد أجنبي!"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes the current scene inherits from!"
-msgstr ""
+msgstr "لا يمكن تنفيذ الإجراء على عُقد يرثها المشهد الحالي!"
#: editor/scene_tree_dock.cpp
msgid "Attach Script"
-msgstr ""
+msgstr "إلحاق نص برمجي"
#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
-msgstr ""
+msgstr "إزالة عُقدة (عُقد)"
#: editor/scene_tree_dock.cpp
msgid "Change type of node(s)"
-msgstr ""
+msgstr "تغيير نوع العُقدة(العُقد)"
#: editor/scene_tree_dock.cpp
msgid ""
"Couldn't save new scene. Likely dependencies (instances) couldn't be "
"satisfied."
-msgstr ""
+msgstr "لم ينجح حفظ المشهد الجديد. غالباً لا يمكن إشباع التبعات (النماذج)."
#: editor/scene_tree_dock.cpp
msgid "Error saving scene."
-msgstr ""
+msgstr "خطأ في حفظ المشهد."
#: editor/scene_tree_dock.cpp
msgid "Error duplicating scene to save it."
-msgstr ""
+msgstr "خطأ في مضاعفة المشهد لحفظه."
#: editor/scene_tree_dock.cpp
msgid "Sub-Resources"
@@ -10778,15 +10720,15 @@ msgstr "مورد فرعي"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
-msgstr ""
+msgstr "مسح الميراث"
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
-msgstr ""
+msgstr "أبناء قابلين للتعديل"
#: editor/scene_tree_dock.cpp
msgid "Load As Placeholder"
-msgstr ""
+msgstr "تحميله كعنصر نائب"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10795,7 +10737,7 @@ msgstr "فُتح مؤخراً"
#: editor/scene_tree_dock.cpp
msgid "Add Child Node"
-msgstr ""
+msgstr "إضافة عُقدة ابن"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10804,7 +10746,7 @@ msgstr "طوي الكل"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
-msgstr ""
+msgstr "تغيير النوع"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10818,19 +10760,19 @@ msgstr "حفظ المشهد"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
-msgstr ""
+msgstr "دمج من المشهد"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
-msgstr ""
+msgstr "حفظ الفرع كمشهد"
#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Copy Node Path"
-msgstr ""
+msgstr "نسخ مسار العُقدة"
#: editor/scene_tree_dock.cpp
msgid "Delete (No Confirm)"
-msgstr ""
+msgstr "حذف (دون تأكيد)"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10842,14 +10784,16 @@ msgid ""
"Instance a scene file as a Node. Creates an inherited scene if no root node "
"exists."
msgstr ""
+"نمذجة ملف المشهد كعُقدة. إن لم يكن هناك عُقدة رئيسة (جذر) سيتم إنشاء مشهد "
+"موروث."
#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
-msgstr ""
+msgstr "إلحاق نص برمجي موجود أو جديد للعُقدة المختارة."
#: editor/scene_tree_dock.cpp
msgid "Clear a script for the selected node."
-msgstr ""
+msgstr "مسح النص البرمجي للعُقدة المختارة."
#: editor/scene_tree_dock.cpp
msgid "Remote"
@@ -10857,11 +10801,11 @@ msgstr "عن بعد"
#: editor/scene_tree_dock.cpp
msgid "Local"
-msgstr ""
+msgstr "محلي"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance? (No Undo!)"
-msgstr ""
+msgstr "مسح الموروث؟ (لا تراجع!)"
#: editor/scene_tree_editor.cpp
#, fuzzy
@@ -11235,11 +11179,11 @@ msgstr ""
#: editor/script_editor_debugger.cpp
msgid "Set From Tree"
-msgstr ""
+msgstr "التحديد من الشجرة"
#: editor/script_editor_debugger.cpp
msgid "Export measures as CSV"
-msgstr ""
+msgstr "تصدير القياسات ك CSV"
#: editor/settings_config_dialog.cpp
#, fuzzy
@@ -11248,7 +11192,7 @@ msgstr "تخفيف للخارج"
#: editor/settings_config_dialog.cpp
msgid "Restore Shortcut"
-msgstr ""
+msgstr "إعادة تعيين الاختصارات"
#: editor/settings_config_dialog.cpp
#, fuzzy
@@ -11261,15 +11205,15 @@ msgstr "إعدادات المُعدل"
#: editor/settings_config_dialog.cpp
msgid "Shortcuts"
-msgstr ""
+msgstr "الاختصارات"
#: editor/settings_config_dialog.cpp
msgid "Binding"
-msgstr ""
+msgstr "الربط"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
-msgstr ""
+msgstr "تغيير نصف قطر الإنارة"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
@@ -11555,9 +11499,8 @@ msgid "Clear Selection"
msgstr "إخلاء المحدد"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Fill Selection"
-msgstr "كُل المُحدد"
+msgstr "تعبئة المُحدد"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index 3f5c140428..aaa46da54d 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -7,12 +7,13 @@
# Tahmid Karim <tahmidk15@gmail.com>, 2016.
# Tawhid H. <Tawhidk757@yahoo.com>, 2019.
# Hasibul Hasan <hasibeng78@gmail.com>, 2019.
+# Oymate <dhruboadittya96@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-12-13 09:38+0000\n"
-"Last-Translator: Hasibul Hasan <hasibeng78@gmail.com>\n"
+"PO-Revision-Date: 2020-05-04 15:11+0000\n"
+"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/godot-engine/"
"godot/bn/>\n"
"Language: bn\n"
@@ -20,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -29,7 +30,7 @@ msgstr "অবৈধ প্রকার রূপান্তর করার
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
-msgstr ""
+msgstr "১ (একটি অক্ষর) দৈর্ঘ্য এর স্ট্রিং প্রত্যাশিত।"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
diff --git a/editor/translations/de.po b/editor/translations/de.po
index 86e7d09671..c3b2d6ee58 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -53,8 +53,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-20 05:51+0000\n"
-"Last-Translator: anonymous <noreply@weblate.org>\n"
+"PO-Revision-Date: 2020-05-04 15:11+0000\n"
+"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -62,7 +62,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -3001,7 +3001,7 @@ msgstr "Dokumentationsvorschläge senden"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr "Community"
+msgstr "Gemeinschaft"
#: editor/editor_node.cpp
msgid "About"
@@ -10002,6 +10002,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"Die Suchmaske filtert Projekte nach ihrem Namen oder der letzten Komponente "
+"ihres Pfadnamens.\n"
+"Um den Filter auf den gesamten Pfadnamen anzuwenden muss mindestens ein ‚/‘-"
+"Zeichen in der Suchanfrage vorhanden sein."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -11123,9 +11127,8 @@ msgid "Total:"
msgstr "Insgesamt:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Profil exportieren"
+msgstr "Liste als CSV-Datei exportieren"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index dc10209d18..d75cb88920 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -7,18 +7,19 @@
# Teashrock <kajitsu22@gmail.com>, 2019.
# Brandon Dyer <brandondyer64@gmail.com>, 2019.
# Alejandro Sánchez Medina <alejandrosanchzmedina@gmail.com>, 2019.
+# Sr Half <flavio05@outlook.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2019-11-11 14:19+0000\n"
-"Last-Translator: Alejandro Sánchez Medina <alejandrosanchzmedina@gmail.com>\n"
+"PO-Revision-Date: 2020-05-01 11:43+0000\n"
+"Last-Translator: Sr Half <flavio05@outlook.com>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/"
"godot/eo/>\n"
"Language: eo\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -27,7 +28,7 @@ msgstr "Nevalida tip-argumento por funkcio convert(). Uzu konstantojn TYPE_*."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
-msgstr ""
+msgstr "Atendas ĉenon de longo 1 (unu karaktero)."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
@@ -65,31 +66,31 @@ msgstr "En voko al '%s':"
#: core/ustring.cpp
msgid "B"
-msgstr ""
+msgstr "B"
#: core/ustring.cpp
msgid "KiB"
-msgstr ""
+msgstr "Kib"
#: core/ustring.cpp
msgid "MiB"
-msgstr ""
+msgstr "MiB"
#: core/ustring.cpp
msgid "GiB"
-msgstr ""
+msgstr "Gib"
#: core/ustring.cpp
msgid "TiB"
-msgstr ""
+msgstr "TiB"
#: core/ustring.cpp
msgid "PiB"
-msgstr ""
+msgstr "PiB"
#: core/ustring.cpp
msgid "EiB"
-msgstr ""
+msgstr "EiB"
#: editor/animation_bezier_editor.cpp
msgid "Free"
@@ -422,7 +423,7 @@ msgstr "Ĝi ne estas ebla adici novan vojeton sen radiko"
#: editor/animation_track_editor.cpp
msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
+msgstr "Nevalida trako por Bezier (neniu taŭga subproprietaĵoj)"
#: editor/animation_track_editor.cpp
msgid "Add Bezier Track"
@@ -12285,7 +12286,7 @@ msgstr ""
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
-msgstr ""
+msgstr "Konstantoj ne povas esti modifitaj."
#, fuzzy
#~ msgid "Help improve the Godot documentation by giving feedback."
diff --git a/editor/translations/es.po b/editor/translations/es.po
index 933cff80a4..8446ed2415 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -45,11 +45,12 @@
# Julián Luini <jluini@gmail.com>, 2020.
# Victor S. <victorstancioiu@gmail.com>, 2020.
# henry rujano herrera <rujhen@gmail.com>, 2020.
+# Megamega53 <Christopher.Morales21@myhunter.cuny.edu>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-23 20:21+0000\n"
+"PO-Revision-Date: 2020-05-04 15:11+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
@@ -58,7 +59,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -617,11 +618,11 @@ msgstr "Eliminar Selección"
#: editor/animation_track_editor.cpp
msgid "Go to Next Step"
-msgstr "Ir al Paso Siguiente"
+msgstr "Ir al Siguiente Paso"
#: editor/animation_track_editor.cpp
msgid "Go to Previous Step"
-msgstr "Ir al Paso Anterior"
+msgstr "Ir al Anterior Paso"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
@@ -2043,7 +2044,7 @@ msgstr ""
#: editor/editor_help.cpp
msgid "Method Descriptions"
-msgstr "Descripción de Métodos"
+msgstr "Descripciones de Métodos"
#: editor/editor_help.cpp
msgid ""
@@ -2691,7 +2692,7 @@ msgstr "Posición del Dock"
#: editor/editor_node.cpp
msgid "Distraction Free Mode"
-msgstr "Modo sin distracciones"
+msgstr "Modo Sin Distracciones"
#: editor/editor_node.cpp
msgid "Toggle distraction-free mode."
@@ -2715,11 +2716,11 @@ msgstr "Copiar Texto"
#: editor/editor_node.cpp
msgid "Next tab"
-msgstr "Pestaña siguiente"
+msgstr "Siguiente pestaña"
#: editor/editor_node.cpp
msgid "Previous tab"
-msgstr "Pestaña anterior"
+msgstr "Anterior pestaña"
#: editor/editor_node.cpp
msgid "Filter Files..."
@@ -5428,7 +5429,7 @@ msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Reset"
-msgstr "Resetear el Zoom"
+msgstr "Resetear Zoom"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5456,17 +5457,17 @@ msgstr "Alt + Clic Derecho: Selección en listado de solapamientos"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Move Mode"
-msgstr "Modo Movimiento"
+msgstr "Modo de Movimiento"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate Mode"
-msgstr "Modo Rotación"
+msgstr "Modo de Rotación"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scale Mode"
-msgstr "Modo Escalado"
+msgstr "Modo de Escalado"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5488,7 +5489,7 @@ msgstr "Modo desplazamiento lateral"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Ruler Mode"
-msgstr "Modo Regla"
+msgstr "Modo de Regla"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle smart snapping."
@@ -5679,7 +5680,7 @@ msgstr "Clave de animación y Opciones de Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
-msgstr "Insertar clave (pistas existentes)"
+msgstr "Insertar Clave (Pistas Existentes)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Copy Pose"
@@ -6035,7 +6036,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Single Convex Collision Sibling"
-msgstr "Crear Colisión Convexa Única Hermana"
+msgstr "Crear Collider Convexo Único Hermano"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -6047,7 +6048,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Multiple Convex Collision Siblings"
-msgstr "Crear Múltiples Colisiones Convexas Hermanas"
+msgstr "Crear Múltiples Collider Convexos Hermanos"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -6855,7 +6856,7 @@ msgstr "Guardar Todo"
#: editor/plugins/script_editor_plugin.cpp
msgid "Soft Reload Script"
-msgstr "Recargar parcialmente el script"
+msgstr "Recargar Parcialmente el Script"
#: editor/plugins/script_editor_plugin.cpp
msgid "Copy Script Path"
@@ -6863,7 +6864,7 @@ msgstr "Copiar Ruta del Script"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Previous"
-msgstr "Previo en Historial"
+msgstr "Previo en el Historial"
#: editor/plugins/script_editor_plugin.cpp
msgid "History Next"
@@ -6900,11 +6901,11 @@ msgstr "Ejecutar"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Into"
-msgstr "Step Into"
+msgstr "Entrar En"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Step Over"
-msgstr "Step Over"
+msgstr "Salir de Aquí"
#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
msgid "Break"
@@ -7112,15 +7113,15 @@ msgstr "Eliminar Espacios Sobrantes al Final"
#: editor/plugins/script_text_editor.cpp
msgid "Convert Indent to Spaces"
-msgstr "Convertir Indentación en Espacios"
+msgstr "Convertir Sangría en Espacios"
#: editor/plugins/script_text_editor.cpp
msgid "Convert Indent to Tabs"
-msgstr "Convertir Indentación en Tabulaciones"
+msgstr "Convertir Sangría en Tabulaciones"
#: editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
-msgstr "Autoindentar"
+msgstr "Auto Sangría"
#: editor/plugins/script_text_editor.cpp
msgid "Find in Files..."
@@ -7140,7 +7141,7 @@ msgstr "Ir al Siguiente Marcador"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Previous Bookmark"
-msgstr "Ir al Marcador Anterior"
+msgstr "Ir al Anterior Marcador"
#: editor/plugins/script_text_editor.cpp
msgid "Remove All Bookmarks"
@@ -7157,19 +7158,19 @@ msgstr "Ir a Línea..."
#: editor/plugins/script_text_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Toggle Breakpoint"
-msgstr "Act./Desact. Breakpoint"
+msgstr "Cambiar Punto de Ruptura"
#: editor/plugins/script_text_editor.cpp
msgid "Remove All Breakpoints"
-msgstr "Eliminar Todos los Breakpoints"
+msgstr "Eliminar Todos los Puntos de Ruptura"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Next Breakpoint"
-msgstr "Ir al Siguiente Breakpoint"
+msgstr "Ir al Siguiente Punto de Ruptura"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Previous Breakpoint"
-msgstr "Ir al Breakpoint Anterior"
+msgstr "Ir al Anterior Punto de Ruptura"
#: editor/plugins/shader_editor_plugin.cpp
msgid ""
@@ -7349,11 +7350,11 @@ msgstr "Detrás"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align Transform with View"
-msgstr "Alinear Transform con Vista"
+msgstr "Alinear la Transformación con la Vista"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align Rotation with View"
-msgstr "Alinear Rotación con Vista"
+msgstr "Alinear la Rotación con la Vista"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
@@ -7437,7 +7438,7 @@ msgstr "Vista Libre Frontal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Backwards"
-msgstr "Vista Libre Posterior"
+msgstr "Vista Libre Trasera"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
@@ -7507,7 +7508,7 @@ msgstr "Vista Superior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rear View"
-msgstr "Vista Posterior"
+msgstr "Vista Trasera"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Front View"
@@ -8125,7 +8126,7 @@ msgstr "Asignar un recurso TileSet a este TileMap para usas sus tiles."
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
-msgstr "Dibujar tile"
+msgstr "Dibujar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid ""
@@ -8233,35 +8234,35 @@ msgstr "Índice Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Region Mode"
-msgstr "Modo Región"
+msgstr "Modo de Región"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Collision Mode"
-msgstr "Modo Colisión"
+msgstr "Modo de Colisión"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Occlusion Mode"
-msgstr "Modo Oclusión"
+msgstr "Modo de Oclusión"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Navigation Mode"
-msgstr "Modo Navegación"
+msgstr "Modo de Navegación"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Bitmask Mode"
-msgstr "Modo Bitmask"
+msgstr "Modo de Bitmask"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Priority Mode"
-msgstr "Modo Prioridad"
+msgstr "Modo de Prioridad"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Icon Mode"
-msgstr "Modo Icono"
+msgstr "Modo de Icono"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Z Index Mode"
-msgstr "Modo Índice Z"
+msgstr "Modo de Índice Z"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Copy bitmask."
@@ -9997,6 +9998,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"La casilla de búsqueda filtra los proyectos por nombre y el último "
+"componente de la ruta.\n"
+"Para filtrar los proyectos por nombre y ruta completa, la consulta debe "
+"contener al menos un carácter `/`."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -11115,9 +11120,8 @@ msgid "Total:"
msgstr "Total:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Exportar Perfil"
+msgstr "Exportar lista a un archivo CSV"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -11890,7 +11894,7 @@ msgstr "Crear Función"
#: modules/visual_script/visual_script_editor.cpp
msgid "Refresh Graph"
-msgstr "Actualizar Gráfico"
+msgstr "Refrescar Gráfico"
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit Member"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index bd6d934a59..9136ac11c3 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -18,8 +18,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-23 20:21+0000\n"
-"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
+"PO-Revision-Date: 2020-05-02 01:48+0000\n"
+"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
"Language: es_AR\n"
@@ -27,7 +27,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -2954,13 +2954,12 @@ msgid "Q&A"
msgstr "Q&A"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Report a Bug"
-msgstr "Reimportar"
+msgstr "Reportar un Bug"
#: editor/editor_node.cpp
msgid "Send Docs Feedback"
-msgstr ""
+msgstr "Enviar comentarios sobre la documentación"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "Community"
@@ -4020,9 +4019,8 @@ msgid "Reimport"
msgstr "Reimportar"
#: editor/import_dock.cpp
-#, fuzzy
msgid "Save Scenes, Re-Import, and Restart"
-msgstr "Guardar escenas, reimportar y reiniciar"
+msgstr "Guardar Escenas, Reimportar y Reiniciar"
#: editor/import_dock.cpp
msgid "Changing the type of an imported file requires editor restart."
@@ -7323,9 +7321,8 @@ msgid "This operation requires a single selected node."
msgstr "Esta operación requiere un solo nodo seleccionado."
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Auto Orthogonal Enabled"
-msgstr "Ortogonal"
+msgstr "Auto Ortogonal Activado"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock View Rotation"
@@ -9956,6 +9953,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"La casilla de búsqueda filtra los proyectos por nombre y el último "
+"componente de la ruta.\n"
+"Para filtrar los proyectos por nombre y ruta completa, la consulta debe "
+"contener al menos un carácter `/`."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -10951,6 +10952,8 @@ msgid ""
"Note: Built-in scripts have some limitations and can't be edited using an "
"external editor."
msgstr ""
+"Nota: Los scripts integrados tienen algunas limitaciones y no pueden ser "
+"editados con un editor externo."
#: editor/script_create_dialog.cpp
msgid "Class Name:"
@@ -11073,9 +11076,8 @@ msgid "Total:"
msgstr "Total:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Exportar Perfil"
+msgstr "Exportar lista a un archivo CSV"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -12759,7 +12761,7 @@ msgstr ""
#: scene/main/viewport.cpp
msgid "Viewport size must be greater than 0 to render anything."
-msgstr ""
+msgstr "El tamaño del viewport debe ser mayor a 0 para poder renderizar."
#: scene/resources/visual_shader_nodes.cpp
msgid "Invalid source for preview."
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index af9486a2ad..6695783866 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -10,11 +10,12 @@
# Sami Lehtilä <sami.lehtila@gmail.com>, 2018.
# Tapani Niemi <tapani.niemi@kapsi.fi>, 2018, 2019, 2020.
# Tuomas Lähteenmäki <lahtis@gmail.com>, 2019.
+# Matti Niskanen <matti.t.niskanen@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-20 05:51+0000\n"
+"PO-Revision-Date: 2020-05-01 11:42+0000\n"
"Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/"
"godot/fi/>\n"
@@ -23,7 +24,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -2757,7 +2758,7 @@ msgstr "Irrallisten resurssien hallinta..."
#: editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr "Lopeta ja palaa projektiluetteloon"
+msgstr "Poistu projektiluetteloon"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/project_export.cpp
@@ -5353,7 +5354,7 @@ msgstr "Palauta oletuslähennystaso"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Select Mode"
-msgstr "Valitse tila"
+msgstr "Valintatila"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag: Rotate"
@@ -5381,7 +5382,7 @@ msgstr "Siirtotila"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate Mode"
-msgstr "Kääntötila"
+msgstr "Kiertotila"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9898,6 +9899,9 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"Hakulaatikko suodattaa projektit nimen ja polun loppuosan mukaan.\n"
+"Suodattaaksesi projektit nimen ja koko polun mukaan, haussa tulee olla "
+"mukana vähintään yksi `/` merkki."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -11017,9 +11021,8 @@ msgid "Total:"
msgstr "Yhteensä:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Vie profiili"
+msgstr "Vie lista CSV tiedostoon"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -11790,7 +11793,7 @@ msgstr "Tee funktio"
#: modules/visual_script/visual_script_editor.cpp
msgid "Refresh Graph"
-msgstr "Päivitä graafi"
+msgstr "Päivitä kaaviokuva"
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit Member"
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index 552da2cedf..bb371b7674 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -76,8 +76,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-23 20:21+0000\n"
-"Last-Translator: LaurentOngaro <laurent@gameamea.com>\n"
+"PO-Revision-Date: 2020-05-05 14:01+0000\n"
+"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -85,7 +85,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -5467,12 +5467,12 @@ msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Reset"
-msgstr "Réinitialiser le facteur d'agrandissement"
+msgstr "Réinitialiser le zoom"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Select Mode"
-msgstr "Sélectionner le mode"
+msgstr "Mode sélection"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag: Rotate"
@@ -5505,7 +5505,7 @@ msgstr "Mode rotation"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scale Mode"
-msgstr "Mode de mise à l'échelle"
+msgstr "Mode mise à l'échelle"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5542,7 +5542,7 @@ msgstr "Activer/Désactiver l'aimantation à la grille."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Grid Snap"
-msgstr "Aimanter à la grille"
+msgstr "Utiliser l'aimantation à la grille"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snapping Options"
@@ -5672,7 +5672,7 @@ msgstr "Centrer sur la sélection"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr "Cadrer la sélection"
+msgstr "Encadrer la sélection"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
@@ -7394,7 +7394,7 @@ msgstr "Arrière"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align Transform with View"
-msgstr "Aligner le Transform avec la vue"
+msgstr "Aligner Transform avec la vue"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Align Rotation with View"
@@ -7480,19 +7480,19 @@ msgstr "Vue libre droite"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Forward"
-msgstr "Vue libre de devant"
+msgstr "Vue libre avant"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Backwards"
-msgstr "Vue libre de derrière"
+msgstr "Vue libre arrière"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
-msgstr "Vue libre de dessus"
+msgstr "Vue libre haut"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Down"
-msgstr "Vue libre de dessous"
+msgstr "Vue libre bas"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Speed Modifier"
@@ -7500,20 +7500,20 @@ msgstr "Modificateur de vitesse de la vue libre"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Slow Modifier"
-msgstr "Modificateur de vitesse de la vue libre"
+msgstr "Ralentissement de la vue libre"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Rotation Locked"
-msgstr "Verrouiller la rotation de la vue"
+msgstr "Rotation de la vue verrouillée"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
"Note: The FPS value displayed is the editor's framerate.\n"
"It cannot be used as a reliable indication of in-game performance."
msgstr ""
-"Note : La valeur FPS affichée est la fréquence d'images de l'éditeur.\n"
-"Il ne doit pas être utilisé comme un indicateur fiable de la performance en "
-"jeu."
+"Note : Les FPS (images par secondes) affichées sont celles de éditeur.\n"
+"Elles ne doivent pas être utilisées comme un indicateur fiable de la "
+"performance en jeu."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "XForm Dialog"
@@ -7521,11 +7521,11 @@ msgstr "Dialogue XForm"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Nodes To Floor"
-msgstr "Aligner les nœuds au sol"
+msgstr "Aligner les nœuds avec le sol"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr "N'a pas pu trouvé de sol solide pour y attacher la sélection."
+msgstr "Pas de sol solide trouvé pour y attacher la sélection."
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7539,11 +7539,11 @@ msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Use Local Space"
-msgstr "Utiliser l'espace local"
+msgstr "Utiliser les coordonées locales"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Use Snap"
-msgstr "Aligner sur la grille"
+msgstr "Aligner avec la grille"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -7555,11 +7555,11 @@ msgstr "Vue de dessus"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rear View"
-msgstr "Vue arrière"
+msgstr "Vue de derrière"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Front View"
-msgstr "Vue avant"
+msgstr "Vue de devant"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left View"
@@ -7579,7 +7579,7 @@ msgstr "Insérer une clef d'animation"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Origin"
-msgstr "Focaliser l'origine"
+msgstr "Focaliser sur l'origine"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Selection"
@@ -8174,7 +8174,7 @@ msgstr "Donnez une ressource TileSet à cette TileMap pour utiliser ses tuiles."
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
-msgstr "Peindre la case"
+msgstr "Peindre la tuile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid ""
@@ -8186,7 +8186,7 @@ msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
-msgstr "Sélectionner une case"
+msgstr "Sélectionner une tuile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate Left"
diff --git a/editor/translations/he.po b/editor/translations/he.po
index 35421252b2..69d8bcc3b5 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -5,18 +5,19 @@
# Daniel <lorddaniel09@gmail.com>, 2018.
# Ben Golan <golanben4@gmail.com>, 2017.
# Luc Stepniewski <lior@gradstein.info>, 2017.
-# Yaron Shahrabani <sh.yaron@gmail.com>, 2018, 2019.
+# Yaron Shahrabani <sh.yaron@gmail.com>, 2018, 2019, 2020.
# RaikaRakka <shaiyatta@gmail.com>, 2018.
# Ido Dana <idodana01@gmail.com>, 2019.
# Daniel Dovgun <daniel.dovgun@gmail.com>, 2019.
# MordechaiHadad <Mordechai.hadad01@gmail.com>, 2019.
# Daniel <danielharush5252@gmail.com>, 2020.
+# test test <ugbdvwpeikvyzwaadt@awdrt.org>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-02-25 09:41+0000\n"
-"Last-Translator: Daniel <danielharush5252@gmail.com>\n"
+"PO-Revision-Date: 2020-05-05 14:01+0000\n"
+"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/"
"godot/he/>\n"
"Language: he\n"
@@ -25,7 +26,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 4.0-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -34,7 +35,7 @@ msgstr "משתנה סוג לא חוקי לפונקציית convert()‎, יש ל
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
-msgstr "צופה מחרוזת באורך 1 (תו)"
+msgstr "צפויה מחרוזת באורך 1 (תו)."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
@@ -722,13 +723,12 @@ msgid "Line Number:"
msgstr "מספר השורה:"
#: editor/code_editor.cpp
-#, fuzzy
msgid "%d replaced."
-msgstr "החלפה…"
+msgstr "%d הוחלף."
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "%d match."
-msgstr ""
+msgstr "d% התאמות."
#: editor/code_editor.cpp editor/editor_help.cpp
#, fuzzy
@@ -4044,9 +4044,8 @@ msgid "Saving..."
msgstr "שמירה…"
#: editor/import_dock.cpp
-#, fuzzy
msgid "%d Files"
-msgstr " קבצים"
+msgstr "%d קבצים"
#: editor/import_dock.cpp
msgid "Set as Default for '%s'"
@@ -6788,66 +6787,58 @@ msgid "Error writing TextFile:"
msgstr "שגיאה בייבוא ערכת הנושא"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Could not load file at:"
-msgstr "לא ניתן ליצור תיקייה."
+msgstr "לא ניתן לטעון קובץ מהמיקום:"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error saving file!"
-msgstr "שגיאה בשמירה"
+msgstr "שגיאה בשמירת קובץ!"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error while saving theme."
-msgstr "שגיאה בשמירת ערכת העיצוב"
+msgstr "שגיאה בשמירת ערכת העיצוב."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error Saving"
msgstr "שגיאה בשמירה"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error importing theme."
-msgstr "שגיאה בייבוא ערכת הנושא"
+msgstr "שגיאה בייבוא ערכת העיצוב."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error Importing"
msgstr "שגיאה בייבוא"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Text File..."
-msgstr "תיקייה חדשה…"
+msgstr "קובץ טקסט חדש…"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Open File"
msgstr "פתיחת קובץ"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save File As..."
-msgstr "שמירה בשם…"
+msgstr "שמירת קובץ בשם…"
#: editor/plugins/script_editor_plugin.cpp
msgid "Can't obtain the script for running."
-msgstr ""
+msgstr "לא ניתן לקבל את הסקריפט להרצה."
#: editor/plugins/script_editor_plugin.cpp
msgid "Script failed reloading, check console for errors."
-msgstr ""
+msgstr "רענון הסקריפט נכשל, נא לחפש את השגיאות במסוף."
#: editor/plugins/script_editor_plugin.cpp
msgid "Script is not in tool mode, will not be able to run."
-msgstr ""
+msgstr "הסקריפט אינו במצב כלים, לא תהיה לו אפשרות לרוץ."
#: editor/plugins/script_editor_plugin.cpp
msgid ""
"To run this script, it must inherit EditorScript and be set to tool mode."
msgstr ""
+"כדי להריץ את הסקריפט הזה, עליו לרשת EditorScript ולהגדיר אותו למצב כלים."
#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
@@ -6880,9 +6871,8 @@ msgid "Find Previous"
msgstr "איתור הקודם"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Filter scripts"
-msgstr "מאפייני פריט."
+msgstr "סינון סקריפטים"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index d066d5e317..620a2d4d5b 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -10,7 +10,6 @@
# Tusa Gamer <tusagamer@mailinator.com>, 2018.
# Máté Lugosi <mate.lugosi@gmail.com>, 2019.
# sztrovacsek <magadeve@gmail.com>, 2019.
-# Deleted User <noreply+18797@weblate.org>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
diff --git a/editor/translations/it.po b/editor/translations/it.po
index 1c7c72ce12..8e9432baac 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -46,12 +46,14 @@
# Douglas Fiedler <dognew@gmail.com>, 2020.
# E440QF <ettore.beltra@gmail.com>, 2020.
# Giuseppe Lucido <giuseppe.lucido@gmail.com>, 2020.
+# Mirko Proto <mirko7@protonmail.com>, 2020.
+# J. Lavoie <j.lavoie@net-c.ca>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-27 08:25+0000\n"
-"Last-Translator: Micila Micillotto <micillotto@gmail.com>\n"
+"PO-Revision-Date: 2020-05-04 15:12+0000\n"
+"Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -59,7 +61,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -3026,7 +3028,7 @@ msgstr "Esegui la scena in modifica."
#: editor/editor_node.cpp
msgid "Play Scene"
-msgstr "Esegui scena"
+msgstr "Avvia Scena"
#: editor/editor_node.cpp
msgid "Play custom scene"
@@ -3034,7 +3036,7 @@ msgstr "Esegui scena personalizzata"
#: editor/editor_node.cpp
msgid "Play Custom Scene"
-msgstr "Esegui scena personalizzata"
+msgstr "Avvia Scena Personalizzata"
#: editor/editor_node.cpp
msgid "Changing the video driver requires restarting the editor."
@@ -3071,7 +3073,7 @@ msgstr "Ispettore"
#: editor/editor_node.cpp
msgid "Expand Bottom Panel"
-msgstr "Espandi pannello inferiore"
+msgstr "Espandi Pannello Inferiore"
#: editor/editor_node.cpp
msgid "Output"
@@ -11111,9 +11113,8 @@ msgid "Total:"
msgstr "Totale:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Esporta profilo"
+msgstr "Esporta l'elenco in un file CSV"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index aac20e9666..8aef04db94 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -35,8 +35,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-27 08:25+0000\n"
-"Last-Translator: Anonymous <noreply@weblate.org>\n"
+"PO-Revision-Date: 2020-05-04 15:12+0000\n"
+"Last-Translator: Wataru Onuki <bettawat@yahoo.co.jp>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
"Language: ja\n"
@@ -44,7 +44,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -592,7 +592,7 @@ msgstr "選択範囲を複製"
#: editor/animation_track_editor.cpp
msgid "Duplicate Transposed"
-msgstr "複製を転置"
+msgstr "転置して複製"
#: editor/animation_track_editor.cpp
msgid "Delete Selection"
@@ -1862,7 +1862,7 @@ msgstr "隠しファイルをオン / オフ"
#: editor/editor_file_dialog.cpp
msgid "Toggle Favorite"
-msgstr "お気に入りのオン / オフ"
+msgstr "お気に入りにする / しない"
#: editor/editor_file_dialog.cpp
msgid "Toggle Mode"
@@ -1870,7 +1870,7 @@ msgstr "モード切替え"
#: editor/editor_file_dialog.cpp
msgid "Focus Path"
-msgstr "フォーカスパス"
+msgstr "パスにフォーカス"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Up"
@@ -1898,7 +1898,7 @@ msgstr "ファイル更新。"
#: editor/editor_file_dialog.cpp
msgid "(Un)favorite current folder."
-msgstr "現在のフォルダをお気に入りにする/お気に入りから外す。"
+msgstr "現在のフォルダをお気に入りにする / しない。"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Toggle the visibility of hidden files."
@@ -1989,7 +1989,7 @@ msgstr "メソッド"
#: editor/editor_help.cpp
msgid "Theme Properties"
-msgstr "テーマプロパティ"
+msgstr "テーマ プロパティ"
#: editor/editor_help.cpp
msgid "Enumerations"
@@ -4051,6 +4051,7 @@ msgid "Copy Resource"
msgstr "リソースをコピー"
#: editor/inspector_dock.cpp
+#, fuzzy
msgid "Make Built-In"
msgstr "ビルトインを作成"
@@ -5316,22 +5317,22 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock Selected"
-msgstr "選択をロック"
+msgstr "選択対象をロック"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock Selected"
-msgstr "選択を解除"
+msgstr "選択対象をロック解除"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Group Selected"
-msgstr "選択したグループ"
+msgstr "選択対象をグループ化"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Ungroup Selected"
-msgstr "グループ解除"
+msgstr "選択対象をグループ解除"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
@@ -5390,7 +5391,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+RMB: Depth list selection"
-msgstr "Alt+右クリック: 奥行き(被写界深度)リストの選択"
+msgstr "Alt+右クリック: 奥行き選択リスト"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5500,12 +5501,12 @@ msgstr "ガイドにスナップ"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock the selected object in place (can't be moved)."
-msgstr "選択したオブジェクトをその場でロック (移動不可能にする)。"
+msgstr "選択したオブジェクトを現在位置でロック (移動不可能にする)。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr "選択したオブジェクトをアンロック (移動可能にする)。"
+msgstr "選択したオブジェクトをロック解除 (移動可能にする)。"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5568,11 +5569,11 @@ msgstr "グループアイコンとロックアイコンを表示"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
-msgstr "センター選択"
+msgstr "選択対象を中央に"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr "フレーム選択"
+msgstr "選択対象を全面に"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Preview Canvas Scale"
@@ -6842,7 +6843,7 @@ msgstr "ブレーク"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
#: editor/script_editor_debugger.cpp
msgid "Continue"
-msgstr "実行を継続"
+msgstr "続行"
#: editor/plugins/script_editor_plugin.cpp
msgid "Keep Debugger Open"
@@ -7034,7 +7035,7 @@ msgstr "シンボルを補完"
#: editor/plugins/script_text_editor.cpp
msgid "Evaluate Selection"
-msgstr "選択したものを評価する"
+msgstr "選択範囲を評価する"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -7058,7 +7059,7 @@ msgstr "複数ファイル内を検索..."
#: editor/plugins/script_text_editor.cpp
msgid "Contextual Help"
-msgstr "コンテキストヘルプ"
+msgstr "コンテキスト ヘルプ"
#: editor/plugins/script_text_editor.cpp
msgid "Toggle Bookmark"
@@ -7363,11 +7364,11 @@ msgstr "フリールック右"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Forward"
-msgstr "前方をフリールックで見る"
+msgstr "フリールック前進"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Backwards"
-msgstr "フリールック後方"
+msgstr "フリールック後進"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
@@ -7379,11 +7380,11 @@ msgstr "フリールック下"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Speed Modifier"
-msgstr "フリールックの速度を調整"
+msgstr "フリールックの速度調整"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Slow Modifier"
-msgstr "フリールックの減速を調整"
+msgstr "フリールックの減速調整"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Rotation Locked"
@@ -7399,7 +7400,7 @@ msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
msgid "XForm Dialog"
-msgstr "Xformダイアログ"
+msgstr "XFormダイアログ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Nodes To Floor"
@@ -7407,7 +7408,7 @@ msgstr "ノードをフロアにスナップ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
-msgstr "選択をスナップする剛体の床を見つけれません。"
+msgstr "選択対象をスナップさせる剛体の床を見つけられませんでした。"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -7415,9 +7416,9 @@ msgid ""
"Alt+Drag: Move\n"
"Alt+RMB: Depth list selection"
msgstr ""
-"ドラッグ:回転\n"
-"Alt+ドラッグ:移動\n"
-"Alt+右クリック: 奥行きリストの選択"
+"ドラッグ: 回転\n"
+"Alt+ドラッグ: 移動\n"
+"Alt+右クリック: 奥行き選択リスト"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Use Local Space"
@@ -7453,7 +7454,7 @@ msgstr "右側面図"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Switch Perspective/Orthogonal View"
-msgstr "透視図/正投影図の切り替え"
+msgstr "透視投影 / 平行投影の切り替え"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
@@ -7465,7 +7466,7 @@ msgstr "原点にフォーカス"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Selection"
-msgstr "選択にフォーカス"
+msgstr "選択対象にフォーカス"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
@@ -7494,7 +7495,7 @@ msgstr "2 ビューポート"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports (Alt)"
-msgstr "2 ビューポート(Alt)"
+msgstr "2 ビューポート (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports"
@@ -7502,7 +7503,7 @@ msgstr "3 ビューポート"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports (Alt)"
-msgstr "3 ビューポート(Alt)"
+msgstr "3 ビューポート (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "4 Viewports"
@@ -7799,7 +7800,7 @@ msgstr "スプライトフレーム"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
-msgstr "矩形の領域を設定"
+msgstr "領域 Rect を設定"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Margin"
@@ -7989,7 +7990,7 @@ msgstr "フォント"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Color"
-msgstr "\\ Color"
+msgstr "Color"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme File"
@@ -7997,7 +7998,7 @@ msgstr "テーマ ファイル"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
-msgstr "選択対象を消去"
+msgstr "選択範囲を消去"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Fix Invalid Tiles"
@@ -8006,7 +8007,7 @@ msgstr "無効なタイルを修正"
#: editor/plugins/tile_map_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Cut Selection"
-msgstr "選択対象を切り取り"
+msgstr "選択範囲を切り取り"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
@@ -8018,7 +8019,7 @@ msgstr "直線を描画"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rectangle Paint"
-msgstr "矩形ペイント"
+msgstr "長方形ペイント"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Bucket Fill"
@@ -8030,7 +8031,7 @@ msgstr "タイルマップを消去"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Find Tile"
-msgstr "タイルを検索する"
+msgstr "タイルを検索"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -8056,19 +8057,19 @@ msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
-msgstr "タイルを塗る"
+msgstr "タイルをペイント"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+左マウスボタン:線の描画\n"
-"Shift+Ctrl+左マウスボタン:矩形ペイント"
+"Shift+左マウスボタン: 直線に描く\n"
+"Shift+Ctrl+左マウスボタン: 長方形ペイント"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
-msgstr "タイルを選択"
+msgstr "タイルをピック"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate Left"
@@ -8208,7 +8209,7 @@ msgstr "ビットマスクを消去。"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create a new rectangle."
-msgstr "新規矩形を作成。"
+msgstr "新しく長方形を作成。"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create a new polygon."
@@ -8265,12 +8266,12 @@ msgid ""
"Drag handles to edit Rect.\n"
"Click on another Tile to edit it."
msgstr ""
-"ハンドルをドラッグして矩形を編集します。\n"
-"別のタイルをクリックしてそれを編集します。"
+"ハンドルをドラッグして長方形を編集します。\n"
+"別のタイルをクリックするとそれを編集します。"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Delete selected Rect."
-msgstr "選択した矩形を削除する。"
+msgstr "選択した長方形を削除する。"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -8476,7 +8477,7 @@ msgstr "タイプの変更"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Stage Selected"
-msgstr "選択物をステージする"
+msgstr "選択対象をステージする"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Stage All"
@@ -9285,6 +9286,7 @@ msgstr ""
"ためにそれを使用しないでください。"
#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
msgid ""
"Returns falloff based on the dot product of surface normal and view "
"direction of camera (pass associated inputs to it)."
@@ -9911,6 +9913,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"検索ボックスでは、プロジェクトは名前およびパスの最後の部分でフィルターされま"
+"す。\n"
+"プロジェクト名および完全パスでフィルターするには、クエリには `/` 文字が少なく"
+"とも1つ必要です。"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -11026,9 +11032,8 @@ msgid "Total:"
msgstr "合計:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "プロファイルのエクスポート"
+msgstr "CSVファイルにリストをエクスポート"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -11779,7 +11784,7 @@ msgstr "グラフを編集する関数を選択または作成します。"
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
-msgstr "選択済みを削除"
+msgstr "選択対象を削除"
#: modules/visual_script/visual_script_editor.cpp
msgid "Find Node Type"
@@ -11795,11 +11800,11 @@ msgstr "ノードを切り取る"
#: modules/visual_script/visual_script_editor.cpp
msgid "Make Function"
-msgstr "関数の作成"
+msgstr "関数を作成"
#: modules/visual_script/visual_script_editor.cpp
msgid "Refresh Graph"
-msgstr "グラフの更新"
+msgstr "グラフを更新"
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit Member"
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index b2dbd4e353..f25550709a 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-20 05:51+0000\n"
-"Last-Translator: Myeongjin Lee <aranet100@gmail.com>\n"
+"PO-Revision-Date: 2020-05-01 11:42+0000\n"
+"Last-Translator: Ch. <ccwpc@hanmail.net>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
"Language: ko\n"
@@ -30,7 +30,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -5929,7 +5929,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Single Convex Collision Sibling"
-msgstr "개별 Convex 충돌 형제 만들기"
+msgstr "단일 Convex 충돌 형제 만들기"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -9838,6 +9838,9 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"이 검색창은 프로젝트를 이름과 경로의 마지막 부분으로 거릅니다.\n"
+"프로젝트를 전체 경로를 기준으로 걸러내려면 검색어에 `/` 가 한 글자 이상 포함"
+"시키세요."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -10949,9 +10952,8 @@ msgid "Total:"
msgstr "전체:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "프로필 내보내기"
+msgstr "목록을 CSV 파일로 내보내기"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -12584,7 +12586,7 @@ msgstr ""
#: scene/main/viewport.cpp
msgid "Viewport size must be greater than 0 to render anything."
-msgstr "뷰포트 크기는 무엇이든 렌더링하기 위해 0보다 커야 합니다."
+msgstr "무엇이든 렌더링하려면 뷰포트 크기가 0보다 커야 합니다."
#: scene/resources/visual_shader_nodes.cpp
msgid "Invalid source for preview."
diff --git a/editor/translations/mr.po b/editor/translations/mr.po
index 5b2a55ffbe..902c243d16 100644
--- a/editor/translations/mr.po
+++ b/editor/translations/mr.po
@@ -3,41 +3,42 @@
# Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md).
# This file is distributed under the same license as the Godot source code.
# Prachi Joshi <josprachi@yahoo.com>, 2019, 2020.
+# Shirious <sad3119823@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2020-01-30 03:56+0000\n"
-"Last-Translator: Prachi Joshi <josprachi@yahoo.com>\n"
+"PO-Revision-Date: 2020-05-05 14:01+0000\n"
+"Last-Translator: Shirious <sad3119823@gmail.com>\n"
"Language-Team: Marathi <https://hosted.weblate.org/projects/godot-engine/"
"godot/mr/>\n"
"Language: mr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 3.11-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
+msgstr "convert() साठी अवैध आरग्युमेन्ट, TYPE_* कोन्सटन्ट वापरा."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
-msgstr ""
+msgstr "1 लांबीची स्ट्रिंग अपेक्षित (एक कैरेक्टर)."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
+msgstr "डिकोड करण्यासाठी पुरसे बाईटस् नाहित, किंवा अवैध फ़ोरमैट."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr ""
+msgstr "एक्सप्रेशन मधे अवैध इनपुट %i (पास नाही झाले)"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr ""
+msgstr "self वापरले जाऊ शकत नाही कारण इन्सटन्स null आहे (पास नाही झाले)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -1928,9 +1929,8 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-#, fuzzy
msgid "(value)"
-msgstr "मूल्य:"
+msgstr "(किंमत)"
#: editor/editor_help.cpp
msgid ""
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index ba11dc0dad..93219f8bfc 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -44,7 +44,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-23 20:21+0000\n"
+"PO-Revision-Date: 2020-05-04 15:12+0000\n"
"Last-Translator: Stijn Hinlopen <f.a.hinlopen@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/"
"nl/>\n"
@@ -53,7 +53,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -2023,8 +2023,8 @@ msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"Er is momenteel geen beschrijving voor deze eigenschap. Help ons alsjeblieft "
-"door [color=$color][url=$url]een toe te voegen[/url][/color]!"
+"Er is momenteel geen beschrijving voor deze eigenschap. Help ons alstublieft "
+"door [color=$color][url=$url]een bijdrage te leveren[/url][/color]!"
#: editor/editor_help.cpp
msgid "Method Descriptions"
@@ -2035,8 +2035,8 @@ msgid ""
"There is currently no description for this method. Please help us by [color="
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"Er is momenteel geen beschrijving voor deze methode. Help ons alsjeblieft "
-"door [color=$color][url=$url]een toe te voegen[/url][/color]!"
+"Er is momenteel geen beschrijving voor deze methode. Help ons alstublieft "
+"door [color=$color][url=$url]een bijdrage te leveren[/url][/color]!"
#: editor/editor_help_search.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
@@ -2500,8 +2500,8 @@ msgid ""
"This option is deprecated. Situations where refresh must be forced are now "
"considered a bug. Please report."
msgstr ""
-"Deze optie is verouderd. Situaties waar een hernieuwing geforceerd moet "
-"worden zijn softwarefouten. Rapporteer dit alsjeblieft."
+"Deze optie is verouderd. Situaties waarbij gedwongen herladen moet worden, "
+"worden gezien als softwarefouten. Rapporteer dit alstublieft."
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
@@ -2730,7 +2730,7 @@ msgstr "Alle scènes opslaan"
#: editor/editor_node.cpp
msgid "Convert To..."
-msgstr "Converteer Naar..."
+msgstr "Omzetten naar..."
#: editor/editor_node.cpp
msgid "MeshLibrary..."
@@ -5898,7 +5898,7 @@ msgstr "Creëer een statisch tri-mesh lichaam"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "This doesn't work on scene root!"
-msgstr "Dit werkt niet op scènewortel!"
+msgstr "Dit werkt niet op de scènewortel!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Shape"
@@ -6986,7 +6986,7 @@ msgstr "Kies Kleur"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
-msgstr "Converteer Hoofdlettergebruik"
+msgstr "Letters omzetten"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
@@ -6998,7 +6998,7 @@ msgstr "Kleine letters"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
-msgstr "Maak Hoofdletters"
+msgstr "Elk Woord Met Hoofdletter"
#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Syntax Highlighter"
@@ -7074,15 +7074,15 @@ msgstr "Trim Navolgende Spaties"
#: editor/plugins/script_text_editor.cpp
msgid "Convert Indent to Spaces"
-msgstr "Converteer Indentatie Naar Spaties"
+msgstr "Insprong in spaties omzetten"
#: editor/plugins/script_text_editor.cpp
msgid "Convert Indent to Tabs"
-msgstr "Converteer Indentatie Naar Tabs"
+msgstr "Insprong in Tabs omzetten"
#: editor/plugins/script_text_editor.cpp
msgid "Auto Indent"
-msgstr "Auto Indentatie"
+msgstr "Automatisch inspringen"
#: editor/plugins/script_text_editor.cpp
msgid "Find in Files..."
@@ -7678,7 +7678,7 @@ msgstr "Ongeldige geometrie, kan geen polygon creëren."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Convert to Polygon2D"
-msgstr "Converteer naar Polygon2D"
+msgstr "Naar Polygon2D omzetten"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create collision polygon."
@@ -9816,8 +9816,8 @@ msgstr ""
"\n"
"%s\n"
"\n"
-"Als je doorgaat met het openen van dit bestand, zal het worden geconverteerd "
-"naar Godot's huidige format voor project-configuratiebestanden.\n"
+"Als je doorgaat met het openen van dit bestand, zal het worden omgezet naar "
+"Godot's huidige formaat voor project-configuratiebestanden.\n"
"Waarschuwing: Hierna kan het project niet meer worden geopend door oudere "
"versies van Godot Engine."
@@ -9966,6 +9966,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"De zoekbalk filtert projecten op naam en naam van de map waarin het project "
+"staat.\n"
+"Om ook op het volledige pad te filteren, moet de zoekopdracht tenminste één "
+"`/` karakter bevatten."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -10706,7 +10710,7 @@ msgstr "Knoop hieronder toevoegen"
#: editor/scene_tree_dock.cpp
msgid "Expand/Collapse All"
-msgstr "Alles uit-/inklappen"
+msgstr "Alles in-/uitklappen"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
@@ -10718,7 +10722,7 @@ msgstr "Onder nieuwe knoop hangen"
#: editor/scene_tree_dock.cpp
msgid "Make Scene Root"
-msgstr "Scènewortel instellen"
+msgstr "Als scènewortel instellen"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
@@ -11085,9 +11089,8 @@ msgid "Total:"
msgstr "Totaal:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Profiel exporteren"
+msgstr "Exporteer lijst naar een csv-bestand"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -12208,9 +12211,7 @@ msgstr ""
msgid ""
"A shape must be provided for CollisionShape2D to function. Please create a "
"shape resource for it!"
-msgstr ""
-"Een vorm moet voorzien worden om CollisionShape2D te laten functioneren. "
-"Creëer hiervoor alsjeblieft een vorm resource!"
+msgstr "Een CollisionShape2D heeft een vorm nodig in de Shape-eigenschap!"
#: scene/2d/cpu_particles_2d.cpp
msgid ""
@@ -12238,7 +12239,7 @@ msgstr ""
#: scene/2d/light_occluder_2d.cpp
msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
msgstr ""
-"De occluder polygoon van deze occluder is leeg. Teken alsjeblieft een "
+"De occluder-polygoon van deze occluder is leeg. Teken alstublieft een "
"polygoon."
#: scene/2d/navigation_polygon.cpp
@@ -12703,7 +12704,7 @@ msgstr "Alarm!"
#: scene/gui/dialogs.cpp
msgid "Please Confirm..."
-msgstr "Bevestig alsjeblieft..."
+msgstr "Bevestig alstublieft..."
#: scene/gui/popup.cpp
msgid ""
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index eb84ea26ca..a7b57f31ba 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -42,7 +42,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-27 08:25+0000\n"
+"PO-Revision-Date: 2020-05-01 11:42+0000\n"
"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
@@ -52,7 +52,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -9933,6 +9933,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"Pasek wyszukiwania filtruje projekty po nazwie i ostatnim komponencie "
+"ścieżki.\n"
+"By filtrować po nazwie i pełnej ścieżce, zapytanie musi zawierać "
+"przynajmniej jeden znak \"/\"."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -11049,9 +11053,8 @@ msgid "Total:"
msgstr "Całkowity:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Eksportuj profil"
+msgstr "Eksportuj listę do pliku CSV"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index b7102a7cdf..d38c4186c7 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -86,12 +86,14 @@
# Richard Urban <redasuio1@gmail.com>, 2020.
# Wellyngton R Weller <well.weller@hotmail.com>, 2020.
# Lucas Araujo <lucassants2808@gmail.com>, 2020.
+# Sr Half <flavio05@outlook.com>, 2020.
+# Matheus Pesegoginski <pese.ek.tk@outlook.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2020-04-27 08:25+0000\n"
-"Last-Translator: johnnybigoode <jamarson@gmail.com>\n"
+"PO-Revision-Date: 2020-05-04 15:12+0000\n"
+"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -99,7 +101,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -736,7 +738,7 @@ msgstr "Selecionar Todos/Nenhum"
#: editor/animation_track_editor_plugins.cpp
msgid "Add Audio Track Clip"
-msgstr "Adicionar Trilha de Clipes de Áudio"
+msgstr "Adicionar Clipe de Trilha de Áudio"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
@@ -3128,7 +3130,7 @@ msgstr ""
"Você pode então aplicar modificações e construir seu próprio APK na guia "
"Exportação (Adicionando módulos, trocando o AndroidManifest.xml, etc.).\n"
"Note que para fazer uma construção customizada, em vez de usar APKs pre-"
-"construídos, a opção \"Usar construção customizada\" deve estar ativa nas "
+"construídos, a opção \"Usar Construção Customizada\" deve estar ativa nas "
"predefinições de exportação Android."
#: editor/editor_node.cpp
@@ -5655,7 +5657,7 @@ msgstr "Visualizar Canvas Scale"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Translation mask for inserting keys."
-msgstr "Mascara de tradução para inserção de chaves"
+msgstr "Máscara de tradução para inserção de chaves"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation mask for inserting keys."
@@ -6044,7 +6046,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Single Convex Collision Sibling"
-msgstr "Criar Simples Colisão Convexa Irmã(s)"
+msgstr "Criar um irmão de Colisão Convexa"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -7369,7 +7371,7 @@ msgstr "Essa operação requer um único nó selecionado."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Auto Orthogonal Enabled"
-msgstr "Ortogonal automático habilitado"
+msgstr "Auto-Ortogonal Habilitado"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock View Rotation"
@@ -7689,7 +7691,7 @@ msgstr "Visualizar Polígono De Colisão 2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create LightOccluder2D"
-msgstr "Criar LightOccluder2D"
+msgstr "Criar Polígono de Oclusão (LightOccluder2D)"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "LightOccluder2D Preview"
@@ -7730,7 +7732,7 @@ msgstr "Criar PolígonoDeColisão2D Irmão"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create light occluder."
-msgstr "Geometria inválida, não é possível criar oclusor de luz."
+msgstr "Geometria inválida, não é possível criar o oclusor de luz."
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create LightOccluder2D Sibling"
@@ -8145,11 +8147,11 @@ msgstr "Pegar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate Left"
-msgstr "Girar à esquerda"
+msgstr "Girar à Esquerda"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate Right"
-msgstr "Girar à direita"
+msgstr "Girar à Direita"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Flip Horizontally"
@@ -9991,6 +9993,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"A caixa de busca filtra projetos por nome e pelo último componente do "
+"caminho.\n"
+"Para filtrar projetos por nome e pelo caminho completo, a consulta deve "
+"conter pelo menos um caractere `/`."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -11107,9 +11113,8 @@ msgid "Total:"
msgstr "Total:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Exportar Perfil"
+msgstr "Exportar lista para arquivo CSV"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po
index f7c6f042d2..6314d31908 100644
--- a/editor/translations/pt_PT.po
+++ b/editor/translations/pt_PT.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-20 05:51+0000\n"
+"PO-Revision-Date: 2020-05-01 11:42+0000\n"
"Last-Translator: João Lopes <linux-man@hotmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_PT/>\n"
@@ -29,7 +29,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1473,7 +1473,7 @@ msgstr "O Ficheiro não existe."
#: editor/editor_autoload_settings.cpp
msgid "Not in resource path."
-msgstr "Não está no Caminho do recurso."
+msgstr "Não está no caminho do recurso."
#: editor/editor_autoload_settings.cpp
msgid "Add AutoLoad"
@@ -2498,27 +2498,27 @@ msgstr "Incapaz de localizar campo Script para plugin em: 'res://addons/%s'."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s'."
-msgstr "Incapaz de carregar Script addon do Caminho: '%s'."
+msgstr "Incapaz de carregar script addon do caminho: '%s'."
#: editor/editor_node.cpp
msgid ""
"Unable to load addon script from path: '%s' There seems to be an error in "
"the code, please check the syntax."
msgstr ""
-"Incapaz de carregar Script addon do caminho: '%s' Parece haver um erro no "
+"Incapaz de carregar script addon do caminho: '%s' Parece haver um erro no "
"código, reveja a sintaxe."
#: editor/editor_node.cpp
msgid ""
"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
msgstr ""
-"Incapaz de carregar Script addon do Caminho: '%s' Tipo base não é "
+"Incapaz de carregar script addon do Caminho: '%s' Tipo base não é "
"EditorPlugin."
#: editor/editor_node.cpp
msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
-"Incapaz de carregar Script addon do Caminho: '%s' Script não está no modo "
+"Incapaz de carregar script addon do Caminho: '%s' Script não está no modo "
"ferramenta."
#: editor/editor_node.cpp
@@ -3443,7 +3443,7 @@ msgstr "Não foi encontrado version.txt dentro dos Modelos."
#: editor/export_template_manager.cpp
msgid "Error creating path for templates:"
-msgstr "Erro ao criar o Caminho para os Modelos:"
+msgstr "Erro ao criar o caminho para os modelos:"
#: editor/export_template_manager.cpp
msgid "Extracting Export Templates"
@@ -6069,7 +6069,7 @@ msgstr "Fonte da Malha não especificada (e MultiMesh não contêm Malha)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (invalid path)."
-msgstr "A fonte da Malha é inválida (Caminho inválido)."
+msgstr "A fonte da malha é inválida (caminho inválido)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (not a MeshInstance)."
@@ -6085,7 +6085,7 @@ msgstr "Fonte de superfície não especificada."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (invalid path)."
-msgstr "A fonte de superfície é inválida (Caminho inválido)."
+msgstr "A fonte de superfície é inválida (caminho inválido)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (no geometry)."
@@ -9615,7 +9615,7 @@ msgstr "Seria uma boa ideia dar um nome ao Projeto."
#: editor/project_manager.cpp
msgid "Invalid project path (changed anything?)."
-msgstr "Caminho de Projeto inválido (alguma alteração?)."
+msgstr "Caminho de projeto inválido (alguma alteração?)."
#: editor/project_manager.cpp
msgid ""
@@ -9902,6 +9902,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"A caixa de pesquisa filtra projetos por nome e último componente do "
+"caminho.\n"
+"Para filtrar projetos por nome e caminho completo, a pesquisa tem de conter "
+"pelo menos um caráter `/`."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -10101,7 +10105,7 @@ msgstr "Remover tradução"
#: editor/project_settings_editor.cpp
msgid "Add Remapped Path"
-msgstr "Adicionar correção remapeada"
+msgstr "Adicionar Caminho Remapeado"
#: editor/project_settings_editor.cpp
msgid "Resource Remap Add Remap"
@@ -10862,11 +10866,11 @@ msgstr "Nome de classe inválido."
#: editor/script_create_dialog.cpp
msgid "Invalid inherited parent name or path."
-msgstr "Nome ou Caminho de parente herdado inválido."
+msgstr "Nome ou caminho de parente herdado inválido."
#: editor/script_create_dialog.cpp
msgid "Script path/name is valid."
-msgstr "Caminho/nome de Script é válido."
+msgstr "Caminho/nome de script é válido."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9, _ and ."
@@ -11017,13 +11021,12 @@ msgid "Total:"
msgstr "Total:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Exportar Perfil"
+msgstr "Exportar lista para ficheiro CSV"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
-msgstr "Caminho do recurso"
+msgstr "Caminho do Recurso"
#: editor/script_editor_debugger.cpp
msgid "Type"
@@ -11241,7 +11244,7 @@ msgstr ""
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary format (invalid script at @path)"
-msgstr "Formato de dicionário de instância inválido (Script inválido em @path)"
+msgstr "Formato de dicionário de instância inválido (script inválido em @path)"
#: modules/gdscript/gdscript_functions.cpp
msgid "Invalid instance dictionary (invalid subclasses)"
@@ -12240,7 +12243,7 @@ msgstr ""
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
msgstr ""
-"Para funcionar, a Propriedade Caminho tem de apontar para um nó Node2D "
+"Para funcionar, a propriedade caminho tem de apontar para um nó Node2D "
"válido."
#: scene/2d/skeleton_2d.cpp
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 2344b31e59..d8c55d825e 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -70,12 +70,13 @@
# Ivan Kuzmenko <kuzmenko.ivan2002@yandex.com>, 2020.
# Super Pracion <superpracion2@gmail.com>, 2020.
# PizzArt <7o7goo7o7@gmail.com>, 2020.
+# TheGracekale <mrsmailbot.lg@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-23 20:21+0000\n"
-"Last-Translator: PizzArt <7o7goo7o7@gmail.com>\n"
+"PO-Revision-Date: 2020-05-05 14:01+0000\n"
+"Last-Translator: Super Pracion <superpracion2@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
"Language: ru\n"
@@ -84,7 +85,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -9966,6 +9967,9 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"Поле поиска фильтрует проекты по имени и последнему компоненту пути\n"
+"Чтобы отфильтровать проекты по имени и полному пути, запрос должен содержать "
+"хотя бы один символ `/`."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -10935,9 +10939,8 @@ msgid "Invalid inherited parent name or path."
msgstr "Неверное имя или путь наследуемого предка."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script path/name is valid."
-msgstr "Путь/имя скрипта действителен."
+msgstr "Путь/имя скрипта допустимы."
#: editor/script_create_dialog.cpp
msgid "Allowed: a-z, A-Z, 0-9, _ and ."
@@ -11089,9 +11092,8 @@ msgid "Total:"
msgstr "Всего:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Экспортировать профиль"
+msgstr "Экспортировать профиль в CSV файл"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -12524,7 +12526,6 @@ msgid "PathFollow only works when set as a child of a Path node."
msgstr "PathFollow работает только при если она дочь узла Path."
#: scene/3d/path.cpp
-#, fuzzy
msgid ""
"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
"parent Path's Curve resource."
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index d5730a7db9..295b7ac429 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-23 20:21+0000\n"
+"PO-Revision-Date: 2020-05-01 11:42+0000\n"
"Last-Translator: Richard Urban <redasuio1@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/godot-engine/"
"godot/sk/>\n"
@@ -22,7 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -3034,6 +3034,13 @@ msgid ""
"the \"Use Custom Build\" option should be enabled in the Android export "
"preset."
msgstr ""
+"Toto pripraví vás projekt pre vlastný Android builds keď inštalujete source "
+"template do \"res://android/build\".\n"
+"Teraz môžete pridať modifikácie a tak vytvoriť vlastné APK na export "
+"(pridávanie modulov, zmeniť AndroidManifest.xml, atď.).\n"
+"Poznámka že v záujme vytvorenia vlastných zostavení namiesto použitia vopred "
+"vytvorených súborov APK by mala byť v predvoľbe exportu systému Android "
+"povolená možnosť \"Use Costom Build\"."
#: editor/editor_node.cpp
msgid ""
@@ -3042,27 +3049,30 @@ msgid ""
"Remove the \"res://android/build\" directory manually before attempting this "
"operation again."
msgstr ""
+"V tomto projekte už je nainštalovaný Android build template a nemôže byť "
+"prepísaný.\n"
+"Manuálne odstránte \"res://android/build\" predtým ako sa znova pokúsite o "
+"túto operáciu."
#: editor/editor_node.cpp
msgid "Import Templates From ZIP File"
-msgstr ""
+msgstr "Importovať Šablóny Zo ZIP File-u"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Template Package"
-msgstr "Všetky vybrané"
+msgstr "Balíček Šablón"
#: editor/editor_node.cpp
msgid "Export Library"
-msgstr ""
+msgstr "Exportovať Library"
#: editor/editor_node.cpp
msgid "Merge With Existing"
-msgstr ""
+msgstr "Spojiť Z Existujúcim"
#: editor/editor_node.cpp
msgid "Open & Run a Script"
-msgstr ""
+msgstr "Otvoriť & Spustiť Script"
#: editor/editor_node.cpp
#, fuzzy
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index 46e671a8a8..e713e79a4c 100644
--- a/editor/translations/uk.po
+++ b/editor/translations/uk.po
@@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-04-20 05:51+0000\n"
+"PO-Revision-Date: 2020-05-01 11:43+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
@@ -27,7 +27,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -9937,6 +9937,9 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"Поле пошуку фільтрує проєкти за назвою і останнім компонентом шляху.\n"
+"Щоб виконати фільтрування проєктів за назвою і повним шляхом, у запиті має "
+"бути принаймні один символ `/`."
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -11055,9 +11058,8 @@ msgid "Total:"
msgstr "Загалом:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "Експорт профілю"
+msgstr "Експортувати список до файла CSV"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index 953ec63714..538e017a5d 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -64,8 +64,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2020-04-24 15:30+0000\n"
-"Last-Translator: Revan Ji <jiruifancr@gmail.com>\n"
+"PO-Revision-Date: 2020-05-01 11:42+0000\n"
+"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -73,7 +73,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.0.2-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -5901,7 +5901,6 @@ msgstr ""
"这是最准确(但是最慢)的碰撞检测手段。"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Single Convex Collision Sibling"
msgstr "创建单一凸碰撞同级"
@@ -7211,9 +7210,8 @@ msgid "This operation requires a single selected node."
msgstr "此操作只能应用于单个选中节点。"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Auto Orthogonal Enabled"
-msgstr "正交"
+msgstr "启用自动正交"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock View Rotation"
@@ -9774,6 +9772,8 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"搜索框根据名称和路径的末尾部分来过滤项目。\n"
+"如果要根据名称和完整路径过滤,搜索内容应至少包含一个“/”字符。"
#: editor/project_settings_editor.cpp
msgid "Key "
@@ -10874,9 +10874,8 @@ msgid "Total:"
msgstr "合计:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Export list to a CSV file"
-msgstr "导出配置文件"
+msgstr "将列表导出为CSV文件"
#: editor/script_editor_debugger.cpp
msgid "Resource Path"
@@ -12171,7 +12170,7 @@ msgstr "平面形状无法正常工作,未来版本将被删除。请勿使用
#: scene/3d/collision_shape.cpp
msgid ""
"ConcavePolygonShape doesn't support RigidBody in another mode than static."
-msgstr ""
+msgstr "ConcavePolygonShape仅支持静态RigidBody。"
#: scene/3d/cpu_particles.cpp
msgid "Nothing is visible because no mesh has been assigned."
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index e3d9a84cfb..770b4d38f2 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -2,27 +2,28 @@
# Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur.
# Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md).
# This file is distributed under the same license as the Godot source code.
-# Wesley (zx-wt) <ZX_WT@ymail.com>, 2016-2017.
+# Wesley (zx-wt) <ZX_WT@ymail.com>, 2016-2017, 2020.
# cnieFIT <dtotncq@gmail.com>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2019-04-10 00:46+0000\n"
-"Last-Translator: cnieFIT <dtotncq@gmail.com>\n"
-"Language-Team: Chinese (Hong Kong) <https://hosted.weblate.org/projects/"
-"godot-engine/godot/zh_Hant_HK/>\n"
+"PO-Revision-Date: 2020-05-01 11:43+0000\n"
+"Last-Translator: zx-wt <ZX_WT@ymail.com>\n"
+"Language-Team: Chinese (Traditional, Hong Kong) <https://hosted.weblate.org/"
+"projects/godot-engine/godot/zh_Hant_HK/>\n"
"Language: zh_HK\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.6-dev\n"
+"X-Generator: Weblate 4.0.2\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
+#, fuzzy
msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
+msgstr "convert()的類型參數無效, 請使用 TYPE_* 常數。"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
@@ -68,19 +69,19 @@ msgstr ""
#: core/ustring.cpp
msgid "KiB"
-msgstr ""
+msgstr "KiB"
#: core/ustring.cpp
msgid "MiB"
-msgstr ""
+msgstr "MiB"
#: core/ustring.cpp
msgid "GiB"
-msgstr ""
+msgstr "GiB"
#: core/ustring.cpp
msgid "TiB"
-msgstr ""
+msgstr "TiB"
#: core/ustring.cpp
msgid "PiB"
@@ -88,20 +89,19 @@ msgstr ""
#: core/ustring.cpp
msgid "EiB"
-msgstr ""
+msgstr "PiB"
#: editor/animation_bezier_editor.cpp
msgid "Free"
-msgstr ""
+msgstr "自由"
#: editor/animation_bezier_editor.cpp
msgid "Balanced"
-msgstr ""
+msgstr "平均"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Mirror"
-msgstr "錯誤!"
+msgstr "對稱"
#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
msgid "Time:"
@@ -112,9 +112,8 @@ msgid "Value:"
msgstr ""
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Insert Key Here"
-msgstr "動晝插入關鍵幀?"
+msgstr "在這插入關鍵幀"
#: editor/animation_bezier_editor.cpp
#, fuzzy
@@ -127,14 +126,12 @@ msgid "Delete Selected Key(s)"
msgstr "刪除選中檔案"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Add Bezier Point"
-msgstr "新增訊號"
+msgstr "新增Bezier節點"
#: editor/animation_bezier_editor.cpp
-#, fuzzy
msgid "Move Bezier Points"
-msgstr "下移"
+msgstr "Bezier節點下移"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
@@ -158,9 +155,8 @@ msgid "Anim Change Transform"
msgstr ""
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Change Keyframe Value"
-msgstr "動畫變化數值"
+msgstr "動畫變化關鍵幀數值"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
@@ -199,7 +195,7 @@ msgstr "更改動畫名稱:"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr ""
+msgstr "變更動畫循環"
#: editor/animation_track_editor.cpp
msgid "Property Track"
@@ -241,23 +237,21 @@ msgid "Add Track"
msgstr "新增動畫軌跡"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation Looping"
-msgstr "動畫縮放。"
+msgstr "動畫循環"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Functions:"
-msgstr "行為"
+msgstr ""
#: editor/animation_track_editor.cpp
msgid "Audio Clips:"
-msgstr ""
+msgstr "聲音片段:"
#: editor/animation_track_editor.cpp
msgid "Anim Clips:"
-msgstr ""
+msgstr "動畫片段:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
@@ -272,9 +266,8 @@ msgid "Update Mode (How this property is set)"
msgstr ""
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Interpolation Mode"
-msgstr "無干擾模式"
+msgstr "模式"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
@@ -311,11 +304,11 @@ msgstr "發動"
#: editor/animation_track_editor.cpp
msgid "Capture"
-msgstr ""
+msgstr "捕捉"
#: editor/animation_track_editor.cpp
msgid "Nearest"
-msgstr ""
+msgstr "最近"
#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
@@ -337,7 +330,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr ""
+msgstr "插入動畫幀"
#: editor/animation_track_editor.cpp
#, fuzzy
@@ -447,16 +440,15 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Not possible to add a new track without a root"
-msgstr ""
+msgstr "沒有ROOT以新增新動畫軌跡"
#: editor/animation_track_editor.cpp
msgid "Invalid track for Bezier (no suitable sub-properties)"
msgstr ""
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Bezier Track"
-msgstr "新增動畫軌跡"
+msgstr "新增Bezier軌跡"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a key."
@@ -571,14 +563,12 @@ msgid "Edit"
msgstr "編輯"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Animation properties."
-msgstr "新增動畫"
+msgstr "動畫內容。"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Copy Tracks"
-msgstr "複製參數"
+msgstr "複製"
#: editor/animation_track_editor.cpp
msgid "Scale Selection"
@@ -701,9 +691,8 @@ msgid "Select All/None"
msgstr "不選"
#: editor/animation_track_editor_plugins.cpp
-#, fuzzy
msgid "Add Audio Track Clip"
-msgstr "新增動畫軌跡"
+msgstr "新增聲音軌跡片段"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
@@ -734,18 +723,16 @@ msgid "Line Number:"
msgstr "行數:"
#: editor/code_editor.cpp
-#, fuzzy
msgid "%d replaced."
-msgstr "取代"
+msgstr "已取代 %d。"
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "%d match."
msgstr ""
#: editor/code_editor.cpp editor/editor_help.cpp
-#, fuzzy
msgid "%d matches."
-msgstr "沒有相同"
+msgstr "%d 相同。"
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
@@ -795,7 +782,7 @@ msgstr "重設縮放比例"
#: editor/code_editor.cpp
msgid "Warnings"
-msgstr ""
+msgstr "警告"
#: editor/code_editor.cpp
msgid "Line and column numbers."
@@ -817,18 +804,16 @@ msgid "Connect to Node:"
msgstr "連到:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Connect to Script:"
-msgstr "不能連到主機:"
+msgstr "連到腳本:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "From Signal:"
-msgstr "訊號:"
+msgstr "來自訊號:"
#: editor/connections_dialog.cpp
msgid "Scene does not contain any script."
-msgstr ""
+msgstr "場景沒有含有任何腳本。"
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -856,17 +841,16 @@ msgid "Extra Call Arguments:"
msgstr ""
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Receiver Method:"
-msgstr "選擇模式"
+msgstr "接收模式:"
#: editor/connections_dialog.cpp
msgid "Advanced"
-msgstr ""
+msgstr "進階"
#: editor/connections_dialog.cpp
msgid "Deferred"
-msgstr ""
+msgstr "延遲"
#: editor/connections_dialog.cpp
msgid ""
@@ -875,16 +859,15 @@ msgstr ""
#: editor/connections_dialog.cpp
msgid "Oneshot"
-msgstr ""
+msgstr "只限一次"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
msgstr ""
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Cannot connect signal"
-msgstr "連接訊號:"
+msgstr "無法連接訊號"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -956,9 +939,8 @@ msgid "Are you sure you want to remove all connections from this signal?"
msgstr ""
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Disconnect All"
-msgstr "中斷"
+msgstr "中斷全部"
#: editor/connections_dialog.cpp
#, fuzzy
@@ -1142,7 +1124,7 @@ msgstr "刪除"
#: editor/dependency_editor.cpp
msgid "Owns"
-msgstr ""
+msgstr "擁有"
#: editor/dependency_editor.cpp
msgid "Resources Without Explicit Ownership:"
@@ -1166,19 +1148,16 @@ msgid "Godot Engine contributors"
msgstr "Godot Engine 貢獻者"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Project Founders"
-msgstr "專案設定"
+msgstr "專案開荒人"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Lead Developer"
-msgstr "開發者"
+msgstr "主要開發者"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Project Manager "
-msgstr "開啟 Project Manager?"
+msgstr "開啟 Project Manager "
#: editor/editor_about.cpp
msgid "Developers"
@@ -1210,7 +1189,7 @@ msgstr "白銀級捐款人"
#: editor/editor_about.cpp
msgid "Bronze Donors"
-msgstr "青銅捐款人"
+msgstr "青銅級捐款人"
#: editor/editor_about.cpp
msgid "Donors"
@@ -1304,14 +1283,12 @@ msgid "Add Effect"
msgstr "新增效果"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Rename Audio Bus"
-msgstr "重新命名Autoload"
+msgstr "重新命名Audio Bus"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Change Audio Bus Volume"
-msgstr "動畫變化數值"
+msgstr "變更Audio Bus聲量"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Solo"
@@ -1338,9 +1315,8 @@ msgid "Move Bus Effect"
msgstr ""
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Delete Bus Effect"
-msgstr "刪除選中檔案"
+msgstr "刪除Bus Effect"
#: editor/editor_audio_buses.cpp
msgid "Drag & drop to rearrange."
@@ -1348,7 +1324,7 @@ msgstr ""
#: editor/editor_audio_buses.cpp
msgid "Solo"
-msgstr ""
+msgstr "Solo"
#: editor/editor_audio_buses.cpp
msgid "Mute"
@@ -1367,7 +1343,7 @@ msgstr "選項"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
-msgstr "複製"
+msgstr "再製"
#: editor/editor_audio_buses.cpp
#, fuzzy
@@ -1397,9 +1373,8 @@ msgid "Delete Audio Bus"
msgstr "刪除佈局"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Duplicate Audio Bus"
-msgstr "複製"
+msgstr "再製 Audio Bus"
#: editor/editor_audio_buses.cpp
#, fuzzy
@@ -1407,9 +1382,8 @@ msgid "Reset Bus Volume"
msgstr "重設縮放比例"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Move Audio Bus"
-msgstr "移動"
+msgstr "移動 Audio Bus"
#: editor/editor_audio_buses.cpp
msgid "Save Audio Bus Layout As..."
@@ -1428,9 +1402,8 @@ msgid "There is no '%s' file."
msgstr ""
#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Layout"
-msgstr "儲存佈局"
+msgstr "佈局"
#: editor/editor_audio_buses.cpp
msgid "Invalid file, not an audio bus layout."
@@ -1483,7 +1456,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
-msgstr "無效名稱"
+msgstr "無效名稱。"
#: editor/editor_autoload_settings.cpp
#, fuzzy
@@ -1491,19 +1464,16 @@ msgid "Valid characters:"
msgstr "有效字符:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr "有效名稱。"
+msgstr ""
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing built-in type name."
-msgstr "有效名稱。"
+msgstr ""
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr "有效名稱。"
+msgstr ""
#: editor/editor_autoload_settings.cpp
msgid "Keyword cannot be used as an autoload name."
@@ -1571,7 +1541,7 @@ msgstr "路徑:"
#: editor/editor_autoload_settings.cpp
msgid "Node Name:"
-msgstr ""
+msgstr "Node名稱"
#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp
#: editor/editor_profiler.cpp editor/project_manager.cpp
@@ -1602,16 +1572,15 @@ msgstr "正在更新場景..."
#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
-msgstr ""
+msgstr "[空]"
#: editor/editor_data.cpp
msgid "[unsaved]"
-msgstr ""
+msgstr "[未儲存]"
#: editor/editor_dir_dialog.cpp
-#, fuzzy
msgid "Please select a base directory first."
-msgstr "請先儲存場景"
+msgstr "請先選擇主要資料夾。"
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1674,9 +1643,8 @@ msgstr ""
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
-#, fuzzy
msgid "Custom debug template not found."
-msgstr "未找到佈局名稱!"
+msgstr ""
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -1685,23 +1653,20 @@ msgid "Custom release template not found."
msgstr ""
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-#, fuzzy
msgid "Template file not found:"
-msgstr "未找到佈局名稱!"
+msgstr ""
#: editor/editor_export.cpp
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "3D Editor"
-msgstr "編輯器"
+msgstr "3D編輯器"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Script Editor"
-msgstr "開啟資料夾"
+msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1747,9 +1712,8 @@ msgid "(Editor Disabled, Properties Disabled)"
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Properties Disabled)"
-msgstr "選擇模式"
+msgstr ""
#: editor/editor_feature_profile.cpp
#, fuzzy
@@ -1799,9 +1763,8 @@ msgid "Unset"
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Current Profile:"
-msgstr "新增資料夾"
+msgstr ""
#: editor/editor_feature_profile.cpp
msgid "Make Current"
@@ -1881,15 +1844,13 @@ msgid "Copy Path"
msgstr "複製路徑"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open in File Manager"
-msgstr "開啟 Project Manager?"
+msgstr "在Project Manager開啟"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
#: editor/filesystem_dock.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Show in File Manager"
-msgstr "開啟 Project Manager?"
+msgstr "在Project Manager顯示"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
#, fuzzy
@@ -1903,7 +1864,7 @@ msgstr "重新整理"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Recognized"
-msgstr "所有類型"
+msgstr "所有已知類型"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "All Files (*)"
@@ -1915,7 +1876,7 @@ msgstr "開啟檔案"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open File(s)"
-msgstr "開啟檔案"
+msgstr "開啟(多個)檔案"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a Directory"
@@ -1937,16 +1898,18 @@ msgid "Save a File"
msgstr "儲存檔案"
#: editor/editor_file_dialog.cpp
+#, fuzzy
msgid "Go Back"
-msgstr ""
+msgstr "向後"
#: editor/editor_file_dialog.cpp
+#, fuzzy
msgid "Go Forward"
-msgstr ""
+msgstr "向前"
#: editor/editor_file_dialog.cpp
msgid "Go Up"
-msgstr ""
+msgstr "向上"
#: editor/editor_file_dialog.cpp
msgid "Toggle Hidden Files"
@@ -1975,14 +1938,12 @@ msgid "Move Favorite Down"
msgstr "下移最愛"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to previous folder."
-msgstr "無法新增資料夾"
+msgstr "回到上一個資料夾。"
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to next folder."
-msgstr "無法新增資料夾"
+msgstr "下一個資料夾"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
#, fuzzy
@@ -2028,7 +1989,7 @@ msgstr "檔案:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Must use a valid extension."
-msgstr "請用有效的副檔名"
+msgstr "請用有效的副檔名。"
#: editor/editor_file_system.cpp
msgid "ScanSources"
@@ -2069,13 +2030,12 @@ msgid "Description"
msgstr "描述:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Online Tutorials"
-msgstr "關閉場景"
+msgstr "Online教學"
#: editor/editor_help.cpp
msgid "Properties"
-msgstr ""
+msgstr "內客"
#: editor/editor_help.cpp
msgid "override:"
@@ -2158,29 +2118,24 @@ msgid "Classes Only"
msgstr ""
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Methods Only"
-msgstr "選擇模式"
+msgstr ""
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Signals Only"
-msgstr "訊號"
+msgstr "只限訊號"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Constants Only"
-msgstr "常數"
+msgstr "只限常數"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Properties Only"
-msgstr "選擇模式"
+msgstr "只限內容"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Theme Properties Only"
-msgstr "選擇模式"
+msgstr ""
#: editor/editor_help_search.cpp
msgid "Member Type"
@@ -2191,9 +2146,8 @@ msgid "Class"
msgstr ""
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Method"
-msgstr "選擇模式"
+msgstr ""
#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
#, fuzzy
@@ -2205,14 +2159,12 @@ msgid "Constant"
msgstr "常數"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Property"
-msgstr "選擇模式"
+msgstr "內容"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Theme Property"
-msgstr "篩選:"
+msgstr ""
#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
msgid "Property:"
@@ -2231,9 +2183,8 @@ msgid "Output:"
msgstr ""
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Copy Selection"
-msgstr "移除選項"
+msgstr "複製選項"
#: editor/editor_log.cpp editor/editor_network_profiler.cpp
#: editor/editor_profiler.cpp editor/editor_properties.cpp
@@ -2265,9 +2216,8 @@ msgid "%s/s"
msgstr ""
#: editor/editor_network_profiler.cpp
-#, fuzzy
msgid "Down"
-msgstr "下載"
+msgstr ""
#: editor/editor_network_profiler.cpp
msgid "Up"
@@ -2322,14 +2272,12 @@ msgid "Save Resource As..."
msgstr "把資源另存為..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't open file for writing:"
-msgstr "不能寫入,不能開啟檔案:"
+msgstr "不能開啟檔案以供寫入:"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Requested file format unknown:"
-msgstr "要求的檔案格式未知:"
+msgstr "要求的檔案格式不明:"
#: editor/editor_node.cpp
msgid "Error while saving."
@@ -3501,15 +3449,16 @@ msgstr "你是否忘了關鍵詞 'tool' ?"
#: editor/editor_run_script.cpp
msgid "Couldn't run script:"
-msgstr ""
+msgstr "不能執行腳本:"
#: editor/editor_run_script.cpp
msgid "Did you forget the '_run' method?"
msgstr ""
#: editor/editor_sub_scene.cpp
+#, fuzzy
msgid "Select Node(s) to Import"
-msgstr ""
+msgstr "選擇要導入的Node(s)"
#: editor/editor_sub_scene.cpp editor/project_manager.cpp
msgid "Browse"
@@ -3521,7 +3470,7 @@ msgstr "場景路徑:"
#: editor/editor_sub_scene.cpp
msgid "Import From Node:"
-msgstr ""
+msgstr "從Node導入:"
#: editor/export_template_manager.cpp
#, fuzzy
@@ -3542,59 +3491,66 @@ msgid "Download"
msgstr "下載"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Official export templates aren't available for development builds."
-msgstr ""
+msgstr "Development builds未能提供官方export templates。"
#: editor/export_template_manager.cpp
msgid "(Missing)"
-msgstr ""
+msgstr "(欠缺)"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "(Current)"
-msgstr ""
+msgstr "(Current)"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Retrieving mirrors, please wait..."
-msgstr ""
+msgstr "接收 mirrors中, 請稍侯..."
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Remove template version '%s'?"
-msgstr ""
+msgstr "移除版本 '%s' 的範本?"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Can't open export templates zip."
-msgstr ""
+msgstr "不能開啟export templates的zip壓縮檔。"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Invalid version.txt format inside templates: %s."
-msgstr "無效的 version.txt 格式 inside templates."
+msgstr "範本文件: %s 中的 version.txt 格式無效。"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "No version.txt found inside templates."
-msgstr "找不到version.txt inside templates."
+msgstr "範本中找不到version.txt。"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error creating path for templates:"
-msgstr "載入字形出現錯誤"
+msgstr "範本創造路徑時出現錯誤:"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Extracting Export Templates"
-msgstr ""
+msgstr "正在解壓Export Templates"
#: editor/export_template_manager.cpp
msgid "Importing:"
-msgstr "導入中:"
+msgstr "導入中:"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Error getting the list of mirrors."
-msgstr ""
+msgstr "取得mirrors列表時出錯。"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Error parsing JSON of mirror list. Please report this issue!"
-msgstr ""
+msgstr "parsing mirror列表的JSON出錯。 請回報此問題!"
#: editor/export_template_manager.cpp
#, fuzzy
@@ -3605,8 +3561,9 @@ msgstr "找不到這個版本的下載連結。直接下載只適用於official
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
msgid "Can't resolve."
-msgstr ""
+msgstr "無法解決。"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3624,8 +3581,9 @@ msgid "Request Failed."
msgstr "請求失敗。"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Redirect Loop."
-msgstr ""
+msgstr "重新定向循環。"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3633,49 +3591,49 @@ msgid "Failed:"
msgstr "失敗:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Download Complete."
-msgstr "下載出現錯誤"
+msgstr "下載完成。"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cannot remove temporary file:"
-msgstr "無法移除:\n"
+msgstr "無法移除暫存檔:"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
+"Templates安裝失敗。\n"
+"出現問題的templates 存檔可以在 \"%s\" 中找到。"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error requesting URL:"
-msgstr "請求時出現錯誤"
+msgstr "請求URL時出現錯誤:"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Connecting to Mirror..."
-msgstr "連到..."
+msgstr "正在連到Mirror..."
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Disconnected"
-msgstr "中斷"
+msgstr "斷線"
#: editor/export_template_manager.cpp
msgid "Resolving"
-msgstr ""
+msgstr "解決中"
#: editor/export_template_manager.cpp
msgid "Can't Resolve"
-msgstr ""
+msgstr "不能解決"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Connecting..."
-msgstr "連到..."
+msgstr "連接中..."
#: editor/export_template_manager.cpp
#, fuzzy
@@ -3685,7 +3643,7 @@ msgstr "不能連接。"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Connected"
-msgstr "連到"
+msgstr "已連線"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3695,63 +3653,61 @@ msgstr "請求中..."
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Downloading"
-msgstr "下載出現錯誤"
+msgstr "下載中"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Connection Error"
-msgstr "連到..."
+msgstr "連接出錯"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "SSL Handshake Error"
-msgstr ""
+msgstr "SSL Handshake出錯"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Uncompressing Android Build Sources"
-msgstr "導入中:"
+msgstr "正在解壓Android Build Sources"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Current Version:"
-msgstr ""
+msgstr "當前版本:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Installed Versions:"
-msgstr "無效副檔名"
+msgstr "已安裝的版本:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Install From File"
-msgstr "從檔案下載"
+msgstr "從檔案安裝"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Remove Template"
-msgstr "移除選項"
+msgstr "移除Template"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Select Template File"
-msgstr "要刪除選中檔案?"
+msgstr "選取Template檔案"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Godot Export Templates"
-msgstr "管理輸出範本"
+msgstr "Godot輸出範本"
#: editor/export_template_manager.cpp
+#, fuzzy
msgid "Export Template Manager"
-msgstr ""
+msgstr "Export Template管理器"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Download Templates"
-msgstr "移除選項"
+msgstr "下載Templates"
#: editor/export_template_manager.cpp
msgid "Select mirror from list: (Shift+Click: Open in Browser)"
-msgstr ""
+msgstr "從清單中選擇鏡像: (Shift + 單擊: 在瀏覽器中打開)"
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -3759,77 +3715,73 @@ msgid "Favorites"
msgstr "最愛:"
#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Status: Import of file failed. Please fix file and reimport manually."
-msgstr ""
+msgstr "狀態:導入檔案失敗。請修正檔案並再手動導入。"
#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Cannot move/rename resources root."
-msgstr ""
+msgstr "不能移動/重新命名 resources root."
#: editor/filesystem_dock.cpp
msgid "Cannot move a folder into itself."
-msgstr ""
+msgstr "不能移動資料夾到資料夾自身。"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:"
-msgstr "載入錯誤:"
+msgstr "移動錯誤:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error duplicating:"
-msgstr "載入錯誤:"
+msgstr "再製時出錯:"
#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Unable to update dependencies:"
-msgstr ""
+msgstr "未能更新dependencies:"
#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
msgid "No name provided."
-msgstr ""
+msgstr "沒有提供名字。"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Provided name contains invalid characters."
-msgstr "有效字符:"
+msgstr "提供的名字含有無效字符。"
#: editor/filesystem_dock.cpp
msgid "A file or folder with this name already exists."
-msgstr ""
+msgstr "具有此名稱的檔或資料夾已存在。"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Name contains invalid characters."
-msgstr "有效字符:"
+msgstr "名字含有無效字符。"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Renaming file:"
-msgstr "儲存TileSet時出現錯誤!"
+msgstr "重新命名檔案:"
#: editor/filesystem_dock.cpp
msgid "Renaming folder:"
-msgstr ""
+msgstr "重新命名資料夾:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Duplicating file:"
-msgstr "複製"
+msgstr "再製檔案:"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Duplicating folder:"
-msgstr "複製"
+msgstr "再製資料夾:"
#: editor/filesystem_dock.cpp
#, fuzzy
msgid "New Inherited Scene"
-msgstr "下一個腳本"
+msgstr "新增 Inherited Scene"
#: editor/filesystem_dock.cpp
#, fuzzy
msgid "Set As Main Scene"
-msgstr "選擇主場景"
+msgstr "設家成主場景"
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -3837,22 +3789,22 @@ msgid "Open Scenes"
msgstr "開啓場景"
#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Instance"
-msgstr ""
+msgstr "Instance"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Add to Favorites"
-msgstr "最愛:"
+msgstr "加到最愛"
#: editor/filesystem_dock.cpp
#, fuzzy
msgid "Remove from Favorites"
-msgstr "只限選中"
+msgstr "從最愛中移除"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
-msgstr ""
+msgstr "編輯Dependencies..."
#: editor/filesystem_dock.cpp
msgid "View Owners..."
@@ -3864,9 +3816,8 @@ msgid "Rename..."
msgstr "重新命名..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Duplicate..."
-msgstr "複製"
+msgstr "再製..."
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -3874,37 +3825,33 @@ msgid "Move To..."
msgstr "搬到..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Scene..."
-msgstr "新增場景"
+msgstr "新增場景..."
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "New Script..."
-msgstr "下一個腳本"
+msgstr "新增腳本..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "New Resource..."
-msgstr "把資源另存為..."
+msgstr "新增資源..."
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
msgid "Expand All"
-msgstr ""
+msgstr "全部展開"
#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Collapse All"
-msgstr "關閉"
+msgstr "全部折疊"
#: editor/filesystem_dock.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/project_manager.cpp editor/rename_dialog.cpp
#: editor/scene_tree_dock.cpp
msgid "Rename"
-msgstr "重新命名..."
+msgstr "重新命名"
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -3912,18 +3859,18 @@ msgid "Previous Folder/File"
msgstr "上一個tab"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Next Folder/File"
-msgstr "新增資料夾"
+msgstr "下一個資料夾/檔案"
#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Re-Scan Filesystem"
-msgstr ""
+msgstr "重新掃描檔案系統"
#: editor/filesystem_dock.cpp
#, fuzzy
msgid "Toggle Split Mode"
-msgstr "(不)顯示隱藏的文件"
+msgstr "切換Split 模式"
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -3931,10 +3878,11 @@ msgid "Search files"
msgstr "在幫助檔搜尋"
#: editor/filesystem_dock.cpp
+#, fuzzy
msgid ""
"Scanning Files,\n"
"Please Wait..."
-msgstr ""
+msgstr "正在掃描檔案, 請稍候..."
#: editor/filesystem_dock.cpp
msgid "Move"
@@ -3942,35 +3890,35 @@ msgstr "移動"
#: editor/filesystem_dock.cpp
msgid "There is already file or folder with the same name in this location."
-msgstr ""
+msgstr "此位置已存在同名的檔案或資料夾。"
#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Overwrite"
-msgstr ""
+msgstr "覆蓋"
#: editor/filesystem_dock.cpp
#, fuzzy
msgid "Create Scene"
-msgstr "儲存場景"
+msgstr "新增場景"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Create Script"
-msgstr ""
+msgstr "新增腳本"
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Find in Files"
-msgstr "多 %d 檔案"
+msgstr "在檔案中本尋找"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Find:"
-msgstr "尋找"
+msgstr "尋找:"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Folder:"
-msgstr "新增資料夾"
+msgstr "資料夾:"
#: editor/find_in_files.cpp
#, fuzzy
@@ -3978,169 +3926,166 @@ msgid "Filters:"
msgstr "篩選:"
#: editor/find_in_files.cpp
+#, fuzzy
msgid ""
"Include the files with the following extensions. Add or remove them in "
"ProjectSettings."
-msgstr ""
+msgstr "包含下列副檔名的文件。在ProjectSettings增加或移除。"
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
msgid "Find..."
-msgstr ""
+msgstr "尋找..."
#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+#, fuzzy
msgid "Replace..."
-msgstr ""
+msgstr "替換…"
#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
msgid "Cancel"
msgstr "取消"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Find: "
-msgstr "尋找"
+msgstr "尋找: "
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace: "
-msgstr "取代"
+msgstr "取代: "
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace all (no undo)"
-msgstr "全部取代"
+msgstr "全部取代(不可還原)"
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Searching..."
-msgstr "儲存中..."
+msgstr "搜尋中..."
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Search complete"
-msgstr "在幫助檔搜尋"
+msgstr "搜尋完成"
#: editor/groups_editor.cpp
+#, fuzzy
msgid "Add to Group"
-msgstr ""
+msgstr "加到Group"
#: editor/groups_editor.cpp
msgid "Remove from Group"
-msgstr ""
+msgstr "從Group中移除"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group name already exists."
-msgstr "錯誤:動畫名稱已存在!"
+msgstr "錯誤:group名稱已存在。"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Invalid group name."
-msgstr "無效名稱"
+msgstr "無效group名稱。"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Rename Group"
-msgstr "專案"
+msgstr "重新命名Group"
#: editor/groups_editor.cpp
#, fuzzy
msgid "Delete Group"
-msgstr "刪除佈局"
+msgstr "刪除Group"
#: editor/groups_editor.cpp editor/node_dock.cpp
+#, fuzzy
msgid "Groups"
-msgstr ""
+msgstr "Groups"
#: editor/groups_editor.cpp
msgid "Nodes Not in Group"
-msgstr ""
+msgstr "不在Group內的Nodes"
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
#, fuzzy
msgid "Filter nodes"
-msgstr "篩選:"
+msgstr "篩選nodes:"
#: editor/groups_editor.cpp
msgid "Nodes in Group"
-msgstr ""
+msgstr "Group中的Nodes"
#: editor/groups_editor.cpp
msgid "Empty groups will be automatically removed."
-msgstr ""
+msgstr "空groups會被移除。"
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Group Editor"
-msgstr "開啟資料夾"
+msgstr "Group編輯器"
#: editor/groups_editor.cpp
msgid "Manage Groups"
-msgstr ""
+msgstr "管理groups"
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Import as Single Scene"
-msgstr "更新場景"
+msgstr "導入為單一場景"
#: editor/import/resource_importer_scene.cpp
+#, fuzzy
msgid "Import with Separate Animations"
-msgstr ""
+msgstr "以分開的動畫導入"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials"
-msgstr ""
+msgstr "以分開的Materials導入"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects"
-msgstr ""
+msgstr "以分開的物件導入"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials"
-msgstr ""
+msgstr "以分開的物件+Materials導入"
#: editor/import/resource_importer_scene.cpp
+#, fuzzy
msgid "Import with Separate Objects+Animations"
-msgstr ""
+msgstr "以分開的物件+動畫導入"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Materials+Animations"
-msgstr ""
+msgstr "以分開的Materials+動畫導入"
#: editor/import/resource_importer_scene.cpp
msgid "Import with Separate Objects+Materials+Animations"
-msgstr ""
+msgstr "以分開的物件+Materials+動畫導入"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes"
-msgstr ""
+msgstr "導入為多個場景"
#: editor/import/resource_importer_scene.cpp
msgid "Import as Multiple Scenes+Materials"
-msgstr ""
+msgstr "導入為多個場景+Materials"
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
-msgstr ""
+msgstr "導入場景"
#: editor/import/resource_importer_scene.cpp
msgid "Importing Scene..."
-msgstr ""
+msgstr "導入場景中..."
#: editor/import/resource_importer_scene.cpp
msgid "Generating Lightmaps"
-msgstr ""
+msgstr "光照圖生成中"
#: editor/import/resource_importer_scene.cpp
msgid "Generating for Mesh: "
-msgstr ""
+msgstr "為Mesh生成中: "
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
-msgstr ""
+msgstr "正在運行自定義腳本..."
#: editor/import/resource_importer_scene.cpp
msgid "Couldn't load post-import script:"
@@ -9101,15 +9046,15 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Equal (==)"
-msgstr ""
+msgstr "等於 (==)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Greater Than (>)"
-msgstr ""
+msgstr "大於(>)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Greater Than or Equal (>=)"
-msgstr ""
+msgstr "大於或等於(>=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -9131,15 +9076,15 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Less Than (<)"
-msgstr ""
+msgstr "小於 (<)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Less Than or Equal (<=)"
-msgstr ""
+msgstr "小於或等於 (<=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Not Equal (!=)"
-msgstr ""
+msgstr "不等於 (!=)"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -10833,23 +10778,24 @@ msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Move Nodes In Parent"
-msgstr ""
+msgstr "在Parent內移動Nodes"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
-msgstr ""
+msgstr "再製Node"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
-msgstr ""
+msgstr "不能在inherited scenes內reparent nodes,nodes順序不能改變。"
#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Node must belong to the edited scene to become root."
-msgstr ""
+msgstr "Node必須屬於已編輯的場景以成為root."
#: editor/scene_tree_dock.cpp
msgid "Instantiated scenes can't become root"
-msgstr ""
+msgstr "Instantiated scenes不能成為root"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -10862,12 +10808,14 @@ msgid "Delete %d nodes?"
msgstr "不選"
#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Delete the root node \"%s\"?"
-msgstr ""
+msgstr "删除root node \"%s\"?"
#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Delete node \"%s\" and its children?"
-msgstr ""
+msgstr "删除root node \"%s\"?"
#: editor/scene_tree_dock.cpp
#, fuzzy
@@ -12938,7 +12886,7 @@ msgstr ""
#: scene/gui/range.cpp
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
-msgstr ""
+msgstr "當\"Exp Edit\" 啟用時,\"Min Value\" 必須大於0。"
#: scene/gui/scroll_container.cpp
msgid ""
@@ -12949,7 +12897,7 @@ msgstr ""
#: scene/gui/tree.cpp
msgid "(Other)"
-msgstr ""
+msgstr "(其他)"
#: scene/main/scene_tree.cpp
msgid ""
@@ -12966,23 +12914,22 @@ msgid ""
msgstr ""
#: scene/main/viewport.cpp
+#, fuzzy
msgid "Viewport size must be greater than 0 to render anything."
-msgstr ""
+msgstr "viewport大小必須大於0以渲染任何東西。"
#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
msgid "Invalid source for preview."
-msgstr "無效字型"
+msgstr "預覽來自無效來源。"
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Invalid source for shader."
-msgstr "無效字型"
+msgstr "無效的SHADER來源。"
#: scene/resources/visual_shader_nodes.cpp
-#, fuzzy
msgid "Invalid comparison function for that type."
-msgstr "無效字型"
+msgstr "無效的函式類型對比。"
#: servers/visual/shader_language.cpp
msgid "Assignment to function."
diff --git a/main/main.cpp b/main/main.cpp
index dff7907e72..95449dd5cc 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -139,6 +139,7 @@ static DisplayServer::ScreenOrientation window_orientation = DisplayServer::SCRE
static uint32_t window_flags = 0;
static Size2i window_size = Size2i(1024, 600);
static bool window_vsync_via_compositor = false;
+static bool disable_wintab = false;
static int init_screen = -1;
static bool init_fullscreen = false;
@@ -314,6 +315,7 @@ void Main::print_help(const char *p_binary) {
OS::get_singleton()->print(" --enable-vsync-via-compositor When vsync is enabled, vsync via the OS' window compositor (Windows only).\n");
OS::get_singleton()->print(" --disable-vsync-via-compositor Disable vsync via the OS' window compositor (Windows only).\n");
OS::get_singleton()->print(" --single-window Use a single window (no separate subwindows).\n");
+ OS::get_singleton()->print(" --disable-wintab Disable WinTab API and always use Windows Ink API for the pen input (Windows only).\n");
OS::get_singleton()->print("\n");
#endif
@@ -595,6 +597,9 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
} else if (I->get() == "--gpu-abort") { // force windowed window
Engine::singleton->abort_on_gpu_errors = true;
+ } else if (I->get() == "--disable-wintab") {
+
+ disable_wintab = true;
} else if (I->get() == "--single-window") { // force single window
single_window = true;
@@ -1079,6 +1084,13 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
OS::get_singleton()->_vsync_via_compositor = window_vsync_via_compositor;
+ if (!disable_wintab) {
+ // No "--disable_wintab" option
+ disable_wintab = GLOBAL_DEF("display/window/disable_wintab_api", false);
+ }
+
+ OS::get_singleton()->_disable_wintab = disable_wintab;
+
/* todo restore
OS::get_singleton()->_allow_layered = GLOBAL_DEF("display/window/per_pixel_transparency/allowed", false);
video_mode.layered = GLOBAL_DEF("display/window/per_pixel_transparency/enabled", false);
diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp
index d38ddf3f90..550a919d0d 100644
--- a/modules/csg/csg_shape.cpp
+++ b/modules/csg/csg_shape.cpp
@@ -46,7 +46,7 @@ void CSGShape3D::set_use_collision(bool p_enable) {
root_collision_instance = PhysicsServer3D::get_singleton()->body_create(PhysicsServer3D::BODY_MODE_STATIC);
PhysicsServer3D::get_singleton()->body_set_state(root_collision_instance, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
PhysicsServer3D::get_singleton()->body_add_shape(root_collision_instance, root_collision_shape->get_rid());
- PhysicsServer3D::get_singleton()->body_set_space(root_collision_instance, get_world()->get_space());
+ PhysicsServer3D::get_singleton()->body_set_space(root_collision_instance, get_world_3d()->get_space());
PhysicsServer3D::get_singleton()->body_attach_object_instance_id(root_collision_instance, get_instance_id());
set_collision_layer(collision_layer);
set_collision_mask(collision_mask);
@@ -507,7 +507,7 @@ void CSGShape3D::_notification(int p_what) {
root_collision_instance = PhysicsServer3D::get_singleton()->body_create(PhysicsServer3D::BODY_MODE_STATIC);
PhysicsServer3D::get_singleton()->body_set_state(root_collision_instance, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
PhysicsServer3D::get_singleton()->body_add_shape(root_collision_instance, root_collision_shape->get_rid());
- PhysicsServer3D::get_singleton()->body_set_space(root_collision_instance, get_world()->get_space());
+ PhysicsServer3D::get_singleton()->body_set_space(root_collision_instance, get_world_3d()->get_space());
PhysicsServer3D::get_singleton()->body_attach_object_instance_id(root_collision_instance, get_instance_id());
set_collision_layer(collision_layer);
set_collision_mask(collision_mask);
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp
index 98366f7957..06ab9e226d 100644
--- a/modules/gdscript/gdscript.cpp
+++ b/modules/gdscript/gdscript.cpp
@@ -103,15 +103,14 @@ GDScriptInstance *GDScript::_create_instance(const Variant **p_args, int p_argco
instance->owner->set_script_instance(instance);
/* STEP 2, INITIALIZE AND CONSTRUCT */
-
{
MutexLock lock(GDScriptLanguage::singleton->lock);
-
instances.insert(instance->owner);
}
-
+ if (p_argcount < 0) {
+ return instance;
+ }
initializer->call(instance, p_args, p_argcount, r_error);
-
if (r_error.error != Callable::CallError::CALL_OK) {
instance->script = Ref<GDScript>();
instance->owner->set_script_instance(nullptr);
@@ -119,10 +118,8 @@ GDScriptInstance *GDScript::_create_instance(const Variant **p_args, int p_argco
MutexLock lock(GDScriptLanguage::singleton->lock);
instances.erase(p_owner);
}
-
- ERR_FAIL_COND_V(r_error.error != Callable::CallError::CALL_OK, nullptr); //error constructing
+ ERR_FAIL_V_MSG(nullptr, "Error constructing a GDScriptInstance.");
}
-
//@TODO make thread safe
return instance;
}
@@ -638,12 +635,12 @@ uint16_t GDScript::get_rpc_method_id(const StringName &p_method) const {
}
StringName GDScript::get_rpc_method(const uint16_t p_rpc_method_id) const {
- ERR_FAIL_COND_V(p_rpc_method_id >= rpc_functions.size(), StringName());
+ if (p_rpc_method_id >= rpc_functions.size()) return StringName();
return rpc_functions[p_rpc_method_id].name;
}
MultiplayerAPI::RPCMode GDScript::get_rpc_mode_by_id(const uint16_t p_rpc_method_id) const {
- ERR_FAIL_COND_V(p_rpc_method_id >= rpc_functions.size(), MultiplayerAPI::RPC_MODE_DISABLED);
+ if (p_rpc_method_id >= rpc_functions.size()) return MultiplayerAPI::RPC_MODE_DISABLED;
return rpc_functions[p_rpc_method_id].mode;
}
@@ -665,12 +662,12 @@ uint16_t GDScript::get_rset_property_id(const StringName &p_variable) const {
}
StringName GDScript::get_rset_property(const uint16_t p_rset_member_id) const {
- ERR_FAIL_COND_V(p_rset_member_id >= rpc_variables.size(), StringName());
+ if (p_rset_member_id >= rpc_variables.size()) return StringName();
return rpc_variables[p_rset_member_id].name;
}
MultiplayerAPI::RPCMode GDScript::get_rset_mode_by_id(const uint16_t p_rset_member_id) const {
- ERR_FAIL_COND_V(p_rset_member_id >= rpc_variables.size(), MultiplayerAPI::RPC_MODE_DISABLED);
+ if (p_rset_member_id >= rpc_variables.size()) return MultiplayerAPI::RPC_MODE_DISABLED;
return rpc_variables[p_rset_member_id].mode;
}
diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp
index 7ad0682637..ab3228d076 100644
--- a/modules/gdscript/gdscript_editor.cpp
+++ b/modules/gdscript/gdscript_editor.cpp
@@ -1427,6 +1427,7 @@ static bool _guess_identifier_type_from_base(GDScriptCompletionContext &p_contex
// Variable used in the same expression
return false;
}
+
if (_guess_expression_type(p_context, m.expression, r_type)) {
return true;
}
@@ -3490,6 +3491,17 @@ Error GDScriptLanguage::lookup_code(const String &p_code, const String &p_symbol
return OK;
}
} break;
+ case GDScriptParser::COMPLETION_TYPE_HINT: {
+
+ GDScriptParser::DataType base_type = context._class->base_type;
+ base_type.has_type = true;
+ base_type.kind = GDScriptParser::DataType::CLASS;
+ base_type.class_type = const_cast<GDScriptParser::ClassNode *>(context._class);
+
+ if (_lookup_symbol_from_base(base_type, p_symbol, false, r_result) == OK) {
+ return OK;
+ }
+ } break;
default: {
}
}
diff --git a/modules/gdscript/gdscript_functions.cpp b/modules/gdscript/gdscript_functions.cpp
index 58161d6f53..0199af642f 100644
--- a/modules/gdscript/gdscript_functions.cpp
+++ b/modules/gdscript/gdscript_functions.cpp
@@ -1197,8 +1197,7 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
return;
}
}
-
- r_ret = gdscr->_new(nullptr, 0, r_error);
+ r_ret = gdscr->_new(nullptr, -1 /*skip initializer*/, r_error);
GDScriptInstance *ins = static_cast<GDScriptInstance *>(static_cast<Object *>(r_ret)->get_script_instance());
Ref<GDScript> gd_ref = ins->get_script();
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp
index a37fc579e7..17077567c7 100644
--- a/modules/gdscript/gdscript_parser.cpp
+++ b/modules/gdscript/gdscript_parser.cpp
@@ -4033,7 +4033,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
if (!_enter_indent_block(block)) {
- _set_error("Indented block expected.");
+ _set_error(vformat("Indented block expected after declaration of \"%s\" function.", function->name));
return;
}
@@ -8571,7 +8571,13 @@ Error GDScriptParser::_parse(const String &p_base_path) {
_set_error("Parse error: " + tokenizer->get_token_error());
}
- if (error_set && !for_completion) {
+ bool for_completion_error_set = false;
+ if (error_set && for_completion) {
+ for_completion_error_set = true;
+ error_set = false;
+ }
+
+ if (error_set) {
return ERR_PARSE_ERROR;
}
@@ -8601,6 +8607,10 @@ Error GDScriptParser::_parse(const String &p_base_path) {
// Resolve the function blocks
_check_class_blocks_types(main_class);
+ if (for_completion_error_set) {
+ error_set = true;
+ }
+
if (error_set) {
return ERR_PARSE_ERROR;
}
diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp
index df7c2f397f..0dbefbb39f 100644
--- a/modules/gridmap/grid_map.cpp
+++ b/modules/gridmap/grid_map.cpp
@@ -80,7 +80,7 @@ bool GridMap::_set(const StringName &p_name, const Variant &p_value) {
RS::get_singleton()->get_singleton()->instance_set_base(bm.instance, bm.mesh->get_rid());
RS::get_singleton()->instance_attach_object_instance_id(bm.instance, get_instance_id());
if (is_inside_tree()) {
- RS::get_singleton()->instance_set_scenario(bm.instance, get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(bm.instance, get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_transform(bm.instance, get_global_transform());
}
baked_meshes.push_back(bm);
@@ -536,7 +536,7 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
RS::get_singleton()->instance_set_base(instance, mm);
if (is_inside_tree()) {
- RS::get_singleton()->instance_set_scenario(instance, get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(instance, get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_transform(instance, get_global_transform());
}
@@ -577,15 +577,15 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) {
ERR_FAIL_COND(!octant_map.has(p_key));
Octant &g = *octant_map[p_key];
PhysicsServer3D::get_singleton()->body_set_state(g.static_body, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
- PhysicsServer3D::get_singleton()->body_set_space(g.static_body, get_world()->get_space());
+ PhysicsServer3D::get_singleton()->body_set_space(g.static_body, get_world_3d()->get_space());
if (g.collision_debug_instance.is_valid()) {
- RS::get_singleton()->instance_set_scenario(g.collision_debug_instance, get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(g.collision_debug_instance, get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_transform(g.collision_debug_instance, get_global_transform());
}
for (int i = 0; i < g.multimesh_instances.size(); i++) {
- RS::get_singleton()->instance_set_scenario(g.multimesh_instances[i].instance, get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(g.multimesh_instances[i].instance, get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_transform(g.multimesh_instances[i].instance, get_global_transform());
}
@@ -684,7 +684,7 @@ void GridMap::_notification(int p_what) {
}
for (int i = 0; i < baked_meshes.size(); i++) {
- RS::get_singleton()->instance_set_scenario(baked_meshes[i].instance, get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(baked_meshes[i].instance, get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_transform(baked_meshes[i].instance, get_global_transform());
}
@@ -1054,7 +1054,7 @@ void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texe
RS::get_singleton()->get_singleton()->instance_set_base(bm.instance, bm.mesh->get_rid());
RS::get_singleton()->instance_attach_object_instance_id(bm.instance, get_instance_id());
if (is_inside_tree()) {
- RS::get_singleton()->instance_set_scenario(bm.instance, get_world()->get_scenario());
+ RS::get_singleton()->instance_set_scenario(bm.instance, get_world_3d()->get_scenario());
RS::get_singleton()->instance_set_transform(bm.instance, get_global_transform());
}
diff --git a/modules/gridmap/grid_map_editor_plugin.cpp b/modules/gridmap/grid_map_editor_plugin.cpp
index 9c3101945a..9abbac6a0b 100644
--- a/modules/gridmap/grid_map_editor_plugin.cpp
+++ b/modules/gridmap/grid_map_editor_plugin.cpp
@@ -556,7 +556,7 @@ void GridMapEditor::_set_clipboard_data() {
item.cell_item = itm;
item.grid_offset = Vector3(i, j, k) - selection.begin;
item.orientation = node->get_cell_item_orientation(i, j, k);
- item.instance = RenderingServer::get_singleton()->instance_create2(mesh->get_rid(), get_tree()->get_root()->get_world()->get_scenario());
+ item.instance = RenderingServer::get_singleton()->instance_create2(mesh->get_rid(), get_tree()->get_root()->get_world_3d()->get_scenario());
clipboard_items.push_back(item);
}
@@ -1083,12 +1083,12 @@ void GridMapEditor::_notification(int p_what) {
for (int i = 0; i < 3; i++) {
grid[i] = RS::get_singleton()->mesh_create();
- grid_instance[i] = RS::get_singleton()->instance_create2(grid[i], get_tree()->get_root()->get_world()->get_scenario());
- selection_level_instance[i] = RenderingServer::get_singleton()->instance_create2(selection_level_mesh[i], get_tree()->get_root()->get_world()->get_scenario());
+ grid_instance[i] = RS::get_singleton()->instance_create2(grid[i], get_tree()->get_root()->get_world_3d()->get_scenario());
+ selection_level_instance[i] = RenderingServer::get_singleton()->instance_create2(selection_level_mesh[i], get_tree()->get_root()->get_world_3d()->get_scenario());
}
- selection_instance = RenderingServer::get_singleton()->instance_create2(selection_mesh, get_tree()->get_root()->get_world()->get_scenario());
- paste_instance = RenderingServer::get_singleton()->instance_create2(paste_mesh, get_tree()->get_root()->get_world()->get_scenario());
+ selection_instance = RenderingServer::get_singleton()->instance_create2(selection_mesh, get_tree()->get_root()->get_world_3d()->get_scenario());
+ paste_instance = RenderingServer::get_singleton()->instance_create2(paste_mesh, get_tree()->get_root()->get_world_3d()->get_scenario());
_update_selection_transform();
_update_paste_indicator();
@@ -1168,7 +1168,7 @@ void GridMapEditor::_update_cursor_instance() {
Ref<Mesh> mesh = node->get_mesh_library()->get_item_mesh(selected_palette);
if (!mesh.is_null() && mesh->get_rid().is_valid()) {
- cursor_instance = RenderingServer::get_singleton()->instance_create2(mesh->get_rid(), get_tree()->get_root()->get_world()->get_scenario());
+ cursor_instance = RenderingServer::get_singleton()->instance_create2(mesh->get_rid(), get_tree()->get_root()->get_world_3d()->get_scenario());
RenderingServer::get_singleton()->instance_set_transform(cursor_instance, cursor_transform);
}
}
diff --git a/modules/mono/utils/string_utils.cpp b/modules/mono/utils/string_utils.cpp
index 907811355f..67b264d803 100644
--- a/modules/mono/utils/string_utils.cpp
+++ b/modules/mono/utils/string_utils.cpp
@@ -196,16 +196,6 @@ String str_format(const char *p_format, ...) {
return res;
}
-// va_copy was defined in the C99, but not in C++ standards before C++11.
-// When you compile C++ without --std=c++<XX> option, compilers still define
-// va_copy, otherwise you have to use the internal version (__va_copy).
-#if !defined(va_copy)
-#if defined(__GNUC__)
-#define va_copy(d, s) __va_copy((d), (s))
-#else
-#define va_copy(d, s) ((d) = (s))
-#endif
-#endif
#if defined(MINGW_ENABLED) || defined(_MSC_VER) && _MSC_VER < 1900
#define gd_vsnprintf(m_buffer, m_count, m_format, m_args_copy) vsnprintf_s(m_buffer, m_count, _TRUNCATE, m_format, m_args_copy)
diff --git a/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java b/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java
index 7cf32b00fe..a0f8bb8cb7 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java
@@ -36,6 +36,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PermissionInfo;
import android.os.Build;
import android.support.v4.content.ContextCompat;
+import android.util.Log;
import java.util.ArrayList;
import java.util.List;
import org.godotengine.godot.Godot;
@@ -46,6 +47,8 @@ import org.godotengine.godot.Godot;
*/
public final class PermissionsUtil {
+ private static final String TAG = PermissionsUtil.class.getSimpleName();
+
static final int REQUEST_RECORD_AUDIO_PERMISSION = 1;
static final int REQUEST_CAMERA_PERMISSION = 2;
static final int REQUEST_VIBRATE_PERMISSION = 3;
@@ -113,8 +116,8 @@ public final class PermissionsUtil {
dangerousPermissions.add(manifestPermission);
}
} catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- return false;
+ // Skip this permission and continue.
+ Log.w(TAG, "Unable to identify permission " + manifestPermission, e);
}
}
@@ -153,8 +156,8 @@ public final class PermissionsUtil {
dangerousPermissions.add(manifestPermission);
}
} catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- return new String[0];
+ // Skip this permission and continue.
+ Log.w(TAG, "Unable to identify permission " + manifestPermission, e);
}
}
diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp
index ad06aef86e..c0230b94fa 100644
--- a/platform/javascript/os_javascript.cpp
+++ b/platform/javascript/os_javascript.cpp
@@ -981,7 +981,7 @@ Error OS_JavaScript::initialize(const VideoMode &p_desired, int p_video_driver,
SET_EM_CALLBACK(EMSCRIPTEN_EVENT_TARGET_WINDOW, mousemove, mousemove_callback)
SET_EM_CALLBACK(GODOT_CANVAS_SELECTOR, mousedown, mouse_button_callback)
SET_EM_CALLBACK(EMSCRIPTEN_EVENT_TARGET_WINDOW, mouseup, mouse_button_callback)
- SET_EM_CALLBACK(EMSCRIPTEN_EVENT_TARGET_WINDOW, wheel, wheel_callback)
+ SET_EM_CALLBACK(GODOT_CANVAS_SELECTOR, wheel, wheel_callback)
SET_EM_CALLBACK(GODOT_CANVAS_SELECTOR, touchstart, touch_press_callback)
SET_EM_CALLBACK(GODOT_CANVAS_SELECTOR, touchmove, touchmove_callback)
SET_EM_CALLBACK(GODOT_CANVAS_SELECTOR, touchend, touch_press_callback)
diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp
index e38b0c13d0..dd9298d667 100644
--- a/platform/linuxbsd/display_server_x11.cpp
+++ b/platform/linuxbsd/display_server_x11.cpp
@@ -254,13 +254,16 @@ bool DisplayServerX11::_refresh_device_info() {
bool absolute_mode = false;
int resolution_x = 0;
int resolution_y = 0;
- double range_min_x = 0;
- double range_min_y = 0;
- double range_max_x = 0;
- double range_max_y = 0;
- int pressure_resolution = 0;
- int tilt_resolution_x = 0;
- int tilt_resolution_y = 0;
+ double abs_x_min = 0;
+ double abs_x_max = 0;
+ double abs_y_min = 0;
+ double abs_y_max = 0;
+ double pressure_min = 0;
+ double pressure_max = 0;
+ double tilt_x_min = 0;
+ double tilt_x_max = 0;
+ double tilt_y_min = 0;
+ double tilt_y_max = 0;
for (int j = 0; j < dev->num_classes; j++) {
#ifdef TOUCH_ENABLED
if (dev->classes[j]->type == XITouchClass && ((XITouchClassInfo *)dev->classes[j])->mode == XIDirectTouch) {
@@ -272,23 +275,23 @@ bool DisplayServerX11::_refresh_device_info() {
if (class_info->number == VALUATOR_ABSX && class_info->mode == XIModeAbsolute) {
resolution_x = class_info->resolution;
- range_min_x = class_info->min;
- range_max_x = class_info->max;
+ abs_x_min = class_info->min;
+ abs_y_max = class_info->max;
absolute_mode = true;
} else if (class_info->number == VALUATOR_ABSY && class_info->mode == XIModeAbsolute) {
resolution_y = class_info->resolution;
- range_min_y = class_info->min;
- range_max_y = class_info->max;
+ abs_y_min = class_info->min;
+ abs_y_max = class_info->max;
absolute_mode = true;
} else if (class_info->number == VALUATOR_PRESSURE && class_info->mode == XIModeAbsolute) {
- pressure_resolution = (class_info->max - class_info->min);
- if (pressure_resolution == 0) pressure_resolution = 1;
+ pressure_min = class_info->min;
+ pressure_max = class_info->max;
} else if (class_info->number == VALUATOR_TILTX && class_info->mode == XIModeAbsolute) {
- tilt_resolution_x = (class_info->max - class_info->min);
- if (tilt_resolution_x == 0) tilt_resolution_x = 1;
+ tilt_x_min = class_info->min;
+ tilt_x_max = class_info->max;
} else if (class_info->number == VALUATOR_TILTY && class_info->mode == XIModeAbsolute) {
- tilt_resolution_y = (class_info->max - class_info->min);
- if (tilt_resolution_y == 0) tilt_resolution_y = 1;
+ tilt_x_min = class_info->min;
+ tilt_x_max = class_info->max;
}
}
}
@@ -299,18 +302,19 @@ bool DisplayServerX11::_refresh_device_info() {
if (absolute_mode) {
// If no resolution was reported, use the min/max ranges.
if (resolution_x <= 0) {
- resolution_x = (range_max_x - range_min_x) * abs_resolution_range_mult;
+ resolution_x = (abs_x_max - abs_x_min) * abs_resolution_range_mult;
}
if (resolution_y <= 0) {
- resolution_y = (range_max_y - range_min_y) * abs_resolution_range_mult;
+ resolution_y = (abs_y_max - abs_y_min) * abs_resolution_range_mult;
}
-
xi.absolute_devices[dev->deviceid] = Vector2(abs_resolution_mult / resolution_x, abs_resolution_mult / resolution_y);
print_verbose("XInput: Absolute pointing device: " + String(dev->name));
}
xi.pressure = 0;
- xi.pen_devices[dev->deviceid] = Vector3(pressure_resolution, tilt_resolution_x, tilt_resolution_y);
+ xi.pen_pressure_range[dev->deviceid] = Vector2(pressure_min, pressure_max);
+ xi.pen_tilt_x_range[dev->deviceid] = Vector2(tilt_x_min, tilt_x_max);
+ xi.pen_tilt_y_range[dev->deviceid] = Vector2(tilt_y_min, tilt_y_max);
}
XIFreeDeviceInfo(info);
@@ -2353,6 +2357,10 @@ void DisplayServerX11::process_events() {
// Is the current mouse mode one where it needs to be grabbed.
bool mouse_mode_grab = mouse_mode == MOUSE_MODE_CAPTURED || mouse_mode == MOUSE_MODE_CONFINED;
+ xi.pressure = 0;
+ xi.tilt = Vector2();
+ xi.pressure_supported = false;
+
while (XPending(x11_display) > 0) {
XEvent event;
XNextEvent(x11_display, &event);
@@ -2399,9 +2407,6 @@ void DisplayServerX11::process_events() {
double rel_x = 0.0;
double rel_y = 0.0;
- double pressure = 0.0;
- double tilt_x = 0.0;
- double tilt_y = 0.0;
if (XIMaskIsSet(raw_event->valuators.mask, VALUATOR_ABSX)) {
rel_x = *values;
@@ -2414,24 +2419,41 @@ void DisplayServerX11::process_events() {
}
if (XIMaskIsSet(raw_event->valuators.mask, VALUATOR_PRESSURE)) {
- pressure = *values;
+ Map<int, Vector2>::Element *pen_pressure = xi.pen_pressure_range.find(device_id);
+ if (pen_pressure) {
+ Vector2 pen_pressure_range = pen_pressure->value();
+ if (pen_pressure_range != Vector2()) {
+ xi.pressure_supported = true;
+ xi.pressure = (*values - pen_pressure_range[0]) /
+ (pen_pressure_range[1] - pen_pressure_range[0]);
+ }
+ }
+
values++;
}
if (XIMaskIsSet(raw_event->valuators.mask, VALUATOR_TILTX)) {
- tilt_x = *values;
+ Map<int, Vector2>::Element *pen_tilt_x = xi.pen_tilt_x_range.find(device_id);
+ if (pen_tilt_x) {
+ Vector2 pen_tilt_x_range = pen_tilt_x->value();
+ if (pen_tilt_x_range != Vector2()) {
+ xi.tilt.x = ((*values - pen_tilt_x_range[0]) / (pen_tilt_x_range[1] - pen_tilt_x_range[0])) * 2 - 1;
+ }
+ }
+
values++;
}
if (XIMaskIsSet(raw_event->valuators.mask, VALUATOR_TILTY)) {
- tilt_y = *values;
- }
+ Map<int, Vector2>::Element *pen_tilt_y = xi.pen_tilt_y_range.find(device_id);
+ if (pen_tilt_y) {
+ Vector2 pen_tilt_y_range = pen_tilt_y->value();
+ if (pen_tilt_y_range != Vector2()) {
+ xi.tilt.y = ((*values - pen_tilt_y_range[0]) / (pen_tilt_y_range[1] - pen_tilt_y_range[0])) * 2 - 1;
+ }
+ }
- Map<int, Vector3>::Element *pen_info = xi.pen_devices.find(device_id);
- if (pen_info) {
- Vector3 mult = pen_info->value();
- if (mult.x != 0.0) xi.pressure = pressure / mult.x;
- if ((mult.y != 0.0) && (mult.z != 0.0)) xi.tilt = Vector2(tilt_x / mult.y, tilt_y / mult.z);
+ values++;
}
// https://bugs.freedesktop.org/show_bug.cgi?id=71609
@@ -2763,7 +2785,11 @@ void DisplayServerX11::process_events() {
mm.instance();
mm->set_window_id(window_id);
- mm->set_pressure(xi.pressure);
+ if (xi.pressure_supported) {
+ mm->set_pressure(xi.pressure);
+ } else {
+ mm->set_pressure((mouse_get_button_state() & (1 << (BUTTON_LEFT - 1))) ? 1.0f : 0.0f);
+ }
mm->set_tilt(xi.tilt);
// Make the absolute position integral so it doesn't look _too_ weird :)
diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h
index 8f090d3fad..b5ea71f72a 100644
--- a/platform/linuxbsd/display_server_x11.h
+++ b/platform/linuxbsd/display_server_x11.h
@@ -170,10 +170,13 @@ class DisplayServerX11 : public DisplayServer {
int opcode;
Vector<int> touch_devices;
Map<int, Vector2> absolute_devices;
- Map<int, Vector3> pen_devices;
+ Map<int, Vector2> pen_pressure_range;
+ Map<int, Vector2> pen_tilt_x_range;
+ Map<int, Vector2> pen_tilt_y_range;
XIEventMask all_event_mask;
Map<int, Vector2> state;
double pressure;
+ bool pressure_supported;
Vector2 tilt;
Vector2 mouse_pos_to_filter;
Vector2 relative_motion;
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index e4fe7f04d0..6b450fb452 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -36,10 +36,6 @@
#include <avrt.h>
-#ifndef WM_POINTERUPDATE
-#define WM_POINTERUPDATE 0x0245
-#endif
-
#ifdef DEBUG_ENABLED
static String format_error_message(DWORD id) {
@@ -545,6 +541,10 @@ void DisplayServerWindows::delete_sub_window(WindowID p_window) {
}
#endif
+ if (!OS::get_singleton()->is_wintab_disabled() && wintab_available && windows[p_window].wtctx) {
+ wintab_WTClose(windows[p_window].wtctx);
+ windows[p_window].wtctx = 0;
+ }
DestroyWindow(windows[p_window].hWnd);
windows.erase(p_window);
}
@@ -1849,7 +1849,11 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
alt_mem = false;
};
- return 0; // Return To The Message Loop
+ if (!OS::get_singleton()->is_wintab_disabled() && wintab_available && windows[window_id].wtctx) {
+ wintab_WTEnable(windows[window_id].wtctx, GET_WM_ACTIVATE_STATE(wParam, lParam));
+ }
+
+ return 0; // Return To The Message Loop
}
case WM_GETMINMAXINFO: {
if (windows[window_id].resizable && !windows[window_id].fullscreen) {
@@ -1929,6 +1933,8 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
mm->set_shift(shift_mem);
mm->set_alt(alt_mem);
+ mm->set_pressure((raw->data.mouse.ulButtons & RI_MOUSE_LEFT_BUTTON_DOWN) ? 1.0f : 0.0f);
+
mm->set_button_mask(last_button_state);
Point2i c(windows[window_id].width / 2, windows[window_id].height / 2);
@@ -1977,6 +1983,42 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
}
delete[] lpb;
} break;
+ case WT_CSRCHANGE:
+ case WT_PROXIMITY: {
+ if (!OS::get_singleton()->is_wintab_disabled() && wintab_available && windows[window_id].wtctx) {
+ AXIS pressure;
+ if (wintab_WTInfo(WTI_DEVICES + windows[window_id].wtlc.lcDevice, DVC_NPRESSURE, &pressure)) {
+ windows[window_id].min_pressure = int(pressure.axMin);
+ windows[window_id].max_pressure = int(pressure.axMax);
+ }
+ AXIS orientation[3];
+ if (wintab_WTInfo(WTI_DEVICES + windows[window_id].wtlc.lcDevice, DVC_ORIENTATION, &orientation)) {
+ windows[window_id].tilt_supported = orientation[0].axResolution && orientation[1].axResolution;
+ }
+ return 0;
+ }
+ } break;
+ case WT_PACKET: {
+ if (!OS::get_singleton()->is_wintab_disabled() && wintab_available && windows[window_id].wtctx) {
+ PACKET packet;
+ if (wintab_WTPacket(windows[window_id].wtctx, wParam, &packet)) {
+
+ float pressure = float(packet.pkNormalPressure - windows[window_id].min_pressure) / float(windows[window_id].max_pressure - windows[window_id].min_pressure);
+ windows[window_id].last_pressure = pressure;
+ windows[window_id].last_pressure_update = 0;
+
+ double azim = (packet.pkOrientation.orAzimuth / 10.0f) * (Math_PI / 180);
+ double alt = Math::tan((Math::abs(packet.pkOrientation.orAltitude / 10.0f)) * (Math_PI / 180));
+
+ if (windows[window_id].tilt_supported) {
+ windows[window_id].last_tilt = Vector2(Math::atan(Math::sin(azim) / alt), Math::atan(Math::cos(azim) / alt));
+ } else {
+ windows[window_id].last_tilt = Vector2();
+ }
+ }
+ return 0;
+ }
+ } break;
case WM_POINTERUPDATE: {
if (mouse_mode == MOUSE_MODE_CAPTURED && use_raw_input) {
break;
@@ -2038,8 +2080,14 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
mm.instance();
mm->set_window_id(window_id);
- mm->set_pressure(pen_info.pressure ? (float)pen_info.pressure / 1024 : 0);
- mm->set_tilt(Vector2(pen_info.tiltX ? (float)pen_info.tiltX / 90 : 0, pen_info.tiltY ? (float)pen_info.tiltY / 90 : 0));
+ if (pen_info.penMask & PEN_MASK_PRESSURE) {
+ mm->set_pressure((float)pen_info.pressure / 1024);
+ } else {
+ mm->set_pressure((HIWORD(wParam) & POINTER_MESSAGE_FLAG_FIRSTBUTTON) ? 1.0f : 0.0f);
+ }
+ if ((pen_info.penMask & PEN_MASK_TILT_X) && (pen_info.penMask & PEN_MASK_TILT_Y)) {
+ mm->set_tilt(Vector2((float)pen_info.tiltX / 90, (float)pen_info.tiltY / 90));
+ }
mm->set_control((wParam & MK_CONTROL) != 0);
mm->set_shift((wParam & MK_SHIFT) != 0);
@@ -2138,6 +2186,22 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
mm->set_shift((wParam & MK_SHIFT) != 0);
mm->set_alt(alt_mem);
+ if (!OS::get_singleton()->is_wintab_disabled() && wintab_available && windows[window_id].wtctx) {
+ // Note: WinTab sends both WT_PACKET and WM_xBUTTONDOWN/UP/MOUSEMOVE events, use mouse 1/0 pressure only when last_pressure was not update recently.
+ if (windows[window_id].last_pressure_update < 10) {
+ windows[window_id].last_pressure_update++;
+ } else {
+ windows[window_id].last_tilt = Vector2();
+ windows[window_id].last_pressure = (wParam & MK_LBUTTON) ? 1.0f : 0.0f;
+ }
+ } else {
+ windows[window_id].last_tilt = Vector2();
+ windows[window_id].last_pressure = (wParam & MK_LBUTTON) ? 1.0f : 0.0f;
+ }
+
+ mm->set_pressure(windows[window_id].last_pressure);
+ mm->set_tilt(windows[window_id].last_tilt);
+
mm->set_button_mask(last_button_state);
mm->set_position(Vector2(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
@@ -2759,6 +2823,39 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
DragAcceptFiles(wd.hWnd, true);
+ if (!OS::get_singleton()->is_wintab_disabled() && wintab_available) {
+ wintab_WTInfo(WTI_DEFSYSCTX, 0, &wd.wtlc);
+ wd.wtlc.lcOptions |= CXO_MESSAGES;
+ wd.wtlc.lcPktData = PK_NORMAL_PRESSURE | PK_TANGENT_PRESSURE | PK_ORIENTATION;
+ wd.wtlc.lcMoveMask = PK_NORMAL_PRESSURE | PK_TANGENT_PRESSURE;
+ wd.wtlc.lcPktMode = 0;
+ wd.wtlc.lcOutOrgX = 0;
+ wd.wtlc.lcOutExtX = wd.wtlc.lcInExtX;
+ wd.wtlc.lcOutOrgY = 0;
+ wd.wtlc.lcOutExtY = -wd.wtlc.lcInExtY;
+ wd.wtctx = wintab_WTOpen(wd.hWnd, &wd.wtlc, false);
+ if (wd.wtctx) {
+ wintab_WTEnable(wd.wtctx, true);
+ AXIS pressure;
+ if (wintab_WTInfo(WTI_DEVICES + wd.wtlc.lcDevice, DVC_NPRESSURE, &pressure)) {
+ wd.min_pressure = int(pressure.axMin);
+ wd.max_pressure = int(pressure.axMax);
+ }
+ AXIS orientation[3];
+ if (wintab_WTInfo(WTI_DEVICES + wd.wtlc.lcDevice, DVC_ORIENTATION, &orientation)) {
+ wd.tilt_supported = orientation[0].axResolution && orientation[1].axResolution;
+ }
+ } else {
+ ERR_PRINT("WinTab context creation falied.");
+ }
+ } else {
+ wd.wtctx = 0;
+ }
+
+ wd.last_pressure = 0;
+ wd.last_pressure_update = 0;
+ wd.last_tilt = Vector2();
+
// IME
wd.im_himc = ImmGetContext(wd.hWnd);
ImmReleaseContext(wd.hWnd, wd.im_himc);
@@ -2776,6 +2873,15 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
return id;
}
+// WinTab API
+bool DisplayServerWindows::wintab_available = false;
+WTOpenPtr DisplayServerWindows::wintab_WTOpen = nullptr;
+WTClosePtr DisplayServerWindows::wintab_WTClose = nullptr;
+WTInfoPtr DisplayServerWindows::wintab_WTInfo = nullptr;
+WTPacketPtr DisplayServerWindows::wintab_WTPacket = nullptr;
+WTEnablePtr DisplayServerWindows::wintab_WTEnable = nullptr;
+
+// Windows Ink API
GetPointerTypePtr DisplayServerWindows::win8p_GetPointerType = nullptr;
GetPointerPenInfoPtr DisplayServerWindows::win8p_GetPointerPenInfo = nullptr;
@@ -2787,7 +2893,19 @@ typedef enum _SHC_PROCESS_DPI_AWARENESS {
DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, WindowMode p_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error) {
- //Note: Functions for pen input, available on Windows 8+
+ //Note: Wacom WinTab driver API for pen input, for devices incompatible with Windows Ink.
+ HMODULE wintab_lib = LoadLibraryW(L"wintab32.dll");
+ if (wintab_lib) {
+ wintab_WTOpen = (WTOpenPtr)GetProcAddress(wintab_lib, "WTOpenW");
+ wintab_WTClose = (WTClosePtr)GetProcAddress(wintab_lib, "WTClose");
+ wintab_WTInfo = (WTInfoPtr)GetProcAddress(wintab_lib, "WTInfoW");
+ wintab_WTPacket = (WTPacketPtr)GetProcAddress(wintab_lib, "WTPacket");
+ wintab_WTEnable = (WTEnablePtr)GetProcAddress(wintab_lib, "WTEnable");
+
+ wintab_available = wintab_WTOpen && wintab_WTClose && wintab_WTInfo && wintab_WTPacket && wintab_WTEnable;
+ }
+
+ //Note: Windows Ink API for pen input, available on Windows 8+ only.
HMODULE user32_lib = LoadLibraryW(L"user32.dll");
if (user32_lib) {
win8p_GetPointerType = (GetPointerTypePtr)GetProcAddress(user32_lib, "GetPointerType");
@@ -3004,7 +3122,10 @@ DisplayServerWindows::~DisplayServerWindows() {
context_vulkan->window_destroy(MAIN_WINDOW_ID);
}
#endif
-
+ if (wintab_available && windows[MAIN_WINDOW_ID].wtctx) {
+ wintab_WTClose(windows[MAIN_WINDOW_ID].wtctx);
+ windows[MAIN_WINDOW_ID].wtctx = 0;
+ }
DestroyWindow(windows[MAIN_WINDOW_ID].hWnd);
}
}
diff --git a/platform/windows/display_server_windows.h b/platform/windows/display_server_windows.h
index 6243f54cfa..4f5bdbac5b 100644
--- a/platform/windows/display_server_windows.h
+++ b/platform/windows/display_server_windows.h
@@ -66,6 +66,87 @@
#include <windows.h>
#include <windowsx.h>
+// WinTab API
+#define WT_PACKET 0x7FF0
+#define WT_PROXIMITY 0x7FF5
+#define WT_INFOCHANGE 0x7FF6
+#define WT_CSRCHANGE 0x7FF7
+
+#define WTI_DEFSYSCTX 4
+#define WTI_DEVICES 100
+#define DVC_NPRESSURE 15
+#define DVC_TPRESSURE 16
+#define DVC_ORIENTATION 17
+#define DVC_ROTATION 18
+
+#define CXO_MESSAGES 0x0004
+#define PK_NORMAL_PRESSURE 0x0400
+#define PK_TANGENT_PRESSURE 0x0800
+#define PK_ORIENTATION 0x1000
+
+typedef struct tagLOGCONTEXTW {
+ WCHAR lcName[40];
+ UINT lcOptions;
+ UINT lcStatus;
+ UINT lcLocks;
+ UINT lcMsgBase;
+ UINT lcDevice;
+ UINT lcPktRate;
+ DWORD lcPktData;
+ DWORD lcPktMode;
+ DWORD lcMoveMask;
+ DWORD lcBtnDnMask;
+ DWORD lcBtnUpMask;
+ LONG lcInOrgX;
+ LONG lcInOrgY;
+ LONG lcInOrgZ;
+ LONG lcInExtX;
+ LONG lcInExtY;
+ LONG lcInExtZ;
+ LONG lcOutOrgX;
+ LONG lcOutOrgY;
+ LONG lcOutOrgZ;
+ LONG lcOutExtX;
+ LONG lcOutExtY;
+ LONG lcOutExtZ;
+ DWORD lcSensX;
+ DWORD lcSensY;
+ DWORD lcSensZ;
+ BOOL lcSysMode;
+ int lcSysOrgX;
+ int lcSysOrgY;
+ int lcSysExtX;
+ int lcSysExtY;
+ DWORD lcSysSensX;
+ DWORD lcSysSensY;
+} LOGCONTEXTW;
+
+typedef struct tagAXIS {
+ LONG axMin;
+ LONG axMax;
+ UINT axUnits;
+ DWORD axResolution;
+} AXIS;
+
+typedef struct tagORIENTATION {
+ int orAzimuth;
+ int orAltitude;
+ int orTwist;
+} ORIENTATION;
+
+typedef struct tagPACKET {
+ int pkNormalPressure;
+ int pkTangentPressure;
+ ORIENTATION pkOrientation;
+} PACKET;
+
+typedef HANDLE(WINAPI *WTOpenPtr)(HWND p_window, LOGCONTEXTW *p_ctx, BOOL p_enable);
+typedef BOOL(WINAPI *WTClosePtr)(HANDLE p_ctx);
+typedef UINT(WINAPI *WTInfoPtr)(UINT p_category, UINT p_index, LPVOID p_output);
+typedef BOOL(WINAPI *WTPacketPtr)(HANDLE p_ctx, UINT p_param, LPVOID p_packets);
+typedef BOOL(WINAPI *WTEnablePtr)(HANDLE p_ctx, BOOL p_enable);
+
+// Windows Ink API
#ifndef POINTER_STRUCTURES
#define POINTER_STRUCTURES
@@ -75,6 +156,22 @@ typedef UINT32 POINTER_FLAGS;
typedef UINT32 PEN_FLAGS;
typedef UINT32 PEN_MASK;
+#ifndef PEN_MASK_PRESSURE
+#define PEN_MASK_PRESSURE 0x00000001
+#endif
+
+#ifndef PEN_MASK_TILT_X
+#define PEN_MASK_TILT_X 0x00000004
+#endif
+
+#ifndef PEN_MASK_TILT_Y
+#define PEN_MASK_TILT_Y 0x00000008
+#endif
+
+#ifndef POINTER_MESSAGE_FLAG_FIRSTBUTTON
+#define POINTER_MESSAGE_FLAG_FIRSTBUTTON 0x00000010
+#endif
+
enum tagPOINTER_INPUT_TYPE {
PT_POINTER = 0x00000001,
PT_TOUCH = 0x00000002,
@@ -128,6 +225,10 @@ typedef struct tagPOINTER_PEN_INFO {
#endif //POINTER_STRUCTURES
+#ifndef WM_POINTERUPDATE
+#define WM_POINTERUPDATE 0x0245
+#endif
+
typedef BOOL(WINAPI *GetPointerTypePtr)(uint32_t p_id, POINTER_INPUT_TYPE *p_type);
typedef BOOL(WINAPI *GetPointerPenInfoPtr)(uint32_t p_id, POINTER_PEN_INFO *p_pen_info);
@@ -155,6 +256,15 @@ class DisplayServerWindows : public DisplayServer {
_THREAD_SAFE_CLASS_
+ // WinTab API
+ static bool wintab_available;
+ static WTOpenPtr wintab_WTOpen;
+ static WTClosePtr wintab_WTClose;
+ static WTInfoPtr wintab_WTInfo;
+ static WTPacketPtr wintab_WTPacket;
+ static WTEnablePtr wintab_WTEnable;
+
+ // Windows Ink API
static GetPointerTypePtr win8p_GetPointerType;
static GetPointerPenInfoPtr win8p_GetPointerPenInfo;
@@ -214,6 +324,16 @@ class DisplayServerWindows : public DisplayServer {
bool no_focus = false;
bool window_has_focus = false;
+ HANDLE wtctx;
+ LOGCONTEXTW wtlc;
+ int min_pressure;
+ int max_pressure;
+ bool tilt_supported;
+
+ int last_pressure_update;
+ float last_pressure;
+ Vector2 last_tilt;
+
HBITMAP hBitmap; //DIB section for layered window
uint8_t *dib_data = nullptr;
Size2 dib_size;
diff --git a/scene/2d/navigation_region_2d.cpp b/scene/2d/navigation_region_2d.cpp
index 19484442b1..abbfbf83b7 100644
--- a/scene/2d/navigation_region_2d.cpp
+++ b/scene/2d/navigation_region_2d.cpp
@@ -118,7 +118,7 @@ Array NavigationPolygon::_get_polygons() const {
return ret;
}
-void NavigationPolygon::_set_outlines(const TypedArray<Vector<int32_t>> &p_array) {
+void NavigationPolygon::_set_outlines(const TypedArray<Vector<Vector2>> &p_array) {
outlines.resize(p_array.size());
for (int i = 0; i < p_array.size(); i++) {
diff --git a/scene/2d/navigation_region_2d.h b/scene/2d/navigation_region_2d.h
index cbfe4299fb..e730df6373 100644
--- a/scene/2d/navigation_region_2d.h
+++ b/scene/2d/navigation_region_2d.h
@@ -58,7 +58,7 @@ protected:
void _set_polygons(const TypedArray<Vector<int32_t>> &p_array);
Array _get_polygons() const;
- void _set_outlines(const TypedArray<Vector<int32_t>> &p_array);
+ void _set_outlines(const TypedArray<Vector<Vector2>> &p_array);
Array _get_outlines() const;
public:
diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp
index ac8a77b6cb..1ea51be148 100644
--- a/scene/2d/node_2d.cpp
+++ b/scene/2d/node_2d.cpp
@@ -42,6 +42,7 @@ Dictionary Node2D::_edit_get_state() const {
state["position"] = get_position();
state["rotation"] = get_rotation();
state["scale"] = get_scale();
+ state["skew"] = get_skew();
return state;
}
@@ -51,11 +52,14 @@ void Node2D::_edit_set_state(const Dictionary &p_state) {
pos = p_state["position"];
angle = p_state["rotation"];
_scale = p_state["scale"];
+ skew = p_state["skew"];
_update_transform();
_change_notify("rotation");
_change_notify("rotation_degrees");
_change_notify("scale");
+ _change_notify("skew");
+ _change_notify("skew_degrees");
_change_notify("position");
}
@@ -111,7 +115,7 @@ void Node2D::_edit_set_rect(const Rect2 &p_edit_rect) {
Point2 new_pos = p_edit_rect.position + p_edit_rect.size * zero_offset;
Transform2D postxf;
- postxf.set_rotation_and_scale(angle, _scale);
+ postxf.set_rotation_scale_and_skew(angle, _scale, skew);
new_pos = postxf.xform(new_pos);
pos += new_pos;
@@ -128,12 +132,13 @@ void Node2D::_update_xform_values() {
pos = _mat.elements[2];
angle = _mat.get_rotation();
_scale = _mat.get_scale();
+ skew = _mat.get_skew();
_xform_dirty = false;
}
void Node2D::_update_transform() {
- _mat.set_rotation_and_scale(angle, _scale);
+ _mat.set_rotation_scale_and_skew(angle, _scale, skew);
_mat.elements[2] = pos;
RenderingServer::get_singleton()->canvas_item_set_transform(get_canvas_item(), _mat);
@@ -163,11 +168,26 @@ void Node2D::set_rotation(float p_radians) {
_change_notify("rotation_degrees");
}
+void Node2D::set_skew(float p_radians) {
+
+ if (_xform_dirty)
+ ((Node2D *)this)->_update_xform_values();
+ skew = p_radians;
+ _update_transform();
+ _change_notify("skew");
+ _change_notify("skew_degrees");
+}
+
void Node2D::set_rotation_degrees(float p_degrees) {
set_rotation(Math::deg2rad(p_degrees));
}
+void Node2D::set_skew_degrees(float p_degrees) {
+
+ set_skew(Math::deg2rad(p_degrees));
+}
+
void Node2D::set_scale(const Size2 &p_scale) {
if (_xform_dirty)
@@ -196,11 +216,22 @@ float Node2D::get_rotation() const {
return angle;
}
+float Node2D::get_skew() const {
+ if (_xform_dirty)
+ ((Node2D *)this)->_update_xform_values();
+
+ return skew;
+}
+
float Node2D::get_rotation_degrees() const {
return Math::rad2deg(get_rotation());
}
+float Node2D::get_skew_degrees() const {
+
+ return Math::rad2deg(get_skew());
+}
Size2 Node2D::get_scale() const {
if (_xform_dirty)
((Node2D *)this)->_update_xform_values();
@@ -398,11 +429,15 @@ void Node2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_position", "position"), &Node2D::set_position);
ClassDB::bind_method(D_METHOD("set_rotation", "radians"), &Node2D::set_rotation);
ClassDB::bind_method(D_METHOD("set_rotation_degrees", "degrees"), &Node2D::set_rotation_degrees);
+ ClassDB::bind_method(D_METHOD("set_skew", "radians"), &Node2D::set_skew);
+ ClassDB::bind_method(D_METHOD("set_skew_degrees", "degrees"), &Node2D::set_skew_degrees);
ClassDB::bind_method(D_METHOD("set_scale", "scale"), &Node2D::set_scale);
ClassDB::bind_method(D_METHOD("get_position"), &Node2D::get_position);
ClassDB::bind_method(D_METHOD("get_rotation"), &Node2D::get_rotation);
ClassDB::bind_method(D_METHOD("get_rotation_degrees"), &Node2D::get_rotation_degrees);
+ ClassDB::bind_method(D_METHOD("get_skew"), &Node2D::get_skew);
+ ClassDB::bind_method(D_METHOD("get_skew_degrees"), &Node2D::get_skew_degrees);
ClassDB::bind_method(D_METHOD("get_scale"), &Node2D::get_scale);
ClassDB::bind_method(D_METHOD("rotate", "radians"), &Node2D::rotate);
@@ -443,6 +478,8 @@ void Node2D::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rotation", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_rotation", "get_rotation");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rotation_degrees", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater", PROPERTY_USAGE_EDITOR), "set_rotation_degrees", "get_rotation_degrees");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale"), "set_scale", "get_scale");
+ ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "skew", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_skew", "get_skew");
+ ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "skew_degrees", PROPERTY_HINT_RANGE, "-89.9,89.9,0.1", PROPERTY_USAGE_EDITOR), "set_skew_degrees", "get_skew_degrees");
ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform", PROPERTY_HINT_NONE, "", 0), "set_transform", "get_transform");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "global_position", PROPERTY_HINT_NONE, "", 0), "set_global_position", "get_global_position");
@@ -460,6 +497,7 @@ Node2D::Node2D() {
angle = 0;
_scale = Vector2(1, 1);
+ skew = 0;
_xform_dirty = false;
z_index = 0;
z_relative = true;
diff --git a/scene/2d/node_2d.h b/scene/2d/node_2d.h
index abed05ed0c..0afec36254 100644
--- a/scene/2d/node_2d.h
+++ b/scene/2d/node_2d.h
@@ -40,6 +40,7 @@ class Node2D : public CanvasItem {
Point2 pos;
float angle;
Size2 _scale;
+ float skew;
int z_index;
bool z_relative;
@@ -75,6 +76,8 @@ public:
void set_position(const Point2 &p_pos);
void set_rotation(float p_radians);
void set_rotation_degrees(float p_degrees);
+ void set_skew(float p_radians);
+ void set_skew_degrees(float p_radians);
void set_scale(const Size2 &p_scale);
void rotate(float p_radians);
@@ -86,7 +89,9 @@ public:
Point2 get_position() const;
float get_rotation() const;
+ float get_skew() const;
float get_rotation_degrees() const;
+ float get_skew_degrees() const;
Size2 get_scale() const;
Point2 get_global_position() const;
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index 9628c01718..86e61fe878 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -940,13 +940,10 @@ void TileMap::update_bitmask_area(const Vector2 &p_pos) {
void TileMap::update_bitmask_region(const Vector2 &p_start, const Vector2 &p_end) {
if ((p_end.x < p_start.x || p_end.y < p_start.y) || (p_end.x == p_start.x && p_end.y == p_start.y)) {
- int i;
Array a = get_used_cells();
- for (i = 0; i < a.size(); i++) {
- // update_bitmask_area() in order to update cells adjacent to the
- // current cell, since ordering in array may not be reliable
+ for (int i = 0; i < a.size(); i++) {
Vector2 vector = (Vector2)a[i];
- update_bitmask_area(Vector2(vector.x, vector.y));
+ update_cell_bitmask(vector.x, vector.y);
}
return;
}
diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp
index 28a8b01437..f2395d35fb 100644
--- a/scene/3d/audio_stream_player_3d.cpp
+++ b/scene/3d/audio_stream_player_3d.cpp
@@ -385,8 +385,8 @@ void AudioStreamPlayer3D::_notification(int p_what) {
linear_velocity = velocity_tracker->get_tracked_linear_velocity();
}
- Ref<World3D> world = get_world();
- ERR_FAIL_COND(world.is_null());
+ Ref<World3D> world_3d = get_world_3d();
+ ERR_FAIL_COND(world_3d.is_null());
int new_output_count = 0;
@@ -396,7 +396,7 @@ void AudioStreamPlayer3D::_notification(int p_what) {
//check if any area is diverting sound into a bus
- PhysicsDirectSpaceState3D *space_state = PhysicsServer3D::get_singleton()->space_get_direct_state(world->get_space());
+ PhysicsDirectSpaceState3D *space_state = PhysicsServer3D::get_singleton()->space_get_direct_state(world_3d->get_space());
PhysicsDirectSpaceState3D::ShapeResult sr[MAX_INTERSECT_AREAS];
@@ -419,7 +419,7 @@ void AudioStreamPlayer3D::_notification(int p_what) {
}
List<Camera3D *> cameras;
- world->get_camera_list(&cameras);
+ world_3d->get_camera_list(&cameras);
for (List<Camera3D *>::Element *E = cameras.front(); E; E = E->next()) {
diff --git a/scene/3d/camera_3d.cpp b/scene/3d/camera_3d.cpp
index 706c49b43b..2fcb2715be 100644
--- a/scene/3d/camera_3d.cpp
+++ b/scene/3d/camera_3d.cpp
@@ -95,8 +95,8 @@ void Camera3D::_update_camera() {
get_viewport()->_camera_transform_changed_notify();
- if (get_world().is_valid()) {
- get_world()->_update_camera(this);
+ if (get_world_3d().is_valid()) {
+ get_world_3d()->_update_camera(this);
}
}
@@ -144,12 +144,12 @@ void Camera3D::_notification(int p_what) {
} break;
case NOTIFICATION_BECAME_CURRENT: {
if (viewport) {
- viewport->find_world()->_register_camera(this);
+ viewport->find_world_3d()->_register_camera(this);
}
} break;
case NOTIFICATION_LOST_CURRENT: {
if (viewport) {
- viewport->find_world()->_remove_camera(this);
+ viewport->find_world_3d()->_remove_camera(this);
}
} break;
}
@@ -743,7 +743,7 @@ void ClippedCamera3D::_notification(int p_what) {
return;
}
- PhysicsDirectSpaceState3D *dspace = get_world()->get_direct_space_state();
+ PhysicsDirectSpaceState3D *dspace = get_world_3d()->get_direct_space_state();
ERR_FAIL_COND(!dspace); // most likely physics set to threads
Vector3 cam_fw = -get_global_transform().basis.get_axis(Vector3::AXIS_Z).normalized();
diff --git a/scene/3d/collision_object_3d.cpp b/scene/3d/collision_object_3d.cpp
index e6cd7bfe7e..5d050e32b0 100644
--- a/scene/3d/collision_object_3d.cpp
+++ b/scene/3d/collision_object_3d.cpp
@@ -44,7 +44,7 @@ void CollisionObject3D::_notification(int p_what) {
else
PhysicsServer3D::get_singleton()->body_set_state(rid, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
- RID space = get_world()->get_space();
+ RID space = get_world_3d()->get_space();
if (area) {
PhysicsServer3D::get_singleton()->area_set_space(rid, space);
} else
diff --git a/scene/3d/cpu_particles_3d.cpp b/scene/3d/cpu_particles_3d.cpp
index 12c105b0f4..4c25f55f0b 100644
--- a/scene/3d/cpu_particles_3d.cpp
+++ b/scene/3d/cpu_particles_3d.cpp
@@ -69,6 +69,7 @@ void CPUParticles3D::set_amount(int p_amount) {
for (int i = 0; i < p_amount; i++) {
w[i].active = false;
+ w[i].custom[3] = 0.0; // Make sure w component isn't garbage data
}
}
diff --git a/scene/3d/node_3d.cpp b/scene/3d/node_3d.cpp
index 0b7407e049..913a3ea49f 100644
--- a/scene/3d/node_3d.cpp
+++ b/scene/3d/node_3d.cpp
@@ -507,12 +507,12 @@ bool Node3D::is_set_as_toplevel() const {
return data.toplevel;
}
-Ref<World3D> Node3D::get_world() const {
+Ref<World3D> Node3D::get_world_3d() const {
ERR_FAIL_COND_V(!is_inside_world(), Ref<World3D>());
ERR_FAIL_COND_V(!data.viewport, Ref<World3D>());
- return data.viewport->find_world();
+ return data.viewport->find_world_3d();
}
void Node3D::_propagate_visibility_changed() {
@@ -756,7 +756,7 @@ void Node3D::_bind_methods() {
ClassDB::bind_method(D_METHOD("is_set_as_toplevel"), &Node3D::is_set_as_toplevel);
ClassDB::bind_method(D_METHOD("set_disable_scale", "disable"), &Node3D::set_disable_scale);
ClassDB::bind_method(D_METHOD("is_scale_disabled"), &Node3D::is_scale_disabled);
- ClassDB::bind_method(D_METHOD("get_world"), &Node3D::get_world);
+ ClassDB::bind_method(D_METHOD("get_world_3d"), &Node3D::get_world_3d);
ClassDB::bind_method(D_METHOD("force_update_transform"), &Node3D::force_update_transform);
diff --git a/scene/3d/node_3d.h b/scene/3d/node_3d.h
index f97a8a97dc..a4191eb2b3 100644
--- a/scene/3d/node_3d.h
+++ b/scene/3d/node_3d.h
@@ -124,7 +124,7 @@ public:
Node3D *get_parent_spatial() const;
- Ref<World3D> get_world() const;
+ Ref<World3D> get_world_3d() const;
void set_translation(const Vector3 &p_translation);
void set_rotation(const Vector3 &p_euler_rad);
diff --git a/scene/3d/physics_joint_3d.cpp b/scene/3d/physics_joint_3d.cpp
index 591c17a91e..140d887d9a 100644
--- a/scene/3d/physics_joint_3d.cpp
+++ b/scene/3d/physics_joint_3d.cpp
@@ -807,6 +807,9 @@ void Generic6DOFJoint3D::_bind_methods() {
BIND_ENUM_CONSTANT(PARAM_LINEAR_DAMPING);
BIND_ENUM_CONSTANT(PARAM_LINEAR_MOTOR_TARGET_VELOCITY);
BIND_ENUM_CONSTANT(PARAM_LINEAR_MOTOR_FORCE_LIMIT);
+ BIND_ENUM_CONSTANT(PARAM_LINEAR_SPRING_STIFFNESS);
+ BIND_ENUM_CONSTANT(PARAM_LINEAR_SPRING_DAMPING);
+ BIND_ENUM_CONSTANT(PARAM_LINEAR_SPRING_EQUILIBRIUM_POINT);
BIND_ENUM_CONSTANT(PARAM_ANGULAR_LOWER_LIMIT);
BIND_ENUM_CONSTANT(PARAM_ANGULAR_UPPER_LIMIT);
BIND_ENUM_CONSTANT(PARAM_ANGULAR_LIMIT_SOFTNESS);
@@ -816,6 +819,9 @@ void Generic6DOFJoint3D::_bind_methods() {
BIND_ENUM_CONSTANT(PARAM_ANGULAR_ERP);
BIND_ENUM_CONSTANT(PARAM_ANGULAR_MOTOR_TARGET_VELOCITY);
BIND_ENUM_CONSTANT(PARAM_ANGULAR_MOTOR_FORCE_LIMIT);
+ BIND_ENUM_CONSTANT(PARAM_ANGULAR_SPRING_STIFFNESS);
+ BIND_ENUM_CONSTANT(PARAM_ANGULAR_SPRING_DAMPING);
+ BIND_ENUM_CONSTANT(PARAM_ANGULAR_SPRING_EQUILIBRIUM_POINT);
BIND_ENUM_CONSTANT(PARAM_MAX);
BIND_ENUM_CONSTANT(FLAG_ENABLE_LINEAR_LIMIT);
diff --git a/scene/3d/ray_cast_3d.cpp b/scene/3d/ray_cast_3d.cpp
index a18da61656..304a5e1254 100644
--- a/scene/3d/ray_cast_3d.cpp
+++ b/scene/3d/ray_cast_3d.cpp
@@ -196,7 +196,7 @@ void RayCast3D::_notification(int p_what) {
}
void RayCast3D::_update_raycast_state() {
- Ref<World3D> w3d = get_world();
+ Ref<World3D> w3d = get_world_3d();
ERR_FAIL_COND(w3d.is_null());
PhysicsDirectSpaceState3D *dss = PhysicsServer3D::get_singleton()->space_get_direct_state(w3d->get_space());
diff --git a/scene/3d/soft_body_3d.cpp b/scene/3d/soft_body_3d.cpp
index 6092818252..850ffab292 100644
--- a/scene/3d/soft_body_3d.cpp
+++ b/scene/3d/soft_body_3d.cpp
@@ -270,7 +270,7 @@ void SoftBody3D::_notification(int p_what) {
add_change_receptor(this);
}
- RID space = get_world()->get_space();
+ RID space = get_world_3d()->get_space();
PhysicsServer3D::get_singleton()->soft_body_set_space(physics_rid, space);
prepare_physics_server();
} break;
diff --git a/scene/3d/spring_arm_3d.cpp b/scene/3d/spring_arm_3d.cpp
index 0ffde7aa8f..1410b730fd 100644
--- a/scene/3d/spring_arm_3d.cpp
+++ b/scene/3d/spring_arm_3d.cpp
@@ -147,7 +147,7 @@ void SpringArm3D::process_spring() {
if (shape.is_null()) {
motion = Vector3(cast_direction * (spring_length));
PhysicsDirectSpaceState3D::RayResult r;
- bool intersected = get_world()->get_direct_space_state()->intersect_ray(get_global_transform().origin, get_global_transform().origin + motion, r, excluded_objects, mask);
+ bool intersected = get_world_3d()->get_direct_space_state()->intersect_ray(get_global_transform().origin, get_global_transform().origin + motion, r, excluded_objects, mask);
if (intersected) {
float dist = get_global_transform().origin.distance_to(r.position);
dist -= margin;
@@ -155,7 +155,7 @@ void SpringArm3D::process_spring() {
}
} else {
motion = Vector3(cast_direction * spring_length);
- get_world()->get_direct_space_state()->cast_motion(shape->get_rid(), get_global_transform(), motion, 0, motion_delta, motion_delta_unsafe, excluded_objects, mask);
+ get_world_3d()->get_direct_space_state()->cast_motion(shape->get_rid(), get_global_transform(), motion, 0, motion_delta, motion_delta_unsafe, excluded_objects, mask);
}
current_spring_length = spring_length * motion_delta;
diff --git a/scene/3d/visibility_notifier_3d.cpp b/scene/3d/visibility_notifier_3d.cpp
index 2f657fe7b1..2707a0a514 100644
--- a/scene/3d/visibility_notifier_3d.cpp
+++ b/scene/3d/visibility_notifier_3d.cpp
@@ -68,7 +68,7 @@ void VisibilityNotifier3D::set_aabb(const AABB &p_aabb) {
aabb = p_aabb;
if (is_inside_world()) {
- get_world()->_update_notifier(this, get_global_transform().xform(aabb));
+ get_world_3d()->_update_notifier(this, get_global_transform().xform(aabb));
}
_change_notify("aabb");
@@ -85,15 +85,15 @@ void VisibilityNotifier3D::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_WORLD: {
- get_world()->_register_notifier(this, get_global_transform().xform(aabb));
+ get_world_3d()->_register_notifier(this, get_global_transform().xform(aabb));
} break;
case NOTIFICATION_TRANSFORM_CHANGED: {
- get_world()->_update_notifier(this, get_global_transform().xform(aabb));
+ get_world_3d()->_update_notifier(this, get_global_transform().xform(aabb));
} break;
case NOTIFICATION_EXIT_WORLD: {
- get_world()->_remove_notifier(this);
+ get_world_3d()->_remove_notifier(this);
} break;
}
}
diff --git a/scene/3d/visual_instance_3d.cpp b/scene/3d/visual_instance_3d.cpp
index 604bc53422..ce8672c1dd 100644
--- a/scene/3d/visual_instance_3d.cpp
+++ b/scene/3d/visual_instance_3d.cpp
@@ -60,8 +60,8 @@ void VisualInstance3D::_notification(int p_what) {
if (skeleton)
RenderingServer::get_singleton()->instance_attach_skeleton( instance, skeleton->get_skeleton() );
*/
- ERR_FAIL_COND(get_world().is_null());
- RenderingServer::get_singleton()->instance_set_scenario(instance, get_world()->get_scenario());
+ ERR_FAIL_COND(get_world_3d().is_null());
+ RenderingServer::get_singleton()->instance_set_scenario(instance, get_world_3d()->get_scenario());
_update_visibility();
} break;
diff --git a/scene/3d/world_environment.cpp b/scene/3d/world_environment.cpp
index 8cf4554653..8dbb709ae4 100644
--- a/scene/3d/world_environment.cpp
+++ b/scene/3d/world_environment.cpp
@@ -36,50 +36,50 @@ void WorldEnvironment::_notification(int p_what) {
if (p_what == Node3D::NOTIFICATION_ENTER_WORLD || p_what == Node3D::NOTIFICATION_ENTER_TREE) {
if (environment.is_valid()) {
- if (get_viewport()->find_world()->get_environment().is_valid()) {
+ if (get_viewport()->find_world_3d()->get_environment().is_valid()) {
WARN_PRINT("World already has an environment (Another WorldEnvironment?), overriding.");
}
- get_viewport()->find_world()->set_environment(environment);
- add_to_group("_world_environment_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ get_viewport()->find_world_3d()->set_environment(environment);
+ add_to_group("_world_environment_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
}
if (camera_effects.is_valid()) {
- if (get_viewport()->find_world()->get_camera_effects().is_valid()) {
+ if (get_viewport()->find_world_3d()->get_camera_effects().is_valid()) {
WARN_PRINT("World already has a camera effects (Another WorldEnvironment?), overriding.");
}
- get_viewport()->find_world()->set_camera_effects(camera_effects);
- add_to_group("_world_camera_effects_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ get_viewport()->find_world_3d()->set_camera_effects(camera_effects);
+ add_to_group("_world_camera_effects_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
}
} else if (p_what == Node3D::NOTIFICATION_EXIT_WORLD || p_what == Node3D::NOTIFICATION_EXIT_TREE) {
- if (environment.is_valid() && get_viewport()->find_world()->get_environment() == environment) {
- get_viewport()->find_world()->set_environment(Ref<Environment>());
- remove_from_group("_world_environment_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ if (environment.is_valid() && get_viewport()->find_world_3d()->get_environment() == environment) {
+ get_viewport()->find_world_3d()->set_environment(Ref<Environment>());
+ remove_from_group("_world_environment_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
}
- if (camera_effects.is_valid() && get_viewport()->find_world()->get_camera_effects() == camera_effects) {
- get_viewport()->find_world()->set_camera_effects(Ref<CameraEffects>());
- remove_from_group("_world_camera_effects_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ if (camera_effects.is_valid() && get_viewport()->find_world_3d()->get_camera_effects() == camera_effects) {
+ get_viewport()->find_world_3d()->set_camera_effects(Ref<CameraEffects>());
+ remove_from_group("_world_camera_effects_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
}
}
}
void WorldEnvironment::set_environment(const Ref<Environment> &p_environment) {
- if (is_inside_tree() && environment.is_valid() && get_viewport()->find_world()->get_environment() == environment) {
- get_viewport()->find_world()->set_environment(Ref<Environment>());
- remove_from_group("_world_environment_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ if (is_inside_tree() && environment.is_valid() && get_viewport()->find_world_3d()->get_environment() == environment) {
+ get_viewport()->find_world_3d()->set_environment(Ref<Environment>());
+ remove_from_group("_world_environment_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
//clean up
}
environment = p_environment;
if (is_inside_tree() && environment.is_valid()) {
- if (get_viewport()->find_world()->get_environment().is_valid()) {
+ if (get_viewport()->find_world_3d()->get_environment().is_valid()) {
WARN_PRINT("World already has an environment (Another WorldEnvironment?), overriding.");
}
- get_viewport()->find_world()->set_environment(environment);
- add_to_group("_world_environment_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ get_viewport()->find_world_3d()->set_environment(environment);
+ add_to_group("_world_environment_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
}
update_configuration_warning();
@@ -92,19 +92,19 @@ Ref<Environment> WorldEnvironment::get_environment() const {
void WorldEnvironment::set_camera_effects(const Ref<CameraEffects> &p_camera_effects) {
- if (is_inside_tree() && camera_effects.is_valid() && get_viewport()->find_world()->get_camera_effects() == camera_effects) {
- get_viewport()->find_world()->set_camera_effects(Ref<CameraEffects>());
- remove_from_group("_world_camera_effects_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ if (is_inside_tree() && camera_effects.is_valid() && get_viewport()->find_world_3d()->get_camera_effects() == camera_effects) {
+ get_viewport()->find_world_3d()->set_camera_effects(Ref<CameraEffects>());
+ remove_from_group("_world_camera_effects_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
//clean up
}
camera_effects = p_camera_effects;
if (is_inside_tree() && camera_effects.is_valid()) {
- if (get_viewport()->find_world()->get_camera_effects().is_valid()) {
+ if (get_viewport()->find_world_3d()->get_camera_effects().is_valid()) {
WARN_PRINT("World already has an camera_effects (Another WorldEnvironment?), overriding.");
}
- get_viewport()->find_world()->set_camera_effects(camera_effects);
- add_to_group("_world_camera_effects_" + itos(get_viewport()->find_world()->get_scenario().get_id()));
+ get_viewport()->find_world_3d()->set_camera_effects(camera_effects);
+ add_to_group("_world_camera_effects_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()));
}
update_configuration_warning();
@@ -125,7 +125,7 @@ String WorldEnvironment::get_configuration_warning() const {
return String();
List<Node *> nodes;
- get_tree()->get_nodes_in_group("_world_environment_" + itos(get_viewport()->find_world()->get_scenario().get_id()), &nodes);
+ get_tree()->get_nodes_in_group("_world_environment_" + itos(get_viewport()->find_world_3d()->get_scenario().get_id()), &nodes);
if (nodes.size() > 1) {
return TTR("Only one WorldEnvironment is allowed per scene (or set of instanced scenes).");
diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp
index 9ef6b9864a..8228cf67bd 100644
--- a/scene/animation/animation_player.cpp
+++ b/scene/animation/animation_player.cpp
@@ -950,13 +950,13 @@ void AnimationPlayer::_animation_process(float p_delta) {
play(queued.front()->get());
String new_name = playback.assigned;
queued.pop_front();
- if (end_notify || playback.seeked)
+ if (end_notify)
emit_signal(SceneStringNames::get_singleton()->animation_changed, old, new_name);
} else {
//stop();
playing = false;
_set_process(false);
- if (end_notify || playback.seeked)
+ if (end_notify)
emit_signal(SceneStringNames::get_singleton()->animation_finished, playback.assigned);
}
end_reached = false;
diff --git a/scene/animation/tween.cpp b/scene/animation/tween.cpp
index bc28c38e2c..d0c6cac8cf 100644
--- a/scene/animation/tween.cpp
+++ b/scene/animation/tween.cpp
@@ -126,14 +126,17 @@ bool Tween::_set(const StringName &p_name, const Variant &p_value) {
String name = p_name;
if (name == "playback/speed" || name == "speed") { // Backwards compatibility
set_speed_scale(p_value);
+ return true;
} else if (name == "playback/active") {
set_active(p_value);
+ return true;
} else if (name == "playback/repeat") {
set_repeat(p_value);
+ return true;
}
- return true;
+ return false;
}
bool Tween::_get(const StringName &p_name, Variant &r_ret) const {
@@ -142,14 +145,17 @@ bool Tween::_get(const StringName &p_name, Variant &r_ret) const {
String name = p_name;
if (name == "playback/speed") { // Backwards compatibility
r_ret = speed_scale;
+ return true;
} else if (name == "playback/active") {
r_ret = is_active();
+ return true;
} else if (name == "playback/repeat") {
r_ret = is_repeat();
+ return true;
}
- return true;
+ return false;
}
void Tween::_get_property_list(List<PropertyInfo> *p_list) const {
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 9ee7456d26..25fc6d82c8 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -1153,7 +1153,7 @@ void TextEdit::_notification(int p_what) {
highlighted_text_col = _get_column_pos_of_word(highlighted_text, str, SEARCH_MATCH_CASE | SEARCH_WHOLE_WORDS, 0);
if (select_identifiers_enabled && highlighted_word.length() != 0) {
- if (_is_char(highlighted_word[0])) {
+ if (_is_char(highlighted_word[0]) || highlighted_word[0] == '.') {
highlighted_word_col = _get_column_pos_of_word(highlighted_word, fullstr, SEARCH_MATCH_CASE | SEARCH_WHOLE_WORDS, 0);
}
}
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index 22cd1c98ab..07cb8e3cd2 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -504,7 +504,7 @@ bool SceneTree::idle(float p_time) {
String env_path = ProjectSettings::get_singleton()->get("rendering/environment/default_environment");
env_path = env_path.strip_edges(); //user may have added a space or two
String cpath;
- Ref<Environment> fallback = get_root()->get_world()->get_fallback_environment();
+ Ref<Environment> fallback = get_root()->get_world_3d()->get_fallback_environment();
if (fallback.is_valid()) {
cpath = fallback->get_path();
}
@@ -519,7 +519,7 @@ bool SceneTree::idle(float p_time) {
} else {
fallback.unref();
}
- get_root()->get_world()->set_fallback_environment(fallback);
+ get_root()->get_world_3d()->set_fallback_environment(fallback);
}
}
@@ -1409,8 +1409,8 @@ SceneTree::SceneTree() {
root = memnew(Window);
root->set_name("root");
- if (!root->get_world().is_valid())
- root->set_world(Ref<World3D>(memnew(World3D)));
+ if (!root->get_world_3d().is_valid())
+ root->set_world_3d(Ref<World3D>(memnew(World3D)));
// Initialize network state
multiplayer_poll = true;
@@ -1447,7 +1447,7 @@ SceneTree::SceneTree() {
if (env_path != String()) {
Ref<Environment> env = ResourceLoader::load(env_path);
if (env.is_valid()) {
- root->get_world()->set_fallback_environment(env);
+ root->get_world_3d()->set_fallback_environment(env);
} else {
if (Engine::get_singleton()->is_editor_hint()) {
//file was erased, clear the field.
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index b0718eed79..e9827d521b 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -215,7 +215,7 @@ void Viewport::update_worlds() {
find_world_2d()->_update_viewport(this, xformed_rect);
find_world_2d()->_update();
- find_world()->_update(get_tree()->get_frame());
+ find_world_3d()->_update(get_tree()->get_frame());
}
void Viewport::_collision_object_input_event(CollisionObject3D *p_object, Camera3D *p_camera, const Ref<InputEvent> &p_input_event, const Vector3 &p_pos, const Vector3 &p_normal, int p_shape) {
@@ -422,22 +422,22 @@ void Viewport::_sub_window_remove(Window *p_window) {
RenderingServer::get_singleton()->viewport_set_parent_viewport(p_window->viewport, p_window->parent ? p_window->parent->viewport : RID());
}
-void Viewport::_own_world_changed() {
- ERR_FAIL_COND(world.is_null());
- ERR_FAIL_COND(own_world.is_null());
+void Viewport::_own_world_3d_changed() {
+ ERR_FAIL_COND(world_3d.is_null());
+ ERR_FAIL_COND(own_world_3d.is_null());
if (is_inside_tree()) {
_propagate_exit_world(this);
}
- own_world = world->duplicate();
+ own_world_3d = world_3d->duplicate();
if (is_inside_tree()) {
_propagate_enter_world(this);
}
if (is_inside_tree()) {
- RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world()->get_scenario());
+ RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world_3d()->get_scenario());
}
_update_listener();
@@ -459,7 +459,7 @@ void Viewport::_notification(int p_what) {
}
current_canvas = find_world_2d()->get_canvas();
- RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world()->get_scenario());
+ RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world_3d()->get_scenario());
RenderingServer::get_singleton()->viewport_attach_canvas(viewport, current_canvas);
_update_listener();
@@ -474,14 +474,14 @@ void Viewport::_notification(int p_what) {
contact_2d_debug = RenderingServer::get_singleton()->canvas_item_create();
RenderingServer::get_singleton()->canvas_item_set_parent(contact_2d_debug, find_world_2d()->get_canvas());
//3D
- PhysicsServer3D::get_singleton()->space_set_debug_contacts(find_world()->get_space(), get_tree()->get_collision_debug_contact_count());
+ PhysicsServer3D::get_singleton()->space_set_debug_contacts(find_world_3d()->get_space(), get_tree()->get_collision_debug_contact_count());
contact_3d_debug_multimesh = RenderingServer::get_singleton()->multimesh_create();
RenderingServer::get_singleton()->multimesh_allocate(contact_3d_debug_multimesh, get_tree()->get_collision_debug_contact_count(), RS::MULTIMESH_TRANSFORM_3D, true);
RenderingServer::get_singleton()->multimesh_set_visible_instances(contact_3d_debug_multimesh, 0);
RenderingServer::get_singleton()->multimesh_set_mesh(contact_3d_debug_multimesh, get_tree()->get_debug_contact_mesh()->get_rid());
contact_3d_debug_instance = RenderingServer::get_singleton()->instance_create();
RenderingServer::get_singleton()->instance_set_base(contact_3d_debug_instance, contact_3d_debug_multimesh);
- RenderingServer::get_singleton()->instance_set_scenario(contact_3d_debug_instance, find_world()->get_scenario());
+ RenderingServer::get_singleton()->instance_set_scenario(contact_3d_debug_instance, find_world_3d()->get_scenario());
//RenderingServer::get_singleton()->instance_geometry_set_flag(contact_3d_debug_instance, RS::INSTANCE_FLAG_VISIBLE_IN_ALL_ROOMS, true);
}
@@ -576,8 +576,8 @@ void Viewport::_notification(int p_what) {
if (get_tree()->is_debugging_collisions_hint() && contact_3d_debug_multimesh.is_valid()) {
- Vector<Vector3> points = PhysicsServer3D::get_singleton()->space_get_contacts(find_world()->get_space());
- int point_count = PhysicsServer3D::get_singleton()->space_get_contact_count(find_world()->get_space());
+ Vector<Vector3> points = PhysicsServer3D::get_singleton()->space_get_contacts(find_world_3d()->get_space());
+ int point_count = PhysicsServer3D::get_singleton()->space_get_contact_count(find_world_3d()->get_space());
RS::get_singleton()->multimesh_set_visible_instances(contact_3d_debug_multimesh, point_count);
}
@@ -805,7 +805,7 @@ void Viewport::_notification(int p_what) {
Vector3 from = camera->project_ray_origin(pos);
Vector3 dir = camera->project_ray_normal(pos);
- PhysicsDirectSpaceState3D *space = PhysicsServer3D::get_singleton()->space_get_direct_state(find_world()->get_space());
+ PhysicsDirectSpaceState3D *space = PhysicsServer3D::get_singleton()->space_get_direct_state(find_world_3d()->get_space());
if (space) {
bool col = space->intersect_ray(from, from + dir * 10000, result, Set<RID>(), 0xFFFFFFFF, true, true, true);
@@ -1185,7 +1185,7 @@ void Viewport::set_world_2d(const Ref<World2D> &p_world_2d) {
return;
if (parent && parent->find_world_2d() == p_world_2d) {
- WARN_PRINT("Unable to use parent world as world_2d");
+ WARN_PRINT("Unable to use parent world_3d as world_2d");
return;
}
@@ -1197,7 +1197,7 @@ void Viewport::set_world_2d(const Ref<World2D> &p_world_2d) {
if (p_world_2d.is_valid())
world_2d = p_world_2d;
else {
- WARN_PRINT("Invalid world");
+ WARN_PRINT("Invalid world_3d");
world_2d = Ref<World2D>(memnew(World2D));
}
@@ -1235,7 +1235,7 @@ void Viewport::_propagate_enter_world(Node *p_node) {
Viewport *v = Object::cast_to<Viewport>(p_node);
if (v) {
- if (v->world.is_valid() || v->own_world.is_valid())
+ if (v->world_3d.is_valid() || v->own_world_3d.is_valid())
return;
}
#ifndef _3D_DISABLED
@@ -1275,7 +1275,7 @@ void Viewport::_propagate_exit_world(Node *p_node) {
Viewport *v = Object::cast_to<Viewport>(p_node);
if (v) {
- if (v->world.is_valid() || v->own_world.is_valid())
+ if (v->world_3d.is_valid() || v->own_world_3d.is_valid())
return;
}
#ifndef _3D_DISABLED
@@ -1289,26 +1289,26 @@ void Viewport::_propagate_exit_world(Node *p_node) {
}
}
-void Viewport::set_world(const Ref<World3D> &p_world) {
+void Viewport::set_world_3d(const Ref<World3D> &p_world_3d) {
- if (world == p_world)
+ if (world_3d == p_world_3d)
return;
if (is_inside_tree())
_propagate_exit_world(this);
- if (own_world.is_valid() && world.is_valid()) {
- world->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_changed));
+ if (own_world_3d.is_valid() && world_3d.is_valid()) {
+ world_3d->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_3d_changed));
}
- world = p_world;
+ world_3d = p_world_3d;
- if (own_world.is_valid()) {
- if (world.is_valid()) {
- own_world = world->duplicate();
- world->connect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_changed));
+ if (own_world_3d.is_valid()) {
+ if (world_3d.is_valid()) {
+ own_world_3d = world_3d->duplicate();
+ world_3d->connect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_3d_changed));
} else {
- own_world = Ref<World3D>(memnew(World3D));
+ own_world_3d = Ref<World3D>(memnew(World3D));
}
}
@@ -1316,15 +1316,15 @@ void Viewport::set_world(const Ref<World3D> &p_world) {
_propagate_enter_world(this);
if (is_inside_tree()) {
- RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world()->get_scenario());
+ RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world_3d()->get_scenario());
}
_update_listener();
}
-Ref<World3D> Viewport::get_world() const {
+Ref<World3D> Viewport::get_world_3d() const {
- return world;
+ return world_3d;
}
Ref<World2D> Viewport::get_world_2d() const {
@@ -1332,14 +1332,14 @@ Ref<World2D> Viewport::get_world_2d() const {
return world_2d;
}
-Ref<World3D> Viewport::find_world() const {
+Ref<World3D> Viewport::find_world_3d() const {
- if (own_world.is_valid())
- return own_world;
- else if (world.is_valid())
- return world;
+ if (own_world_3d.is_valid())
+ return own_world_3d;
+ else if (world_3d.is_valid())
+ return world_3d;
else if (parent)
- return parent->find_world();
+ return parent->find_world_3d();
else
return Ref<World3D>();
}
@@ -3077,25 +3077,25 @@ void Viewport::unhandled_input(const Ref<InputEvent> &p_event, bool p_local_coor
}
}
-void Viewport::set_use_own_world(bool p_world) {
+void Viewport::set_use_own_world_3d(bool p_world_3d) {
- if (p_world == own_world.is_valid())
+ if (p_world_3d == own_world_3d.is_valid())
return;
if (is_inside_tree())
_propagate_exit_world(this);
- if (!p_world) {
- own_world = Ref<World3D>();
- if (world.is_valid()) {
- world->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_changed));
+ if (!p_world_3d) {
+ own_world_3d = Ref<World3D>();
+ if (world_3d.is_valid()) {
+ world_3d->disconnect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_3d_changed));
}
} else {
- if (world.is_valid()) {
- own_world = world->duplicate();
- world->connect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_changed));
+ if (world_3d.is_valid()) {
+ own_world_3d = world_3d->duplicate();
+ world_3d->connect(CoreStringNames::get_singleton()->changed, callable_mp(this, &Viewport::_own_world_3d_changed));
} else {
- own_world = Ref<World3D>(memnew(World3D));
+ own_world_3d = Ref<World3D>(memnew(World3D));
}
}
@@ -3103,15 +3103,15 @@ void Viewport::set_use_own_world(bool p_world) {
_propagate_enter_world(this);
if (is_inside_tree()) {
- RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world()->get_scenario());
+ RenderingServer::get_singleton()->viewport_set_scenario(viewport, find_world_3d()->get_scenario());
}
_update_listener();
}
-bool Viewport::is_using_own_world() const {
+bool Viewport::is_using_own_world_3d() const {
- return own_world.is_valid();
+ return own_world_3d.is_valid();
}
void Viewport::set_physics_object_picking(bool p_enable) {
@@ -3366,9 +3366,9 @@ void Viewport::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_world_2d", "world_2d"), &Viewport::set_world_2d);
ClassDB::bind_method(D_METHOD("get_world_2d"), &Viewport::get_world_2d);
ClassDB::bind_method(D_METHOD("find_world_2d"), &Viewport::find_world_2d);
- ClassDB::bind_method(D_METHOD("set_world", "world"), &Viewport::set_world);
- ClassDB::bind_method(D_METHOD("get_world"), &Viewport::get_world);
- ClassDB::bind_method(D_METHOD("find_world"), &Viewport::find_world);
+ ClassDB::bind_method(D_METHOD("set_world_3d", "world_3d"), &Viewport::set_world_3d);
+ ClassDB::bind_method(D_METHOD("get_world_3d"), &Viewport::get_world_3d);
+ ClassDB::bind_method(D_METHOD("find_world_3d"), &Viewport::find_world_3d);
ClassDB::bind_method(D_METHOD("set_canvas_transform", "xform"), &Viewport::set_canvas_transform);
ClassDB::bind_method(D_METHOD("get_canvas_transform"), &Viewport::get_canvas_transform);
@@ -3404,8 +3404,8 @@ void Viewport::_bind_methods() {
ClassDB::bind_method(D_METHOD("update_worlds"), &Viewport::update_worlds);
- ClassDB::bind_method(D_METHOD("set_use_own_world", "enable"), &Viewport::set_use_own_world);
- ClassDB::bind_method(D_METHOD("is_using_own_world"), &Viewport::is_using_own_world);
+ ClassDB::bind_method(D_METHOD("set_use_own_world_3d", "enable"), &Viewport::set_use_own_world_3d);
+ ClassDB::bind_method(D_METHOD("is_using_own_world_3d"), &Viewport::is_using_own_world_3d);
ClassDB::bind_method(D_METHOD("get_camera"), &Viewport::get_camera);
@@ -3453,8 +3453,8 @@ void Viewport::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_default_canvas_item_texture_repeat", "mode"), &Viewport::set_default_canvas_item_texture_repeat);
ClassDB::bind_method(D_METHOD("get_default_canvas_item_texture_repeat"), &Viewport::get_default_canvas_item_texture_repeat);
- ADD_PROPERTY(PropertyInfo(Variant::BOOL, "own_world"), "set_use_own_world", "is_using_own_world");
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "world", PROPERTY_HINT_RESOURCE_TYPE, "World"), "set_world", "get_world");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "own_world_3d"), "set_use_own_world_3d", "is_using_own_world_3d");
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "world_3d", PROPERTY_HINT_RESOURCE_TYPE, "World3D"), "set_world_3d", "get_world_3d");
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "world_2d", PROPERTY_HINT_RESOURCE_TYPE, "World2D", 0), "set_world_2d", "get_world_2d");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "transparent_bg"), "set_transparent_background", "has_transparent_background");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "handle_input_locally"), "set_handle_input_locally", "is_handling_input_locally");
diff --git a/scene/main/viewport.h b/scene/main/viewport.h
index 7e2df9fe42..7da57347fd 100644
--- a/scene/main/viewport.h
+++ b/scene/main/viewport.h
@@ -253,8 +253,8 @@ private:
Map<ObjectID, uint64_t> physics_2d_mouseover;
Ref<World2D> world_2d;
- Ref<World3D> world;
- Ref<World3D> own_world;
+ Ref<World3D> world_3d;
+ Ref<World3D> own_world_3d;
Rect2i to_screen_rect;
StringName input_group;
@@ -430,7 +430,7 @@ private:
void _gui_set_root_order_dirty();
- void _own_world_changed();
+ void _own_world_3d_changed();
friend class Window;
@@ -477,10 +477,10 @@ public:
Rect2 get_visible_rect() const;
RID get_viewport_rid() const;
- void set_world(const Ref<World3D> &p_world);
+ void set_world_3d(const Ref<World3D> &p_world_3d);
void set_world_2d(const Ref<World2D> &p_world_2d);
- Ref<World3D> get_world() const;
- Ref<World3D> find_world() const;
+ Ref<World3D> get_world_3d() const;
+ Ref<World3D> find_world_3d() const;
Ref<World2D> get_world_2d() const;
Ref<World2D> find_world_2d() const;
@@ -519,8 +519,8 @@ public:
Vector2 get_camera_coords(const Vector2 &p_viewport_coords) const;
Vector2 get_camera_rect_size() const;
- void set_use_own_world(bool p_world);
- bool is_using_own_world() const;
+ void set_use_own_world_3d(bool p_world_3d);
+ bool is_using_own_world_3d() const;
void input_text(const String &p_text);
void input(const Ref<InputEvent> &p_event, bool p_local_coords = false);
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index 310a7ef4e4..3b245f908a 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -1630,9 +1630,11 @@ const VisualShaderNodeInput::Port VisualShaderNodeInput::ports[] = {
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "light_vec", "vec3(LIGHT_VEC, 0.0)" },
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_SCALAR, "light_height", "LIGHT_HEIGHT" },
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "light_color", "LIGHT_COLOR.rgb" },
- { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "light_alpha", "LIGHT_COLOR.a" },
+ { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_SCALAR, "light_alpha", "LIGHT_COLOR.a" },
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "light_uv", "vec3(LIGHT_UV, 0.0)" },
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "shadow_color", "SHADOW_COLOR.rgb" },
+ { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_SCALAR, "shadow_alpha", "SHADOW_COLOR.a" },
+ { Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "shadow_vec", "vec3(SHADOW_VEC, 0.0)" },
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "screen_uv", "vec3(SCREEN_UV, 0.0)" },
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "texture_pixel_size", "vec3(TEXTURE_PIXEL_SIZE, 1.0)" },
{ Shader::MODE_CANVAS_ITEM, VisualShader::TYPE_LIGHT, VisualShaderNode::PORT_TYPE_VECTOR, "point_coord", "vec3(POINT_COORD, 0.0)" },
@@ -2156,12 +2158,43 @@ String VisualShaderNodeUniform::get_uniform_name() const {
return uniform_name;
}
+void VisualShaderNodeUniform::set_qualifier(VisualShaderNodeUniform::Qualifier p_qual) {
+ qualifier = p_qual;
+ emit_changed();
+}
+
+VisualShaderNodeUniform::Qualifier VisualShaderNodeUniform::get_qualifier() const {
+ return qualifier;
+}
+
void VisualShaderNodeUniform::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_uniform_name", "name"), &VisualShaderNodeUniform::set_uniform_name);
ClassDB::bind_method(D_METHOD("get_uniform_name"), &VisualShaderNodeUniform::get_uniform_name);
+ ClassDB::bind_method(D_METHOD("set_qualifier", "qualifier"), &VisualShaderNodeUniform::set_qualifier);
+ ClassDB::bind_method(D_METHOD("get_qualifier"), &VisualShaderNodeUniform::get_qualifier);
+
ADD_PROPERTY(PropertyInfo(Variant::STRING_NAME, "uniform_name"), "set_uniform_name", "get_uniform_name");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "qualifier", PROPERTY_HINT_ENUM, "None,Global,Instance"), "set_qualifier", "get_qualifier");
+
+ BIND_ENUM_CONSTANT(QUAL_NONE);
+ BIND_ENUM_CONSTANT(QUAL_GLOBAL);
+ BIND_ENUM_CONSTANT(QUAL_INSTANCE);
+}
+
+String VisualShaderNodeUniform::_get_qual_str() const {
+ if (is_qualifier_supported(qualifier)) {
+ switch (qualifier) {
+ case QUAL_NONE:
+ break;
+ case QUAL_GLOBAL:
+ return "global ";
+ case QUAL_INSTANCE:
+ return "instance ";
+ }
+ }
+ return String();
}
String VisualShaderNodeUniform::get_warning(Shader::Mode p_mode, VisualShader::Type p_type) const {
@@ -2171,11 +2204,21 @@ String VisualShaderNodeUniform::get_warning(Shader::Mode p_mode, VisualShader::T
if (keyword_list.find(uniform_name)) {
return TTR("Uniform name cannot be equal to a shader keyword. Choose another name.");
}
+ if (!is_qualifier_supported(qualifier)) {
+ return "This uniform type does not support that qualifier.";
+ }
return String();
}
+Vector<StringName> VisualShaderNodeUniform::get_editable_properties() const {
+ Vector<StringName> props;
+ props.push_back("qualifier");
+ return props;
+}
+
VisualShaderNodeUniform::VisualShaderNodeUniform() {
+ qualifier = QUAL_NONE;
}
////////////// GroupBase
diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h
index ecf3f93fbb..56f8e74d2b 100644
--- a/scene/resources/visual_shader.h
+++ b/scene/resources/visual_shader.h
@@ -369,21 +369,38 @@ public:
class VisualShaderNodeUniform : public VisualShaderNode {
GDCLASS(VisualShaderNodeUniform, VisualShaderNode);
+public:
+ enum Qualifier {
+ QUAL_NONE,
+ QUAL_GLOBAL,
+ QUAL_INSTANCE,
+ };
+
private:
String uniform_name;
+ Qualifier qualifier;
protected:
static void _bind_methods();
+ String _get_qual_str() const;
public:
void set_uniform_name(const String &p_name);
String get_uniform_name() const;
+ void set_qualifier(Qualifier p_qual);
+ Qualifier get_qualifier() const;
+
+ virtual bool is_qualifier_supported(Qualifier p_qual) const = 0;
+
+ virtual Vector<StringName> get_editable_properties() const;
virtual String get_warning(Shader::Mode p_mode, VisualShader::Type p_type) const;
VisualShaderNodeUniform();
};
+VARIANT_ENUM_CAST(VisualShaderNodeUniform::Qualifier)
+
class VisualShaderNodeGroupBase : public VisualShaderNode {
GDCLASS(VisualShaderNodeGroupBase, VisualShaderNode);
diff --git a/scene/resources/visual_shader_nodes.cpp b/scene/resources/visual_shader_nodes.cpp
index 2064ca10f3..7b9953a90f 100644
--- a/scene/resources/visual_shader_nodes.cpp
+++ b/scene/resources/visual_shader_nodes.cpp
@@ -3283,11 +3283,11 @@ String VisualShaderNodeFloatUniform::get_output_port_name(int p_port) const {
String VisualShaderNodeFloatUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
if (hint == HINT_RANGE) {
- return "uniform float " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ");\n";
+ return _get_qual_str() + "uniform float " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ");\n";
} else if (hint == HINT_RANGE_STEP) {
- return "uniform float " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ", " + rtos(hint_range_step) + ");\n";
+ return _get_qual_str() + "uniform float " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ", " + rtos(hint_range_step) + ");\n";
}
- return "uniform float " + get_uniform_name() + ";\n";
+ return _get_qual_str() + "uniform float " + get_uniform_name() + ";\n";
}
String VisualShaderNodeFloatUniform::generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview) const {
@@ -3353,8 +3353,12 @@ void VisualShaderNodeFloatUniform::_bind_methods() {
BIND_ENUM_CONSTANT(HINT_RANGE_STEP);
}
+bool VisualShaderNodeFloatUniform::is_qualifier_supported(Qualifier p_qual) const {
+ return true; // all qualifiers are supported
+}
+
Vector<StringName> VisualShaderNodeFloatUniform::get_editable_properties() const {
- Vector<StringName> props;
+ Vector<StringName> props = VisualShaderNodeUniform::get_editable_properties();
props.push_back("hint");
if (hint == HINT_RANGE || hint == HINT_RANGE_STEP) {
props.push_back("min");
@@ -3405,11 +3409,11 @@ String VisualShaderNodeIntUniform::get_output_port_name(int p_port) const {
String VisualShaderNodeIntUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
if (hint == HINT_RANGE) {
- return "uniform int " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ");\n";
+ return _get_qual_str() + "uniform int " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ");\n";
} else if (hint == HINT_RANGE_STEP) {
- return "uniform int " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ", " + rtos(hint_range_step) + ");\n";
+ return _get_qual_str() + "uniform int " + get_uniform_name() + " : hint_range(" + rtos(hint_range_min) + ", " + rtos(hint_range_max) + ", " + rtos(hint_range_step) + ");\n";
}
- return "uniform int " + get_uniform_name() + ";\n";
+ return _get_qual_str() + "uniform int " + get_uniform_name() + ";\n";
}
String VisualShaderNodeIntUniform::generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview) const {
@@ -3475,8 +3479,12 @@ void VisualShaderNodeIntUniform::_bind_methods() {
BIND_ENUM_CONSTANT(HINT_RANGE_STEP);
}
+bool VisualShaderNodeIntUniform::is_qualifier_supported(Qualifier p_qual) const {
+ return true; // all qualifiers are supported
+}
+
Vector<StringName> VisualShaderNodeIntUniform::get_editable_properties() const {
- Vector<StringName> props;
+ Vector<StringName> props = VisualShaderNodeUniform::get_editable_properties();
props.push_back("hint");
if (hint == HINT_RANGE || hint == HINT_RANGE_STEP) {
props.push_back("min");
@@ -3526,13 +3534,17 @@ String VisualShaderNodeBooleanUniform::get_output_port_name(int p_port) const {
}
String VisualShaderNodeBooleanUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
- return "uniform bool " + get_uniform_name() + ";\n";
+ return _get_qual_str() + "uniform bool " + get_uniform_name() + ";\n";
}
String VisualShaderNodeBooleanUniform::generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview) const {
return "\t" + p_output_vars[0] + " = " + get_uniform_name() + ";\n";
}
+bool VisualShaderNodeBooleanUniform::is_qualifier_supported(Qualifier p_qual) const {
+ return true; // all qualifiers are supported
+}
+
VisualShaderNodeBooleanUniform::VisualShaderNodeBooleanUniform() {
}
@@ -3568,7 +3580,7 @@ String VisualShaderNodeColorUniform::get_output_port_name(int p_port) const {
String VisualShaderNodeColorUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
- return "uniform vec4 " + get_uniform_name() + " : hint_color;\n";
+ return _get_qual_str() + "uniform vec4 " + get_uniform_name() + " : hint_color;\n";
}
String VisualShaderNodeColorUniform::generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview) const {
@@ -3577,6 +3589,10 @@ String VisualShaderNodeColorUniform::generate_code(Shader::Mode p_mode, VisualSh
return code;
}
+bool VisualShaderNodeColorUniform::is_qualifier_supported(Qualifier p_qual) const {
+ return true; // all qualifiers are supported
+}
+
VisualShaderNodeColorUniform::VisualShaderNodeColorUniform() {
}
@@ -3611,13 +3627,17 @@ String VisualShaderNodeVec3Uniform::get_output_port_name(int p_port) const {
}
String VisualShaderNodeVec3Uniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
- return "uniform vec3 " + get_uniform_name() + ";\n";
+ return _get_qual_str() + "uniform vec3 " + get_uniform_name() + ";\n";
}
String VisualShaderNodeVec3Uniform::generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview) const {
return "\t" + p_output_vars[0] + " = " + get_uniform_name() + ";\n";
}
+bool VisualShaderNodeVec3Uniform::is_qualifier_supported(Qualifier p_qual) const {
+ return true; // all qualifiers are supported
+}
+
VisualShaderNodeVec3Uniform::VisualShaderNodeVec3Uniform() {
}
@@ -3652,13 +3672,17 @@ String VisualShaderNodeTransformUniform::get_output_port_name(int p_port) const
}
String VisualShaderNodeTransformUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
- return "uniform mat4 " + get_uniform_name() + ";\n";
+ return _get_qual_str() + "uniform mat4 " + get_uniform_name() + ";\n";
}
String VisualShaderNodeTransformUniform::generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview) const {
return "\t" + p_output_vars[0] + " = " + get_uniform_name() + ";\n";
}
+bool VisualShaderNodeTransformUniform::is_qualifier_supported(Qualifier p_qual) const {
+ return true; // all qualifiers are supported
+}
+
VisualShaderNodeTransformUniform::VisualShaderNodeTransformUniform() {
}
@@ -3713,7 +3737,7 @@ String VisualShaderNodeTextureUniform::get_output_port_name(int p_port) const {
}
String VisualShaderNodeTextureUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
- String code = "uniform sampler2D " + get_uniform_name();
+ String code = _get_qual_str() + "uniform sampler2D " + get_uniform_name();
switch (texture_type) {
case TYPE_DATA:
@@ -3778,7 +3802,7 @@ VisualShaderNodeTextureUniform::ColorDefault VisualShaderNodeTextureUniform::get
}
Vector<StringName> VisualShaderNodeTextureUniform::get_editable_properties() const {
- Vector<StringName> props;
+ Vector<StringName> props = VisualShaderNodeUniform::get_editable_properties();
props.push_back("texture_type");
props.push_back("color_default");
return props;
@@ -3810,6 +3834,18 @@ String VisualShaderNodeTextureUniform::get_input_port_default_hint(int p_port) c
return "";
}
+bool VisualShaderNodeTextureUniform::is_qualifier_supported(Qualifier p_qual) const {
+ switch (p_qual) {
+ case Qualifier::QUAL_NONE:
+ return true;
+ case Qualifier::QUAL_GLOBAL:
+ return true;
+ case Qualifier::QUAL_INSTANCE:
+ return false;
+ }
+ return false;
+}
+
VisualShaderNodeTextureUniform::VisualShaderNodeTextureUniform() {
texture_type = TYPE_DATA;
color_default = COLOR_DEFAULT_WHITE;
@@ -3952,7 +3988,7 @@ String VisualShaderNodeCubemapUniform::get_input_port_default_hint(int p_port) c
}
String VisualShaderNodeCubemapUniform::generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
- String code = "uniform samplerCube " + get_uniform_name();
+ String code = _get_qual_str() + "uniform samplerCube " + get_uniform_name();
switch (texture_type) {
case TYPE_DATA:
diff --git a/scene/resources/visual_shader_nodes.h b/scene/resources/visual_shader_nodes.h
index 035e39230c..69f42f621a 100644
--- a/scene/resources/visual_shader_nodes.h
+++ b/scene/resources/visual_shader_nodes.h
@@ -1457,6 +1457,8 @@ public:
void set_step(float p_value);
float get_step() const;
+ bool is_qualifier_supported(Qualifier p_qual) const;
+
virtual Vector<StringName> get_editable_properties() const;
VisualShaderNodeFloatUniform();
@@ -1509,6 +1511,8 @@ public:
void set_step(int p_value);
int get_step() const;
+ bool is_qualifier_supported(Qualifier p_qual) const;
+
virtual Vector<StringName> get_editable_properties() const;
VisualShaderNodeIntUniform();
@@ -1535,6 +1539,8 @@ public:
virtual String generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const;
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
+ bool is_qualifier_supported(Qualifier p_qual) const;
+
VisualShaderNodeBooleanUniform();
};
@@ -1557,6 +1563,8 @@ public:
virtual String generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const;
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
+ bool is_qualifier_supported(Qualifier p_qual) const;
+
VisualShaderNodeColorUniform();
};
@@ -1579,6 +1587,8 @@ public:
virtual String generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const;
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
+ bool is_qualifier_supported(Qualifier p_qual) const;
+
VisualShaderNodeVec3Uniform();
};
@@ -1601,6 +1611,8 @@ public:
virtual String generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const;
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const; //if no output is connected, the output var passed will be empty. if no input is connected and input is NIL, the input var passed will be empty
+ bool is_qualifier_supported(Qualifier p_qual) const;
+
VisualShaderNodeTransformUniform();
};
@@ -1652,6 +1664,8 @@ public:
void set_color_default(ColorDefault p_default);
ColorDefault get_color_default() const;
+ bool is_qualifier_supported(Qualifier p_qual) const;
+
VisualShaderNodeTextureUniform();
};
diff --git a/servers/register_server_types.cpp b/servers/register_server_types.cpp
index 60217002fb..eb92cf55e3 100644
--- a/servers/register_server_types.cpp
+++ b/servers/register_server_types.cpp
@@ -218,6 +218,7 @@ void register_server_singletons() {
Engine::get_singleton()->add_singleton(Engine::Singleton("DisplayServer", DisplayServer::get_singleton()));
Engine::get_singleton()->add_singleton(Engine::Singleton("RenderingServer", RenderingServer::get_singleton()));
+ Engine::get_singleton()->add_singleton(Engine::Singleton("RenderingDevice", RenderingDevice::get_singleton()));
Engine::get_singleton()->add_singleton(Engine::Singleton("AudioServer", AudioServer::get_singleton()));
Engine::get_singleton()->add_singleton(Engine::Singleton("PhysicsServer2D", PhysicsServer2D::get_singleton()));
Engine::get_singleton()->add_singleton(Engine::Singleton("PhysicsServer3D", PhysicsServer3D::get_singleton()));
diff --git a/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp
index b3cf40f166..6986f82065 100644
--- a/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp
+++ b/servers/rendering/rasterizer_rd/rasterizer_scene_high_end_rd.cpp
@@ -1720,6 +1720,16 @@ void RasterizerSceneHighEndRD::_setup_lights(RID *p_light_cull_result, int p_lig
light_data.shadow_enabled = p_using_shadows && storage->light_has_shadow(base);
+ float angular_diameter = storage->light_get_param(base, RS::LIGHT_PARAM_SIZE);
+ if (angular_diameter > 0.0) {
+ // I know tan(0) is 0, but let's not risk it with numerical precision.
+ // technically this will keep expanding until reaching the sun, but all we care
+ // is expand until we reach the radius of the near plane (there can't be more occluders than that)
+ angular_diameter = Math::tan(Math::deg2rad(angular_diameter));
+ } else {
+ angular_diameter = 0.0;
+ }
+
if (light_data.shadow_enabled) {
RS::LightDirectionalShadowMode smode = storage->light_directional_get_shadow_mode(base);
@@ -1775,15 +1785,9 @@ void RasterizerSceneHighEndRD::_setup_lights(RID *p_light_cull_result, int p_lig
light_data.fade_to = -light_data.shadow_split_offsets[3];
light_data.soft_shadow_scale = storage->light_get_param(base, RS::LIGHT_PARAM_SHADOW_BLUR);
+ light_data.softshadow_angle = angular_diameter;
- float softshadow_angle = storage->light_get_param(base, RS::LIGHT_PARAM_SIZE);
- if (softshadow_angle > 0.0) {
- // I know tan(0) is 0, but let's not risk it with numerical precision.
- // technically this will keep expanding until reaching the sun, but all we care
- // is expand until we reach the radius of the near plane (there can't be more occluders than that)
- light_data.softshadow_angle = Math::tan(Math::deg2rad(softshadow_angle));
- } else {
- light_data.softshadow_angle = 0;
+ if (angular_diameter <= 0.0) {
light_data.soft_shadow_scale *= directional_shadow_quality_radius_get(); // Only use quality radius for PCF
}
}
@@ -1806,7 +1810,7 @@ void RasterizerSceneHighEndRD::_setup_lights(RID *p_light_cull_result, int p_lig
sky_light_data.color[2] = light_data.color[2];
sky_light_data.enabled = true;
- sky_light_data.size = light_data.softshadow_angle;
+ sky_light_data.size = angular_diameter;
sky_scene_state.directional_light_count++;
}
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 5821ca1424..1a3588e0e0 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -422,6 +422,7 @@ Collection of single-file libraries used in Godot components.
* Upstream: https://github.com/nothings/stb
* Version: 1.19
* License: Public Domain (Unlicense) or MIT
+ * Modifications: `f->temp_offset += (sz+3)&~3;` changed to `f->temp_offset += (sz+7)&~7;` (needed until fixed upstream)
## nanosvg
diff --git a/thirdparty/misc/stb_vorbis.c b/thirdparty/misc/stb_vorbis.c
index b28944a4d9..b0d79b1724 100644
--- a/thirdparty/misc/stb_vorbis.c
+++ b/thirdparty/misc/stb_vorbis.c
@@ -961,7 +961,7 @@ static void *setup_temp_malloc(vorb *f, int sz)
static void setup_temp_free(vorb *f, void *p, int sz)
{
if (f->alloc.alloc_buffer) {
- f->temp_offset += (sz+3)&~3;
+ f->temp_offset += (sz+7)&~7;
return;
}
free(p);