summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap1
-rw-r--r--AUTHORS.md2
-rw-r--r--CHANGELOG.md21
-rw-r--r--CONTRIBUTING.md4
-rw-r--r--DONORS.md2
-rw-r--r--core/color.cpp2
-rw-r--r--core/image.cpp6
-rw-r--r--core/message_queue.cpp6
-rw-r--r--doc/classes/ArrayMesh.xml2
-rw-r--r--doc/classes/CharFXTransform.xml2
-rw-r--r--doc/classes/GraphNode.xml2
-rw-r--r--doc/classes/Light2D.xml2
-rw-r--r--doc/classes/LightOccluder2D.xml2
-rw-r--r--doc/classes/Line2D.xml1
-rw-r--r--doc/classes/MeshInstance2D.xml2
-rw-r--r--doc/classes/MultiMesh.xml4
-rw-r--r--doc/classes/MultiMeshInstance.xml6
-rw-r--r--doc/classes/Particles.xml2
-rw-r--r--doc/classes/Polygon2D.xml1
-rw-r--r--doc/classes/RichTextEffect.xml2
-rw-r--r--doc/classes/ShaderMaterial.xml2
-rw-r--r--doc/classes/Skeleton2D.xml2
-rw-r--r--doc/classes/SpatialMaterial.xml2
-rw-r--r--doc/classes/TileSet.xml2
-rw-r--r--doc/classes/Viewport.xml2
-rw-r--r--doc/classes/VisualServer.xml2
-rw-r--r--doc/classes/VisualShaderNode.xml1
-rw-r--r--doc/classes/VisualShaderNodeCubeMap.xml10
-rw-r--r--doc/classes/VisualShaderNodeCubeMapUniform.xml2
-rw-r--r--doc/classes/VisualShaderNodeCustom.xml2
-rw-r--r--doc/classes/VisualShaderNodeDeterminant.xml2
-rw-r--r--doc/classes/VisualShaderNodeDotProduct.xml2
-rw-r--r--doc/classes/VisualShaderNodeExpression.xml11
-rw-r--r--doc/classes/VisualShaderNodeFaceForward.xml2
-rw-r--r--doc/classes/VisualShaderNodeFresnel.xml2
-rw-r--r--doc/classes/VisualShaderNodeGlobalExpression.xml5
-rw-r--r--doc/classes/VisualShaderNodeGroupBase.xml58
-rw-r--r--drivers/gles2/shader_compiler_gles2.cpp2
-rw-r--r--drivers/gles3/shader_compiler_gles3.cpp2
-rw-r--r--editor/code_editor.cpp3
-rw-r--r--editor/editor_help.cpp34
-rw-r--r--editor/editor_profiler.cpp30
-rw-r--r--editor/editor_themes.cpp99
-rw-r--r--editor/inspector_dock.cpp1
-rw-r--r--editor/plugins/tile_map_editor_plugin.cpp11
-rw-r--r--editor/rename_dialog.cpp51
-rw-r--r--editor/rename_dialog.h2
-rw-r--r--editor/script_create_dialog.cpp2
-rw-r--r--editor/script_editor_debugger.cpp21
-rw-r--r--editor/translations/af.po19
-rw-r--r--editor/translations/ar.po19
-rw-r--r--editor/translations/bg.po7
-rw-r--r--editor/translations/bn.po21
-rw-r--r--editor/translations/ca.po98
-rw-r--r--editor/translations/cs.po19
-rw-r--r--editor/translations/da.po19
-rw-r--r--editor/translations/de.po19
-rw-r--r--editor/translations/de_CH.po7
-rw-r--r--editor/translations/editor.pot7
-rw-r--r--editor/translations/el.po423
-rw-r--r--editor/translations/eo.po7
-rw-r--r--editor/translations/es.po24
-rw-r--r--editor/translations/es_AR.po26
-rw-r--r--editor/translations/et.po7
-rw-r--r--editor/translations/eu.po7
-rw-r--r--editor/translations/fa.po7
-rw-r--r--editor/translations/fi.po24
-rw-r--r--editor/translations/fil.po7
-rw-r--r--editor/translations/fr.po19
-rw-r--r--editor/translations/ga.po7
-rw-r--r--editor/translations/he.po7
-rw-r--r--editor/translations/hi.po7
-rw-r--r--editor/translations/hr.po7
-rw-r--r--editor/translations/hu.po19
-rw-r--r--editor/translations/id.po19
-rw-r--r--editor/translations/is.po7
-rw-r--r--editor/translations/it.po37
-rw-r--r--editor/translations/ja.po45
-rw-r--r--editor/translations/ka.po7
-rw-r--r--editor/translations/ko.po24
-rw-r--r--editor/translations/lt.po7
-rw-r--r--editor/translations/lv.po7
-rw-r--r--editor/translations/mi.po7
-rw-r--r--editor/translations/ml.po7
-rw-r--r--editor/translations/mr.po7
-rw-r--r--editor/translations/ms.po23
-rw-r--r--editor/translations/nb.po19
-rw-r--r--editor/translations/nl.po40
-rw-r--r--editor/translations/or.po7
-rw-r--r--editor/translations/pl.po30
-rw-r--r--editor/translations/pr.po7
-rw-r--r--editor/translations/pt_BR.po43
-rw-r--r--editor/translations/pt_PT.po24
-rw-r--r--editor/translations/ro.po19
-rw-r--r--editor/translations/ru.po23
-rw-r--r--editor/translations/si.po7
-rw-r--r--editor/translations/sk.po7
-rw-r--r--editor/translations/sl.po18
-rw-r--r--editor/translations/sq.po19
-rw-r--r--editor/translations/sr_Cyrl.po19
-rw-r--r--editor/translations/sr_Latn.po7
-rw-r--r--editor/translations/sv.po19
-rw-r--r--editor/translations/ta.po7
-rw-r--r--editor/translations/te.po7
-rw-r--r--editor/translations/th.po17
-rw-r--r--editor/translations/tr.po19
-rw-r--r--editor/translations/uk.po24
-rw-r--r--editor/translations/ur_PK.po7
-rw-r--r--editor/translations/vi.po7
-rw-r--r--editor/translations/zh_CN.po22
-rw-r--r--editor/translations/zh_HK.po7
-rw-r--r--editor/translations/zh_TW.po17
-rw-r--r--main/main.cpp4
-rw-r--r--misc/dist/linux/godot.62
-rwxr-xr-xmisc/dist/osx_tools.app/Contents/Info.plist4
-rw-r--r--misc/dist/shell/godot.bash-completion124
-rw-r--r--modules/gdscript/language_server/gdscript_extend_parser.cpp2
-rw-r--r--modules/mono/glue/GodotSharp/GodotSharp/Core/Extensions/NodeExtensions.cs2
-rw-r--r--modules/opensimplex/doc_classes/OpenSimplexNoise.xml3
-rw-r--r--modules/opensimplex/open_simplex_noise.cpp9
-rw-r--r--modules/opensimplex/open_simplex_noise.h7
-rw-r--r--modules/svg/image_loader_svg.cpp13
-rw-r--r--modules/websocket/doc_classes/WebSocketPeer.xml10
-rw-r--r--modules/websocket/emws_peer.cpp5
-rw-r--r--modules/websocket/emws_peer.h1
-rw-r--r--modules/websocket/websocket_peer.cpp1
-rw-r--r--modules/websocket/websocket_peer.h1
-rw-r--r--modules/websocket/wsl_client.cpp1
-rw-r--r--modules/websocket/wsl_peer.cpp6
-rw-r--r--modules/websocket/wsl_peer.h1
-rw-r--r--modules/websocket/wsl_server.cpp1
-rw-r--r--platform/android/export/export.cpp21
-rw-r--r--platform/android/java/app/build.gradle2
-rw-r--r--platform/android/java/app/config.gradle4
-rw-r--r--platform/android/java/lib/build.gradle2
-rw-r--r--platform/javascript/http_request.js3
-rw-r--r--platform/javascript/id_handler.js5
-rw-r--r--platform/osx/detect.py18
-rw-r--r--platform/osx/os_osx.mm26
-rw-r--r--scene/gui/label.cpp1
-rw-r--r--scene/gui/tab_container.cpp16
-rw-r--r--scene/gui/tab_container.h2
-rw-r--r--scene/resources/material.h2
-rw-r--r--scene/resources/tile_set.cpp1
-rw-r--r--scene/resources/visual_shader.cpp14
-rw-r--r--scene/resources/visual_shader.h2
-rw-r--r--scene/resources/visual_shader_nodes.cpp24
-rw-r--r--version.py6
148 files changed, 1071 insertions, 1186 deletions
diff --git a/.mailmap b/.mailmap
index 84337164ba..9c930c773c 100644
--- a/.mailmap
+++ b/.mailmap
@@ -18,6 +18,7 @@ Bastiaan Olij <mux213@gmail.com>
Benjamin <mafortion.benjamin@gmail.com>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.de>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.org>
+Bruno Lourenço <madequa@users.noreply.github.com> <bmlourenco@gmail.com>
Chaosus <chaosus89@gmail.com>
Chris Bradfield <chris@kidscancode.org> <cb@scribe.net>
Clay John <claynjohn@gmail.com>
diff --git a/AUTHORS.md b/AUTHORS.md
index cbc5bd0762..8be2d05455 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -46,6 +46,7 @@ name is available.
Bernard Liebl (poke1024)
Błażej Szczygieł (zaps166)
Bojidar Marinov (bojidar-bg)
+ Bruno Lourenço (MadEqua)
bruvzg
Cameron Reikes (creikey)
Camille Mohr-Daurat (pouleyKetchoupp)
@@ -65,6 +66,7 @@ name is available.
Emmanuel Leblond (touilleMan)
Eoin O'Neill (Eoin-ONeill-Yokai)
Eric Lasota (elasota)
+ Eric Rybicki (ericrybick)
Erik Selecký (rxlecky)
est31
Fabian Mathews (supagu)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c7202cabb8..f2224c8a7e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,9 +2,9 @@
All notable changes to this project will be documented in this file.
-The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-## [3.2] - YYYY-MM-DD
+## [3.2] - 2020-01-29
### Added
@@ -161,7 +161,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- `Light.use_gi_probe` property to exclude specific lights from GIProbe computations.
- TranslationServer method `get_loaded_locales()` to retrieve the list of languages with a translation loaded.
- `FRUSTUM` 3D camera mode to create tilted frustums for mirror or portal effects.
-- `Camera.project_position()` now accepts an optional `depth` parameter.
- `CanvasItem.draw_rect()` now has `width` and `antialiased` properties to match `draw_line()`'s functionality.
- `Engine.get_idle_frames()` and `Engine.get_physics_frames()` to get the number of idle and physics frame iterations since the project started.
- Unlike `Engine.get_frames_drawn()`, `Engine.get_idle_frames()` will be incremented even if the render loop is disabled.
@@ -376,6 +375,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Functions called from a signal can no longer disconnect the node from the signal they're connected to (unless using `call_deferred()`).
- Tabs and space indentation can no longer be mixed in the same GDScript file.
- Each file must now use only tabs or spaces for indentation (not both).
+- `assert()` in GDScript must now always be used with parentheses.
+ - `assert(true)` is still valid, but `assert true` isn't valid anymore.
+ - This is to account for the optional second parameter that defines a custom message.
- The "Trim" and "Normalize" WAV import options are now disabled by default.
- This makes the default behavior more consistent with Ogg import.
- Ogg samples now have an icon in the editor, like WAV samples.
@@ -449,7 +451,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Decreased the `rotation_degrees` range in various nodes to -360..360 to be easier to adjust using the slider.
- Lower and higher values can still be entered manually, which is useful for animation purposes.
- The default RichTextLabel color is now `#ffffff`, matching the default Label color for better consistency.
-- Label's `visible_characters` property now takes spaces into account to be consistent with RichTextLabel.
- SpinBoxes now calculate the entered value using the Expression class.
- For example, writing `2 + 2` in a SpinBox then pressing Enter will result in `4`.
- Saved resources no longer contain dependency indices and metadata such as node folding, resulting in more VCS-friendly files.
@@ -779,7 +780,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- unreachable code after a `return` statement,
- …
- Warnings can be disabled in the Project Settings or by writing special comments.
-- [GDScript keyword `class_name` to register scripts as classes.](http://docs.godotengine.org/en/latest/getting_started/step_by_step/scripting_continued.html#register-scripts-as-classes)
+- [GDScript keyword `class_name` to register scripts as classes.](https://docs.godotengine.org/en/latest/getting_started/step_by_step/scripting_continued.html#register-scripts-as-classes)
- Simple expression language independent from GDScript, used by inspector boxes that accept numeric values.
- Can also be used in projects.
- C# projects can now be exported for Windows, Linux, and macOS targets.
@@ -1008,7 +1009,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Rewritten audio engine from scratch.
- Supports audio routing with arbitrary number of channels, including Area-based audio redirection ([video](https://youtu.be/K2XOBaJ5OQ0)).
- More than a dozen of audio effects included.
-- Rewritten 3D physics using [Bullet](http://bulletphysics.org/).
+- Rewritten 3D physics using [Bullet](https://bulletphysics.org/).
- UDP-based high-level networking API using [ENet](http://enet.bespin.org/).
- IPv6 support for all of the engine's networking APIs.
- Visual scripting.
@@ -1026,7 +1027,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Setters and getters for node properties.
- Underscores in number literals are now allowed for improved readability (for example,`1_000_000`).
- Improved performance (+20% to +40%, based on various benchmarks).
-- [Feature tags](http://docs.godotengine.org/en/latest/getting_started/workflow/export/feature_tags.html) in the Project Settings, for custom per-platform settings.
+- [Feature tags](https://docs.godotengine.org/en/latest/getting_started/workflow/export/feature_tags.html) in the Project Settings, for custom per-platform settings.
- Full support for the [glTF 2.0](https://www.khronos.org/gltf/) 3D interchange format.
- Freelook and fly navigation to the 3D editor.
- Built-in editor logging (logging standard output to a file), disabled by default.
@@ -1079,7 +1080,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Exporting to Windows now changes the exported project's icon using `rcedit` (requires WINE if exporting from Linux or macOS).
- Improved build system.
- Support for compiling using Visual Studio 2017.
- - [SCons](http://scons.org/) 3.0 and Python 3 are now supported (SCons 2.5 and Python 2.7 still work).
+ - [SCons](https://scons.org/) 3.0 and Python 3 are now supported (SCons 2.5 and Python 2.7 still work).
- Link-time optimization can now be enabled by passing `use_lto=yes` to the SCons command line.
- Produces faster and sometimes smaller binaries.
- Currently only supported with GCC and MSVC.
@@ -1094,11 +1095,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Increased the default 3D editor camera's field of view (55 → 70).
- Increased the default 3D Camera node's field of view (65 → 70).
- Changed the default editor font (Droid Sans → [Noto Sans](https://www.google.com/get/noto/)).
-- Changed the default script editor font (Source Code Pro → [Hack](http://sourcefoundry.org/hack/))
+- Changed the default script editor font (Source Code Pro → [Hack](https://sourcefoundry.org/hack/))
- Renamed `engine.cfg` to `project.godot`.
- This allows users to open a project by double-clicking the file if Godot is associated to `.godot` files.
- Some methods from the `OS` singleton were moved to the new `Engine` singleton.
-- Switched from [GLEW](http://glew.sourceforge.net/) to [GLAD](http://glad.dav1d.de/) for OpenGL wrapping.
+- Switched from [GLEW](http://glew.sourceforge.net/) to [GLAD](https://glad.dav1d.de/) for OpenGL wrapping.
- Changed the SCons build flag for simple logs (`colored=yes` → `verbose=no`).
- The HTML5 platform now uses WebGL 2.0 (instead of 1.0).
- Redesigned the Godot logo to be more legible at small sizes.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c27bee2b5c..b1afaaccfd 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -80,7 +80,7 @@ In addition to the following tips, also take a look at the
[Engine development guide](https://docs.godotengine.org/en/latest/development/cpp/)
for an introduction to developing on Godot.
-The [Contributing docs](http://docs.godotengine.org/en/latest/community/contributing/index.html)
+The [Contributing docs](https://docs.godotengine.org/en/latest/community/contributing/index.html)
also have important information on the PR workflow and the code style we use.
#### Be nice to the git history
@@ -102,7 +102,7 @@ Internet).
This git style guide has some good practices to have in mind:
[Git Style Guide](https://github.com/agis-/git-style-guide)
-See our [PR workflow](http://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html)
+See our [PR workflow](https://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html)
documentation for tips on using Git, amending commits and rebasing branches.
#### Format your commit logs with readability in mind
diff --git a/DONORS.md b/DONORS.md
index df066bc16c..b0f0c138ee 100644
--- a/DONORS.md
+++ b/DONORS.md
@@ -322,7 +322,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Jako Danar
James A F Manley
Jannik Gröger
- Jarrod Davis
Jax
Jeff Hungerford
Jennifer Graves
@@ -464,6 +463,7 @@ generous deed immortalized in the next stable release of Godot Engine.
tiansheng li
Tim Drumheller
Timothy B. MacDonald
+ tinyBigGames LLC
Tobbun
Tom Fulp
Tom Glenn
diff --git a/core/color.cpp b/core/color.cpp
index 5cbe02067e..1baa8af45d 100644
--- a/core/color.cpp
+++ b/core/color.cpp
@@ -511,7 +511,7 @@ Color Color::from_hsv(float p_h, float p_s, float p_v, float p_a) const {
// FIXME: Remove once Godot 3.1 has been released
float Color::gray() const {
- WARN_DEPRECATED_MSG("Color.gray() is deprecated and will be removed in a future version. Use Color.get_v() for a better grayscale approximation.");
+ WARN_DEPRECATED_MSG("'Color.gray()' is deprecated and will be removed in a future version. Use 'Color.v' for a better grayscale approximation.");
return (r + g + b) / 3.0;
}
diff --git a/core/image.cpp b/core/image.cpp
index 18d0653bae..f43c26ab19 100644
--- a/core/image.cpp
+++ b/core/image.cpp
@@ -421,6 +421,8 @@ void Image::convert(Format p_new_format) {
if (p_new_format == format)
return;
+ ERR_FAIL_COND_MSG(write_lock.ptr(), "Cannot convert image when it is locked.");
+
if (format > FORMAT_RGBE9995 || p_new_format > FORMAT_RGBE9995) {
ERR_FAIL_MSG("Cannot convert to <-> from compressed formats. Use compress() and decompress() instead.");
@@ -880,8 +882,8 @@ void Image::resize_to_po2(bool p_square) {
void Image::resize(int p_width, int p_height, Interpolation p_interpolation) {
ERR_FAIL_COND_MSG(data.size() == 0, "Cannot resize image before creating it, use create() or create_from_data() first.");
-
ERR_FAIL_COND_MSG(!_can_modify(format), "Cannot resize in compressed or custom image formats.");
+ ERR_FAIL_COND_MSG(write_lock.ptr(), "Cannot resize image when it is locked.");
bool mipmap_aware = p_interpolation == INTERPOLATE_TRILINEAR /* || p_interpolation == INTERPOLATE_TRICUBIC */;
@@ -2063,6 +2065,7 @@ void Image::blit_rect(const Ref<Image> &p_src, const Rect2 &p_src_rect, const Po
ERR_FAIL_COND(dsize == 0);
ERR_FAIL_COND(srcdsize == 0);
ERR_FAIL_COND(format != p_src->format);
+ ERR_FAIL_COND_MSG(!_can_modify(format), "Cannot blit_rect in compressed or custom image formats.");
Rect2i clipped_src_rect = Rect2i(0, 0, p_src->width, p_src->height).clip(p_src_rect);
@@ -2283,6 +2286,7 @@ void Image::blend_rect_mask(const Ref<Image> &p_src, const Ref<Image> &p_mask, c
}
void Image::fill(const Color &c) {
+ ERR_FAIL_COND_MSG(!_can_modify(format), "Cannot fill in compressed or custom image formats.");
lock();
diff --git a/core/message_queue.cpp b/core/message_queue.cpp
index d130934826..64ceec5ee4 100644
--- a/core/message_queue.cpp
+++ b/core/message_queue.cpp
@@ -52,7 +52,7 @@ Error MessageQueue::push_call(ObjectID p_id, const StringName &p_method, const V
type = ObjectDB::get_instance(p_id)->get_class();
print_line("Failed method: " + type + ":" + p_method + " target ID: " + itos(p_id));
statistics();
- ERR_FAIL_V_MSG(ERR_OUT_OF_MEMORY, "Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings.");
+ ERR_FAIL_V_MSG(ERR_OUT_OF_MEMORY, "Message queue out of memory. Try increasing 'memory/limits/message_queue/max_size_kb' in project settings.");
}
Message *msg = memnew_placement(&buffer[buffer_end], Message);
@@ -102,7 +102,7 @@ Error MessageQueue::push_set(ObjectID p_id, const StringName &p_prop, const Vari
type = ObjectDB::get_instance(p_id)->get_class();
print_line("Failed set: " + type + ":" + p_prop + " target ID: " + itos(p_id));
statistics();
- ERR_FAIL_V_MSG(ERR_OUT_OF_MEMORY, "Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings.");
+ ERR_FAIL_V_MSG(ERR_OUT_OF_MEMORY, "Message queue out of memory. Try increasing 'memory/limits/message_queue/max_size_kb' in project settings.");
}
Message *msg = memnew_placement(&buffer[buffer_end], Message);
@@ -131,7 +131,7 @@ Error MessageQueue::push_notification(ObjectID p_id, int p_notification) {
if ((buffer_end + room_needed) >= buffer_size) {
print_line("Failed notification: " + itos(p_notification) + " target ID: " + itos(p_id));
statistics();
- ERR_FAIL_V_MSG(ERR_OUT_OF_MEMORY, "Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings.");
+ ERR_FAIL_V_MSG(ERR_OUT_OF_MEMORY, "Message queue out of memory. Try increasing 'memory/limits/message_queue/max_size_kb' in project settings.");
}
Message *msg = memnew_placement(&buffer[buffer_end], Message);
diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml
index acd00d7ee4..20f8b2ab60 100644
--- a/doc/classes/ArrayMesh.xml
+++ b/doc/classes/ArrayMesh.xml
@@ -24,7 +24,7 @@
The [MeshInstance] is ready to be added to the [SceneTree] to be shown.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/content/procedural_geometry/arraymesh.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/content/procedural_geometry/arraymesh.html</link>
</tutorials>
<methods>
<method name="add_blend_shape">
diff --git a/doc/classes/CharFXTransform.xml b/doc/classes/CharFXTransform.xml
index cc29ea40b7..0bc86716b0 100644
--- a/doc/classes/CharFXTransform.xml
+++ b/doc/classes/CharFXTransform.xml
@@ -7,7 +7,7 @@
By setting various properties on this object, you can control how individual characters will be displayed in a [RichTextEffect].
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/gui/bbcode_in_richtextlabel.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/gui/bbcode_in_richtextlabel.html</link>
<link>https://github.com/Eoin-ONeill-Yokai/Godot-Rich-Text-Effect-Test-Project</link>
</tutorials>
<methods>
diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml
index 30cf1d01bc..fe2d5d4d86 100644
--- a/doc/classes/GraphNode.xml
+++ b/doc/classes/GraphNode.xml
@@ -4,7 +4,7 @@
A GraphNode is a container with potentially several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types.
</brief_description>
<description>
- A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes refered to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any [Control]-derived child node to it.
+ A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes referred to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any [Control]-derived child node to it.
After adding at least one child to GraphNode new sections will be automatically created in the Inspector called 'Slot'. When 'Slot' is expanded you will see list with index number for each slot. You can click on each of them to expand further.
In the Inspector you can enable (show) or disable (hide) slots. By default all slots are disabled so you may not see any slots on your GraphNode initially. You can assign a type to each slot. Only slots of the same type will be able to connect to each other. You can also assign colors to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input connections are on the left and output connections are on the right side of GraphNode. Only enabled slots are counted as connections.
</description>
diff --git a/doc/classes/Light2D.xml b/doc/classes/Light2D.xml
index d761444f09..b3282650e7 100644
--- a/doc/classes/Light2D.xml
+++ b/doc/classes/Light2D.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] Light2D can also be used as a mask.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link>
</tutorials>
<methods>
</methods>
diff --git a/doc/classes/LightOccluder2D.xml b/doc/classes/LightOccluder2D.xml
index b4c58db563..29fed7e7f9 100644
--- a/doc/classes/LightOccluder2D.xml
+++ b/doc/classes/LightOccluder2D.xml
@@ -7,7 +7,7 @@
Occludes light cast by a Light2D, casting shadows. The LightOccluder2D must be provided with an [OccluderPolygon2D] in order for the shadow to be computed.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link>
</tutorials>
<methods>
</methods>
diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml
index aa3739cf74..342683cc29 100644
--- a/doc/classes/Line2D.xml
+++ b/doc/classes/Line2D.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
A line through several points in 2D space.
+ [b]Note:[/b] By default, Godot can only draw up to 4,096 polygon points at a time. To increase this limit, open the Project Settings and increase [member ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb] and [member ProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml
index d3d7ce6b34..74d8516cbc 100644
--- a/doc/classes/MeshInstance2D.xml
+++ b/doc/classes/MeshInstance2D.xml
@@ -7,7 +7,7 @@
Node used for displaying a [Mesh] in 2D. Can be constructed from an existing [Sprite] via a tool in the editor toolbar. Select "Sprite" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D".
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_meshes.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/2d/2d_meshes.html</link>
</tutorials>
<methods>
</methods>
diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml
index 963234e451..74e94d4983 100644
--- a/doc/classes/MultiMesh.xml
+++ b/doc/classes/MultiMesh.xml
@@ -10,8 +10,8 @@
Since instances may have any behavior, the AABB used for visibility must be provided by the user.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/animating_thousands_of_fish.html</link>
- <link>http://docs.godotengine.org/en/latest/tutorials/optimization/using_multimesh.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/animating_thousands_of_fish.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/optimization/using_multimesh.html</link>
</tutorials>
<methods>
<method name="get_aabb" qualifiers="const">
diff --git a/doc/classes/MultiMeshInstance.xml b/doc/classes/MultiMeshInstance.xml
index e6ebdaa12f..feeb5c4a8c 100644
--- a/doc/classes/MultiMeshInstance.xml
+++ b/doc/classes/MultiMeshInstance.xml
@@ -8,9 +8,9 @@
This is useful to optimize the rendering of a high amount of instances of a given mesh (for example trees in a forest or grass strands).
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/animating_thousands_of_fish.html</link>
- <link>http://docs.godotengine.org/en/latest/tutorials/3d/using_multi_mesh_instance.html</link>
- <link>http://docs.godotengine.org/en/latest/tutorials/optimization/using_multimesh.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/animating_thousands_of_fish.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/3d/using_multi_mesh_instance.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/optimization/using_multimesh.html</link>
</tutorials>
<methods>
</methods>
diff --git a/doc/classes/Particles.xml b/doc/classes/Particles.xml
index 866dfd63df..e51edd1135 100644
--- a/doc/classes/Particles.xml
+++ b/doc/classes/Particles.xml
@@ -8,7 +8,7 @@
Use the [code]process_material[/code] property to add a [ParticlesMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/controlling_thousands_of_fish.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/controlling_thousands_of_fish.html</link>
</tutorials>
<methods>
<method name="capture_aabb" qualifiers="const">
diff --git a/doc/classes/Polygon2D.xml b/doc/classes/Polygon2D.xml
index 3f6da2baf8..889c55780a 100644
--- a/doc/classes/Polygon2D.xml
+++ b/doc/classes/Polygon2D.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
A Polygon2D is defined by a set of points. Each point is connected to the next, with the final point being connected to the first, resulting in a closed polygon. Polygon2Ds can be filled with color (solid or gradient) or filled with a given texture.
+ [b]Note:[/b] By default, Godot can only draw up to 4,096 polygon points at a time. To increase this limit, open the Project Settings and increase [member ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb] and [member ProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/RichTextEffect.xml b/doc/classes/RichTextEffect.xml
index e6388a5c85..f16fff16b8 100644
--- a/doc/classes/RichTextEffect.xml
+++ b/doc/classes/RichTextEffect.xml
@@ -13,7 +13,7 @@
[b]Note:[/b] As soon as a [RichTextLabel] contains at least one [RichTextEffect], it will continuously process the effect unless the project is paused. This may impact battery life negatively.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/gui/bbcode_in_richtextlabel.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/gui/bbcode_in_richtextlabel.html</link>
<link>https://github.com/Eoin-ONeill-Yokai/Godot-Rich-Text-Effect-Test-Project</link>
</tutorials>
<methods>
diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml
index f7a93275b1..1b135b0329 100644
--- a/doc/classes/ShaderMaterial.xml
+++ b/doc/classes/ShaderMaterial.xml
@@ -7,7 +7,7 @@
A material that uses a custom [Shader] program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/shading/index.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/shading/index.html</link>
</tutorials>
<methods>
<method name="get_shader_param" qualifiers="const">
diff --git a/doc/classes/Skeleton2D.xml b/doc/classes/Skeleton2D.xml
index 6bc870f70e..a76b3b5d12 100644
--- a/doc/classes/Skeleton2D.xml
+++ b/doc/classes/Skeleton2D.xml
@@ -6,7 +6,7 @@
<description>
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/animation/2d_skeletons.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/animation/2d_skeletons.html</link>
</tutorials>
<methods>
<method name="get_bone">
diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml
index 500e89e19b..6eeb10b660 100644
--- a/doc/classes/SpatialMaterial.xml
+++ b/doc/classes/SpatialMaterial.xml
@@ -16,7 +16,7 @@
<argument index="0" name="feature" type="int" enum="SpatialMaterial.Feature">
</argument>
<description>
- Returns [code]true[/code], if the specifed [enum Feature] is enabled.
+ Returns [code]true[/code], if the specified [enum Feature] is enabled.
</description>
</method>
<method name="get_flag" qualifiers="const">
diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml
index c978f0a444..0c7a68339b 100644
--- a/doc/classes/TileSet.xml
+++ b/doc/classes/TileSet.xml
@@ -749,6 +749,8 @@
</constant>
<constant name="BIND_LEFT" value="8" enum="AutotileBindings">
</constant>
+ <constant name="BIND_CENTER" value="16" enum="AutotileBindings">
+ </constant>
<constant name="BIND_RIGHT" value="32" enum="AutotileBindings">
</constant>
<constant name="BIND_BOTTOMLEFT" value="64" enum="AutotileBindings">
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 0b50e1b4b7..c9afc9b1bf 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -253,7 +253,7 @@
If [code]true[/code], the result after 3D rendering will not have a linear to sRGB color conversion applied. This is important when the viewport is used as a render target where the result is used as a texture on a 3D object rendered in another viewport. It is also important if the viewport is used to create data that is not color based (noise, heightmaps, pickmaps, etc.). Do not enable this when the viewport is used as a texture on a 2D object or if the viewport is your final output.
</member>
<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 targetting very high-end systems.
+ 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 [World] defined in [code]world[/code] property.
diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml
index 75cf83edc7..3258e8cec4 100644
--- a/doc/classes/VisualServer.xml
+++ b/doc/classes/VisualServer.xml
@@ -15,7 +15,7 @@
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.
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/optimization/using_servers.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/optimization/using_servers.html</link>
</tutorials>
<methods>
<method name="black_bars_set_images">
diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml
index 8bad6412d3..14176e009b 100644
--- a/doc/classes/VisualShaderNode.xml
+++ b/doc/classes/VisualShaderNode.xml
@@ -5,6 +5,7 @@
<description>
</description>
<tutorials>
+ <link>https://docs.godotengine.org/en/latest/tutorials/shading/visual_shaders.html</link>
</tutorials>
<methods>
<method name="get_default_input_values" qualifiers="const">
diff --git a/doc/classes/VisualShaderNodeCubeMap.xml b/doc/classes/VisualShaderNodeCubeMap.xml
index e90edd9420..fbc97b41a3 100644
--- a/doc/classes/VisualShaderNodeCubeMap.xml
+++ b/doc/classes/VisualShaderNodeCubeMap.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeCubeMap" inherits="VisualShaderNode" version="3.2">
<brief_description>
+ A [CubeMap] sampling node to be used within the visual shader graph.
</brief_description>
<description>
+ Translated to [code]texture(cubemap, vec3)[/code] in the shader language. Returns a color vector and alpha channel as scalar.
</description>
<tutorials>
</tutorials>
@@ -10,22 +12,30 @@
</methods>
<members>
<member name="cube_map" type="CubeMap" setter="set_cube_map" getter="get_cube_map">
+ The [CubeMap] texture to sample when using [constant SOURCE_TEXTURE] as [member source].
</member>
<member name="source" type="int" setter="set_source" getter="get_source" enum="VisualShaderNodeCubeMap.Source" default="0">
+ Defines which source should be used for the sampling. See [enum Source] for options.
</member>
<member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeCubeMap.TextureType" default="0">
+ Defines the type of data provided by the source texture. See [enum TextureType] for options.
</member>
</members>
<constants>
<constant name="SOURCE_TEXTURE" value="0" enum="Source">
+ Use the [CubeMap] set via [member cube_map]. If this is set to [member source], the [code]samplerCube[/code] port is ignored.
</constant>
<constant name="SOURCE_PORT" value="1" enum="Source">
+ Use the [CubeMap] sampler reference passed via the [code]samplerCube[/code] port. If this is set to [member source], the [member cube_map] texture is ignored.
</constant>
<constant name="TYPE_DATA" value="0" enum="TextureType">
+ No hints are added to the uniform declaration.
</constant>
<constant name="TYPE_COLOR" value="1" enum="TextureType">
+ Adds [code]hint_albedo[/code] as hint to the uniform declaration for proper sRGB to linear conversion.
</constant>
<constant name="TYPE_NORMALMAP" value="2" enum="TextureType">
+ Adds [code]hint_normal[/code] as hint to the uniform declaration, which internally converts the texture for proper usage as normal map.
</constant>
</constants>
</class>
diff --git a/doc/classes/VisualShaderNodeCubeMapUniform.xml b/doc/classes/VisualShaderNodeCubeMapUniform.xml
index 357385c2f5..0e17b6032d 100644
--- a/doc/classes/VisualShaderNodeCubeMapUniform.xml
+++ b/doc/classes/VisualShaderNodeCubeMapUniform.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeCubeMapUniform" inherits="VisualShaderNodeTextureUniform" version="3.2">
<brief_description>
+ A [CubeMap] uniform node to be used within the visual shader graph.
</brief_description>
<description>
+ Translated to [code]uniform samplerCube[/code] in the shader language. The output value can be used as port for [VisualShaderNodeCubeMap].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VisualShaderNodeCustom.xml b/doc/classes/VisualShaderNodeCustom.xml
index ee751a894b..1bbc112770 100644
--- a/doc/classes/VisualShaderNodeCustom.xml
+++ b/doc/classes/VisualShaderNodeCustom.xml
@@ -13,7 +13,7 @@
[/codeblock]
</description>
<tutorials>
- <link>http://docs.godotengine.org/en/latest/tutorials/plugins/editor/visual_shader_plugins.html</link>
+ <link>https://docs.godotengine.org/en/latest/tutorials/plugins/editor/visual_shader_plugins.html</link>
</tutorials>
<methods>
<method name="_get_category" qualifiers="virtual">
diff --git a/doc/classes/VisualShaderNodeDeterminant.xml b/doc/classes/VisualShaderNodeDeterminant.xml
index d73d7a34eb..5acd08ebd9 100644
--- a/doc/classes/VisualShaderNodeDeterminant.xml
+++ b/doc/classes/VisualShaderNodeDeterminant.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeDeterminant" inherits="VisualShaderNode" version="3.2">
<brief_description>
+ Calculates the determinant of a [Transform] within the visual shader graph.
</brief_description>
<description>
+ Translates to [code]deteminant(x)[/code] in the shader language.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VisualShaderNodeDotProduct.xml b/doc/classes/VisualShaderNodeDotProduct.xml
index e0855c4d3f..ef5b5b9f7f 100644
--- a/doc/classes/VisualShaderNodeDotProduct.xml
+++ b/doc/classes/VisualShaderNodeDotProduct.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeDotProduct" inherits="VisualShaderNode" version="3.2">
<brief_description>
+ Calculates a dot product of two vectors within the visual shader graph.
</brief_description>
<description>
+ Translates to [code]dot(a, b)[/code] in the shader language.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VisualShaderNodeExpression.xml b/doc/classes/VisualShaderNodeExpression.xml
index 7285171bbb..e1ba1f0b20 100644
--- a/doc/classes/VisualShaderNodeExpression.xml
+++ b/doc/classes/VisualShaderNodeExpression.xml
@@ -1,22 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeExpression" inherits="VisualShaderNodeGroupBase" version="3.2">
<brief_description>
+ A custom visual shader graph expression written in Godot Shading Language.
</brief_description>
<description>
+ Custom Godot Shading Language expression, with a custom amount of input and output ports.
+ The provided code is directly injected into the graph's matching shader function ([code]vertex[/code], [code]fragment[/code], or [code]light[/code]), so it cannot be used to to declare functions, varyings, uniforms, or global constants. See [VisualShaderNodeGlobalExpression] for such global definitions.
</description>
<tutorials>
</tutorials>
<methods>
- <method name="build">
- <return type="void">
- </return>
- <description>
- </description>
- </method>
</methods>
<members>
- <member name="editable" type="bool" setter="set_editable" getter="is_editable" override="true" default="true" />
<member name="expression" type="String" setter="set_expression" getter="get_expression" default="&quot;&quot;">
+ An expression in Godot Shading Language, which will be injected at the start of the graph's matching shader function ([code]vertex[/code], [code]fragment[/code], or [code]light[/code]), and thus cannot be used to declare functions, varyings, uniforms, or global constants.
</member>
</members>
<constants>
diff --git a/doc/classes/VisualShaderNodeFaceForward.xml b/doc/classes/VisualShaderNodeFaceForward.xml
index 74143366cb..59eef17e24 100644
--- a/doc/classes/VisualShaderNodeFaceForward.xml
+++ b/doc/classes/VisualShaderNodeFaceForward.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeFaceForward" inherits="VisualShaderNode" version="3.2">
<brief_description>
+ Returns the vector that points in the same direction as a reference vector within the visual shader graph.
</brief_description>
<description>
+ Translates to [code]faceforward(N, I, Nref)[/code] in the shader language. The function has three vector parameters: [code]N[/code], the vector to orient, [code]I[/code], the incident vector, and [code]Nref[/code], the reference vector. If the dot product of [code]I[/code] and [code]Nref[/code] is smaller than zero the return value is [code]N[/code]. Otherwise [code]-N[/code] is returned.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VisualShaderNodeFresnel.xml b/doc/classes/VisualShaderNodeFresnel.xml
index 1906c23767..c0451d75cb 100644
--- a/doc/classes/VisualShaderNodeFresnel.xml
+++ b/doc/classes/VisualShaderNodeFresnel.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeFresnel" inherits="VisualShaderNode" version="3.2">
<brief_description>
+ A Fresnel effect to be used within the visual shader graph.
</brief_description>
<description>
+ Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it).
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VisualShaderNodeGlobalExpression.xml b/doc/classes/VisualShaderNodeGlobalExpression.xml
index d6d656b951..7245b121a0 100644
--- a/doc/classes/VisualShaderNodeGlobalExpression.xml
+++ b/doc/classes/VisualShaderNodeGlobalExpression.xml
@@ -1,16 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeGlobalExpression" inherits="VisualShaderNodeExpression" version="3.2">
<brief_description>
+ A custom global visual shader graph expression written in Godot Shading Language.
</brief_description>
<description>
+ Custom Godot Shader Language expression, which is placed on top of the generated shader. You can place various function definitions inside to call later in [VisualShaderNodeExpression]s (which are injected in the main shader functions). You can also declare varyings, uniforms and global constants.
</description>
<tutorials>
</tutorials>
<methods>
</methods>
- <members>
- <member name="editable" type="bool" setter="set_editable" getter="is_editable" override="true" default="false" />
- </members>
<constants>
</constants>
</class>
diff --git a/doc/classes/VisualShaderNodeGroupBase.xml b/doc/classes/VisualShaderNodeGroupBase.xml
index 8af3f8ab10..b20e8fe4ea 100644
--- a/doc/classes/VisualShaderNodeGroupBase.xml
+++ b/doc/classes/VisualShaderNodeGroupBase.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeGroupBase" inherits="VisualShaderNode" version="3.2">
<brief_description>
+ Base class for a family of nodes with variable amount of input and output ports within the visual shader graph.
</brief_description>
<description>
+ Currently, has no direct usage, use the derived classes instead.
</description>
<tutorials>
</tutorials>
@@ -17,6 +19,7 @@
<argument index="2" name="name" type="String">
</argument>
<description>
+ Adds an input port with the specified [code]type[/code] (see [enum VisualShaderNode.PortType]) and [code]name[/code].
</description>
</method>
<method name="add_output_port">
@@ -29,68 +32,63 @@
<argument index="2" name="name" type="String">
</argument>
<description>
+ Adds an output port with the specified [code]type[/code] (see [enum VisualShaderNode.PortType]) and [code]name[/code].
</description>
</method>
<method name="clear_input_ports">
<return type="void">
</return>
<description>
+ Removes all previously specified input ports.
</description>
</method>
<method name="clear_output_ports">
<return type="void">
</return>
<description>
- </description>
- </method>
- <method name="get_control">
- <return type="Control">
- </return>
- <argument index="0" name="index" type="int">
- </argument>
- <description>
+ Removes all previously specified output ports.
</description>
</method>
<method name="get_free_input_port_id" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns a free input port ID which can be used in [method add_input_port].
</description>
</method>
<method name="get_free_output_port_id" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns a free output port ID which can be used in [method add_output_port].
</description>
</method>
<method name="get_input_port_count" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the number of input ports in use. Alternative for [method get_free_input_port_id].
</description>
</method>
<method name="get_inputs" qualifiers="const">
<return type="String">
</return>
<description>
+ Returns a [String] description of the input ports as as colon-separated list using the format [code]id,type,name;[/code] (see [method add_input_port]).
</description>
</method>
<method name="get_output_port_count" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the number of output ports in use. Alternative for [method get_free_output_port_id].
</description>
</method>
<method name="get_outputs" qualifiers="const">
<return type="String">
</return>
<description>
- </description>
- </method>
- <method name="get_size" qualifiers="const">
- <return type="Vector2">
- </return>
- <description>
+ Returns a [String] description of the output ports as as colon-separated list using the format [code]id,type,name;[/code] (see [method add_output_port]).
</description>
</method>
<method name="has_input_port" qualifiers="const">
@@ -99,6 +97,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns [code]true[/code] if the specified input port exists.
</description>
</method>
<method name="has_output_port" qualifiers="const">
@@ -107,6 +106,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Returns [code]true[/code] if the specified output port exists.
</description>
</method>
<method name="is_valid_port_name" qualifiers="const">
@@ -115,6 +115,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
+ Returns [code]true[/code] if the specified port name does not override an existed port name and is valid within the shader.
</description>
</method>
<method name="remove_input_port">
@@ -123,6 +124,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
+ Removes the specified input port.
</description>
</method>
<method name="remove_output_port">
@@ -131,16 +133,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- </description>
- </method>
- <method name="set_control">
- <return type="void">
- </return>
- <argument index="0" name="control" type="Control">
- </argument>
- <argument index="1" name="index" type="int">
- </argument>
- <description>
+ Removes the specified output port.
</description>
</method>
<method name="set_input_port_name">
@@ -151,6 +144,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
+ Renames the specified input port.
</description>
</method>
<method name="set_input_port_type">
@@ -161,6 +155,7 @@
<argument index="1" name="type" type="int">
</argument>
<description>
+ Sets the specified input port's type (see [enum VisualShaderNode.PortType]).
</description>
</method>
<method name="set_inputs">
@@ -169,6 +164,7 @@
<argument index="0" name="inputs" type="String">
</argument>
<description>
+ Defines all input ports using a [String] formatted as a colon-separated list: [code]id,type,name;[/code] (see [method add_input_port]).
</description>
</method>
<method name="set_output_port_name">
@@ -179,6 +175,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
+ Renames the specified output port.
</description>
</method>
<method name="set_output_port_type">
@@ -189,6 +186,7 @@
<argument index="1" name="type" type="int">
</argument>
<description>
+ Sets the specified output port's type (see [enum VisualShaderNode.PortType]).
</description>
</method>
<method name="set_outputs">
@@ -197,19 +195,13 @@
<argument index="0" name="outputs" type="String">
</argument>
<description>
- </description>
- </method>
- <method name="set_size">
- <return type="void">
- </return>
- <argument index="0" name="size" type="Vector2">
- </argument>
- <description>
+ Defines all output ports using a [String] formatted as a colon-separated list: [code]id,type,name;[/code] (see [method add_output_port]).
</description>
</method>
</methods>
<members>
- <member name="editable" type="bool" setter="set_editable" getter="is_editable" default="false">
+ <member name="size" type="Vector2" setter="set_size" getter="get_size" default="Vector2( 0, 0 )">
+ The size of the node in the visual shader graph.
</member>
</members>
<constants>
diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp
index 24b89aedc2..5dec6f2fee 100644
--- a/drivers/gles2/shader_compiler_gles2.cpp
+++ b/drivers/gles2/shader_compiler_gles2.cpp
@@ -80,7 +80,7 @@ static String _opstr(SL::Operator p_op) {
static String _mkid(const String &p_id) {
- String id = "m_" + p_id;
+ String id = "m_" + p_id.replace("__", "_dus_");
return id.replace("__", "_dus_"); //doubleunderscore is reserved in glsl
}
diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp
index f43943bdff..4e4d896bd7 100644
--- a/drivers/gles3/shader_compiler_gles3.cpp
+++ b/drivers/gles3/shader_compiler_gles3.cpp
@@ -166,7 +166,7 @@ static String _opstr(SL::Operator p_op) {
static String _mkid(const String &p_id) {
- String id = "m_" + p_id;
+ String id = "m_" + p_id.replace("__", "_dus_");
return id.replace("__", "_dus_"); //doubleunderscore is reserved in glsl
}
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index 4f684c7bdc..e05ace53da 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -277,7 +277,8 @@ void FindReplaceBar::_replace_all() {
}
text_edit->set_v_scroll(vsval);
- set_error(vformat(TTR("Replaced %d occurrence(s)."), rc));
+ matches_label->add_color_override("font_color", rc > 0 ? get_color("font_color", "Label") : get_color("error_color", "Editor"));
+ matches_label->set_text(vformat(TTR("%d replaced."), rc));
text_edit->call_deferred("connect", "text_changed", this, "_editor_text_changed");
results_count = -1;
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index d3c50423b7..556dbcbfc4 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -468,39 +468,31 @@ void EditorHelp::_update_doc() {
}
// Online tutorials
- {
+ if (cd.tutorials.size()) {
class_desc->push_color(title_color);
class_desc->push_font(doc_title_font);
class_desc->add_text(TTR("Online Tutorials"));
class_desc->pop();
class_desc->pop();
- class_desc->push_indent(1);
+ class_desc->push_indent(1);
class_desc->push_font(doc_code_font);
-
class_desc->add_newline();
- // class_desc->add_newline();
-
- if (cd.tutorials.size() != 0) {
- for (int i = 0; i < cd.tutorials.size(); i++) {
- String link = cd.tutorials[i];
- String linktxt = link;
- int seppos = linktxt.find("//");
- if (seppos != -1) {
- linktxt = link.right(seppos + 2);
- }
-
- class_desc->push_color(symbol_color);
- class_desc->append_bbcode("[url=" + link + "]" + linktxt + "[/url]");
- class_desc->pop();
- class_desc->add_newline();
+ for (int i = 0; i < cd.tutorials.size(); i++) {
+ const String link = cd.tutorials[i];
+ String linktxt = link;
+ const int seppos = linktxt.find("//");
+ if (seppos != -1) {
+ linktxt = link.right(seppos + 2);
}
- } else {
- class_desc->push_color(comment_color);
- class_desc->append_bbcode(TTR("There are currently no tutorials for this class, you can [color=$color][url=$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/url][/color].").replace("$url2", REQUEST_URL).replace("$url", CONTRIBUTE2_URL).replace("$color", link_color_text));
+
+ class_desc->push_color(symbol_color);
+ class_desc->append_bbcode("[url=" + link + "]" + linktxt + "[/url]");
class_desc->pop();
+ class_desc->add_newline();
}
+
class_desc->pop();
class_desc->pop();
class_desc->add_newline();
diff --git a/editor/editor_profiler.cpp b/editor/editor_profiler.cpp
index 4807f8839c..3fdeaff19d 100644
--- a/editor/editor_profiler.cpp
+++ b/editor/editor_profiler.cpp
@@ -102,26 +102,28 @@ void EditorProfiler::clear() {
}
static String _get_percent_txt(float p_value, float p_total) {
- if (p_total == 0)
+ if (p_total == 0) {
p_total = 0.00001;
+ }
+
return String::num((p_value / p_total) * 100, 1) + "%";
}
String EditorProfiler::_get_time_as_text(const Metric &m, float p_time, int p_calls) {
- int dmode = display_mode->get_selected();
+ const int dmode = display_mode->get_selected();
if (dmode == DISPLAY_FRAME_TIME) {
- return rtos(p_time);
+ return rtos(p_time * 1000).pad_decimals(2) + " ms";
} else if (dmode == DISPLAY_AVERAGE_TIME) {
- if (p_calls == 0)
- return "0";
- else
- return rtos(p_time / p_calls);
+ if (p_calls == 0) {
+ return "0.00 ms";
+ } else {
+ return rtos((p_time / p_calls) * 1000).pad_decimals(2) + " ms";
+ }
} else if (dmode == DISPLAY_FRAME_PERCENT) {
return _get_percent_txt(p_time, m.frame_time);
} else if (dmode == DISPLAY_PHYSICS_FRAME_PERCENT) {
-
return _get_percent_txt(p_time, m.physics_frame_time);
}
@@ -729,7 +731,7 @@ EditorProfiler::EditorProfiler() {
h_split->set_v_size_flags(SIZE_EXPAND_FILL);
variables = memnew(Tree);
- variables->set_custom_minimum_size(Size2(300, 0) * EDSCALE);
+ variables->set_custom_minimum_size(Size2(320, 0) * EDSCALE);
variables->set_hide_folding(true);
h_split->add_child(variables);
variables->set_hide_root(true);
@@ -737,10 +739,10 @@ EditorProfiler::EditorProfiler() {
variables->set_column_titles_visible(true);
variables->set_column_title(0, TTR("Name"));
variables->set_column_expand(0, true);
- variables->set_column_min_width(0, 60);
+ variables->set_column_min_width(0, 60 * EDSCALE);
variables->set_column_title(1, TTR("Time"));
variables->set_column_expand(1, false);
- variables->set_column_min_width(1, 60 * EDSCALE);
+ variables->set_column_min_width(1, 100 * EDSCALE);
variables->set_column_title(2, TTR("Calls"));
variables->set_column_expand(2, false);
variables->set_column_min_width(2, 60 * EDSCALE);
@@ -749,7 +751,6 @@ EditorProfiler::EditorProfiler() {
graph = memnew(TextureRect);
graph->set_expand(true);
graph->set_mouse_filter(MOUSE_FILTER_STOP);
- //graph->set_ignore_mouse(false);
graph->connect("draw", this, "_graph_tex_draw");
graph->connect("gui_input", this, "_graph_tex_input");
graph->connect("mouse_exited", this, "_graph_tex_mouse_exit");
@@ -760,13 +761,10 @@ EditorProfiler::EditorProfiler() {
int metric_size = CLAMP(int(EDITOR_DEF("debugger/profiler_frame_history_size", 600)), 60, 1024);
frame_metrics.resize(metric_size);
last_metric = -1;
- //cursor_metric=-1;
hover_metric = -1;
EDITOR_DEF("debugger/profiler_frame_max_functions", 64);
- //display_mode=DISPLAY_FRAME_TIME;
-
frame_delay = memnew(Timer);
frame_delay->set_wait_time(0.1);
frame_delay->set_one_shot(true);
@@ -784,6 +782,4 @@ EditorProfiler::EditorProfiler() {
seeking = false;
graph_height = 1;
-
- //activate->set_disabled(true);
}
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index 621f531687..8037045e77 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -89,7 +89,11 @@ Ref<ImageTexture> editor_generate_icon(int p_index, bool p_convert_color, float
// dumb gizmo check
bool is_gizmo = String(editor_icons_names[p_index]).begins_with("Gizmo");
- ImageLoaderSVG::create_image_from_string(img, editor_icons_sources[p_index], p_scale, true, p_convert_color);
+ // Upsample icon generation only if the editor scale isn't an integer multiplier.
+ // Generating upsampled icons is slower, and the benefit is hardly visible
+ // with integer editor scales.
+ const bool upsample = !Math::is_equal_approx(Math::round(p_scale), p_scale);
+ ImageLoaderSVG::create_image_from_string(img, editor_icons_sources[p_index], p_scale, upsample, p_convert_color);
if ((p_scale - (float)((int)p_scale)) > 0.0 || is_gizmo || p_force_filter)
icon->create_from_image(img); // in this case filter really helps
@@ -106,7 +110,15 @@ Ref<ImageTexture> editor_generate_icon(int p_index, bool p_convert_color, float
void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme = true, int p_thumb_size = 32, bool p_only_thumbs = false) {
#ifdef SVG_ENABLED
+ // The default icon theme is designed to be used for a dark theme.
+ // This dictionary stores color codes to convert to other colors
+ // for better readability on a light theme.
Dictionary dark_icon_color_dictionary;
+
+ // The names of the icons to never convert, even if one of their colors
+ // are contained in the dictionary above.
+ Set<StringName> exceptions;
+
if (!p_dark_theme) {
// convert color: FROM TO
ADD_CONVERT_COLOR(dark_icon_color_dictionary, "#e0e0e0", "#5a5a5a"); // common icon color
@@ -172,9 +184,31 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme =
ADD_CONVERT_COLOR(dark_icon_color_dictionary, "#69ec9a", "#2ce573"); // VS rid
ADD_CONVERT_COLOR(dark_icon_color_dictionary, "#79f3e8", "#12d5c3"); // VS object
ADD_CONVERT_COLOR(dark_icon_color_dictionary, "#77edb1", "#57e99f"); // VS dict
+
+ exceptions.insert("EditorPivot");
+ exceptions.insert("EditorHandle");
+ exceptions.insert("Editor3DHandle");
+ exceptions.insert("Godot");
+ exceptions.insert("PanoramaSky");
+ exceptions.insert("ProceduralSky");
+ exceptions.insert("EditorControlAnchor");
+ exceptions.insert("DefaultProjectIcon");
+ exceptions.insert("GuiCloseCustomizable");
+ exceptions.insert("GuiGraphNodePort");
+ exceptions.insert("GuiResizer");
+ exceptions.insert("ZoomMore");
+ exceptions.insert("ZoomLess");
+ exceptions.insert("ZoomReset");
+ exceptions.insert("LockViewport");
+ exceptions.insert("GroupViewport");
+ exceptions.insert("StatusError");
+ exceptions.insert("StatusSuccess");
+ exceptions.insert("StatusWarning");
+ exceptions.insert("NodeWarning");
+ exceptions.insert("OverbrightIndicator");
}
- // these ones should be converted even if we are using a dark theme
+ // These ones should be converted even if we are using a dark theme.
const Color error_color = p_theme->get_color("error_color", "Editor");
const Color success_color = p_theme->get_color("success_color", "Editor");
const Color warning_color = p_theme->get_color("warning_color", "Editor");
@@ -182,65 +216,44 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme =
dark_icon_color_dictionary[Color::html("#45ff8b")] = success_color;
dark_icon_color_dictionary[Color::html("#dbab09")] = warning_color;
- List<String> exceptions;
- exceptions.push_back("EditorPivot");
- exceptions.push_back("EditorHandle");
- exceptions.push_back("Editor3DHandle");
- exceptions.push_back("Godot");
- exceptions.push_back("PanoramaSky");
- exceptions.push_back("ProceduralSky");
- exceptions.push_back("EditorControlAnchor");
- exceptions.push_back("DefaultProjectIcon");
- exceptions.push_back("GuiCloseCustomizable");
- exceptions.push_back("GuiGraphNodePort");
- exceptions.push_back("GuiResizer");
- exceptions.push_back("ZoomMore");
- exceptions.push_back("ZoomLess");
- exceptions.push_back("ZoomReset");
- exceptions.push_back("LockViewport");
- exceptions.push_back("GroupViewport");
- exceptions.push_back("StatusError");
- exceptions.push_back("StatusSuccess");
- exceptions.push_back("StatusWarning");
- exceptions.push_back("NodeWarning");
- exceptions.push_back("OverbrightIndicator");
-
ImageLoaderSVG::set_convert_colors(&dark_icon_color_dictionary);
- // generate icons
- if (!p_only_thumbs)
+ // Generate icons.
+ if (!p_only_thumbs) {
for (int i = 0; i < editor_icons_count; i++) {
- List<String>::Element *is_exception = exceptions.find(editor_icons_names[i]);
- if (is_exception) exceptions.erase(is_exception);
- Ref<ImageTexture> icon = editor_generate_icon(i, !is_exception);
+ const int is_exception = exceptions.has(editor_icons_names[i]);
+ const Ref<ImageTexture> icon = editor_generate_icon(i, !is_exception);
+
p_theme->set_icon(editor_icons_names[i], "EditorIcons", icon);
}
+ }
- // generate thumb files with the given thumb size
- bool force_filter = p_thumb_size != 64 && p_thumb_size != 32; // we don't need filter with original resolution
+ // Generate thumbnail icons with the given thumbnail size.
+ // We don't need filtering when generating at one of the default resolutions.
+ const bool force_filter = p_thumb_size != 64 && p_thumb_size != 32;
if (p_thumb_size >= 64) {
- float scale = (float)p_thumb_size / 64.0 * EDSCALE;
+ const float scale = (float)p_thumb_size / 64.0 * EDSCALE;
for (int i = 0; i < editor_bg_thumbs_count; i++) {
- int index = editor_bg_thumbs_indices[i];
- List<String>::Element *is_exception = exceptions.find(editor_icons_names[index]);
- if (is_exception) exceptions.erase(is_exception);
- Ref<ImageTexture> icon = editor_generate_icon(index, !p_dark_theme && !is_exception, scale, force_filter);
+ const int index = editor_bg_thumbs_indices[i];
+ const int is_exception = exceptions.has(editor_icons_names[index]);
+ const Ref<ImageTexture> icon = editor_generate_icon(index, !p_dark_theme && !is_exception, scale, force_filter);
+
p_theme->set_icon(editor_icons_names[index], "EditorIcons", icon);
}
} else {
- float scale = (float)p_thumb_size / 32.0 * EDSCALE;
+ const float scale = (float)p_thumb_size / 32.0 * EDSCALE;
for (int i = 0; i < editor_md_thumbs_count; i++) {
- int index = editor_md_thumbs_indices[i];
- List<String>::Element *is_exception = exceptions.find(editor_icons_names[index]);
- if (is_exception) exceptions.erase(is_exception);
- Ref<ImageTexture> icon = editor_generate_icon(index, !p_dark_theme && !is_exception, scale, force_filter);
+ const int index = editor_md_thumbs_indices[i];
+ const bool is_exception = exceptions.has(editor_icons_names[index]);
+ const Ref<ImageTexture> icon = editor_generate_icon(index, !p_dark_theme && !is_exception, scale, force_filter);
+
p_theme->set_icon(editor_icons_names[index], "EditorIcons", icon);
}
}
ImageLoaderSVG::set_convert_colors(NULL);
#else
- print_line("SVG support disabled, editor icons won't be rendered.");
+ WARN_PRINT("SVG support disabled, editor icons won't be rendered.");
#endif
}
diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp
index 2be3464d30..b65482cc6b 100644
--- a/editor/inspector_dock.cpp
+++ b/editor/inspector_dock.cpp
@@ -584,6 +584,7 @@ InspectorDock::InspectorDock(EditorNode *p_editor, EditorData &p_editor_data) {
add_child(warning);
warning->set_text(TTR("Changes may be lost!"));
warning->set_icon(get_icon("NodeWarning", "EditorIcons"));
+ warning->set_clip_text(true);
warning->hide();
warning->connect("pressed", this, "_warning_pressed");
diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp
index a107cb020d..f889228f87 100644
--- a/editor/plugins/tile_map_editor_plugin.cpp
+++ b/editor/plugins/tile_map_editor_plugin.cpp
@@ -627,13 +627,14 @@ PoolVector<Vector2> TileMapEditor::_bucket_fill(const Point2i &p_start, bool era
if (r != bucket_cache_rect)
_clear_bucket_cache();
// Cache grid is not initialized
- if (bucket_cache_visited == 0) {
+ if (bucket_cache_visited == NULL) {
bucket_cache_visited = new bool[area];
invalidate_cache = true;
}
// Tile ID changed or position wasn't visited by the previous fill
- int loc = (p_start.x - r.position.x) + (p_start.y - r.position.y) * r.get_size().x;
- if (prev_id != bucket_cache_tile || !bucket_cache_visited[loc]) {
+ const int loc = (p_start.x - r.position.x) + (p_start.y - r.position.y) * r.get_size().x;
+ const bool in_range = 0 <= loc && loc < area;
+ if (prev_id != bucket_cache_tile || (in_range && !bucket_cache_visited[loc])) {
invalidate_cache = true;
}
if (invalidate_cache) {
@@ -893,7 +894,7 @@ void TileMapEditor::_draw_fill_preview(Control *p_viewport, int p_cell, const Po
void TileMapEditor::_clear_bucket_cache() {
if (bucket_cache_visited) {
delete[] bucket_cache_visited;
- bucket_cache_visited = 0;
+ bucket_cache_visited = NULL;
}
}
@@ -1924,7 +1925,7 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
transpose = false;
bucket_cache_tile = -1;
- bucket_cache_visited = 0;
+ bucket_cache_visited = NULL;
invalid_cell.resize(1);
invalid_cell.write[0] = TileMap::INVALID_CELL;
diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp
index 32fcdab4c6..7586f6eac1 100644
--- a/editor/rename_dialog.cpp
+++ b/editor/rename_dialog.cpp
@@ -109,9 +109,13 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
const int feature_min_height = 160 * EDSCALE;
- CheckButton *chk_collapse_features = memnew(CheckButton);
- chk_collapse_features->set_text(TTR("Advanced Options"));
- vbc->add_child(chk_collapse_features);
+ cbut_regex = memnew(CheckButton);
+ cbut_regex->set_text(TTR("Use Regular Expressions"));
+ vbc->add_child(cbut_regex);
+
+ CheckButton *cbut_collapse_features = memnew(CheckButton);
+ cbut_collapse_features->set_text(TTR("Advanced Options"));
+ vbc->add_child(cbut_collapse_features);
tabc_features = memnew(TabContainer);
tabc_features->set_tab_align(TabContainer::ALIGN_LEFT);
@@ -195,7 +199,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
grd_substitute->add_child(but_insert_count);
chk_per_level_counter = memnew(CheckBox);
- chk_per_level_counter->set_text(TTR("Per Level counter"));
+ chk_per_level_counter->set_text(TTR("Per-level Counter"));
chk_per_level_counter->set_tooltip(TTR("If set the counter restarts for each group of child nodes"));
vbc_substitute->add_child(chk_per_level_counter);
@@ -233,18 +237,6 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
spn_count_padding->set_step(1);
hbc_count_options->add_child(spn_count_padding);
- // ---- Tab RegEx
-
- VBoxContainer *vbc_regex = memnew(VBoxContainer);
- vbc_regex->set_h_size_flags(SIZE_EXPAND_FILL);
- vbc_regex->set_name(TTR("Regular Expressions"));
- vbc_regex->set_custom_minimum_size(Size2(0, feature_min_height));
- tabc_features->add_child(vbc_regex);
-
- cbut_regex = memnew(CheckBox);
- cbut_regex->set_text(TTR("Regular Expressions"));
- vbc_regex->add_child(cbut_regex);
-
// ---- Tab Process
VBoxContainer *vbc_process = memnew(VBoxContainer);
@@ -268,8 +260,8 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
opt_style = memnew(OptionButton);
opt_style->add_item(TTR("Keep"));
- opt_style->add_item(TTR("CamelCase to under_scored"));
- opt_style->add_item(TTR("under_scored to CamelCase"));
+ opt_style->add_item(TTR("PascalCase to snake_case"));
+ opt_style->add_item(TTR("snake_case to PascalCase"));
hbc_style->add_child(opt_style);
// ------ Case
@@ -299,7 +291,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
lbl_preview = memnew(Label);
lbl_preview->set_text("");
- lbl_preview->add_color_override("font_color", Color(1, 0.5f, 0, 1));
+ lbl_preview->add_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_color("error_color", "Editor"));
vbc->add_child(lbl_preview);
// ---- Dialog related
@@ -314,7 +306,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und
// ---- Connections
- chk_collapse_features->connect("toggled", this, "_features_toggled");
+ cbut_collapse_features->connect("toggled", this, "_features_toggled");
// Substitite Buttons
@@ -414,9 +406,12 @@ void RenameDialog::_update_preview(String new_text) {
lbl_preview->set_text(new_name);
if (new_name == preview_node->get_name()) {
- lbl_preview->add_color_override("font_color", Color(0, 0.5f, 0.25f, 1));
+ // New name is identical to the old one. Don't color it as much to avoid distracting the user.
+ const Color accent_color = EditorNode::get_singleton()->get_gui_base()->get_color("accent_color", "Editor");
+ const Color text_color = EditorNode::get_singleton()->get_gui_base()->get_color("default_color", "RichTextLabel");
+ lbl_preview->add_color_override("font_color", accent_color.linear_interpolate(text_color, 0.5));
} else {
- lbl_preview->add_color_override("font_color", Color(0, 1, 0.5f, 1));
+ lbl_preview->add_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_color("success_color", "Editor"));
}
}
@@ -501,9 +496,9 @@ void RenameDialog::_error_handler(void *p_self, const char *p_func, const char *
}
self->has_errors = true;
- self->lbl_preview_title->set_text(TTR("Error"));
- self->lbl_preview->add_color_override("font_color", Color(1, 0.25f, 0, 1));
- self->lbl_preview->set_text(err_str);
+ self->lbl_preview_title->set_text(TTR("Regular Expression Error"));
+ self->lbl_preview->add_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_color("error_color", "Editor"));
+ self->lbl_preview->set_text(vformat(TTR("At character %s"), err_str));
}
String RenameDialog::_regex(const String &pattern, const String &subject, const String &replacement) {
@@ -520,18 +515,18 @@ String RenameDialog::_postprocess(const String &subject) {
String result = subject;
if (style_id == 1) {
+ // PascalCase to snake_case
- // CamelCase to Under_Line
result = result.camelcase_to_underscore(true);
result = _regex("_+", result, "_");
} else if (style_id == 2) {
+ // snake_case to PascalCase
- // Under_Line to CamelCase
RegEx pattern("_+(.?)");
Array matches = pattern.search_all(result);
- // _ name would become empty. Ignore
+ // The name `_` would become empty; ignore it.
if (matches.size() && result != "_") {
String buffer;
int start = 0;
diff --git a/editor/rename_dialog.h b/editor/rename_dialog.h
index 692e56f1a4..2825cb2cd2 100644
--- a/editor/rename_dialog.h
+++ b/editor/rename_dialog.h
@@ -75,7 +75,7 @@ class RenameDialog : public ConfirmationDialog {
TabContainer *tabc_features;
CheckBox *cbut_substitute;
- CheckBox *cbut_regex;
+ CheckButton *cbut_regex;
CheckBox *cbut_process;
CheckBox *chk_per_level_counter;
diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp
index 35d5fe5f70..a982724d4c 100644
--- a/editor/script_create_dialog.cpp
+++ b/editor/script_create_dialog.cpp
@@ -644,7 +644,7 @@ void ScriptCreateDialog::_update_dialog() {
}
if (script_ok) {
- _msg_script_valid(true, TTR("Script is valid."));
+ _msg_script_valid(true, TTR("Script path/name is valid."));
}
// Does script have named classes?
diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp
index 71a946b256..004c7a6801 100644
--- a/editor/script_editor_debugger.cpp
+++ b/editor/script_editor_debugger.cpp
@@ -806,25 +806,25 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
p.write[i] = arr[i];
if (i < perf_items.size()) {
- float v = p[i];
- String vs = rtos(v);
- String tt = vs;
+ const float value = p[i];
+ String label = rtos(value);
+ String tooltip = label;
switch (Performance::MonitorType((int)perf_items[i]->get_metadata(1))) {
case Performance::MONITOR_TYPE_MEMORY: {
- vs = String::humanize_size(v);
- tt = vs;
+ label = String::humanize_size(value);
+ tooltip = label;
} break;
case Performance::MONITOR_TYPE_TIME: {
- tt += " seconds";
- vs += " s";
+ label = rtos(value * 1000).pad_decimals(2) + " ms";
+ tooltip = label;
} break;
default: {
- tt += " " + perf_items[i]->get_text(0);
+ tooltip += " " + perf_items[i]->get_text(0);
} break;
}
- perf_items[i]->set_text(1, vs);
- perf_items[i]->set_tooltip(1, tt);
+ perf_items[i]->set_text(1, label);
+ perf_items[i]->set_tooltip(1, tooltip);
if (p[i] > perf_max[i])
perf_max.write[i] = p[i];
}
@@ -1622,6 +1622,7 @@ void ScriptEditorDebugger::_output_clear() {
void ScriptEditorDebugger::_export_csv() {
file_dialog->set_mode(EditorFileDialog::MODE_SAVE_FILE);
+ file_dialog->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
file_dialog_mode = SAVE_CSV;
file_dialog->popup_centered_ratio();
}
diff --git a/editor/translations/af.po b/editor/translations/af.po
index 9a5fb53edd..23917c09e6 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -2022,16 +2022,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-#, fuzzy
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Daar is tans geen beskrywing vir hierdie metode nie. Help ons asseblief deur "
-"[color=$color][url=$url]een by te dra[/url][/color]!"
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Eienskappe"
@@ -12550,6 +12540,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Daar is tans geen beskrywing vir hierdie metode nie. Help ons asseblief "
+#~ "deur [color=$color][url=$url]een by te dra[/url][/color]!"
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index d887027616..6a3dba2b43 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -1999,16 +1999,6 @@ msgid "Online Tutorials"
msgstr "الدورس علي الإنترنت:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"ليس هناك دروس تعليمية في هذا الفصل، يمكنك [color=$color][url=$url] المساهمة "
-"في إحداها [/url][/color] أو [color=$color][url=$url2]أطلب أحداها [/url][/"
-"color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "خصائص"
@@ -12816,6 +12806,15 @@ msgstr "يمكن تعيين المتغيرات فقط في الذروة ."
msgid "Constants cannot be modified."
msgstr "لا يمكن تعديل الثوابت."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "ليس هناك دروس تعليمية في هذا الفصل، يمكنك [color=$color][url=$url] "
+#~ "المساهمة في إحداها [/url][/color] أو [color=$color][url=$url2]أطلب أحداها "
+#~ "[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "التعداد "
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index 727d9a1200..a42e873790 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -1986,13 +1986,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index 1043ab377b..3cfcc98809 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -2076,17 +2076,6 @@ msgstr "টিউটোরিয়ালসমূহ"
#: editor/editor_help.cpp
#, fuzzy
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"এই মেথড সম্পর্কে বিস্তারিত তথ্য লিপিবদ্ধ করা হয়নি। অনুগ্রহ করে তথ্য প্রদানের মাধ্যমে "
-"সহায়তা করুন। তথ্য প্রদানের জন্য [color=$color][url=$url], [/url][/color] ফরম্যাট "
-"ব্যাবহার করুন !"
-
-#: editor/editor_help.cpp
-#, fuzzy
msgid "Properties"
msgstr "প্রোপার্টি-সমূহ:"
@@ -13395,6 +13384,16 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "এই মেথড সম্পর্কে বিস্তারিত তথ্য লিপিবদ্ধ করা হয়নি। অনুগ্রহ করে তথ্য প্রদানের "
+#~ "মাধ্যমে সহায়তা করুন। তথ্য প্রদানের জন্য [color=$color][url=$url], [/url][/"
+#~ "color] ফরম্যাট ব্যাবহার করুন !"
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index ea6eec97d2..dc618c880f 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -9,12 +9,13 @@
# roger <616steam@gmail.com>, 2019.
# Roger BR <drai_kin@hotmail.com>, 2019.
# Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2020.
+# Xavier Gomez <hiulit@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-03 21:21+0000\n"
-"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
+"PO-Revision-Date: 2020-01-27 07:09+0000\n"
+"Last-Translator: Xavier Gomez <hiulit@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/"
"godot/ca/>\n"
"Language: ca\n"
@@ -22,7 +23,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\n"
+"X-Generator: Weblate 3.11-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -431,7 +432,7 @@ msgstr "No es pot afegir una nova pista sense cap arrel"
#: editor/animation_track_editor.cpp
msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
+msgstr "La pista no és vàlida per a Bezier (no hi ha subpropietats adequades)"
#: editor/animation_track_editor.cpp
msgid "Add Bezier Track"
@@ -500,16 +501,23 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Aquesta animació pertany a una escena importada, de manera que no es desaran "
+"els canvis a les pistes importades.\n"
+"\n"
+"Per habilitar la possibilitat d’afegir pistes personalitzades, navegueu a la "
+"configuració d’importació de l’escena i establiu\n"
+"\"Animation > Storage\" a \"Files\", activeu \"Animation > Keep Custom Tracks"
+"\", i, després, reimporteu.\n"
+"També podeu fer servir una configuració preestablerta que importi animacions "
+"a fitxers separats."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
msgstr "Advertiment: Edició d'animació importada"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Select an AnimationPlayer node to create and edit animations."
-msgstr ""
-"Selecciona un AnimationPlayer a l'Arbre de l'Escena per editar-ne l'animació."
+msgstr "Seleccioneu un node AnimationPlayer per a crear i editar animacions."
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
@@ -811,9 +819,8 @@ msgid "Extra Call Arguments:"
msgstr "Arguments de Crida addicionals:"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Receiver Method:"
-msgstr "Selecciona un Mètode"
+msgstr "Mètode Receptor:"
#: editor/connections_dialog.cpp
msgid "Advanced"
@@ -1166,22 +1173,21 @@ msgid "License"
msgstr "Llicència"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Third-party Licenses"
msgstr "Llicències de Tercers"
#: editor/editor_about.cpp
-#, fuzzy
msgid ""
"Godot Engine relies on a number of third-party free and open source "
"libraries, all compatible with the terms of its MIT license. The following "
"is an exhaustive list of all such third-party components with their "
"respective copyright statements and license terms."
msgstr ""
-"El motor Godot es recolza en una sèrie de biblioteques lliures i de codi "
-"obert, totes elles compatibles amb els termes de la llicència MIT. Tot "
-"seguit podeu trobar la llista exhaustiva de tots aquests components externs "
-"amb llurs respectius drets d'autor i termes de llicenciament."
+"Godot Engine compta amb diverses biblioteques gratuïtes i de codi obert de "
+"tercers, totes compatibles amb els termes de la seva llicència MIT. A "
+"continuació, es mostra una llista exhaustiva de tots aquests components de "
+"tercers amb les seves respectives declaracions de copyright i termes de "
+"llicència."
#: editor/editor_about.cpp
msgid "All Components"
@@ -1196,14 +1202,13 @@ msgid "Licenses"
msgstr "Llicències"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
-#, fuzzy
msgid "Error opening package file, not in ZIP format."
-msgstr "Error en obrir el arxiu comprimit, el fitxer no té el format ZIP."
+msgstr ""
+"S'ha produit un error en obrir el fitxer comprimit, no té el format ZIP."
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "%s (Already Exists)"
-msgstr "Ja existeix"
+msgstr "%s (Ja existeix)"
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1214,9 +1219,8 @@ msgid "The following files failed extraction from package:"
msgstr "Ha fracassat l'extracció del paquet dels següents fitxers:"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "And %s more files."
-msgstr "%d fitxer(s) més"
+msgstr "I %d fitxer(s) més."
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package installed successfully!"
@@ -1228,9 +1232,8 @@ msgid "Success!"
msgstr "Èxit!"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Package Contents:"
-msgstr "Continguts:"
+msgstr "Contingut del Paquet:"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
msgid "Install"
@@ -1285,9 +1288,8 @@ msgid "Delete Bus Effect"
msgstr "Elimina l'Efecte de Bus"
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Drag & drop to rearrange."
-msgstr "Arrossegueu i deixeu anar per reordenar."
+msgstr "Arrossegueu i deixeu anar per a reorganitzar."
#: editor/editor_audio_buses.cpp
msgid "Solo"
@@ -1371,9 +1373,8 @@ msgid "Invalid file, not an audio bus layout."
msgstr "Fitxer incorrecte. No és un disseny de bus d'àudio."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Error saving file: %s"
-msgstr "Error en desar el fitxer!"
+msgstr "S'ha produit un error al desar el fitxer! %s"
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
@@ -1422,28 +1423,20 @@ msgid "Valid characters:"
msgstr "Caràcters vàlids:"
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing engine class name."
-msgstr "No pot coincidir amb noms de classe del motor ja existents."
+msgstr "No ha de coincidir amb un nom de classe de motor existent."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing built-in type name."
-msgstr ""
-"El Nom no és vàlid. No pot coincidir amb noms de tipus integrats ja "
-"existents."
+msgstr "No ha de coincidir amb un nom de tipus incorporat existent."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Must not collide with an existing global constant name."
-msgstr ""
-"El Nom no és vàlid. No pot coincidir amb noms de constants globals ja "
-"existents."
+msgstr "No ha de coincidir amb una constant global existent."
#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Keyword cannot be used as an autoload name."
-msgstr "Una paraula clau no es pot utilitzar com a nom de càrrega automàtica."
+msgstr "La paraula clau no es pot utilitzar com a nom d'autocàrrega."
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
@@ -1595,6 +1588,10 @@ msgid ""
"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
"Enabled'."
msgstr ""
+"La plataforma de destinació requereix una compressió de textura 'ETC' per a "
+"utilitzar GLES2 com a controlador alternatiu.\n"
+"Activeu \"Import Etc\" a Configuració del Projecte o desactiveu la opció "
+"'Driver Fallback Enabled''."
#: editor/editor_export.cpp platform/android/export/export.cpp
#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
@@ -1613,11 +1610,9 @@ msgid "Template file not found:"
msgstr "No s'ha trobat la Plantilla:"
#: editor/editor_export.cpp
-#, fuzzy
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
-"En les exportacions de 32 bits, el PCK incrustat no pot ser més gran que 4 "
-"GiB."
+"En les exportacions de 32 bits, el PCK incrustat no pot ser superior a 4 GiB."
#: editor/editor_feature_profile.cpp
msgid "3D Editor"
@@ -1970,16 +1965,6 @@ msgid "Online Tutorials"
msgstr "Tutorials en línia:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Aquesta classe no disposa encara de cap Tutorial. Podeu contribuir [color="
-"$color][url=$url] tot aportant-ne un[/url][/color] o [color=$color][url="
-"$url2]sol·licitant-lo[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Propietats"
@@ -12991,6 +12976,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Les constants no es poden modificar."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Aquesta classe no disposa encara de cap Tutorial. Podeu contribuir "
+#~ "[color=$color][url=$url] tot aportant-ne un[/url][/color] o [color="
+#~ "$color][url=$url2]sol·licitant-lo[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index 4146be71b3..b060c0c234 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -1963,16 +1963,6 @@ msgid "Online Tutorials"
msgstr "Online návody"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"V současné době pro tuto třídu neexistují žádné návody, můžete nějaký [color="
-"$color][url=$url]vytvořit[/url][/color] nebo o něj [color=$color][url="
-"$url2]zažádat[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Vlastnosti"
@@ -12741,6 +12731,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Konstanty není možné upravovat."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "V současné době pro tuto třídu neexistují žádné návody, můžete nějaký "
+#~ "[color=$color][url=$url]vytvořit[/url][/color] nebo o něj [color=$color]"
+#~ "[url=$url2]zažádat[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "výčet "
diff --git a/editor/translations/da.po b/editor/translations/da.po
index 2c59e0b611..aed35d2dc6 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -2033,16 +2033,6 @@ msgid "Online Tutorials"
msgstr "Online Undervisning:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Der er i øjeblikket ingen vejledninger for denne klasse, du kan [color="
-"$color][url=$url]bidrage med en[/url][/color] eller [color=$color][url="
-"$url2]anmode en[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Egenskaber"
@@ -12878,6 +12868,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Konstanter kan ikke ændres."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Der er i øjeblikket ingen vejledninger for denne klasse, du kan [color="
+#~ "$color][url=$url]bidrage med en[/url][/color] eller [color=$color][url="
+#~ "$url2]anmode en[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/de.po b/editor/translations/de.po
index 70014a4569..1b1ada4825 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -1993,16 +1993,6 @@ msgid "Online Tutorials"
msgstr "Anleitungen im Netz"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Es gibt zurzeit keine Tutorials zu dieser Klasse. Mitwirkungen durch [color="
-"$color][url=$url]eigene Beiträge[/url][/color] oder [color=$color][url="
-"$url2]Meldung von Problemen[/url][/color] sind sehr erwünscht."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Eigenschaften"
@@ -12747,6 +12737,15 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden."
msgid "Constants cannot be modified."
msgstr "Konstanten können nicht verändert werden."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Es gibt zurzeit keine Tutorials zu dieser Klasse. Mitwirkungen durch "
+#~ "[color=$color][url=$url]eigene Beiträge[/url][/color] oder [color=$color]"
+#~ "[url=$url2]Meldung von Problemen[/url][/color] sind sehr erwünscht."
+
#~ msgid "enum "
#~ msgstr "Enum "
diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po
index 924f367a25..fc524de9ad 100644
--- a/editor/translations/de_CH.po
+++ b/editor/translations/de_CH.po
@@ -1966,13 +1966,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index 7891c0adbd..c1b2932a6f 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -1888,13 +1888,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 3b7473eb03..99e7a49f85 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -2,7 +2,7 @@
# 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.
-# George Tsiamasiotis <gtsiam@windowslive.com>, 2017-2018, 2019.
+# George Tsiamasiotis <gtsiam@windowslive.com>, 2017-2018, 2019, 2020.
# Georgios Katsanakis <geo.elgeo@gmail.com>, 2019.
# Overloaded <manoschool@yahoo.gr>, 2019.
# Eternal Death <eternaldeath0001@gmail.com>, 2019.
@@ -11,9 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-03 21:21+0000\n"
-"Last-Translator: Overloaded @ Orama Interactive http://orama-interactive."
-"com/ <manoschool@yahoo.gr>\n"
+"PO-Revision-Date: 2020-01-27 07:09+0000\n"
+"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/"
"el/>\n"
"Language: el\n"
@@ -21,7 +20,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\n"
+"X-Generator: Weblate 3.11-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -426,7 +425,7 @@ msgstr "Αδύνατη η προσθήκη κομματιού χωρίς ρίζ
#: editor/animation_track_editor.cpp
msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
+msgstr "Άκυρο κομμάτι καμπύλης Bezier (χωρίς κατάλληλες υπό-ιδιότητες)"
#: editor/animation_track_editor.cpp
msgid "Add Bezier Track"
@@ -1200,9 +1199,8 @@ msgid "Error opening package file, not in ZIP format."
msgstr "Σφάλμα ανοίγματος αρχείου πακέτου, δεν είναι σε μορφή ZIP."
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "%s (Already Exists)"
-msgstr "Υπάρχει ήδη"
+msgstr "%s (Υπάρχει ήδη)"
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
@@ -1213,9 +1211,8 @@ msgid "The following files failed extraction from package:"
msgstr "Η εξαγωγή των ακόλουθων αρχείων από το πακέτο απέτυχε:"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "And %s more files."
-msgstr "%d περισσότερα αρχεία"
+msgstr "Και %s αρχεία ακόμα."
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package installed successfully!"
@@ -1227,9 +1224,8 @@ msgid "Success!"
msgstr "Επιτυχία!"
#: editor/editor_asset_installer.cpp
-#, fuzzy
msgid "Package Contents:"
-msgstr "Περιεχόμενα:"
+msgstr "Περιεχόμενα Πακέτου:"
#: editor/editor_asset_installer.cpp editor/editor_node.cpp
msgid "Install"
@@ -1369,9 +1365,8 @@ msgid "Invalid file, not an audio bus layout."
msgstr "Άκυρο αρχείο, δεν είναι διάταξη διαύλων ήχου."
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Error saving file: %s"
-msgstr "Σφάλμα αποθήκευσης αρχείου!"
+msgstr "Σφάλμα αποθήκευσης αρχείου: %s"
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
@@ -1947,37 +1942,24 @@ msgid "Inherited by:"
msgstr "Κληρονομείται από:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "Περιγραφή:"
+msgstr "Περιγραφή"
#: editor/editor_help.cpp
msgid "Online Tutorials"
msgstr "Διαδικτυακή Εκμάθηση"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Δεν υπάρχει ακόμα βοήθεια για αυτήν την κλάση, μπορείτε να την [color=$color]"
-"[url=$url]γράψετε[/url][/color] ή να την [color=$color][url=$url2]ζητήσετε[/"
-"url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Ιδιότητες"
#: editor/editor_help.cpp
-#, fuzzy
msgid "override:"
-msgstr "Αντικατάσταση"
+msgstr "παράκαμψη:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "default:"
-msgstr "Προεπιλογή"
+msgstr "προεπιλογή:"
#: editor/editor_help.cpp
msgid "Methods"
@@ -2000,9 +1982,8 @@ msgid "Property Descriptions"
msgstr "Περιγραφές ιδιοτήτων"
#: editor/editor_help.cpp
-#, fuzzy
msgid "(value)"
-msgstr "Τιμή"
+msgstr "(τιμή)"
#: editor/editor_help.cpp
msgid ""
@@ -2034,9 +2015,8 @@ msgid "Case Sensitive"
msgstr "Διάκριση πεζών-κεφαλαίων"
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Show Hierarchy"
-msgstr "Εμφάνιση Βοηθών"
+msgstr "Εμφάνιση Ιεραρχίας"
#: editor/editor_help_search.cpp
msgid "Display All"
@@ -2075,9 +2055,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
msgid "Signal"
@@ -2088,14 +2067,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:"
@@ -2876,10 +2853,10 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
-"Όταν αυτή η επιλογή είναι ενεργοποιημένη, ό,τι αλλαγές γίνουν στη σκηνή θα "
-"αναπαραχθούν και στο παιχνίδι.\n"
-"Όταν χρησιμοποιηθεί απομακρυσμένα σε μία συσκευή, αυτό είναι ποιο "
-"αποτελεσματικό με δικτυωμένο σύστημα αρχείων."
+"Η ενεργοποίηση της επιλογής αυτής θα συγχρονίσει αλλαγές της σκηνής εντός "
+"του επεξεργαστή με το παιχνίδι που εκτελείται.\n"
+"Σε απομακρυσμένες συσκευές, η επιλογή είναι ποιο αποδοτική με δικτυωμένο "
+"σύστημα αρχείων."
#: editor/editor_node.cpp
msgid "Sync Script Changes"
@@ -2892,10 +2869,10 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
-"Όταν αυτή η επιλογή είναι ενεργοποιημένη, όποια δέσμη ενεργειών αποθηκευτεί "
-"θα επαναφορτωθεί στο παιχνίδι.\n"
-"Όταν χρησιμοποιηθεί απομακρυσμένα σε μία συσκευή, αυτό είναι ποιο "
-"αποτελεσματικό με δικτυωμένο σύστημα αρχείων."
+"Η ενεργοποίηση της επιλογής αυτής θα συγχρονίσει κάθε δέσμη ενεργειών που "
+"αποθηκεύεται με το παιχνίδι που εκτελείται.\n"
+"Σε απομακρυσμένες συσκευές, η επιλογή είναι ποιο αποδοτική με δικτυωμένο "
+"σύστημα αρχείων."
#: editor/editor_node.cpp editor/script_create_dialog.cpp
msgid "Editor"
@@ -3482,13 +3459,14 @@ msgid "Importing:"
msgstr "Εισαγωγή:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error getting the list of mirrors."
-msgstr "Σφάλμα κατά τη δημιουργία της υπογραφής του αντικειμένου."
+msgstr "Σφάλμα απόκτησης λίστας κατοπτρισμού."
#: editor/export_template_manager.cpp
msgid "Error parsing JSON of mirror list. Please report this issue!"
msgstr ""
+"Σφάλμα ανάλυσης JSON της λίστας κατοπτρισμού. Παρακαλούμε να αναφέρετε αυτό "
+"το πρόβλημα!"
#: editor/export_template_manager.cpp
msgid ""
@@ -4678,9 +4656,8 @@ msgid "Move Node"
msgstr "Μετακίνηση Κόμβου"
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition exists!"
-msgstr "Μετάβαση: "
+msgstr "Υπαρκτή μετάφραση!"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Add Transition"
@@ -5655,9 +5632,8 @@ msgid "Auto Insert Key"
msgstr "Αυτόματη Εισαγωγή Κλειδιού"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Το κλειδί κίνησης έχει εισαχθεί."
+msgstr "Επιλογές Κλειδιού και Πόζας Κίνησης"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -5768,20 +5744,18 @@ msgstr "Μάσκα εκπομπής"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Solid Pixels"
-msgstr "Σμίκρυνση (Εικονοστοιχεία): "
+msgstr "Αμιγή Εικονοστοιχεία"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Border Pixels"
-msgstr ""
+msgstr "Εικονοστοιχεία Περιγράμματος"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Directed Border Pixels"
-msgstr "Φάκελοι & Αρχεία:"
+msgstr "Εικονοστοιχεία Προσανατολισμένου Περιγράμματος"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -6009,18 +5983,19 @@ msgstr "Μέγεθος περιγράμματος:"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "UV Channel Debug"
-msgstr ""
+msgstr "Αποσφαλμάτωση Καναλιού UV"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Remove item %d?"
msgstr "Αφαίρεση του στοιχείου %d?"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid ""
"Update from existing scene?:\n"
"%s"
-msgstr "Αναπροσαρμογή από την σκηνή"
+msgstr ""
+"Ανανέωση από υπαρκτό δέντρο; :\n"
+"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Mesh Library"
@@ -6935,6 +6910,8 @@ msgstr "Μόνο οι πόροι από το σύστημα αρχείων μπ
#: modules/visual_script/visual_script_editor.cpp
msgid "Can't drop nodes because script '%s' is not used in this scene."
msgstr ""
+"Σφάλμα τοποθέτησης κόμβων, καθώς η δέσμη ενεργειών «%s» δεν χρησιμοποιείται "
+"σε αυτήν την σκηνή."
#: editor/plugins/script_text_editor.cpp
msgid "Lookup Symbol"
@@ -7342,7 +7319,7 @@ msgstr "Κινηματογραφική Προεπισκόπηση"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Not available when using the GLES2 renderer."
-msgstr ""
+msgstr "Δεν είναι διαθέσιμο στην απόδοση GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -7587,9 +7564,8 @@ msgid "Create Mesh2D"
msgstr "Δημιουργία Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Mesh2D Preview"
-msgstr "Δημιουργία προεπισκοπήσεων πλεγμάτων"
+msgstr "Προεπισκόπηση Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create Polygon2D"
@@ -7597,25 +7573,23 @@ msgstr "Δημιουργία Polygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Polygon2D Preview"
-msgstr ""
+msgstr "Προεπισκόπηση Polygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create CollisionPolygon2D"
msgstr "Δημιουργία CollisionPolygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "CollisionPolygon2D Preview"
-msgstr "Δημιουργία CollisionPolygon2D"
+msgstr "Προεπισκόπηση CollisionPolygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Create LightOccluder2D"
msgstr "Δημιουργία LightOccluder2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "LightOccluder2D Preview"
-msgstr "Δημιουργία LightOccluder2D"
+msgstr "Προεπισκόπηση LightOccluder2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Sprite is empty!"
@@ -7694,9 +7668,8 @@ msgid "Add Frame"
msgstr "Προσθήκη καρέ"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Unable to load images"
-msgstr "Δεν ήταν δυνατή η φόρτωση της εικόνας:"
+msgstr "Αδυναμία φόρτωσης εικόνων"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
@@ -8387,14 +8360,12 @@ msgid "Edit Tile Z Index"
msgstr "Αλλαγή Δείκτη Z Πλακιδίου"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Make Convex"
-msgstr "Μετατροπή Πολυγώνου σε Κυρτό"
+msgstr "Μετατροπή σε Κυρτό"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Make Concave"
-msgstr "Μετατροπή Πολυγώνου σε Κοίλο"
+msgstr "Μετατροπή σε Κοίλο"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create Collision Polygon"
@@ -10543,13 +10514,13 @@ msgstr ""
"του κόμβου στις προεπιλογές τους."
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid ""
"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
"cause all properties of the node to be reverted to their default."
msgstr ""
-"Η απενεργοποίηση του «editable_instance» θα επαναφέρει όλες τις ιδιότητες "
-"του κόμβου στις προεπιλογές τους."
+"Η ενεργοποίηση του «Φόρτωση ως μέσο κράτησης» θα απενεργοποιήσει το "
+"«Επεξεργάσιμα παιδιά» και θα επαναφέρει όλες τις ιδιότητες του κόμβου στις "
+"προεπιλογές τους."
#: editor/scene_tree_dock.cpp
msgid "Make Local"
@@ -10598,9 +10569,8 @@ msgid "Remove Node(s)"
msgstr "Αφαίρεση κόμβων"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Change type of node(s)"
-msgstr "Αλλαγή ονόματος θύρας εξόδου"
+msgstr "Αλλαγή τύπου κόμβων"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -10632,7 +10602,7 @@ msgstr "Επεξεργάσιμα παιδιά"
#: editor/scene_tree_dock.cpp
msgid "Load As Placeholder"
-msgstr "Φόρτωση ως μέσο κράτησης θέσης"
+msgstr "Φόρτωση ως μέσο κράτησης"
#: editor/scene_tree_dock.cpp
msgid "Open Documentation"
@@ -10727,31 +10697,28 @@ msgid "Node configuration warning:"
msgstr "Προειδοποίηση διαμόρφωσης κόμβου:"
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s) and %s group(s).\n"
"Click to show signals dock."
msgstr ""
-"Ο κόμβος έχει συνδέσεις και ομάδες.\n"
-"Πατήστε για να δείξετε την πλατφόρμα σημάτων."
+"Ο κόμβος έχει %s σύνδεση/-εις και %s ομάδα/-ες.\n"
+"Πατήστε για εμφάνιση της πλατφόρμας σημάτων."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node has %s connection(s).\n"
"Click to show signals dock."
msgstr ""
-"Ο κόμβος έχει συνδέσεις\n"
-"Πατήστε για να δείξετε την πλατφόρμα σημάτων."
+"Ο κόμβος έχει %s σύνδεση/-εις.\n"
+"Πατήστε για εμφάνιση της πλατφόρμας σημάτων."
#: editor/scene_tree_editor.cpp
-#, fuzzy
msgid ""
"Node is in %s group(s).\n"
"Click to show groups dock."
msgstr ""
-"Ο κόμβος έχει και ομάδες\n"
-"Πατήστε για να δείξετε την πλατφόρμα σημάτων."
+"Ο κόμβος είναι σε %s ομάδα/-ες\n"
+"Πατήστε για εμφάνιση της πλατφόρμας ομάδων."
#: editor/scene_tree_editor.cpp
msgid "Open Script:"
@@ -10846,9 +10813,8 @@ msgid "Error loading script from %s"
msgstr "Σφάλμα κατά την φόρτωση δέσμής ενεργειών από %s"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Overrides"
-msgstr "Αντικατάσταση"
+msgstr "Παρακάμπτει"
#: editor/script_create_dialog.cpp
msgid "N/A"
@@ -10895,24 +10861,20 @@ msgid "Will load an existing script file."
msgstr "Θα φορτώσει υπαρκτό αρχείο δέσμης ενεργειών."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Script file already exists."
-msgstr "Η ενέργεια '%s' υπάρχει ήδη!"
+msgstr "Υπαρκτό αρχείο δέσμης ενεργειών."
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Class Name:"
-msgstr "Όνομα κλάσης"
+msgstr "Όνομα Κλάσης:"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Template:"
-msgstr "Πρότυπο"
+msgstr "Πρότυπο:"
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Built-in Script:"
-msgstr "Ενσωμάτωση"
+msgstr "Ενσωμάτωση:"
#: editor/script_create_dialog.cpp
msgid "Attach Node Script"
@@ -10927,38 +10889,32 @@ msgid "Bytes:"
msgstr "Ψηφιολέξεις:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Warning:"
-msgstr "Προειδοποιήσεις:"
+msgstr "Προειδοποίηση:"
#: editor/script_editor_debugger.cpp
msgid "Error:"
msgstr "Σφάλμα:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "C++ Error"
-msgstr "Αντιγραφή σφάλματος"
+msgstr "Σφάλμα C++"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "C++ Error:"
-msgstr "Σφάλμα:"
+msgstr "Σφάλμα C++:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "C++ Source"
-msgstr "Πηγή"
+msgstr "Πηγή C++"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Source:"
-msgstr "Πηγή"
+msgstr "Πηγή:"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "C++ Source:"
-msgstr "Πηγή"
+msgstr "Πηγή C++:"
#: editor/script_editor_debugger.cpp
msgid "Stack Trace"
@@ -10969,18 +10925,16 @@ msgid "Errors"
msgstr "Σφάλματα"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Child process connected."
-msgstr "Η παιδική διαδικασία συνδέθηκε"
+msgstr "Η παιδική διεργασία συνδέθηκε."
#: editor/script_editor_debugger.cpp
msgid "Copy Error"
msgstr "Αντιγραφή σφάλματος"
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Skip Breakpoints"
-msgstr "Σημεία Διακοπής"
+msgstr "Παράλειψη Σημείων Διακοπής"
#: editor/script_editor_debugger.cpp
msgid "Inspect Previous Instance"
@@ -11073,19 +11027,16 @@ msgid "Export measures as CSV"
msgstr "Εξαγωγή μετρικών ως CSV"
#: editor/settings_config_dialog.cpp
-#, fuzzy
msgid "Erase Shortcut"
-msgstr "Ομαλά έξω"
+msgstr "Διαγραφή Συνόμευσης"
#: editor/settings_config_dialog.cpp
-#, fuzzy
msgid "Restore Shortcut"
-msgstr "Συντομεύσεις"
+msgstr "Επαναφορά Συντόμευσης"
#: editor/settings_config_dialog.cpp
-#, fuzzy
msgid "Change Shortcut"
-msgstr "Αλλαγή αγκυρών"
+msgstr "Αλλαγή Συντόμευσης"
#: editor/settings_config_dialog.cpp
msgid "Editor Settings"
@@ -11116,9 +11067,8 @@ msgid "Change Camera Size"
msgstr "Αλλαγή μεγέθους κάμερας"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Change Notifier AABB"
-msgstr "Αλλαγή διαστάσεων ειδοποιητή"
+msgstr "Ειδοποιητής Αλλαγής AABB"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Particles AABB"
@@ -11145,38 +11095,32 @@ msgid "Change Capsule Shape Height"
msgstr "Αλλαγή ύψους κάψουλας"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Change Cylinder Shape Radius"
-msgstr "Αλλαγή ακτίνας κάψουλας"
+msgstr "Αλλαγή Ακτίνας Σχήματος Κυλίνδρου"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Change Cylinder Shape Height"
-msgstr "Αλλαγή ύψους κάψουλας"
+msgstr "Αλλαγή Ύψους Σχήματος Κυλίνδρου"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Ray Shape Length"
msgstr "Αλλαγή μήκους ακτίνας"
#: modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Change Cylinder Radius"
-msgstr "Αλλαγή διαμέτρου φωτός"
+msgstr "Αλλαγή Ακτίνας Κυλίνδρου"
#: modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Change Cylinder Height"
-msgstr "Αλλαγή ύψους κάψουλας"
+msgstr "Αλλαγή Ύψους Κυλίνδρου"
#: modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Change Torus Inner Radius"
-msgstr "Αλλαγή ακτίνας σφαιρικού σχήματος"
+msgstr "Αλλαγή Εσωτερική Ακτίνας Τόρου"
#: modules/csg/csg_gizmos.cpp
-#, fuzzy
msgid "Change Torus Outer Radius"
-msgstr "Αλλαγή διαμέτρου φωτός"
+msgstr "Αλλαγή Εξωτερικής Ακτίνας Τόρου"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -11216,12 +11160,11 @@ msgstr "Βιβλιοθήκη GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Enabled GDNative Singleton"
-msgstr ""
+msgstr "Ενεργοποίηση Μονοσυνόλου GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
-#, fuzzy
msgid "Disabled GDNative Singleton"
-msgstr "Απενεργοποίηση δείκτη ενημέρωσης"
+msgstr "Απενεργοποίηση Μονοσυνόλου GDNative"
#: modules/gdnative/gdnative_library_singleton_editor.cpp
msgid "Library"
@@ -11236,9 +11179,8 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#, fuzzy
msgid "Step argument is zero!"
-msgstr "Η παράμετρος step είναι μηδέν!"
+msgstr "Μηδενική παράμετρος step!"
#: modules/gdscript/gdscript_functions.cpp
msgid "Not a script with an instance"
@@ -11303,14 +11245,12 @@ msgid "GridMap Delete Selection"
msgstr "GridMap Διαγραφή επιλογής"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Fill Selection"
-msgstr "GridMap Διαγραφή επιλογής"
+msgstr "GridMap Γέμισμα Επιλογής"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "GridMap Paste Selection"
-msgstr "GridMap Διαγραφή επιλογής"
+msgstr "GridMap Επικόλληση Επιλογής"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Paint"
@@ -11377,9 +11317,8 @@ msgid "Cursor Clear Rotation"
msgstr "Εκκαθάριση περιστροφής δρομέα"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Paste Selects"
-msgstr "Διαγραφή επιλογής"
+msgstr "Επιλογή Επικόλλησης"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clear Selection"
@@ -11398,13 +11337,12 @@ msgid "Pick Distance:"
msgstr "Επιλογή απόστασης:"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Filter meshes"
-msgstr "Φιλτράρισμα μεθόδων"
+msgstr "Φιλτράρισμα πλεγμάτων"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
-msgstr ""
+msgstr "Ορίστε έναν πόρο MeshLibrary στο GridMap για χρήση των πλεγμάτων του."
#: modules/mono/csharp_script.cpp
msgid "Class name can't be a reserved keyword"
@@ -11415,9 +11353,8 @@ msgid "End of inner exception stack trace"
msgstr "Τέλος ιχνηλάτησης στοίβας εσωτερικής εξαίρεσης"
#: modules/recast/navigation_mesh_editor_plugin.cpp
-#, fuzzy
msgid "Bake NavMesh"
-msgstr "Ψήσιμο NavMesh (πλέγματος πλοήγησης)"
+msgstr "Ψήσιμο NavMesh"
#: modules/recast/navigation_mesh_editor_plugin.cpp
msgid "Clear the navigation mesh."
@@ -11534,42 +11471,36 @@ msgid "Set Variable Type"
msgstr "Ορισμός τύπου μεταβλητής"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Add Input Port"
-msgstr "Προσθήκη θύρας εισόδου"
+msgstr "Προσθήκη Θύρας Εισόδου"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Add Output Port"
-msgstr "Προσθήκη θύρας εξόδου"
+msgstr "Προσθήκη Θύρας Εξόδου"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Override an existing built-in function."
-msgstr "Δεν μπορεί να συγχέεται με υπαρκτό ενσωματωμένο όνομα τύπου."
+msgstr "Παράκαμψη υπαρκτής ενσωματωμένης συνάρτησης."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Δημιουργία νέου ορθογωνίου."
+msgstr "Δημιουργία νέας συνάρτησης."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Μεταβλητές:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Δημιουργία νέου ορθογωνίου."
+msgstr "Δημιουργία νέας μεταβλητής."
#: modules/visual_script/visual_script_editor.cpp
msgid "Signals:"
msgstr "Σήματα:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Δημιουργία νέου πολυγώνου."
+msgstr "Δημιουργία νέου σήματος."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -11596,9 +11527,8 @@ msgid "Add Function"
msgstr "Προσθήκη συνάρτησης"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Delete input port"
-msgstr "Αφαίρεση θύρας εισόδου"
+msgstr "Διαγραφή θύρας εισόδου"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Variable"
@@ -11609,14 +11539,12 @@ msgid "Add Signal"
msgstr "Προσθήκη σήματος"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Remove Input Port"
-msgstr "Αφαίρεση θύρας εισόδου"
+msgstr "Αφαίρεση Θύρας Εισόδου"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Remove Output Port"
-msgstr "Αφαίρεση θύρας εξόδου"
+msgstr "Αφαίρεση Θύρας Εξόδου"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Expression"
@@ -11673,6 +11601,10 @@ msgid ""
"Can't drop properties because script '%s' is not used in this scene.\n"
"Drop holding 'Shift' to just copy the signature."
msgstr ""
+"Σφάλμα τοποθέτησης ιδιοτήτων, καθώς η δέσμη ενεργειών «%s» δεν "
+"χρησιμοποιείται σε αυτήν την σκηνή.\n"
+"Τοποθετήστε τες κρατώντας παρατεταμένα στο «Shift» για απλή αντιγραφή της "
+"υπογραφής."
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Getter Property"
@@ -11699,19 +11631,16 @@ msgid "Connect Nodes"
msgstr "Σύνδεση κόμβων"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Disconnect Nodes"
-msgstr "Αποσύνδεση κόμβων γραφήματος"
+msgstr "Αποσύνδεση Κόμβων"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Connect Node Data"
-msgstr "Σύνδεση κόμβων"
+msgstr "Σύνδεση Δεδομένων Κόμβων"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Connect Node Sequence"
-msgstr "Σύνδεση κόμβων"
+msgstr "Σύνδεση Εκτέλεσης Κόμβων"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -11722,9 +11651,8 @@ msgid "Change Input Value"
msgstr "Αλλαγή τιμής εισόδου"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Resize Comment"
-msgstr "Αλλαγή μεγέθους CanvasItem"
+msgstr "Αλλαγή Μεγέθους Σχολίου"
#: modules/visual_script/visual_script_editor.cpp
msgid "Can't copy the function node."
@@ -11739,26 +11667,24 @@ msgid "Paste VisualScript Nodes"
msgstr "Επικόλληση κόμβων VisualScript"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Can't create function with a function node."
-msgstr "Αδύνατη η αντιγραφή του κόμβου συνάρτησης."
+msgstr "Αδυναμία δημιουργίας συνάρτησης με κόμβου συνάρτησης."
#: modules/visual_script/visual_script_editor.cpp
msgid "Can't create function of nodes from nodes of multiple functions."
-msgstr ""
+msgstr "Αδυναμία δημιουργίας συνάρτησης κόμβων από κόμβους συναρτήσεων."
#: modules/visual_script/visual_script_editor.cpp
msgid "Select at least one node with sequence port."
-msgstr ""
+msgstr "Επιλέξτε τουλάχιστον έναν κόμβο με θύρα εκτέλεσης."
#: modules/visual_script/visual_script_editor.cpp
msgid "Try to only have one sequence input in selection."
-msgstr ""
+msgstr "Προσπαθήστε να έχετε μόνο μία είσοδο εκτέλεσης στην επιλογή."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create Function"
-msgstr "Μετονομασία συνάρτησης"
+msgstr "Δημιουργία Συνάρτησης"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Function"
@@ -11781,38 +11707,33 @@ msgid "Editing Signal:"
msgstr "Επεξεργασία σήματος:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Make Tool:"
-msgstr "Κάνε τοπικό"
+msgstr "Κάνε Εργαλείο (tool):"
#: modules/visual_script/visual_script_editor.cpp
msgid "Members:"
msgstr "Μέλη:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Change Base Type:"
-msgstr "Αλλαγή βασικού τύπου"
+msgstr "Αλλαγή Βασικού Τύπου:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Add Nodes..."
-msgstr "Προσθήκη Κόμβου..."
+msgstr "Προσθήκη Κόμβων..."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Add Function..."
-msgstr "Προσθήκη συνάρτησης"
+msgstr "Προσθήκη Συνάρτησης..."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "function_name"
-msgstr "Συνάρτηση:"
+msgstr "όνομα_συνάρτησης"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Select or create a function to edit its graph."
-msgstr "Επιλέξτε ή δημιουργήστε μία συνάρτηση για να επεξεργαστείτε το γράφημα"
+msgstr ""
+"Επιλέξτε ή δημιουργήστε μία συνάρτηση για να επεξεργαστείτε το γράφημα της."
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
@@ -11831,19 +11752,16 @@ msgid "Cut Nodes"
msgstr "Αποκοπή κόμβων"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Make Function"
-msgstr "Μετονομασία συνάρτησης"
+msgstr "Κάνε Συνάρτηση"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Refresh Graph"
-msgstr "Αναναίωση"
+msgstr "Ανανέωση Γραφήματος"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Edit Member"
-msgstr "Μέλη"
+msgstr "Επεξεργασία Μέλους"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
@@ -11903,17 +11821,16 @@ msgstr ""
"ή ακολουθία χαρακτήρων (error)."
#: modules/visual_script/visual_script_property_selector.cpp
-#, fuzzy
msgid "Search VisualScript"
-msgstr "Αφαίρεση κόμβου VisualScript"
+msgstr "Αναζήτηση VisualScript"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Get %s"
-msgstr ""
+msgstr "Διάβασε %s"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Set %s"
-msgstr ""
+msgstr "Θέσε %s"
#: platform/android/export/export.cpp
msgid "Package name is missing."
@@ -11924,10 +11841,9 @@ msgid "Package segments must be of non-zero length."
msgstr "Τα τμήματα του πακέτου πρέπει να έχουν μη μηδενικό μήκος."
#: platform/android/export/export.cpp
-#, fuzzy
msgid "The character '%s' is not allowed in Android application package names."
msgstr ""
-"Ο χαρακτήρας '%s' δεν επιτρέπεται στα ονόματα των πακέτων εφαρμογών Android."
+"Ο χαρακτήρας «%s» απαγορεύεται στο όνομα πακέτου των εφαρμογών Android."
#: platform/android/export/export.cpp
msgid "A digit cannot be the first character in a package segment."
@@ -11958,11 +11874,10 @@ msgid "OpenJDK jarsigner not configured in the Editor Settings."
msgstr "Το OpenJDK jarsigner δεν έχει ρυθμιστεί στις Ρυθμίσεις Επεξεργαστή."
#: platform/android/export/export.cpp
-#, fuzzy
msgid "Debug keystore not configured in the Editor Settings nor in the preset."
msgstr ""
-"Το Debug keystore δεν έχει ρυθμιστεί στις Ρυθμίσεις Επεξεργαστή ή στην "
-"προεπιλεγμένη ρύθμιση."
+"Το «debug keystore» δεν έχει καθοριστεί στις Ρυθμίσεις Επεξεργαστή ή την "
+"διαμόρφωση."
#: platform/android/export/export.cpp
msgid "Custom build requires a valid Android SDK path in Editor Settings."
@@ -11989,9 +11904,8 @@ msgid "Invalid public key for APK expansion."
msgstr "Μη έγκυρο δημόσιο κλειδί (public key) για επέκταση APK."
#: platform/android/export/export.cpp
-#, fuzzy
msgid "Invalid package name:"
-msgstr "Μη έγκυρο όνομα κλάσης"
+msgstr "Άκυρο όνομα πακέτου:"
#: platform/android/export/export.cpp
msgid ""
@@ -12036,30 +11950,26 @@ msgid "Identifier is missing."
msgstr "Το αναγνωριστικό λείπει."
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "The character '%s' is not allowed in Identifier."
-msgstr "Το όνομα δεν είναι έγκυρο αναγνωριστικό:"
+msgstr "Ο χαρακτήρας «%s» είναι άκυρος σε αναγνωριστικό."
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
-"Το ομαδικό αναγνωριστικό (Team ID) App Store δεν έχει καθοριστεί - δεν "
-"είναι δυνατή η διαμόρφωση του έργου."
+"Δεν έχει καθοριστεί αναγνωριστικό ομάδας (Team ID) του App Store - αδυναμία "
+"διαμόρφωσης έργου."
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Invalid Identifier:"
-msgstr "Το όνομα δεν είναι έγκυρο αναγνωριστικό:"
+msgstr "Άκυρο Αναγνωριστικό:"
#: platform/iphone/export/export.cpp
-#, fuzzy
msgid "Required icon is not specified in the preset."
-msgstr "Το απαιτούμενο εικονίδιο δεν έχει καθοριστεί στην προεπιλογή."
+msgstr "Το απαιτούμενο εικονίδιο δεν έχει καθοριστεί στην διαμόρφωση."
#: platform/javascript/export/export.cpp
msgid "Stop HTTP Server"
-msgstr ""
+msgstr "Τερματισμός Διακομιστή HTTP"
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
@@ -12094,19 +12004,16 @@ msgid "Using default boot splash image."
msgstr "Χρήση προεπιλεγμένης εικόνας εκκίνησης."
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Invalid package short name."
-msgstr "Μη έγκυρο όνομα κλάσης"
+msgstr "Άκυρο σύντομο όνομα πακέτου."
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Invalid package unique name."
-msgstr "Άκυρο μοναδικό όνομα."
+msgstr "Άκυρο μοναδικό όνομα πακέτου."
#: platform/uwp/export/export.cpp
-#, fuzzy
msgid "Invalid package publisher display name."
-msgstr "Άκυρο μοναδικό όνομα."
+msgstr "Άκυρο όνομα εμφάνισης εκδότη πακέτου."
#: platform/uwp/export/export.cpp
msgid "Invalid product GUID."
@@ -12217,6 +12124,8 @@ msgid ""
"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
"\"Particles Animation\" enabled."
msgstr ""
+"Η κίνηση CPUParticles2D απαιτεί την χρήση CanvasItemMaterial με το "
+"«Particles Animation» ενεργό."
#: scene/2d/light_2d.cpp
#, fuzzy
@@ -12268,6 +12177,9 @@ msgid ""
"Use the CPUParticles2D node instead. You can use the \"Convert to "
"CPUParticles\" option for this purpose."
msgstr ""
+"Τα σωματίδια GPU δεν υποστηρίζονται από τον οδηγό βίντεο GLES2.\n"
+"Χρησιμοποιήστε τον κόμβο CPUParticles2D. Μπορείτε να χρησιμοποιήσετε την "
+"επιλογή «Convert to CPUParticles» για αυτόν τον σκοπό."
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
msgid ""
@@ -12282,6 +12194,8 @@ msgid ""
"Particles2D animation requires the usage of a CanvasItemMaterial with "
"\"Particles Animation\" enabled."
msgstr ""
+"Η κίνηση Particles2D απαιτεί την χρήση ενός CanvasItemMaterial με το "
+"«Particles Animation» ενεργό."
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
@@ -12305,16 +12219,20 @@ msgstr ""
#: scene/2d/skeleton_2d.cpp
msgid "This Bone2D chain should end at a Skeleton2D node."
-msgstr ""
+msgstr "Αυτή η αλυσίδα Bone2D πρέπει να τελειώνει σε έναν κόμβο Skeleton2D."
#: scene/2d/skeleton_2d.cpp
msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
msgstr ""
+"Ένα Bone2D δουλεύει μόνο με ένα Skeleton2D ή άλλο Bone2D σαν τον γονικό του "
+"κόμβο."
#: scene/2d/skeleton_2d.cpp
msgid ""
"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
msgstr ""
+"Αυτό το κόκαλο δεν έχει θέση REST. Πηγαίνετε στον κόμβο Skeleton2D και "
+"ορίστε την."
#: scene/2d/tile_map.cpp
#, fuzzy
@@ -12465,6 +12383,8 @@ msgid ""
"CPUParticles animation requires the usage of a SpatialMaterial whose "
"Billboard Mode is set to \"Particle Billboard\"."
msgstr ""
+"Η κίνηση CPUParticles απαιτεί την χρήση ενός SpatialMaterial με το Billboard "
+"Mode ίσο με «Particle Billboard»."
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
@@ -12506,6 +12426,9 @@ msgid ""
"Use the CPUParticles node instead. You can use the \"Convert to CPUParticles"
"\" option for this purpose."
msgstr ""
+"Τα σωματίδια GPU δεν υποστηρίζονται από τον οδηγό βίντεο GLES2.\n"
+"Χρησιμοποιήστε τον κόμβο CPUParticles. Μπορείτε να χρησιμοποιήσετε την "
+"επιλογή «Convert to CPUParticles» για αυτόν τον σκοπό."
#: scene/3d/particles.cpp
msgid ""
@@ -12518,6 +12441,8 @@ msgid ""
"Particles animation requires the usage of a SpatialMaterial whose Billboard "
"Mode is set to \"Particle Billboard\"."
msgstr ""
+"Η κίνηση Particles απαιτεί την χρήση ενός SpatialMaterial με το Billboard "
+"Mode ίσο με «Particle Billboard»."
#: scene/3d/path.cpp
#, fuzzy
@@ -12529,6 +12454,8 @@ msgid ""
"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
"parent Path's Curve resource."
msgstr ""
+"Το ROTATION_ORIENTED του PathFollow απαιτεί το «Up Vector» να είναι ενεργό "
+"στον πόρο Curve του γονικού Path."
#: scene/3d/physics_body.cpp
msgid ""
@@ -12586,6 +12513,8 @@ msgid ""
"WorldEnvironment requires its \"Environment\" property to contain an "
"Environment to have a visible effect."
msgstr ""
+"Το WorldEnvironment απαιτεί τον ορισμό της ιδιότητας «Environment» για να "
+"έχει ορατό αποτέλεσμα."
#: scene/3d/world_environment.cpp
msgid ""
@@ -12604,7 +12533,7 @@ msgstr ""
#: scene/animation/animation_blend_tree.cpp
msgid "On BlendTree node '%s', animation not found: '%s'"
-msgstr ""
+msgstr "Στον κόμβο BlendTree «%s», δεν βρέθηκε η κίνηση: «%s»"
#: scene/animation/animation_blend_tree.cpp
#, fuzzy
@@ -12628,7 +12557,7 @@ msgstr "Αποσύνδεση του '%s' απο το '%s'"
#: scene/animation/animation_tree.cpp
msgid "No root AnimationNode for the graph is set."
-msgstr ""
+msgstr "Δεν έχει οριστεί ριζικό AnimationNode για το γράφημα."
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -12640,6 +12569,7 @@ msgstr ""
#: scene/animation/animation_tree.cpp
msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
msgstr ""
+"Το όρισμα διαδρομής AnimationPlayer δεν οδηγεί σε κόμβο AnimationPlayer."
#: scene/animation/animation_tree.cpp
#, fuzzy
@@ -12657,6 +12587,9 @@ msgid ""
"LMB: Set color\n"
"RMB: Remove preset"
msgstr ""
+"Χρώμα: #%s\n"
+"LMB: Ορισμός χρώματος\n"
+"RMB: Κατάργηση διαμόρφωσης"
#: scene/gui/color_picker.cpp
#, fuzzy
@@ -12674,7 +12607,7 @@ msgstr "Παρέκκλιση"
#: scene/gui/color_picker.cpp
msgid "Switch between hexadecimal and code values."
-msgstr ""
+msgstr "Εναλλαγή δεκαεξαδικών και κωδικοποιημένων τιμών."
#: scene/gui/color_picker.cpp
msgid "Add current color as a preset."
@@ -12697,6 +12630,9 @@ msgid ""
"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
msgstr ""
+"Το Hint Tooltip δεν θα εμφανιστεί, καθώς το Mouse Filter του Control είναι "
+"«Ignore». Για επίλυση του προβλήματος, θέστε το Mouse Filter σε «Stop» ή "
+"«Pass»."
#: scene/gui/dialogs.cpp
msgid "Alert!"
@@ -12720,6 +12656,8 @@ msgstr ""
#: scene/gui/range.cpp
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
msgstr ""
+"Εάν το «Exp Edit» είναι ενεργό, το «Min Value» πρέπει να είναι μεγαλύτερο "
+"του 0."
#: scene/gui/scroll_container.cpp
#, fuzzy
@@ -12774,20 +12712,29 @@ msgstr "Μη έγκυρη πηγή!"
#: servers/visual/shader_language.cpp
msgid "Assignment to function."
-msgstr ""
+msgstr "Ανάθεση σε συνάρτηση."
#: servers/visual/shader_language.cpp
msgid "Assignment to uniform."
-msgstr ""
+msgstr "Ανάθεση σε ενιαία μεταβλητή."
#: servers/visual/shader_language.cpp
msgid "Varyings can only be assigned in vertex function."
-msgstr ""
+msgstr "Τα «varying» μπορούν να ανατεθούν μόνο στην σκίαση κορυφής."
#: servers/visual/shader_language.cpp
msgid "Constants cannot be modified."
msgstr "Οι σταθερές δεν μπορούν να τροποποιηθούν."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Δεν υπάρχει ακόμα βοήθεια για αυτήν την κλάση, μπορείτε να την [color="
+#~ "$color][url=$url]γράψετε[/url][/color] ή να την [color=$color][url="
+#~ "$url2]ζητήσετε[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "απαρίθμηση "
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index 4ba9442205..f8818961c6 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -1935,13 +1935,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/es.po b/editor/translations/es.po
index 34036a30b9..7ae1e60572 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -46,7 +46,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-20 22:39+0000\n"
+"PO-Revision-Date: 2020-01-27 07:09+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
@@ -1990,16 +1990,6 @@ msgid "Online Tutorials"
msgstr "Tutoriales en línea"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Actualmente no existen tutoriales para esta clase, puedes [color=$color][url="
-"$url]contribuir uno[/url][/color] o [color=$color][url=$url2]solicitar uno[/"
-"url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Propiedades"
@@ -5676,9 +5666,8 @@ msgid "Auto Insert Key"
msgstr "Auto Insertar Clave"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Clave de animación insertada."
+msgstr "Clave de animación y Opciones de Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -12727,6 +12716,15 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice."
msgid "Constants cannot be modified."
msgstr "Las constantes no pueden modificarse."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Actualmente no existen tutoriales para esta clase, puedes [color=$color]"
+#~ "[url=$url]contribuir uno[/url][/color] o [color=$color][url="
+#~ "$url2]solicitar uno[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index d3a4c75d71..c367f694c1 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-01-20 11:39+0000\n"
-"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
+"PO-Revision-Date: 2020-01-27 07:09+0000\n"
+"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
"Language: es_AR\n"
@@ -1959,16 +1959,6 @@ msgid "Online Tutorials"
msgstr "Tutoriales en línea"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Actualmente no existen tutoriales para esta clase, podés [color=$color][url="
-"$url]contribuir uno[/url][/color] o [color=$color][url=$url2]solicitar uno[/"
-"url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Propiedades"
@@ -5642,9 +5632,8 @@ msgid "Auto Insert Key"
msgstr "Auto Insertar Clave"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Clave de Animación Insertada."
+msgstr "Clave de animación y Opciones de Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -12686,6 +12675,15 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice."
msgid "Constants cannot be modified."
msgstr "Las constantes no pueden modificarse."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Actualmente no existen tutoriales para esta clase, podés [color=$color]"
+#~ "[url=$url]contribuir uno[/url][/color] o [color=$color][url="
+#~ "$url2]solicitar uno[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/et.po b/editor/translations/et.po
index 774f6dd7f6..1db95acc83 100644
--- a/editor/translations/et.po
+++ b/editor/translations/et.po
@@ -1898,13 +1898,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/eu.po b/editor/translations/eu.po
index 9d3a506fce..b9a682553e 100644
--- a/editor/translations/eu.po
+++ b/editor/translations/eu.po
@@ -1893,13 +1893,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index 92e3422d44..5d071126c6 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -2020,13 +2020,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index 70a9c21e7f..bac46bbf8b 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-20 22:39+0000\n"
+"PO-Revision-Date: 2020-01-27 07:10+0000\n"
"Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/"
"godot/fi/>\n"
@@ -1944,16 +1944,6 @@ msgid "Online Tutorials"
msgstr "Online-oppaat"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Tälle luokalle ei vielä löydy kuvausta. Voit [color=$color][url=$url]auttaa "
-"luomalla sellaisen[/url][/color] tai [color=$color][url=$url2]pyytää "
-"sellaisen[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Ominaisuudet"
@@ -5599,9 +5589,8 @@ msgid "Auto Insert Key"
msgstr "Lisää avainruutuja automaattisesti"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Animaatioavain lisätty."
+msgstr "Animaatioavaimen ja asennon valinnat"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -12614,6 +12603,15 @@ msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa."
msgid "Constants cannot be modified."
msgstr "Vakioita ei voi muokata."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Tälle luokalle ei vielä löydy kuvausta. Voit [color=$color][url="
+#~ "$url]auttaa luomalla sellaisen[/url][/color] tai [color=$color][url="
+#~ "$url2]pyytää sellaisen[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/fil.po b/editor/translations/fil.po
index b930a1dc6b..c8a2a20684 100644
--- a/editor/translations/fil.po
+++ b/editor/translations/fil.po
@@ -1900,13 +1900,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index 78f04cd166..c92a8d3bb0 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -2017,16 +2017,6 @@ msgid "Online Tutorials"
msgstr "Tutoriels en ligne"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Il n'y a pas de tutoriels disponibles pour cette classe, vous pouvez [color="
-"$color][url=$url]en créer un[/url][/color] ou [color=$color][url=$url2]en "
-"demander un[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Propriétés"
@@ -12796,6 +12786,15 @@ msgstr "Les variations ne peuvent être affectées que dans la fonction vertex."
msgid "Constants cannot be modified."
msgstr "Les constantes ne peuvent être modifiées."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Il n'y a pas de tutoriels disponibles pour cette classe, vous pouvez "
+#~ "[color=$color][url=$url]en créer un[/url][/color] ou [color=$color][url="
+#~ "$url2]en demander un[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum_ "
diff --git a/editor/translations/ga.po b/editor/translations/ga.po
index c82b19b5de..f1db3d5a78 100644
--- a/editor/translations/ga.po
+++ b/editor/translations/ga.po
@@ -1896,13 +1896,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/he.po b/editor/translations/he.po
index 316171b7b7..6a153b6f11 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -2014,13 +2014,6 @@ msgid "Online Tutorials"
msgstr "מסמכים מקוונים"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "מאפיינים"
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index 1f205dc7c7..424a9a6bc1 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -1988,13 +1988,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/hr.po b/editor/translations/hr.po
index 8b6c214e13..bc5abb76fc 100644
--- a/editor/translations/hr.po
+++ b/editor/translations/hr.po
@@ -1910,13 +1910,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index 5dc81bf15f..af13990fdc 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -2033,16 +2033,6 @@ msgid "Online Tutorials"
msgstr "Online Oktatóanyagok:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Jelenleg nincsenek oktatóanyagok ehhez az osztályhoz. [color=$color][url="
-"$url]Hozzájárulhat eggyel[/url][/color], vagy [color=$color][url="
-"$url2]kérvényezhet egyet[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Tulajdonságok"
@@ -12913,6 +12903,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Jelenleg nincsenek oktatóanyagok ehhez az osztályhoz. [color=$color][url="
+#~ "$url]Hozzájárulhat eggyel[/url][/color], vagy [color=$color][url="
+#~ "$url2]kérvényezhet egyet[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/id.po b/editor/translations/id.po
index 4dcb1c53cf..4208edb582 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -1965,16 +1965,6 @@ msgid "Online Tutorials"
msgstr "Tutorial Daring"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Untuk saat ini tidak ada tutorial dalam kelas ini, anda bisa [color=$color]"
-"[url=$url]ikut berkontribusi[/url][/color] atau [color=$color][url="
-"$url2]memberikan usulan[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Properti Objek"
@@ -12693,6 +12683,15 @@ msgstr "Variasi hanya bisa ditetapkan dalam fungsi vertex."
msgid "Constants cannot be modified."
msgstr "Konstanta tidak dapat dimodifikasi."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Untuk saat ini tidak ada tutorial dalam kelas ini, anda bisa [color="
+#~ "$color][url=$url]ikut berkontribusi[/url][/color] atau [color=$color][url="
+#~ "$url2]memberikan usulan[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/is.po b/editor/translations/is.po
index 9a91b52352..7a2250c0b2 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -1931,13 +1931,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/it.po b/editor/translations/it.po
index a96b5716d3..a549df218c 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -36,7 +36,7 @@
# Davide Giuliano <davidegiuliano00@gmail.com>, 2019.
# Stefano Merazzi <asso99@hotmail.com>, 2019.
# Sinapse X <sinapsex13@gmail.com>, 2019.
-# Micila Micillotto <micillotto@gmail.com>, 2019.
+# Micila Micillotto <micillotto@gmail.com>, 2019, 2020.
# Mirko Soppelsa <miknsop@gmail.com>, 2019.
# No <kingofwizards.kw7@gmail.com>, 2019.
# StarFang208 <polaritymanx@yahoo.it>, 2019.
@@ -47,8 +47,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-21 23:23+0000\n"
-"Last-Translator: Fabio Iotti <fabiogiopla@gmail.com>\n"
+"PO-Revision-Date: 2020-01-27 07:09+0000\n"
+"Last-Translator: Micila Micillotto <micillotto@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -1983,23 +1983,12 @@ msgid "Online Tutorials"
msgstr "Tutorial Online"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Al momento non esiste alcuna descrizione per questa classe. Aiutaci [color="
-"$color][url=$url]aggiungendone una[/url][/color] oppure [color=$color][url="
-"$url2]richiedendone una[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Proprietà"
#: editor/editor_help.cpp
-#, fuzzy
msgid "override:"
-msgstr "ridefinizione:"
+msgstr "sovrascrivi:"
#: editor/editor_help.cpp
msgid "default:"
@@ -4699,7 +4688,6 @@ msgid "Move Node"
msgstr "Sposta Nodo"
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition exists!"
msgstr "La transizione esiste!"
@@ -5671,9 +5659,8 @@ msgid "Auto Insert Key"
msgstr "Inserimento Automatico Chiave"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Key d'Animazione Inserito."
+msgstr "Chiavi d'Animazione e Opzioni Posa"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -5794,7 +5781,6 @@ msgstr "Pixel del Bordo"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Directed Border Pixels"
msgstr "Pixel dei Bordi Diretti"
@@ -7702,7 +7688,6 @@ msgid "Add Frame"
msgstr "Aggiungi frame"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Unable to load images"
msgstr "Impossibile caricare le immagini"
@@ -11349,9 +11334,8 @@ msgid "Cursor Clear Rotation"
msgstr "Cursore Cancella Rotazione"
#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
msgid "Paste Selects"
-msgstr "Cancella Selezione"
+msgstr "Incolla Selezioni"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clear Selection"
@@ -12723,6 +12707,15 @@ msgstr "Varyings può essere assegnato soltanto nella funzione del vertice."
msgid "Constants cannot be modified."
msgstr "Le constanti non possono essere modificate."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Al momento non esiste alcuna descrizione per questa classe. Aiutaci "
+#~ "[color=$color][url=$url]aggiungendone una[/url][/color] oppure [color="
+#~ "$color][url=$url2]richiedendone una[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index 4cc71bc321..af2cca2ca6 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -35,7 +35,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-23 15:05+0000\n"
+"PO-Revision-Date: 2020-01-27 07:09+0000\n"
"Last-Translator: Wataru Onuki <bettawat@yahoo.co.jp>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
@@ -681,7 +681,7 @@ msgstr "コピー"
#: editor/animation_track_editor.cpp
msgid "Select All/None"
-msgstr "全てを選択/解除"
+msgstr "すべてを選択/解除"
#: editor/animation_track_editor_plugins.cpp
msgid "Add Audio Track Clip"
@@ -928,7 +928,7 @@ msgstr "このシグナルから全ての接続を除去してもよろしいで
#: editor/connections_dialog.cpp
msgid "Disconnect All"
-msgstr "全て切断"
+msgstr "すべて切断"
#: editor/connections_dialog.cpp
msgid "Edit..."
@@ -1202,7 +1202,7 @@ msgstr ""
#: editor/editor_about.cpp
msgid "All Components"
-msgstr "全てのコンポーネント"
+msgstr "すべてのコンポーネント"
#: editor/editor_about.cpp
msgid "Components"
@@ -1968,16 +1968,6 @@ msgid "Online Tutorials"
msgstr "オンラインチュートリアル"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"現在、このクラスのチュートリアルはありませんが、[color=$color][url=$url]貢献"
-"[/url][/color]、または[color=$color][url=$url2]リクエスト[/url][/color]は可能"
-"です。"
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "プロパティ"
@@ -2630,7 +2620,7 @@ msgstr "他のタブを閉じる"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
-msgstr "タブを右に閉じる"
+msgstr "右側のタブを閉じる"
#: editor/editor_node.cpp
msgid "Close All Tabs"
@@ -2718,7 +2708,7 @@ msgstr "シーンを保存"
#: editor/editor_node.cpp
msgid "Save All Scenes"
-msgstr "全てのシーンを保存"
+msgstr "すべてのシーンを保存"
#: editor/editor_node.cpp
msgid "Convert To..."
@@ -4745,7 +4735,7 @@ msgstr "プレイモード:"
#: editor/plugins/animation_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "AnimationTree"
-msgstr "アニメーションツリー"
+msgstr "AnimationTree(アニメーションツリー)"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
@@ -5976,11 +5966,12 @@ msgid "Remove item %d?"
msgstr "アイテム%dを取り除きますか?"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid ""
"Update from existing scene?:\n"
"%s"
-msgstr "シーンからアップデート"
+msgstr ""
+"既存シーンからアップデートしますか?:\n"
+"%s"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Mesh Library"
@@ -7341,9 +7332,8 @@ msgstr ""
"ゲーム内のパフォーマンスを確実に示すものとして使用することはできません。"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "View Rotation Locked"
-msgstr "情報を表示"
+msgstr "ビューの回転を固定中"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "XForm Dialog"
@@ -7423,7 +7413,7 @@ msgstr "フリールックの切り替え"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform"
-msgstr "変形"
+msgstr "幾何学変換(変形)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Object to Floor"
@@ -10982,7 +10972,7 @@ msgstr "フォーマット"
#: editor/script_editor_debugger.cpp
msgid "Usage"
-msgstr "使用"
+msgstr "使用法"
#: editor/script_editor_debugger.cpp
msgid "Misc"
@@ -12663,6 +12653,15 @@ msgstr "Varyingは頂点関数にのみ割り当てることができます。"
msgid "Constants cannot be modified."
msgstr "定数は変更できません。"
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "現在、このクラスのチュートリアルはありませんが、[color=$color][url=$url]貢"
+#~ "献[/url][/color]、または[color=$color][url=$url2]リクエスト[/url][/color]"
+#~ "は可能です。"
+
#~ msgid "enum "
#~ msgstr "列挙型 "
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
index 066a1b1036..4808e9177b 100644
--- a/editor/translations/ka.po
+++ b/editor/translations/ka.po
@@ -1997,13 +1997,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index 2f3724c67a..ae7e1edf52 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-22 23:17+0000\n"
+"PO-Revision-Date: 2020-01-27 07:09+0000\n"
"Last-Translator: 송태섭 <xotjq237@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
@@ -1942,16 +1942,6 @@ msgid "Online Tutorials"
msgstr "온라인 튜토리얼"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"현재 이 클래스에 대한 튜토리얼이 없어요. [color=$color][url=$url]튜토리얼에 "
-"기여하거나[/url][/color] [color=$color][url=$url2]튜토리얼을 요청할 수[/url]"
-"[/color] 있어요."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "속성"
@@ -5564,9 +5554,8 @@ msgid "Auto Insert Key"
msgstr "자동으로 키 삽입하기"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "애니메이션 키를 삽입했어요."
+msgstr "애니메이션 키와 포즈 설정"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -12489,6 +12478,15 @@ msgstr "Varying은 꼭짓점 함수에만 지정할 수 있어요."
msgid "Constants cannot be modified."
msgstr "상수는 수정할 수 없어요."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "현재 이 클래스에 대한 튜토리얼이 없어요. [color=$color][url=$url]튜토리얼"
+#~ "에 기여하거나[/url][/color] [color=$color][url=$url2]튜토리얼을 요청할 수"
+#~ "[/url][/color] 있어요."
+
#~ msgid "enum "
#~ msgstr "이넘 "
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index 0028b63bdd..f3118b9942 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -1964,13 +1964,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
index 361e385cb4..b6066df271 100644
--- a/editor/translations/lv.po
+++ b/editor/translations/lv.po
@@ -1967,13 +1967,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/mi.po b/editor/translations/mi.po
index 9bdc2bf47f..24d1f213e2 100644
--- a/editor/translations/mi.po
+++ b/editor/translations/mi.po
@@ -1886,13 +1886,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/ml.po b/editor/translations/ml.po
index 59b1a54065..dbf8e76d3f 100644
--- a/editor/translations/ml.po
+++ b/editor/translations/ml.po
@@ -1896,13 +1896,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/mr.po b/editor/translations/mr.po
index c073f32ec7..43f7620d28 100644
--- a/editor/translations/mr.po
+++ b/editor/translations/mr.po
@@ -1892,13 +1892,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index e8d33c28cc..0207d83de5 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -6,12 +6,14 @@
# Shaqir Rafiq <moshamoradev@gmail.com>, 2018.
# Syaz Amirin <amirin123z@gmail.com>, 2018.
# Nafis Ibrahim <thepreciousnafis@gmail.com>, 2018.
+# Muhammad Hazim bin Hafizalshah <muhammadhazimhafizalshah@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-12-13 14:41+0100\n"
-"Last-Translator: Nafis Ibrahim <thepreciousnafis@gmail.com>\n"
+"PO-Revision-Date: 2020-01-27 07:10+0000\n"
+"Last-Translator: Muhammad Hazim bin Hafizalshah "
+"<muhammadhazimhafizalshah@gmail.com>\n"
"Language-Team: Malay <https://hosted.weblate.org/projects/godot-engine/godot/"
"ms/>\n"
"Language: ms\n"
@@ -19,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.2\n"
+"X-Generator: Weblate 3.11-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1915,13 +1917,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
@@ -4261,9 +4256,8 @@ msgid "Audio Clips"
msgstr "Anim Tambah Trek"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Functions"
-msgstr "Semua Pilihan"
+msgstr "Fungsi"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
@@ -4590,7 +4584,7 @@ msgstr ""
#: editor/plugins/animation_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "AnimationTree"
-msgstr ""
+msgstr "AnimationTree"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
@@ -9765,9 +9759,8 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
-#, fuzzy
msgid "Action"
-msgstr "Semua Pilihan"
+msgstr "Aksi"
#: editor/project_settings_editor.cpp
msgid "Deadzone"
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index c9071e232d..dcbe8e6950 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -2059,16 +2059,6 @@ msgid "Online Tutorials"
msgstr "Online dokumentasjon:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Det finnes i øyeblikket ingen beskrivelse av denne metoden, men du kan "
-"[colour=$color][url=$url]bidra med en[/url][/color] eller [color=$color][url="
-"$url2]be om en[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Egenskaper"
@@ -13044,6 +13034,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Konstanter kan ikke endres."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Det finnes i øyeblikket ingen beskrivelse av denne metoden, men du kan "
+#~ "[colour=$color][url=$url]bidra med en[/url][/color] eller [color=$color]"
+#~ "[url=$url2]be om en[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "num "
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index 093cb067eb..39bca63def 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -44,8 +44,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-22 23:17+0000\n"
-"Last-Translator: Julian <jdhoogvorst@gmail.com>\n"
+"PO-Revision-Date: 2020-01-27 07:09+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"
"Language: nl\n"
@@ -1979,16 +1979,6 @@ msgid "Online Tutorials"
msgstr "Online Zelfstudie"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Er is momenteel geen handleiding voor deze methode. Help ons alsjeblieft "
-"door [color=$color][url=$url]een toe te voegen[/url][/color] of [color="
-"$color][url=$url2]een aan te vragen[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Eigenschappen"
@@ -5648,9 +5638,8 @@ msgid "Auto Insert Key"
msgstr "Sleutel automatisch invoegen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Animatiesleutel Ingevoegd."
+msgstr "Opties voor animatiesleutels en -poses"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -9721,7 +9710,7 @@ msgstr "Naamloos Project"
#: editor/project_manager.cpp
msgid "Missing Project"
-msgstr "Ontbrekend project"
+msgstr "Bestanden ontbreken"
#: editor/project_manager.cpp
msgid "Error: Project is missing on the filesystem."
@@ -9829,7 +9818,7 @@ msgid ""
"The project folders' contents won't be modified."
msgstr ""
"Alle ontbrekende projecten uit de lijst verwijderen?\n"
-"De inhoud van de projectmap wordt niet geraakt."
+"De inhoud van de projectmap wordt niet veranderd."
#: editor/project_manager.cpp
msgid ""
@@ -9874,7 +9863,7 @@ msgstr "Nieuw Project"
#: editor/project_manager.cpp
msgid "Remove Missing"
-msgstr "Ontbrekende verwijderen"
+msgstr "Lijst opruimen"
#: editor/project_manager.cpp
msgid "Templates"
@@ -10396,7 +10385,7 @@ msgstr "Knoopouder wijzigen"
#: editor/reparent_dialog.cpp
msgid "Reparent Location (Select new Parent):"
-msgstr "Reparent Locatie (Selecteer nieuwe Ouder):"
+msgstr "Plaats instellen (selecteer nieuwe ouder):"
#: editor/reparent_dialog.cpp
msgid "Keep Global Transform"
@@ -10404,7 +10393,7 @@ msgstr "Houd Globale Transformatie"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent"
-msgstr "Reparent"
+msgstr "Ouder veranderen"
#: editor/run_settings_dialog.cpp
msgid "Run Mode:"
@@ -10627,11 +10616,11 @@ msgstr "Knoop hieronder toevoegen"
#: editor/scene_tree_dock.cpp
msgid "Expand/Collapse All"
-msgstr "Alles Uitklappen/Inklappen"
+msgstr "Alles uit-/inklappen"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
-msgstr "Verander het type"
+msgstr "Type veranderen"
#: editor/scene_tree_dock.cpp
msgid "Reparent to New Node"
@@ -12684,6 +12673,15 @@ msgstr "Varyings kunnen alleen worden toegewezenin vertex functies."
msgid "Constants cannot be modified."
msgstr "Constanten kunnen niet worden aangepast."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Er is momenteel geen handleiding voor deze methode. Help ons alsjeblieft "
+#~ "door [color=$color][url=$url]een toe te voegen[/url][/color] of [color="
+#~ "$color][url=$url2]een aan te vragen[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/or.po b/editor/translations/or.po
index 29eb0522e2..5cddf8dee7 100644
--- a/editor/translations/or.po
+++ b/editor/translations/or.po
@@ -1892,13 +1892,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index b19edb41ef..e5e5e91d65 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-01-20 22:39+0000\n"
+"PO-Revision-Date: 2020-01-27 07:10+0000\n"
"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
@@ -1970,22 +1970,12 @@ msgid "Online Tutorials"
msgstr "Poradniki online"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Obecnie nie ma żadnych samouczków dla tej klasy, możesz [color=$color][url="
-"$url]dodać jeden[/url][/color] lub [color=$color][url=$url2]poprosić o "
-"jakiś[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Właściwości"
#: editor/editor_help.cpp
msgid "override:"
-msgstr "przeciążenie:"
+msgstr "nadpisanie:"
#: editor/editor_help.cpp
msgid "default:"
@@ -5632,9 +5622,8 @@ msgid "Auto Insert Key"
msgstr "Automatycznie wstaw klucz"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Wstawiono klucz animacji."
+msgstr "Opcje kluczy animacji i pozy"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -8018,8 +8007,8 @@ msgid ""
"Shift+LMB: Line Draw\n"
"Shift+Ctrl+LMB: Rectangle Paint"
msgstr ""
-"Shift+PPM: Rysowanie linii\n"
-"Shift+Ctrl+PPM: Malowanie prostokąta"
+"Shift+LPM: Rysowanie linii\n"
+"Shift+Ctrl+LPM: Malowanie prostokąta"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
@@ -12647,6 +12636,15 @@ msgstr "Varying może być przypisane tylko w funkcji wierzchołków."
msgid "Constants cannot be modified."
msgstr "Stałe nie mogą być modyfikowane."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Obecnie nie ma żadnych samouczków dla tej klasy, możesz [color=$color]"
+#~ "[url=$url]dodać jeden[/url][/color] lub [color=$color][url=$url2]poprosić "
+#~ "o jakiś[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index 4a5395fed0..e77bf47b81 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -1962,13 +1962,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index 154306cc26..a7d921b78e 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -79,12 +79,13 @@
# Gian Penna <gianfrancopen@gmail.com>, 2020.
# sribgui <sribgui@gmail.com>, 2020.
# patrickvob <patrickvob@gmail.com>, 2020.
+# Michael Leocádio <aeronmike@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2020-01-16 22:23+0000\n"
-"Last-Translator: patrickvob <patrickvob@gmail.com>\n"
+"PO-Revision-Date: 2020-01-27 07:10+0000\n"
+"Last-Translator: Michael Leocádio <aeronmike@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -92,7 +93,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.2-dev\n"
+"X-Generator: Weblate 3.11-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -2004,37 +2005,24 @@ msgid "Inherited by:"
msgstr "Herdado por:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Description"
-msgstr "Descrição:"
+msgstr "Descrição"
#: editor/editor_help.cpp
msgid "Online Tutorials"
msgstr "Tutoriais Online"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Atualmente não há tutoriais para essa classe. Você pode [color=$color][url="
-"$url]contribuir criando um[/url][/color] ou [color=$color][url="
-"$url2]solicitar[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Propriedades"
#: editor/editor_help.cpp
-#, fuzzy
msgid "override:"
-msgstr "Sobrescreve"
+msgstr "sobrescrever:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "default:"
-msgstr "Padrão"
+msgstr "padrão:"
#: editor/editor_help.cpp
msgid "Methods"
@@ -2057,9 +2045,8 @@ msgid "Property Descriptions"
msgstr "Descrições da Propriedade"
#: editor/editor_help.cpp
-#, fuzzy
msgid "(value)"
-msgstr "Valor"
+msgstr "(valor)"
#: editor/editor_help.cpp
msgid ""
@@ -5691,9 +5678,8 @@ msgid "Auto Insert Key"
msgstr "Inserir Chave Automaticamente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Chave de Animação Inserida."
+msgstr "Opções de Chave e Pose de Animação"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -7368,7 +7354,7 @@ msgstr "Pré-visualização Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Not available when using the GLES2 renderer."
-msgstr ""
+msgstr "Não disponível ao usar o renderizador GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -12707,6 +12693,15 @@ msgstr "Variáveis só podem ser atribuídas na função de vértice."
msgid "Constants cannot be modified."
msgstr "Constantes não podem serem modificadas."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Atualmente não há tutoriais para essa classe. Você pode [color=$color]"
+#~ "[url=$url]contribuir criando um[/url][/color] ou [color=$color][url="
+#~ "$url2]solicitar[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po
index c8e4adf472..d293860dec 100644
--- a/editor/translations/pt_PT.po
+++ b/editor/translations/pt_PT.po
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-20 11:39+0000\n"
+"PO-Revision-Date: 2020-01-27 07:10+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"
@@ -1953,16 +1953,6 @@ msgid "Online Tutorials"
msgstr "Tutoriais Online"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Atualmente não existem tutoriais para esta classe, pode [color=$color][url="
-"$url]contribuir com um[/url][/color] ou [color=$color][url=$url2]solicitar "
-"um[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Propriedades"
@@ -5612,9 +5602,8 @@ msgid "Auto Insert Key"
msgstr "Inserir Chave automaticamente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Chave de Animação inserida."
+msgstr "Chave de Animação e Opções de Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -12611,6 +12600,15 @@ msgstr "Variações só podem ser atribuídas na função vértice."
msgid "Constants cannot be modified."
msgstr "Constantes não podem ser modificadas."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Atualmente não existem tutoriais para esta classe, pode [color=$color]"
+#~ "[url=$url]contribuir com um[/url][/color] ou [color=$color][url="
+#~ "$url2]solicitar um[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index 161c4d800e..e73e0c1703 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -1923,16 +1923,6 @@ msgid "Online Tutorials"
msgstr "Tutoriale Online"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Nu există în prezent nici un tutorial pentru această clasă, puteţi [culoare "
-"= $color] [url = $url] contribui unul [/ URL] [/ color] sau [culoare = "
-"$color] [url = $url2] cerere unul[/ URL] [/ color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Proprietăți"
@@ -12736,6 +12726,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Nu există în prezent nici un tutorial pentru această clasă, puteţi "
+#~ "[culoare = $color] [url = $url] contribui unul [/ URL] [/ color] sau "
+#~ "[culoare = $color] [url = $url2] cerere unul[/ URL] [/ color]."
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index bf844ac58b..9c56393ae8 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -66,7 +66,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2020-01-23 15:05+0000\n"
+"PO-Revision-Date: 2020-01-27 07:10+0000\n"
"Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
@@ -2003,16 +2003,6 @@ msgid "Online Tutorials"
msgstr "Онлайн-уроки"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"В настоящее время отсутствуют учебники для этого класса, вы можете его "
-"[color=$color][url=$url]добавить[/url][/color] или [color=$color][url="
-"$url2]запросить[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Свойства"
@@ -6706,7 +6696,7 @@ msgstr "Сохранить тему как..."
#: editor/plugins/script_editor_plugin.cpp
msgid "%s Class Reference"
-msgstr "%s Справка по классу"
+msgstr "Справка по классу %s"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -12697,6 +12687,15 @@ msgstr "Изменения могут быть назначены только
msgid "Constants cannot be modified."
msgstr "Константы не могут быть изменены."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "В настоящее время отсутствуют учебники для этого класса, вы можете его "
+#~ "[color=$color][url=$url]добавить[/url][/color] или [color=$color][url="
+#~ "$url2]запросить[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "перечисление "
diff --git a/editor/translations/si.po b/editor/translations/si.po
index d12b49fa59..bd57c6a782 100644
--- a/editor/translations/si.po
+++ b/editor/translations/si.po
@@ -1915,13 +1915,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index 912ffaa776..a81d842616 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -1971,13 +1971,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index b70c05b2d4..6f63bb7483 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -2042,15 +2042,6 @@ msgid "Online Tutorials"
msgstr "Spletne Vaje:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Trenutno ni vaj za ta razred, lahko ga [color=$color][url=$url]prispevate[/"
-"url][/color] ali [color=$color][url=$url2]zahtevate enega[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Lastnosti"
@@ -12885,6 +12876,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr "Konstante ni možno spreminjati."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Trenutno ni vaj za ta razred, lahko ga [color=$color][url="
+#~ "$url]prispevate[/url][/color] ali [color=$color][url=$url2]zahtevate "
+#~ "enega[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "oštevil "
diff --git a/editor/translations/sq.po b/editor/translations/sq.po
index 9ef7a98572..3c55191a34 100644
--- a/editor/translations/sq.po
+++ b/editor/translations/sq.po
@@ -1976,16 +1976,6 @@ msgid "Online Tutorials"
msgstr "Tutorialet Online:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Nuk ka për momentin tutoriale për këtë klas, ti mund të [color=$color][url="
-"$url]contribute one[/url][/color] ose [color=$color][url=$url2]request one[/"
-"url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Vetitë"
@@ -12440,6 +12430,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Nuk ka për momentin tutoriale për këtë klas, ti mund të [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] ose [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+
#, fuzzy
#~ msgid "Brief Description"
#~ msgstr "Përshkrim i Shkurtër:"
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index b5d5d3d489..366c12b77c 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -2046,16 +2046,6 @@ msgid "Online Tutorials"
msgstr "Онлајн документација"
#: editor/editor_help.cpp
-#, fuzzy
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Тренутно нема описа ове методе. Молимо помозите нама тако што ћете [color="
-"$color][url=$url]написати једну[/url][/color]!"
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Особине"
@@ -12991,6 +12981,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Тренутно нема описа ове методе. Молимо помозите нама тако што ћете [color="
+#~ "$color][url=$url]написати једну[/url][/color]!"
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index 5d6d1fdf26..e55a90f6f8 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -1927,13 +1927,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index 3502d59988..0da6531121 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -2032,16 +2032,6 @@ msgid "Online Tutorials"
msgstr "Dokumentation Online"
#: editor/editor_help.cpp
-#, fuzzy
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Det finns för närvarande ingen beskrivning för denna metod. Snälla hjälp oss "
-"genom att [color=$color][url=$url]bidra med en[/url][/color]!"
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Egenskaper"
@@ -12832,6 +12822,15 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Det finns för närvarande ingen beskrivning för denna metod. Snälla hjälp "
+#~ "oss genom att [color=$color][url=$url]bidra med en[/url][/color]!"
+
#~ msgid "enum "
#~ msgstr "enum "
diff --git a/editor/translations/ta.po b/editor/translations/ta.po
index a7bce9a32a..0c08e2f565 100644
--- a/editor/translations/ta.po
+++ b/editor/translations/ta.po
@@ -1917,13 +1917,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/te.po b/editor/translations/te.po
index d2d5f1fb68..2efe179ce6 100644
--- a/editor/translations/te.po
+++ b/editor/translations/te.po
@@ -1894,13 +1894,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 9d0a9912c4..73a18a006d 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -2044,15 +2044,6 @@ msgid "Online Tutorials"
msgstr "สอนใช้งานออนไลน์:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"คลาสนี้ยังไม่มีการสอนการใช้งาน ท่านสามารถ[color=$color][url=$url]ช่วยเขียน[/url][/"
-"color] หรือ [color=$color][url=$url2]ขอให้จัดทำ[/url][/color]"
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "คุณสมบัติ"
@@ -12992,6 +12983,14 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "คลาสนี้ยังไม่มีการสอนการใช้งาน ท่านสามารถ[color=$color][url=$url]ช่วยเขียน[/url][/"
+#~ "color] หรือ [color=$color][url=$url2]ขอให้จัดทำ[/url][/color]"
+
#~ msgid "enum "
#~ msgstr "กลุ่มค่าคงที่ "
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index 23604465a5..192364f0c6 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -1983,16 +1983,6 @@ msgid "Online Tutorials"
msgstr "Çevrimiçi Rehberler"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Bu metot için henüz bir rehber yok. Siz de\n"
-"[color=$color][url=$url]hazırlayabilir[/url][/color] ya da \n"
-"[color=$color][url=$url2]öneride bulunabilirsiniz[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Özellikler"
@@ -12747,6 +12737,15 @@ msgstr "Değişkenler yalnızca tepe işlevinde atanabilir."
msgid "Constants cannot be modified."
msgstr "Sabit değerler değiştirilemez."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Bu metot için henüz bir rehber yok. Siz de\n"
+#~ "[color=$color][url=$url]hazırlayabilir[/url][/color] ya da \n"
+#~ "[color=$color][url=$url2]öneride bulunabilirsiniz[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "enum… "
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index 3d8fb94711..aca5040517 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-01-20 11:39+0000\n"
+"PO-Revision-Date: 2020-01-27 07:10+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
@@ -1958,16 +1958,6 @@ msgid "Online Tutorials"
msgstr "Підручники в інтернеті"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"Настанов щодо цього класу ще немає. Ви можете [color=$color][url="
-"$url]створити їх[/url][/color] або [color=$color][url=$url2]надіслати запит "
-"щодо їхнього створення[/url][/color]."
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Властивості"
@@ -5627,9 +5617,8 @@ msgid "Auto Insert Key"
msgstr "Автовставлення ключового кадру"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Вставлено ключ анімації."
+msgstr "Параметри ключового кадру та пози анімації"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -12669,6 +12658,15 @@ msgstr "Змінні величини можна пов'язувати лише
msgid "Constants cannot be modified."
msgstr "Сталі не можна змінювати."
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "Настанов щодо цього класу ще немає. Ви можете [color=$color][url="
+#~ "$url]створити їх[/url][/color] або [color=$color][url=$url2]надіслати "
+#~ "запит щодо їхнього створення[/url][/color]."
+
#~ msgid "enum "
#~ msgstr "перелічуваний "
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index ffcf13710c..5cbc202847 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -1933,13 +1933,6 @@ msgid "Online Tutorials"
msgstr ""
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index b4c1b9aad7..d6f5114a98 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -1956,13 +1956,6 @@ msgid "Online Tutorials"
msgstr "Hướng dẫn trực tuyến:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "Thuộc tính"
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index e3c42d17f9..67f2738f86 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -63,7 +63,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2020-01-20 11:39+0000\n"
+"PO-Revision-Date: 2020-01-27 07:10+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"
@@ -1969,15 +1969,6 @@ msgid "Online Tutorials"
msgstr "在线教程"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"当前没有此类型的教程,你可以[color=$color][url=$url]贡献一个[/url][/color]或"
-"[color=$color][url=$url2]请求一个[/url][/color]。"
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "属性"
@@ -5548,9 +5539,8 @@ msgid "Auto Insert Key"
msgstr "自动插入关键帧"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "插入动画键。"
+msgstr "动画关键帧与姿势选项"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -12381,6 +12371,14 @@ msgstr "变量只能在顶点函数中指定。"
msgid "Constants cannot be modified."
msgstr "不允许修改常量。"
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "当前没有此类型的教程,你可以[color=$color][url=$url]贡献一个[/url][/color]"
+#~ "或[color=$color][url=$url2]请求一个[/url][/color]。"
+
#~ msgid "enum "
#~ msgstr "枚举 "
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index 446214e3f8..e57c2c0303 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -2069,13 +2069,6 @@ msgid "Online Tutorials"
msgstr "關閉場景"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr ""
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index 54b52c93fe..6dfb9304f9 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -2069,15 +2069,6 @@ msgid "Online Tutorials"
msgstr "線上教學:"
#: editor/editor_help.cpp
-msgid ""
-"There are currently no tutorials for this class, you can [color=$color][url="
-"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
-"url][/color]."
-msgstr ""
-"目前沒有這個 class 的教學,你可以[color=$color][url=$url]貢獻一個[/url][/"
-"color]或[color=$color][url=$url2]要求一個[/url][/color]。"
-
-#: editor/editor_help.cpp
msgid "Properties"
msgstr "性質"
@@ -12913,6 +12904,14 @@ msgstr ""
msgid "Constants cannot be modified."
msgstr ""
+#~ msgid ""
+#~ "There are currently no tutorials for this class, you can [color=$color]"
+#~ "[url=$url]contribute one[/url][/color] or [color=$color][url="
+#~ "$url2]request one[/url][/color]."
+#~ msgstr ""
+#~ "目前沒有這個 class 的教學,你可以[color=$color][url=$url]貢獻一個[/url][/"
+#~ "color]或[color=$color][url=$url2]要求一個[/url][/color]。"
+
#~ msgid "enum "
#~ msgstr "枚舉 "
diff --git a/main/main.cpp b/main/main.cpp
index 0ff392978a..3cc809b813 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -854,7 +854,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
#ifdef TOOLS_ENABLED
editor = false;
#else
- String error_msg = "Error: Could not load game data at path '" + project_path + "'. Is the .pck file missing?\n";
+ const String error_msg = "Error: Couldn't load project data at path \"" + project_path + "\". Is the .pck file missing?\nIf you've renamed the executable, the associated .pck file should also be renamed to match the executable's name (without the extension).\n";
OS::get_singleton()->print("%s", error_msg.ascii().get_data());
OS::get_singleton()->alert(error_msg);
@@ -1900,6 +1900,8 @@ bool Main::start() {
ProgressDialog *progress_dialog = memnew(ProgressDialog);
pmanager->add_child(progress_dialog);
sml->get_root()->add_child(pmanager);
+ // Speed up rendering slightly by disabling 3D features while in the project manager.
+ sml->get_root()->set_usage(Viewport::USAGE_2D_NO_SAMPLING);
OS::get_singleton()->set_context(OS::CONTEXT_PROJECTMAN);
project_manager = true;
}
diff --git a/misc/dist/linux/godot.6 b/misc/dist/linux/godot.6
index 80dcfc80b3..00d19c5178 100644
--- a/misc/dist/linux/godot.6
+++ b/misc/dist/linux/godot.6
@@ -1,4 +1,4 @@
-.TH GODOT "6" "January 2020" "godot 3.2" "Games"
+.TH GODOT "6" "January 2020" "godot 4.0" "Games"
.SH NAME
godot \- multi\-platform 2D and 3D game engine with a feature\-rich editor
.SH SYNOPSIS
diff --git a/misc/dist/osx_tools.app/Contents/Info.plist b/misc/dist/osx_tools.app/Contents/Info.plist
index 46d2d4cb6e..46550ba6c7 100755
--- a/misc/dist/osx_tools.app/Contents/Info.plist
+++ b/misc/dist/osx_tools.app/Contents/Info.plist
@@ -19,11 +19,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>3.2</string>
+ <string>4.0</string>
<key>CFBundleSignature</key>
<string>godot</string>
<key>CFBundleVersion</key>
- <string>3.2</string>
+ <string>4.0</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone access is required to capture audio.</string>
<key>NSCameraUsageDescription</key>
diff --git a/misc/dist/shell/godot.bash-completion b/misc/dist/shell/godot.bash-completion
new file mode 100644
index 0000000000..714b6758e3
--- /dev/null
+++ b/misc/dist/shell/godot.bash-completion
@@ -0,0 +1,124 @@
+#!/usr/bin/env bash
+
+# Bash completion for the Godot editor
+# To use it, install this file in `/etc/bash_completion.d` then restart your shell.
+# You can also `source` this file directly in your shell startup file.
+#
+# Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur.
+# Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md).
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+_complete_godot_options() {
+ # Since Bash doesn't support option descriptions in autocompletion,
+ # only display long options to be more descriptive.
+ # shellcheck disable=SC2207
+ COMPREPLY=($(compgen -W " \
+--help
+--version
+--verbose
+--quiet
+--editor
+--project-manager
+--quit
+--language
+--path
+--upwards
+--main-pack
+--render-thread
+--remote-fs
+--remote-fs-password
+--audio-driver
+--video-driver
+--fullscreen
+--maximized
+--windowed
+--always-on-top
+--resolution
+--position
+--low-dpi
+--no-window
+--enable-vsync-via-compositor
+--disable-vsync-via-compositor
+--debug
+--breakpoints
+--profiling
+--remote-debug
+--debug-collisions
+--debug-navigation
+--frame-delay
+--time-scale
+--disable-render-loop
+--disable-crash-handler
+--fixed-fps
+--print-fps
+--script
+--check-only
+--export
+--export-debug
+--export-pack
+--doctool
+--no-docbase
+--build-solutions
+--gdnative-generate-json-api
+--test
+" -- "$1"))
+}
+
+_complete_godot_bash() {
+ local cur="${COMP_WORDS[$COMP_CWORD]}" prev
+
+ # Complete options or the positional argument.
+ if [[ $cur == -* ]]; then
+ _complete_godot_options "$cur"
+ else
+ local IFS=$'\n\t'
+ # shellcheck disable=SC2207
+ COMPREPLY=($(compgen -f -X "!*.@(scn|tscn|escn|godot)" -- "$cur"))
+ fi
+
+ # If the array is accessed out of bounds (which will happen for the first argument),
+ # `$prev` will be an empty string and won't match any of the conditions below.
+ prev="${COMP_WORDS[$((COMP_CWORD-1))]}"
+
+ # Complete option values.
+ if [[ $prev == "--render-thread" ]]; then
+ local IFS=$' \n\t'
+ # shellcheck disable=SC2207
+ COMPREPLY=($(compgen -W "unsafe safe separate" -- "$cur"))
+ elif [[ $prev == "--video-driver" ]]; then
+ local IFS=$' \n\t'
+ # shellcheck disable=SC2207
+ COMPREPLY=($(compgen -W "GLES3 GLES2" -- "$cur"))
+ elif [[ $prev == "--path" || $prev == "--doctool" ]]; then
+ local IFS=$'\n\t'
+ # shellcheck disable=SC2207
+ COMPREPLY=($(compgen -d -- "$cur"))
+ elif [[ $prev == "--main-pack" ]]; then
+ local IFS=$'\n\t'
+ # shellcheck disable=SC2207
+ COMPREPLY=($(compgen -f -X "!*.@(pck|zip)" -- "$cur"))
+ elif [[ $prev == "-s" || $prev == "--script" ]]; then
+ local IFS=$'\n\t'
+ # shellcheck disable=SC2207
+ COMPREPLY=($(compgen -f -X "!*.gd" -- "$cur"))
+ fi
+}
+
+complete -o filenames -F _complete_godot_bash godot
diff --git a/modules/gdscript/language_server/gdscript_extend_parser.cpp b/modules/gdscript/language_server/gdscript_extend_parser.cpp
index 701809e755..0f6f13944b 100644
--- a/modules/gdscript/language_server/gdscript_extend_parser.cpp
+++ b/modules/gdscript/language_server/gdscript_extend_parser.cpp
@@ -757,7 +757,7 @@ Dictionary ExtendGDScriptParser::dump_class_api(const GDScriptParser::ClassNode
Array static_functions;
for (int i = 0; i < p_class->static_functions.size(); ++i) {
- static_functions.append(dump_function_api(p_class->functions[i]));
+ static_functions.append(dump_function_api(p_class->static_functions[i]));
}
class_api["static_functions"] = static_functions;
diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/Extensions/NodeExtensions.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/Extensions/NodeExtensions.cs
index 5023725f17..5d16260f5d 100644
--- a/modules/mono/glue/GodotSharp/GodotSharp/Core/Extensions/NodeExtensions.cs
+++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/Extensions/NodeExtensions.cs
@@ -9,7 +9,7 @@ namespace Godot
public T GetNodeOrNull<T>(NodePath path) where T : class
{
- return GetNode(path) as T;
+ return GetNodeOrNull(path) as T;
}
public T GetChild<T>(int idx) where T : class
diff --git a/modules/opensimplex/doc_classes/OpenSimplexNoise.xml b/modules/opensimplex/doc_classes/OpenSimplexNoise.xml
index f4f54901fb..f500925f75 100644
--- a/modules/opensimplex/doc_classes/OpenSimplexNoise.xml
+++ b/modules/opensimplex/doc_classes/OpenSimplexNoise.xml
@@ -117,7 +117,8 @@
Difference in period between [member octaves].
</member>
<member name="octaves" type="int" setter="set_octaves" getter="get_octaves" default="3">
- Number of OpenSimplex noise layers that are sampled to get the fractal noise.
+ Number of OpenSimplex noise layers that are sampled to get the fractal noise. Higher values result in more detailed noise but take more time to generate.
+ [b]Note:[/b] The maximum allowed value is 9.
</member>
<member name="period" type="float" setter="set_period" getter="get_period" default="64.0">
Period of the base octave. A lower period results in a higher-frequency noise (more value changes across the same distance).
diff --git a/modules/opensimplex/open_simplex_noise.cpp b/modules/opensimplex/open_simplex_noise.cpp
index c99588aefa..bd187e6b5b 100644
--- a/modules/opensimplex/open_simplex_noise.cpp
+++ b/modules/opensimplex/open_simplex_noise.cpp
@@ -47,7 +47,7 @@ OpenSimplexNoise::~OpenSimplexNoise() {
}
void OpenSimplexNoise::_init_seeds() {
- for (int i = 0; i < 6; ++i) {
+ for (int i = 0; i < MAX_OCTAVES; ++i) {
open_simplex_noise(seed + i * 2, &(contexts[i]));
}
}
@@ -71,7 +71,10 @@ int OpenSimplexNoise::get_seed() {
void OpenSimplexNoise::set_octaves(int p_octaves) {
if (p_octaves == octaves) return;
- octaves = CLAMP(p_octaves, 1, 6);
+
+ ERR_FAIL_COND_MSG(p_octaves > MAX_OCTAVES, vformat("The number of OpenSimplexNoise octaves is limited to %d; ignoring the new value.", MAX_OCTAVES));
+
+ octaves = CLAMP(p_octaves, 1, MAX_OCTAVES);
emit_changed();
}
@@ -182,7 +185,7 @@ void OpenSimplexNoise::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_noise_3dv", "pos"), &OpenSimplexNoise::get_noise_3dv);
ADD_PROPERTY(PropertyInfo(Variant::INT, "seed"), "set_seed", "get_seed");
- ADD_PROPERTY(PropertyInfo(Variant::INT, "octaves", PROPERTY_HINT_RANGE, "1,6,1"), "set_octaves", "get_octaves");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "octaves", PROPERTY_HINT_RANGE, vformat("1,%d,1", MAX_OCTAVES)), "set_octaves", "get_octaves");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "period", PROPERTY_HINT_RANGE, "0.1,256.0,0.1"), "set_period", "get_period");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "persistence", PROPERTY_HINT_RANGE, "0.0,1.0,0.001"), "set_persistence", "get_persistence");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "lacunarity", PROPERTY_HINT_RANGE, "0.1,4.0,0.01"), "set_lacunarity", "get_lacunarity");
diff --git a/modules/opensimplex/open_simplex_noise.h b/modules/opensimplex/open_simplex_noise.h
index 89b12253b9..dce62bc1f9 100644
--- a/modules/opensimplex/open_simplex_noise.h
+++ b/modules/opensimplex/open_simplex_noise.h
@@ -37,11 +37,16 @@
#include "thirdparty/misc/open-simplex-noise.h"
+// The maximum number of octaves allowed. Note that these are statically allocated.
+// Higher values become exponentially slower, so this shouldn't be set too high
+// to avoid freezing the editor for long periods of time.
+#define MAX_OCTAVES 9
+
class OpenSimplexNoise : public Resource {
GDCLASS(OpenSimplexNoise, Resource);
OBJ_SAVE_TYPE(OpenSimplexNoise);
- osn_context contexts[6];
+ osn_context contexts[MAX_OCTAVES];
int seed;
float persistence; // Controls details, value in [0,1]. Higher increases grain, lower increases smoothness.
diff --git a/modules/svg/image_loader_svg.cpp b/modules/svg/image_loader_svg.cpp
index 57097aaa06..11ae2f81bf 100644
--- a/modules/svg/image_loader_svg.cpp
+++ b/modules/svg/image_loader_svg.cpp
@@ -103,15 +103,17 @@ Error ImageLoaderSVG::_create_image(Ref<Image> p_image, const PoolVector<uint8_t
ERR_PRINT("SVG Corrupted");
return ERR_FILE_CORRUPT;
}
- if (convert_colors)
+
+ if (convert_colors) {
_convert_colors(svg_image);
+ }
- float upscale = upsample ? 2.0 : 1.0;
+ const float upscale = upsample ? 2.0 : 1.0;
- int w = (int)(svg_image->width * p_scale * upscale);
+ const int w = (int)(svg_image->width * p_scale * upscale);
ERR_FAIL_COND_V_MSG(w > Image::MAX_WIDTH, ERR_PARAMETER_RANGE_ERROR, vformat("Can't create image from SVG with scale %s, the resulting image size exceeds max width.", rtos(p_scale)));
- int h = (int)(svg_image->height * p_scale * upscale);
+ const int h = (int)(svg_image->height * p_scale * upscale);
ERR_FAIL_COND_V_MSG(h > Image::MAX_HEIGHT, ERR_PARAMETER_RANGE_ERROR, vformat("Can't create image from SVG with scale %s, the resulting image size exceeds max height.", rtos(p_scale)));
PoolVector<uint8_t> dst_image;
@@ -123,8 +125,9 @@ Error ImageLoaderSVG::_create_image(Ref<Image> p_image, const PoolVector<uint8_t
dw.release();
p_image->create(w, h, false, Image::FORMAT_RGBA8, dst_image);
- if (upsample)
+ if (upsample) {
p_image->shrink_x2();
+ }
nsvgDelete(svg_image);
diff --git a/modules/websocket/doc_classes/WebSocketPeer.xml b/modules/websocket/doc_classes/WebSocketPeer.xml
index d084e1c6e6..6293b35fbf 100644
--- a/modules/websocket/doc_classes/WebSocketPeer.xml
+++ b/modules/websocket/doc_classes/WebSocketPeer.xml
@@ -53,6 +53,16 @@
Returns [code]true[/code] if this peer is currently connected.
</description>
</method>
+ <method name="set_no_delay">
+ <return type="void">
+ </return>
+ <argument index="0" name="enabled" type="bool">
+ </argument>
+ <description>
+ Disable Nagle's algorithm on the underling TCP socket (default). See [method StreamPeerTCP.set_no_delay] for more information.
+ [b]Note:[/b] Not available in the HTML5 export.
+ </description>
+ </method>
<method name="set_write_mode">
<return type="void">
</return>
diff --git a/modules/websocket/emws_peer.cpp b/modules/websocket/emws_peer.cpp
index d07360c525..effed8e4d9 100644
--- a/modules/websocket/emws_peer.cpp
+++ b/modules/websocket/emws_peer.cpp
@@ -139,6 +139,11 @@ uint16_t EMWSPeer::get_connected_port() const {
ERR_FAIL_V_MSG(0, "Not supported in HTML5 export.");
};
+void EMWSPeer::set_no_delay(bool p_enabled) {
+
+ ERR_FAIL_MSG("'set_no_delay' is not supported in HTML5 export.");
+}
+
EMWSPeer::EMWSPeer() {
peer_sock = -1;
write_mode = WRITE_MODE_BINARY;
diff --git a/modules/websocket/emws_peer.h b/modules/websocket/emws_peer.h
index 9fe7fb8edc..43b42f9be6 100644
--- a/modules/websocket/emws_peer.h
+++ b/modules/websocket/emws_peer.h
@@ -68,6 +68,7 @@ public:
virtual WriteMode get_write_mode() const;
virtual void set_write_mode(WriteMode p_mode);
virtual bool was_string_packet() const;
+ virtual void set_no_delay(bool p_enabled);
EMWSPeer();
~EMWSPeer();
diff --git a/modules/websocket/websocket_peer.cpp b/modules/websocket/websocket_peer.cpp
index 474b11f012..30a5972330 100644
--- a/modules/websocket/websocket_peer.cpp
+++ b/modules/websocket/websocket_peer.cpp
@@ -46,6 +46,7 @@ void WebSocketPeer::_bind_methods() {
ClassDB::bind_method(D_METHOD("close", "code", "reason"), &WebSocketPeer::close, DEFVAL(1000), DEFVAL(""));
ClassDB::bind_method(D_METHOD("get_connected_host"), &WebSocketPeer::get_connected_host);
ClassDB::bind_method(D_METHOD("get_connected_port"), &WebSocketPeer::get_connected_port);
+ ClassDB::bind_method(D_METHOD("set_no_delay", "enabled"), &WebSocketPeer::set_no_delay);
BIND_ENUM_CONSTANT(WRITE_MODE_TEXT);
BIND_ENUM_CONSTANT(WRITE_MODE_BINARY);
diff --git a/modules/websocket/websocket_peer.h b/modules/websocket/websocket_peer.h
index c4e1984aa0..d4173600ec 100644
--- a/modules/websocket/websocket_peer.h
+++ b/modules/websocket/websocket_peer.h
@@ -64,6 +64,7 @@ public:
virtual IP_Address get_connected_host() const = 0;
virtual uint16_t get_connected_port() const = 0;
virtual bool was_string_packet() const = 0;
+ virtual void set_no_delay(bool p_enabled) = 0;
WebSocketPeer();
~WebSocketPeer();
diff --git a/modules/websocket/wsl_client.cpp b/modules/websocket/wsl_client.cpp
index 88a306c7f5..088f266f18 100644
--- a/modules/websocket/wsl_client.cpp
+++ b/modules/websocket/wsl_client.cpp
@@ -90,6 +90,7 @@ void WSLClient::_do_handshake() {
data->is_server = false;
data->id = 1;
_peer->make_context(data, _in_buf_size, _in_pkt_size, _out_buf_size, _out_pkt_size);
+ _peer->set_no_delay(true);
_on_connect(protocol);
break;
}
diff --git a/modules/websocket/wsl_peer.cpp b/modules/websocket/wsl_peer.cpp
index d7914295e9..08079145e4 100644
--- a/modules/websocket/wsl_peer.cpp
+++ b/modules/websocket/wsl_peer.cpp
@@ -318,6 +318,12 @@ uint16_t WSLPeer::get_connected_port() const {
return _data->tcp->get_connected_port();
}
+void WSLPeer::set_no_delay(bool p_enabled) {
+
+ ERR_FAIL_COND(!is_connected_to_host() || _data->tcp.is_null());
+ _data->tcp->set_no_delay(p_enabled);
+}
+
void WSLPeer::invalidate() {
if (_data)
_data->valid = false;
diff --git a/modules/websocket/wsl_peer.h b/modules/websocket/wsl_peer.h
index 2fbb7aeec3..f1c45ee859 100644
--- a/modules/websocket/wsl_peer.h
+++ b/modules/websocket/wsl_peer.h
@@ -109,6 +109,7 @@ public:
virtual WriteMode get_write_mode() const;
virtual void set_write_mode(WriteMode p_mode);
virtual bool was_string_packet() const;
+ virtual void set_no_delay(bool p_enabled);
void make_context(PeerData *p_data, unsigned int p_in_buf_size, unsigned int p_in_pkt_size, unsigned int p_out_buf_size, unsigned int p_out_pkt_size);
Error parse_message(const wslay_event_on_msg_recv_arg *arg);
diff --git a/modules/websocket/wsl_server.cpp b/modules/websocket/wsl_server.cpp
index 44bfb4441d..4db650a0c1 100644
--- a/modules/websocket/wsl_server.cpp
+++ b/modules/websocket/wsl_server.cpp
@@ -206,6 +206,7 @@ void WSLServer::poll() {
Ref<WSLPeer> ws_peer = memnew(WSLPeer);
ws_peer->make_context(data, _in_buf_size, _in_pkt_size, _out_buf_size, _out_pkt_size);
+ ws_peer->set_no_delay(true);
_peer_map[id] = ws_peer;
remove_peers.push_back(ppeer);
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp
index 52ab2a317d..b9968c08aa 100644
--- a/platform/android/export/export.cpp
+++ b/platform/android/export/export.cpp
@@ -247,7 +247,6 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
String name;
String description;
int api_level;
- bool usb;
};
struct APKExportData {
@@ -274,20 +273,17 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
String devices;
List<String> args;
args.push_back("devices");
- args.push_back("-l");
int ec;
OS::get_singleton()->execute(adb, args, true, NULL, &devices, &ec);
Vector<String> ds = devices.split("\n");
Vector<String> ldevices;
- Vector<bool> ldevices_usbconnection;
for (int i = 1; i < ds.size(); i++) {
String d = ds[i];
- int dpos = d.find(" device ");
+ int dpos = d.find("device");
if (dpos == -1)
continue;
- ldevices_usbconnection.push_back(d.find(" usb:") != -1);
d = d.substr(0, dpos).strip_edges();
ldevices.push_back(d);
}
@@ -318,7 +314,6 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
Device d;
d.id = ldevices[i];
- d.usb = ldevices_usbconnection[i];
for (int j = 0; j < ea->devices.size(); j++) {
if (ea->devices[j].id == ldevices[i]) {
d.description = ea->devices[j].description;
@@ -373,17 +368,9 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
} else if (p.begins_with("ro.opengles.version=")) {
uint32_t opengl = p.get_slice("=", 1).to_int();
d.description += "OpenGL: " + itos(opengl >> 16) + "." + itos((opengl >> 8) & 0xFF) + "." + itos((opengl)&0xFF) + "\n";
- } else if (p.begins_with("ro.boot.serialno=")) {
- d.description += "Serial: " + p.get_slice("=", 1).strip_edges() + "\n";
}
}
- if (d.usb) {
- d.description += "Connection: USB\n";
- } else {
- d.description += "Connection: " + d.id + "\n";
- }
-
d.name = vendor + " " + device;
if (device == String()) continue;
}
@@ -1516,9 +1503,7 @@ public:
}
const bool use_remote = (p_debug_flags & DEBUG_FLAG_REMOTE_DEBUG) || (p_debug_flags & DEBUG_FLAG_DUMB_CLIENT);
- const bool use_reverse = devices[p_device].api_level >= 21 && devices[p_device].usb;
- // Note: Reverse can still fail if device is connected by both usb and network
- // Ideally we'd know for sure whether adb reverse would work before we build the APK
+ const bool use_reverse = devices[p_device].api_level >= 21;
if (use_reverse)
p_debug_flags |= DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST;
@@ -1623,7 +1608,7 @@ public:
}
} else {
- static const char *const msg = "--- Device API < 21 or no USB connection; debugging over Wi-Fi ---";
+ static const char *const msg = "--- Device API < 21; debugging over Wi-Fi ---";
EditorNode::get_singleton()->get_log()->add_message(msg, EditorLog::MSG_TYPE_EDITOR);
print_line(String(msg).to_upper());
}
diff --git a/platform/android/java/app/build.gradle b/platform/android/java/app/build.gradle
index 258ca9197a..2e4f2ffab0 100644
--- a/platform/android/java/app/build.gradle
+++ b/platform/android/java/app/build.gradle
@@ -33,6 +33,8 @@ allprojects {
}
dependencies {
+ implementation libraries.supportCoreUtils
+
if (rootProject.findProject(":lib")) {
implementation project(":lib")
} else {
diff --git a/platform/android/java/app/config.gradle b/platform/android/java/app/config.gradle
index 862a954fac..5550d3099d 100644
--- a/platform/android/java/app/config.gradle
+++ b/platform/android/java/app/config.gradle
@@ -4,11 +4,13 @@ ext.versions = [
minSdk : 18,
targetSdk : 28,
buildTools : '28.0.3',
+ supportCoreUtils : '28.0.0'
]
ext.libraries = [
- androidGradlePlugin : "com.android.tools.build:gradle:$versions.androidGradlePlugin"
+ androidGradlePlugin : "com.android.tools.build:gradle:$versions.androidGradlePlugin",
+ supportCoreUtils : "com.android.support:support-core-utils:$versions.supportCoreUtils"
]
ext.getExportPackageName = { ->
diff --git a/platform/android/java/lib/build.gradle b/platform/android/java/lib/build.gradle
index 13a14422ed..eb97484b9c 100644
--- a/platform/android/java/lib/build.gradle
+++ b/platform/android/java/lib/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'com.android.library'
dependencies {
- implementation "com.android.support:support-core-utils:28.0.0"
+ implementation libraries.supportCoreUtils
}
def pathToRootDir = "../../../../"
diff --git a/platform/javascript/http_request.js b/platform/javascript/http_request.js
index c112039d0b..f621689f9d 100644
--- a/platform/javascript/http_request.js
+++ b/platform/javascript/http_request.js
@@ -3,9 +3,10 @@
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
-/* http://www.godotengine.org */
+/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
diff --git a/platform/javascript/id_handler.js b/platform/javascript/id_handler.js
index 36ef5aa8ef..3851123ed1 100644
--- a/platform/javascript/id_handler.js
+++ b/platform/javascript/id_handler.js
@@ -3,9 +3,10 @@
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
-/* http://www.godotengine.org */
+/* https://godotengine.org */
/*************************************************************************/
-/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
diff --git a/platform/osx/detect.py b/platform/osx/detect.py
index 7882253e7a..fe839199e8 100644
--- a/platform/osx/detect.py
+++ b/platform/osx/detect.py
@@ -27,6 +27,9 @@ def get_opts():
('MACOS_SDK_PATH', 'Path to the macOS SDK', ''),
EnumVariable('debug_symbols', 'Add debugging symbols to release builds', 'yes', ('yes', 'no', 'full')),
BoolVariable('separate_debug_symbols', 'Create a separate file containing debugging symbols', False),
+ BoolVariable('use_ubsan', 'Use LLVM/GCC compiler undefined behavior sanitizer (UBSAN)', False),
+ BoolVariable('use_asan', 'Use LLVM/GCC compiler address sanitizer (ASAN))', False),
+ BoolVariable('use_tsan', 'Use LLVM/GCC compiler thread sanitizer (TSAN))', False),
]
@@ -122,6 +125,21 @@ def configure(env):
env["CC"] = "clang"
env["LINK"] = "clang++"
+ if env['use_ubsan'] or env['use_asan'] or env['use_tsan']:
+ env.extra_suffix += "s"
+
+ if env['use_ubsan']:
+ env.Append(CCFLAGS=['-fsanitize=undefined'])
+ env.Append(LINKFLAGS=['-fsanitize=undefined'])
+
+ if env['use_asan']:
+ env.Append(CCFLAGS=['-fsanitize=address'])
+ env.Append(LINKFLAGS=['-fsanitize=address'])
+
+ if env['use_tsan']:
+ env.Append(CCFLAGS=['-fsanitize=thread'])
+ env.Append(LINKFLAGS=['-fsanitize=thread'])
+
## Dependencies
if env['builtin_libtheora']:
diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm
index 6a214b8669..53fe11b3bb 100644
--- a/platform/osx/os_osx.mm
+++ b/platform/osx/os_osx.mm
@@ -115,6 +115,20 @@ static Vector2 get_mouse_pos(NSPoint locationInWindow, CGFloat backingScaleFacto
return Vector2(mouse_x, mouse_y);
}
+static NSCursor *cursorFromSelector(SEL selector, SEL fallback = nil) {
+ if ([NSCursor respondsToSelector:selector]) {
+ id object = [NSCursor performSelector:selector];
+ if ([object isKindOfClass:[NSCursor class]]) {
+ return object;
+ }
+ }
+ if (fallback) {
+ // Fallback should be a reasonable default, no need to check.
+ return [NSCursor performSelector:fallback];
+ }
+ return [NSCursor arrowCursor];
+}
+
@interface GodotApplication : NSApplication
@end
@@ -1813,15 +1827,15 @@ void OS_OSX::set_cursor_shape(CursorShape p_shape) {
case CURSOR_BUSY: [[NSCursor arrowCursor] set]; break;
case CURSOR_DRAG: [[NSCursor closedHandCursor] set]; break;
case CURSOR_CAN_DROP: [[NSCursor openHandCursor] set]; break;
- case CURSOR_FORBIDDEN: [[NSCursor arrowCursor] set]; break;
- case CURSOR_VSIZE: [[NSCursor resizeUpDownCursor] set]; break;
- case CURSOR_HSIZE: [[NSCursor resizeLeftRightCursor] set]; break;
- case CURSOR_BDIAGSIZE: [[NSCursor arrowCursor] set]; break;
- case CURSOR_FDIAGSIZE: [[NSCursor arrowCursor] set]; break;
+ case CURSOR_FORBIDDEN: [[NSCursor operationNotAllowedCursor] set]; break;
+ case CURSOR_VSIZE: [cursorFromSelector(@selector(_windowResizeNorthSouthCursor), @selector(resizeUpDownCursor)) set]; break;
+ case CURSOR_HSIZE: [cursorFromSelector(@selector(_windowResizeEastWestCursor), @selector(resizeLeftRightCursor)) set]; break;
+ case CURSOR_BDIAGSIZE: [cursorFromSelector(@selector(_windowResizeNorthEastSouthWestCursor)) set]; break;
+ case CURSOR_FDIAGSIZE: [cursorFromSelector(@selector(_windowResizeNorthWestSouthEastCursor)) set]; break;
case CURSOR_MOVE: [[NSCursor arrowCursor] set]; break;
case CURSOR_VSPLIT: [[NSCursor resizeUpDownCursor] set]; break;
case CURSOR_HSPLIT: [[NSCursor resizeLeftRightCursor] set]; break;
- case CURSOR_HELP: [[NSCursor arrowCursor] set]; break;
+ case CURSOR_HELP: [cursorFromSelector(@selector(_helpCursor)) set]; break;
default: {
};
}
diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp
index 77913efd1c..9b542cb179 100644
--- a/scene/gui/label.cpp
+++ b/scene/gui/label.cpp
@@ -232,7 +232,6 @@ void Label::_notification(int p_what) {
return;
}
if (from->space_count) {
- chars_total += from->space_count;
/* spacing */
x_ofs += space_w * from->space_count;
if (can_fill && align == ALIGN_FILL && spaces) {
diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp
index c3ddc41813..b045ff4fe1 100644
--- a/scene/gui/tab_container.cpp
+++ b/scene/gui/tab_container.cpp
@@ -785,23 +785,25 @@ TabContainer::TabAlign TabContainer::get_tab_align() const {
return align;
}
-void TabContainer::set_tabs_visible(bool p_visibe) {
+void TabContainer::set_tabs_visible(bool p_visible) {
- if (p_visibe == tabs_visible)
+ if (p_visible == tabs_visible)
return;
- tabs_visible = p_visibe;
+ tabs_visible = p_visible;
Vector<Control *> tabs = _get_tabs();
for (int i = 0; i < tabs.size(); i++) {
Control *c = tabs[i];
- if (p_visibe)
+ if (p_visible)
c->set_margin(MARGIN_TOP, _get_top_margin());
else
c->set_margin(MARGIN_TOP, 0);
}
+
update();
+ minimum_size_changed();
}
bool TabContainer::are_tabs_visible() const {
@@ -936,8 +938,10 @@ Size2 TabContainer::get_minimum_size() const {
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
Ref<Font> font = get_font("font");
- ms.y += MAX(MAX(tab_bg->get_minimum_size().y, tab_fg->get_minimum_size().y), tab_disabled->get_minimum_size().y);
- ms.y += font->get_height();
+ if (tabs_visible) {
+ ms.y += MAX(MAX(tab_bg->get_minimum_size().y, tab_fg->get_minimum_size().y), tab_disabled->get_minimum_size().y);
+ ms.y += font->get_height();
+ }
Ref<StyleBox> sb = get_stylebox("panel");
ms += sb->get_minimum_size();
diff --git a/scene/gui/tab_container.h b/scene/gui/tab_container.h
index e69c2ae289..c5a9045ca6 100644
--- a/scene/gui/tab_container.h
+++ b/scene/gui/tab_container.h
@@ -87,7 +87,7 @@ public:
void set_tab_align(TabAlign p_align);
TabAlign get_tab_align() const;
- void set_tabs_visible(bool p_visibe);
+ void set_tabs_visible(bool p_visible);
bool are_tabs_visible() const;
void set_tab_title(int p_tab, const String &p_title);
diff --git a/scene/resources/material.h b/scene/resources/material.h
index c2501a258f..8e66011bec 100644
--- a/scene/resources/material.h
+++ b/scene/resources/material.h
@@ -249,7 +249,7 @@ private:
uint64_t blend_mode : 2;
uint64_t depth_draw_mode : 2;
uint64_t cull_mode : 2;
- uint64_t flags : 18;
+ uint64_t flags : 19;
uint64_t detail_blend_mode : 2;
uint64_t diffuse_mode : 3;
uint64_t specular_mode : 3;
diff --git a/scene/resources/tile_set.cpp b/scene/resources/tile_set.cpp
index a827793f67..555e90ed3c 100644
--- a/scene/resources/tile_set.cpp
+++ b/scene/resources/tile_set.cpp
@@ -1233,6 +1233,7 @@ void TileSet::_bind_methods() {
BIND_ENUM_CONSTANT(BIND_TOP);
BIND_ENUM_CONSTANT(BIND_TOPRIGHT);
BIND_ENUM_CONSTANT(BIND_LEFT);
+ BIND_ENUM_CONSTANT(BIND_CENTER);
BIND_ENUM_CONSTANT(BIND_RIGHT);
BIND_ENUM_CONSTANT(BIND_BOTTOMLEFT);
BIND_ENUM_CONSTANT(BIND_BOTTOM);
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index a9d7cad07f..e350a0a99e 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -2502,13 +2502,7 @@ void VisualShaderNodeGroupBase::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_free_input_port_id"), &VisualShaderNodeGroupBase::get_free_input_port_id);
ClassDB::bind_method(D_METHOD("get_free_output_port_id"), &VisualShaderNodeGroupBase::get_free_output_port_id);
- ClassDB::bind_method(D_METHOD("set_control", "control", "index"), &VisualShaderNodeGroupBase::set_control);
- ClassDB::bind_method(D_METHOD("get_control", "index"), &VisualShaderNodeGroupBase::get_control);
-
- ClassDB::bind_method(D_METHOD("set_editable", "enabled"), &VisualShaderNodeGroupBase::set_editable);
- ClassDB::bind_method(D_METHOD("is_editable"), &VisualShaderNodeGroupBase::is_editable);
-
- ADD_PROPERTY(PropertyInfo(Variant::BOOL, "editable"), "set_editable", "is_editable");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size"), "set_size", "get_size");
}
String VisualShaderNodeGroupBase::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 {
@@ -2532,10 +2526,6 @@ void VisualShaderNodeExpression::set_expression(const String &p_expression) {
expression = p_expression;
}
-void VisualShaderNodeExpression::build() {
- emit_changed();
-}
-
String VisualShaderNodeExpression::get_expression() const {
return expression;
}
@@ -2642,8 +2632,6 @@ void VisualShaderNodeExpression::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_expression", "expression"), &VisualShaderNodeExpression::set_expression);
ClassDB::bind_method(D_METHOD("get_expression"), &VisualShaderNodeExpression::get_expression);
- ClassDB::bind_method(D_METHOD("build"), &VisualShaderNodeExpression::build);
-
ADD_PROPERTY(PropertyInfo(Variant::STRING, "expression"), "set_expression", "get_expression");
}
diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h
index d120ea6610..f81090d9cb 100644
--- a/scene/resources/visual_shader.h
+++ b/scene/resources/visual_shader.h
@@ -457,8 +457,6 @@ public:
void set_expression(const String &p_expression);
String get_expression() const;
- void build();
-
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;
VisualShaderNodeExpression();
diff --git a/scene/resources/visual_shader_nodes.cpp b/scene/resources/visual_shader_nodes.cpp
index 225274a5fe..7d8c396b7f 100644
--- a/scene/resources/visual_shader_nodes.cpp
+++ b/scene/resources/visual_shader_nodes.cpp
@@ -792,7 +792,7 @@ String VisualShaderNodeCubeMap::generate_global(Shader::Mode p_mode, VisualShade
case TYPE_COLOR: u += " : hint_albedo"; break;
case TYPE_NORMALMAP: u += " : hint_normal"; break;
}
- return u + ";";
+ return u + ";\n";
}
return String();
}
@@ -809,29 +809,33 @@ String VisualShaderNodeCubeMap::generate_code(Shader::Mode p_mode, VisualShader:
return String();
}
+ code += "\t{\n";
+
if (id == String()) {
- code += "\tvec4 " + id + "_read = vec4(0.0);\n";
- code += "\t" + p_output_vars[0] + " = " + id + "_read.rgb;\n";
- code += "\t" + p_output_vars[1] + " = " + id + "_read.a;\n";
+ code += "\t\tvec4 " + id + "_read = vec4(0.0);\n";
+ code += "\t\t" + p_output_vars[0] + " = " + id + "_read.rgb;\n";
+ code += "\t\t" + p_output_vars[1] + " = " + id + "_read.a;\n";
+ code += "\t}\n";
return code;
}
if (p_input_vars[0] == String()) { // Use UV by default.
if (p_input_vars[1] == String()) {
- code += "\tvec4 " + id + "_read = texture( " + id + " , vec3( UV, 0.0 ) );\n";
+ code += "\t\tvec4 " + id + "_read = texture( " + id + " , vec3( UV, 0.0 ) );\n";
} else {
- code += "\tvec4 " + id + "_read = textureLod( " + id + " , vec3( UV, 0.0 )" + " , " + p_input_vars[1] + " );\n";
+ code += "\t\tvec4 " + id + "_read = textureLod( " + id + " , vec3( UV, 0.0 )" + " , " + p_input_vars[1] + " );\n";
}
} else if (p_input_vars[1] == String()) {
//no lod
- code += "\tvec4 " + id + "_read = texture( " + id + " , " + p_input_vars[0] + " );\n";
+ code += "\t\tvec4 " + id + "_read = texture( " + id + " , " + p_input_vars[0] + " );\n";
} else {
- code += "\tvec4 " + id + "_read = textureLod( " + id + " , " + p_input_vars[0] + " , " + p_input_vars[1] + " );\n";
+ code += "\t\tvec4 " + id + "_read = textureLod( " + id + " , " + p_input_vars[0] + " , " + p_input_vars[1] + " );\n";
}
- code += "\t" + p_output_vars[0] + " = " + id + "_read.rgb;\n";
- code += "\t" + p_output_vars[1] + " = " + id + "_read.a;\n";
+ code += "\t\t" + p_output_vars[0] + " = " + id + "_read.rgb;\n";
+ code += "\t\t" + p_output_vars[1] + " = " + id + "_read.a;\n";
+ code += "\t}\n";
return code;
}
diff --git a/version.py b/version.py
index 36778ee756..2a6a9c0a28 100644
--- a/version.py
+++ b/version.py
@@ -1,9 +1,9 @@
short_name = "godot"
name = "Godot Engine"
-major = 3
-minor = 2
+major = 4
+minor = 0
patch = 0
-status = "rc"
+status = "dev"
module_config = ""
year = 2020
website = "https://godotengine.org"