diff options
148 files changed, 1071 insertions, 1186 deletions
@@ -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 @@ -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=""""> + 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" |