diff options
100 files changed, 738 insertions, 2468 deletions
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index b35d4fb36a..17b474531e 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -5,8 +5,9 @@ </brief_description> <description> A color is represented by red, green, and blue [code](r, g, b)[/code] components. Additionally, [code]a[/code] represents the alpha component, often used for transparency. Values are in floating-point and usually range from 0 to 1. Some properties (such as [member CanvasItem.modulate]) may accept values greater than 1. - You can also create a color from standardized color names by using [method @GDScript.ColorN] or directly using the color constants defined here. The standardized color set is based on the [url=https://en.wikipedia.org/wiki/X11_color_names]X11 color names[/url]. + You can also create a color from standardized color names by using [method @GDScript.ColorN] or directly using the color constants defined here. The standardized color set is based on the [url=https://en.wikipedia.org/wiki/X11_color_names]X11 color names[/url]. If you want to supply values in a range of 0 to 255, you should use [method @GDScript.Color8]. + [b]Note:[/b] In a boolean context, a Color will evaluate to [code]false[/code] if it's equal to [code]Color(0, 0, 0, 1)[/code] (opaque black). Otherwise, a Color will always evaluate to [code]true[/code]. </description> <tutorials> </tutorials> diff --git a/doc/classes/Joint2D.xml b/doc/classes/Joint2D.xml index fb0e184c26..b055293b9d 100644 --- a/doc/classes/Joint2D.xml +++ b/doc/classes/Joint2D.xml @@ -15,7 +15,7 @@ When [member node_a] and [member node_b] move in different directions the [code]bias[/code] controls how fast the joint pulls them back to their original position. The lower the [code]bias[/code] the more the two bodies can pull on the joint. </member> <member name="disable_collision" type="bool" setter="set_exclude_nodes_from_collision" getter="get_exclude_nodes_from_collision" default="true"> - If [code]true[/code], [member node_a] and [member node_b] can collide. + If [code]true[/code], [member node_a] and [member node_b] can not collide. </member> <member name="node_a" type="NodePath" setter="set_node_a" getter="get_node_a" default="NodePath("")"> The first body attached to the joint. Must derive from [PhysicsBody2D]. diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 23473290c7..105def21ca 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -205,7 +205,7 @@ <return type="String"> </return> <description> - Returns the name of the host OS. Possible values are: [code]"Android"[/code], [code]"Haiku"[/code], [code]"iOS"[/code], [code]"HTML5"[/code], [code]"OSX"[/code], [code]"Server"[/code], [code]"Windows"[/code], [code]"UWP"[/code], [code]"X11"[/code]. + Returns the name of the host OS. Possible values are: [code]"Android"[/code], [code]"iOS"[/code], [code]"HTML5"[/code], [code]"OSX"[/code], [code]"Server"[/code], [code]"Windows"[/code], [code]"UWP"[/code], [code]"X11"[/code]. </description> </method> <method name="get_process_id" qualifiers="const"> diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 64ebc1fa09..7f4a212679 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -5,7 +5,8 @@ </brief_description> <description> 2-element structure that can be used to represent positions in 2D space or any other pair of numeric values. - It uses floating point coordinates. + It uses floating-point coordinates. See [Vector2i] for its integer counterpart. + [b]Note:[/b] In a boolean context, a Vector2 will evaluate to [code]false[/code] if it's equal to [code]Vector2(0, 0)[/code]. Otherwise, a Vector2 will always evaluate to [code]true[/code]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml index 71c7aaa4e5..2f7ca985b2 100644 --- a/doc/classes/Vector2i.xml +++ b/doc/classes/Vector2i.xml @@ -5,7 +5,8 @@ </brief_description> <description> 2-element structure that can be used to represent positions in 2D space or any other pair of numeric values. - It uses integer coordinates. + It uses integer coordinates and is therefore preferable to [Vector2] when exact precision is required. + [b]Note:[/b] In a boolean context, a Vector2i will evaluate to [code]false[/code] if it's equal to [code]Vector2i(0, 0)[/code]. Otherwise, a Vector2i will always evaluate to [code]true[/code]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 29222bb4d1..0c861e5ee2 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -5,7 +5,8 @@ </brief_description> <description> 3-element structure that can be used to represent positions in 3D space or any other pair of numeric values. - It uses floating point coordinates. + It uses floating-point coordinates. See [Vector3i] for its integer counterpart. + [b]Note:[/b] In a boolean context, a Vector3 will evaluate to [code]false[/code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 will always evaluate to [code]true[/code]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml index c5aa3d0347..91d64ea609 100644 --- a/doc/classes/Vector3i.xml +++ b/doc/classes/Vector3i.xml @@ -5,7 +5,8 @@ </brief_description> <description> 3-element structure that can be used to represent positions in 3D space or any other pair of numeric values. - It uses integer coordinates. + It uses integer coordinates and is therefore preferable to [Vector3] when exact precision is required. + [b]Note:[/b] In a boolean context, a Vector3i will evaluate to [code]false[/code] if it's equal to [code]Vector3i(0, 0, 0)[/code]. Otherwise, a Vector3i will always evaluate to [code]true[/code]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml index 4482a280b2..869fc14d40 100644 --- a/doc/classes/bool.xml +++ b/doc/classes/bool.xml @@ -4,14 +4,14 @@ Boolean built-in type. </brief_description> <description> - Boolean is a built-in type. It can represent any data type that is either a true or false value. You can think of it as an switch with on or off (1 or 0) setting. It's often used as part of programming logic in condition statements like [code]if[/code] statements. - [b]Note:[/b] In a code below [code]if can_shoot[/code] is equivalent of [code]if can_shoot == true[/code]. It is good practice to follow the natural spoken language structure when possible. Use [code]if can_shoot[/code] rather than [code]if can_shoot == true[/code] and use [code]if not can_shoot[/code] rather than [code]if can_shoot == false[/code]. + Boolean is a built-in type. There are two boolean values: [code]true[/code] and [code]false[/code]. You can think of it as an switch with on or off (1 or 0) setting. Booleans are used in programming for logic in condition statements, like [code]if[/code] statements. + Booleans can be directly used in [code]if[/code] statements. The code below demonstrates this on the [code]if can_shoot:[/code] line. You don't need to use [code]== true[/code], you only need [code]if can_shoot:[/code]. Similarly, use [code]if not can_shoot:[/code] rather than [code]== false[/code]. [codeblock] var can_shoot = true func shoot(): if can_shoot: - # Perform shooting actions here. + pass # Perform shooting actions here. [/codeblock] The following code will only create a bullet if both conditions are met: action "shoot" is pressed and if [code]can_shoot[/code] is [code]true[/code]. [b]Note:[/b] [code]Input.is_action_pressed("shoot")[/code] is also a boolean that is [code]true[/code] when "shoot" is pressed and [code]false[/code] when "shoot" isn't pressed. @@ -46,7 +46,7 @@ <argument index="0" name="from" type="int"> </argument> <description> - Cast an [int] value to a boolean value, this method will return [code]true[/code] if called with an integer value different to 0 and [code]false[/code] in other case. + Cast an [int] value to a boolean value, this method will return [code]false[/code] if [code]0[/code] is passed in, and [code]true[/code] for all other ints. </description> </method> <method name="bool"> @@ -55,7 +55,7 @@ <argument index="0" name="from" type="float"> </argument> <description> - Cast a [float] value to a boolean value, this method will return [code]true[/code] if called with a floating-point value different to 0 and [code]false[/code] in other case. + Cast a [float] value to a boolean value, this method will return [code]false[/code] if [code]0.0[/code] is passed in, and [code]true[/code] for all other floats. </description> </method> <method name="bool"> @@ -64,7 +64,8 @@ <argument index="0" name="from" type="String"> </argument> <description> - Cast a [String] value to a boolean value, this method will return [code]true[/code] if called with a non-empty string and [code]false[/code] in other case. Examples: [code]bool("False")[/code] returns [code]true[/code], [code]bool("")[/code] returns [code]false[/code]. + Cast a [String] value to a boolean value, this method will return [code]false[/code] if [code]""[/code] is passed in, and [code]true[/code] for all non-empty strings. + Examples: [code]bool("False")[/code] returns [code]true[/code], [code]bool("")[/code] returns [code]false[/code]. </description> </method> </methods> diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 25594bf7c8..951bec2c83 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -100,7 +100,6 @@ void EditorExportPreset::update_files_to_export() { for (int i = 0; i < to_remove.size(); ++i) { selected_files.erase(to_remove[i]); } - EditorExport::singleton->save_presets(); } Vector<String> EditorExportPreset::get_files_to_export() const { diff --git a/editor/icons/ToolButton.svg b/editor/icons/ToolButton.svg deleted file mode 100644 index 98a41d2a08..0000000000 --- a/editor/icons/ToolButton.svg +++ /dev/null @@ -1 +0,0 @@ -<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m11 1.1738c-1.1979.4235-1.999 1.5557-2 2.8262.0009552 1.2705.80214 2.4027 2 2.8262v7.1738c0 .554.446 1 1 1s1-.446 1-1v-7.1758c1.1972-.4232 1.9982-1.5544 2-2.8242-.0018-1.2698-.80282-2.401-2-2.8242v2.8242c0 .5523-.44772 1-1 1s-1-.4477-1-1zm-7 1.8262v3.1328l-1.4453-.96484-1.1094 1.6641 3 2c.3359.22389.77347.22389 1.1094 0l3-2-1.1094-1.6641-1.4453.96484v-3.1328zm-.5 8c-.831 0-1.5.669-1.5 1.5v.5h-1v2h8v-2h-1v-.5c0-.831-.669-1.5-1.5-1.5z" fill="#a5efac"/></svg>
\ No newline at end of file diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 896471dab5..d2f94a6d28 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -2106,12 +2106,7 @@ void Node3DEditorViewport::_nav_orbit(Ref<InputEventWithModifiers> p_event, cons cursor.x_rot += p_relative.y * radians_per_pixel; } cursor.y_rot += p_relative.x * radians_per_pixel; - if (cursor.x_rot > Math_PI / 2.0) { - cursor.x_rot = Math_PI / 2.0; - } - if (cursor.x_rot < -Math_PI / 2.0) { - cursor.x_rot = -Math_PI / 2.0; - } + cursor.x_rot = CLAMP(cursor.x_rot, -1.57, 1.57); name = ""; _update_name(); } @@ -2139,12 +2134,7 @@ void Node3DEditorViewport::_nav_look(Ref<InputEventWithModifiers> p_event, const cursor.x_rot += p_relative.y * radians_per_pixel; } cursor.y_rot += p_relative.x * radians_per_pixel; - if (cursor.x_rot > Math_PI / 2.0) { - cursor.x_rot = Math_PI / 2.0; - } - if (cursor.x_rot < -Math_PI / 2.0) { - cursor.x_rot = -Math_PI / 2.0; - } + cursor.x_rot = CLAMP(cursor.x_rot, -1.57, 1.57); // Look is like the opposite of Orbit: the focus point rotates around the camera Transform camera_transform = to_camera_transform(cursor); diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index f2c4a533ea..a8029e1e2b 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -1865,7 +1865,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { restart_icon->set_v_size_flags(Control::SIZE_SHRINK_CENTER); restart_hb->add_child(restart_icon); restart_label = memnew(Label); - restart_label->set_text(TTR("The editor must be restarted for changes to take effect.")); + restart_label->set_text(TTR("Changed settings will be applied to the editor after restarting.")); restart_hb->add_child(restart_label); restart_hb->add_spacer(); Button *restart_button = memnew(Button); diff --git a/editor/translations/af.po b/editor/translations/af.po index 1f598ef5e5..daa0737106 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -784,6 +784,11 @@ msgstr "Metode in teiken Nodus moet gespesifiseer word!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metode in teiken Nodus moet gespesifiseer word!" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ar.po b/editor/translations/ar.po index a60de1a41e..ffab95cc8b 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -785,6 +785,11 @@ msgid "Method in target node must be specified." msgstr "يجب ØªØØ¯ÙŠØ¯ الدالة ÙÙŠ العقدة Ø§Ù„Ù…Ø³ØªÙ‡Ø¯ÙØ©." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "هذا الاسم ليس Ù…ÙØ¹Ø±Ùاً مميزاً ØµØ§Ù„ØØ§Ù‹:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/bg.po b/editor/translations/bg.po index f08f2b1362..c9f38d518a 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -746,6 +746,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 3680e4ce6c..c438934246 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -809,6 +809,11 @@ msgstr "নিরà§à¦¦à§‡à¦¶à¦¿à¦¤ নোডের মেথড নিরà§à¦¦ #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "নামটি কারà§à¦¯à¦•র সনাকà§à¦¤à¦•ারী নয়:" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 1640367701..5fb91db7b4 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -765,6 +765,11 @@ msgid "Method in target node must be specified." msgstr "S'ha d'especificar el mètode al node de destinació." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "El nom no és un identificador và lid:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/cs.po b/editor/translations/cs.po index fabec77283..809bc69149 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -24,7 +24,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-06 10:15+0000\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" "Last-Translator: ZbynÄ›k <zbynek.fiala@gmail.com>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" @@ -33,7 +33,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -773,6 +773,11 @@ msgid "Method in target node must be specified." msgstr "Je nutné zadat metodu v cÃlovém uzlu." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Jméno nenà platný identifikátor:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -10055,7 +10060,7 @@ msgstr "PÅ™idat akci" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "TlaÄÃtko" +msgstr "Button" #: editor/project_settings_editor.cpp msgid "Left Button." diff --git a/editor/translations/da.po b/editor/translations/da.po index 8eeaaafaea..70b05c08ff 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -16,12 +16,13 @@ # Kristoffer Andersen <kjaa@google.com>, 2019. # Joe Osborne <reachjoe.o@gmail.com>, 2020. # Autowinto <happymansi@hotmail.com>, 2020. +# Mikkel Mouridsen <mikkelmouridsen@me.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-02-02 08:51+0000\n" -"Last-Translator: Autowinto <happymansi@hotmail.com>\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"Last-Translator: Mikkel Mouridsen <mikkelmouridsen@me.com>\n" "Language-Team: Danish <https://hosted.weblate.org/projects/godot-engine/" "godot/da/>\n" "Language: da\n" @@ -29,7 +30,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.11-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -443,7 +444,7 @@ msgstr "Det er ikke muligt at tilføje et nyt spor uden en rod" #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "" +msgstr "Ugyldigt spor for Bezier (ingen passende underegenskaber)" #: editor/animation_track_editor.cpp #, fuzzy @@ -785,7 +786,7 @@ msgstr "Advarsler" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "Linje- og kolonnenumre." #: editor/connections_dialog.cpp #, fuzzy @@ -794,6 +795,11 @@ msgstr "Metode i target Node skal angives!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Navnet er ikke et gyldigt id:" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -1252,7 +1258,7 @@ msgstr "Udpakker Aktiver" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "The following files failed extraction from package:" -msgstr "" +msgstr "De følgende filer kunne ikke trækkes ud af pakken:" #: editor/editor_asset_installer.cpp #, fuzzy diff --git a/editor/translations/de.po b/editor/translations/de.po index b52206e56e..6fb1a29c12 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -806,6 +806,11 @@ msgid "Method in target node must be specified." msgstr "Methode des Ziel-Nodes muss angegeben werden." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Name ist kein gültiger Bezeichner:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 4dca7e4c5f..01121a8156 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -730,6 +730,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/el.po b/editor/translations/el.po index 127da8ec1f..3f04c4cf01 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -763,6 +763,11 @@ msgid "Method in target node must be specified." msgstr "Î ÏÎπει να οÏιστεί συνάÏτηση στον στοχευμÎνο κόμβο." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Το όνομα δεν είναι ÎγκυÏο αναγνωÏιστικό:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/eo.po b/editor/translations/eo.po index 3addde45ce..f98f043118 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -764,6 +764,11 @@ msgstr "Metodo en celo nodo devas esti specifita." #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metodo en celo nodo devas esti specifita." + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/es.po b/editor/translations/es.po index f8c4134d07..15efa44f3d 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -53,8 +53,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-15 01:48+0000\n" -"Last-Translator: paco <pacosoftfree@protonmail.com>\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -62,7 +62,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -79,7 +79,8 @@ msgstr "Se esperaba un string de longitud 1 (un carácter)." #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" -"No hay suficientes bytes para decodificar bytes, o el formato es invalido." +"No hay suficientes bytes para decodificar los bytes, o el formato es " +"inválido." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -96,11 +97,11 @@ msgstr "Operandos inválidos para el operador %s, %s y %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" -msgstr "Indice inválido de tipo %s para tipo base %s" +msgstr "Ãndice inválido de tipo %s para el tipo base %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "El Ãndice de nombre «%s» no es válido para el tipo de base %s" +msgstr "El Ãndice de nombre '%s' no es válido para el tipo de base %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" @@ -806,6 +807,11 @@ msgid "Method in target node must be specified." msgstr "Se debe establecer un método en el nodo destino." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "El nombre no es un identificador válido:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -2014,7 +2020,7 @@ msgstr "Propiedades del Tema" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "Enumeraciones" +msgstr "Enumerados" #: editor/editor_help.cpp msgid "Constants" @@ -3378,7 +3384,7 @@ msgstr "Página: " #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Item" -msgstr "Eliminar Item" +msgstr "Eliminar Ãtem" #: editor/editor_properties_array_dict.cpp msgid "New Key:" @@ -5906,15 +5912,15 @@ msgstr "Degradado Editado" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "Elemento %d" +msgstr "Ãtem %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "Elementos" +msgstr "Ãtems" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "Editor de Lista de Items" +msgstr "Editor de Lista de Ãtems" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" @@ -6104,7 +6110,7 @@ msgstr "Depuración del Canal UV" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove item %d?" -msgstr "¿Quieres borrar el elemento %d?" +msgstr "¿Eliminar el Ãtem %d?" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "" @@ -6121,11 +6127,11 @@ msgstr "LibrerÃa de Mallas" #: editor/plugins/mesh_library_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Add Item" -msgstr "Añadir Item" +msgstr "Añadir Ãtem" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "Borrar elemento seleccionado" +msgstr "Eliminar Ãtem Seleccionado" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Import from Scene" @@ -7935,7 +7941,7 @@ msgstr "Región de Textura" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" -msgstr "Añadir Todos los Elementos" +msgstr "Añadir Todos los Ãtems" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All" @@ -7959,11 +7965,11 @@ msgstr "Menú de edición de tema." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "Añadir elementos de clase" +msgstr "Añadir Clases de Ãtems" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "Eliminar Ãtems de Clases" +msgstr "Eliminar Clases de Ãtems" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" @@ -11146,7 +11152,7 @@ msgstr "Monitores" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "Elige uno o más elementos de la lista para mostrar el gráfico." +msgstr "Elige uno o más Ãtems de la lista para mostrar el gráfico." #: editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 46cb219e14..5cab610261 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -770,6 +770,11 @@ msgid "Method in target node must be specified." msgstr "El método en el nodo objetivo debe ser especificado." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "El nombre no es un identificador válido:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/et.po b/editor/translations/et.po index 7be6996d69..5fd61347e1 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -744,6 +744,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/eu.po b/editor/translations/eu.po index b47056d82b..e461c0f1ec 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -735,6 +735,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 3f94d1112b..428b69062a 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -784,6 +784,11 @@ msgstr "متد در گره مقصد باید مشخص شده باشد!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "نام یک شناسه‌ی معتبر نیست:" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/fi.po b/editor/translations/fi.po index a95c65be41..125656ed67 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -757,6 +757,11 @@ msgid "Method in target node must be specified." msgstr "Kohdesolmun metodi täytyy määrittää." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Nimi ei ole kelvollinen tunniste:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/fil.po b/editor/translations/fil.po index 920b91a30c..ceda61c802 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -743,6 +743,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/fr.po b/editor/translations/fr.po index fac3b9b84b..46d3adb070 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -834,6 +834,10 @@ msgid "Method in target node must be specified." msgstr "La méthode du nÅ“ud cible doit être spécifiée." #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "Le nom de la méthode doit être un identifiant valide." + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ga.po b/editor/translations/ga.po index b9e6ba69c6..70dd5eada7 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -736,6 +736,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/he.po b/editor/translations/he.po index 56126249dc..7895ae48fe 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -777,6 +777,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/hi.po b/editor/translations/hi.po index 4782afecb0..e3ae2aabe5 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -756,6 +756,11 @@ msgid "Method in target node must be specified." msgstr "Method को target node में निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ कीजिà¤." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Method को target node में निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ कीजिà¤." + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/hr.po b/editor/translations/hr.po index ad095145b2..5355ee1dc9 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -741,6 +741,11 @@ msgid "Method in target node must be specified." msgstr "Metoda u ciljnom Ävoru mora biti odreÄ‘ena." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metoda u ciljnom Ävoru mora biti odreÄ‘ena." + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/hu.po b/editor/translations/hu.po index ef15f85977..b57028a426 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -790,6 +790,11 @@ msgstr "Nevezze meg a metódust a cél Node-ban!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Nevezze meg a metódust a cél Node-ban!" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/id.po b/editor/translations/id.po index f7a86197b6..92c0c25da9 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -778,6 +778,11 @@ msgid "Method in target node must be specified." msgstr "Method dalam node target harus ditentukan." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Nama bukan sebuah pengidentifikasi yang sah:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/is.po b/editor/translations/is.po index 5a1ac9b73c..f0d93d1242 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -770,6 +770,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/it.po b/editor/translations/it.po index eeec1e05eb..bb53d26fa4 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -50,12 +50,13 @@ # J. Lavoie <j.lavoie@net-c.ca>, 2020. # Andrea Terenziani <andrea.terenziani.at@gmail.com>, 2020. # Anonymous <noreply@weblate.org>, 2020. +# riccardo boffelli <riccardo.boffelli.96@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-07 21:28+0000\n" -"Last-Translator: Sean Bone <seanbone@zumguy.com>\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"Last-Translator: riccardo boffelli <riccardo.boffelli.96@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -63,7 +64,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -802,6 +803,11 @@ msgid "Method in target node must be specified." msgstr "Il metodo del nodo designato deve essere specificato." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Il nome non è un identificatore valido:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -1499,7 +1505,7 @@ msgstr "Riordina gli Autoload" #: editor/editor_autoload_settings.cpp msgid "Can't add autoload:" -msgstr "" +msgstr "Non è possibile aggiungere l'autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2463,15 +2469,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Impossibile ricaricare una scena che non è mai stata salvata." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Saved Scene" -msgstr "Salva Scena" +msgstr "Ricarica scena salvata" #: editor/editor_node.cpp msgid "" "The current scene has unsaved changes.\n" "Reload the saved scene anyway? This action cannot be undone." msgstr "" +"La scena attuale ha dei cambiamenti non salvati.\n" +"Ricaricare comunque la scena salvata? Questa azione non può essere annullata." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -3418,11 +3425,10 @@ msgid "Did you forget the '_run' method?" msgstr "Hai dimenticato il metodo '_run'?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." msgstr "" -"Mantieni premuto Control per rilasciare un Getter. Mantieni premuto Shift " -"per rilasciare una firma generica." +"Tenere premuto il tasto Ctrl per arrotondare ai numeri interi. Tenere " +"premuto Shift per modifiche più precise." #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -4022,8 +4028,10 @@ msgid "Error running post-import script:" msgstr "Errore di esecuzione dello script di post-import:" #: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Did you return a Node-derived object in the `post_import()` method?" msgstr "" +"Avete restituito un oggetto derivato da un Nodo nel metodo `post_import()`?" #: editor/import/resource_importer_scene.cpp msgid "Saving..." @@ -6992,9 +7000,8 @@ msgstr "" "Manca il metodo '%s' connesso per il segnale '%s' dal nodo '%s' al nodo '%s'." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "[Ignore]" -msgstr "(ignora)" +msgstr "[ignora]" #: editor/plugins/script_text_editor.cpp msgid "Line" @@ -7480,6 +7487,12 @@ msgid "" "Closed eye: Gizmo is hidden.\n" "Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." msgstr "" +"Fare clic per passare da uno stato di visibilità all'altro.\n" +"\n" +"Apri gli occhi: Gizmo è visibile.\n" +"Occhio chiuso: Gizmo è nascosto.\n" +"Occhio semiaperto: Gizmo è visibile anche attraverso superfici opache " +"(\"raggi X\")." #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" @@ -10579,9 +10592,8 @@ msgid "Instance Child Scene" msgstr "Istanzia Scena Figlia" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" -msgstr "Allega Script" +msgstr "Rimuovi Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10747,11 +10759,15 @@ msgid "Open Documentation" msgstr "Apri la documentazione" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "" "Cannot attach a script: there are no languages registered.\n" "This is probably because this editor was built with all language modules " "disabled." msgstr "" +"Non è possibile allegare uno script: non ci sono linguaggi registrati.\n" +"Questo probabilmente perché questo editor è stato costruito con tutti i " +"moduli di lingua disabilitati." #: editor/scene_tree_dock.cpp msgid "Add Child Node" @@ -10802,14 +10818,12 @@ msgstr "" "root esiste." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Attach a new or existing script to the selected node." -msgstr "Allega un nuovo script o uno esistente al nodo selezionato." +msgstr "Allega un nuovo script o uno già esistente al nodo selezionato." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach the script from the selected node." -msgstr "Svuota uno script per il nodo selezionato." +msgstr "Rimuovi lo script per il nodo selezionato." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -12072,30 +12086,40 @@ msgid "Invalid package name:" msgstr "Nome del pacchetto non valido:" #: platform/android/export/export.cpp +#, fuzzy msgid "" "Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " "project setting (changed in Godot 3.2.2).\n" msgstr "" +"Modulo \"GodotPaymentV3\" non valido incluso nell'impostazione del progetto " +"\" android/moduli\" (modificato in Godot 3.2.2).\n" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." -msgstr "" +msgstr "Per utilizzare i plugin \"Use Custom Build\" deve essere abilitato." #: platform/android/export/export.cpp +#, fuzzy msgid "" "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" "\"." msgstr "" +"\"Degrees Of Freedom\" è valido solo quando \"Xr Mode\" è \"Oculus Mobile VR" +"\"." #: platform/android/export/export.cpp +#, fuzzy msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Hand Tracking\" è valido solo quando \"Xr Mode\" è \"Oculus Mobile VR\"." #: platform/android/export/export.cpp +#, fuzzy msgid "" "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Focus Awareness\" è valida solo quando \"Xr Mode\" è \"Oculus Mobile VR\"." #: platform/android/export/export.cpp msgid "" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 7d4aed4b29..fc8444d6bc 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -786,6 +786,11 @@ msgid "Method in target node must be specified." msgstr "対象ノードã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’指定ã—ã¦ãã ã•ã„。" #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "ã“ã®åå‰ã¯ç„¡åйãªè˜åˆ¥åã§ã™:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 2435a50898..af03b1af9e 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -790,6 +790,11 @@ msgstr "სáƒáƒ›áƒ˜áƒ–ნე კვáƒáƒœáƒ«áƒ¨áƒ˜ მეთáƒáƒ“ი უნდ #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "სáƒáƒ›áƒ˜áƒ–ნე კვáƒáƒœáƒ«áƒ¨áƒ˜ მეთáƒáƒ“ი უნდრიყáƒáƒ¡ გáƒáƒœáƒ¡áƒáƒ–ღვრული!" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ko.po b/editor/translations/ko.po index c568dc19b8..a895af27b6 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -768,6 +768,11 @@ msgid "Method in target node must be specified." msgstr "ëŒ€ìƒ ë…¸ë“œì— ìžˆëŠ” 메서드는 반드시 ì§€ì •í•´ì•¼ 합니다." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "ì´ë¦„ì´ ì˜¬ë°”ë¥¸ ì‹ë³„ìžê°€ 아님:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/lt.po b/editor/translations/lt.po index bbbe630d4a..fdf9ef15ae 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -773,6 +773,11 @@ msgstr "Metodas pasirinktame Node turi bÅ«ti nurodytas!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metodas pasirinktame Node turi bÅ«ti nurodytas!" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/lv.po b/editor/translations/lv.po index b69ecf7eef..8417a6b650 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -757,6 +757,11 @@ msgid "Method in target node must be specified." msgstr "Metodi mÄ“rÄ·a mezglÄ nepiecieÅ¡ams specificÄ“t." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metodi mÄ“rÄ·a mezglÄ nepiecieÅ¡ams specificÄ“t." + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/mi.po b/editor/translations/mi.po index fbf4bce3d6..ab68a71ee2 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -728,6 +728,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 77ac327f71..db5f5638f3 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -738,6 +738,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/mr.po b/editor/translations/mr.po index 38e3ee7185..1700bcb138 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -735,6 +735,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 233b5cb428..160fa6e69f 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -758,6 +758,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 5c80321d03..4e7ca2dce1 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-03 20:09+0000\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Language-Team: Norwegian BokmÃ¥l <https://hosted.weblate.org/projects/godot-" "engine/godot/nb_NO/>\n" @@ -28,7 +28,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -796,6 +796,11 @@ msgstr "Metode i mÃ¥l-Node mÃ¥ spesifiseres!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Navn er ikke en gyldig identifikator:" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -3772,12 +3777,9 @@ msgid "Favorites" msgstr "Favoritter:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" -"\n" -"Status: Import av fil feilet. Vennligst reparer filen eller reimporter " -"manuelt." +"Status: Import av fil feilet. Reparer filen eller importer igjen manuelt." #: editor/filesystem_dock.cpp #, fuzzy diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 8e6c4bcfa4..3d560d3d6d 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -44,7 +44,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" "Last-Translator: Stijn Hinlopen <f.a.hinlopen@gmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" @@ -53,7 +53,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -790,6 +790,11 @@ msgid "Method in target node must be specified." msgstr "Methode in doelknoop moet gespecificeerd worden." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Naam is geen geldige identifier:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -1987,15 +1992,15 @@ msgstr "standaard:" #: editor/editor_help.cpp msgid "Methods" -msgstr "Methodes" +msgstr "Methoden" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "Thema Eigenschappen" +msgstr "Thema-eigenschappen" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "Enumeraties" +msgstr "Enumeratie" #: editor/editor_help.cpp msgid "Constants" @@ -2003,7 +2008,7 @@ msgstr "Constanten" #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "Eigenschap Beschrijvingen" +msgstr "Eigenschapbeschrijvingen" #: editor/editor_help.cpp msgid "(value)" @@ -2019,7 +2024,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "Methode Beschrijvingen" +msgstr "Methodebeschrijvingen" #: editor/editor_help.cpp msgid "" diff --git a/editor/translations/or.po b/editor/translations/or.po index afff834dee..d6678c2819 100644 --- a/editor/translations/or.po +++ b/editor/translations/or.po @@ -734,6 +734,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 414e66685a..558a86f1cb 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -43,7 +43,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-06 10:15+0000\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" @@ -53,7 +53,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -791,6 +791,11 @@ msgid "Method in target node must be specified." msgstr "Metoda w węźle docelowym musi zostać podana." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Nazwa nie jest prawidÅ‚owym identyfikatorem:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -1484,7 +1489,7 @@ msgstr "Przestaw Autoloady" #: editor/editor_autoload_settings.cpp msgid "Can't add autoload:" -msgstr "" +msgstr "Nie można dodać Autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1858,11 +1863,11 @@ msgstr "Przełącz ukryte pliki" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "Ustaw jako ulubione" +msgstr "Przełącz ulubione" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "Przełącz tryby" +msgstr "Przełącz tryb" #: editor/editor_file_dialog.cpp msgid "Focus Path" @@ -1870,11 +1875,11 @@ msgstr "Przejdź do wprowadzania Å›cieżki" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "PrzesuÅ„ Ulubiony w górÄ™" +msgstr "PrzesuÅ„ ulubiony w górÄ™" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "PrzesuÅ„ Ulubiony w dół" +msgstr "PrzesuÅ„ ulubiony w dół" #: editor/editor_file_dialog.cpp msgid "Go to previous folder." @@ -2122,7 +2127,7 @@ msgstr "Wyczyść" #: editor/editor_log.cpp msgid "Clear Output" -msgstr "Wyczyść dane wyjÅ›ciowe" +msgstr "Wyczyść wyjÅ›cie" #: editor/editor_network_profiler.cpp editor/editor_node.cpp #: editor/editor_profiler.cpp @@ -2440,15 +2445,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Nie można przeÅ‚adować sceny która nie zostaÅ‚a zapisana." #: editor/editor_node.cpp -#, fuzzy msgid "Reload Saved Scene" -msgstr "Zapisz scenÄ™" +msgstr "Przywróć zapisanÄ… scenÄ™" #: editor/editor_node.cpp msgid "" "The current scene has unsaved changes.\n" "Reload the saved scene anyway? This action cannot be undone." msgstr "" +"Aktualna scena ma niezapisane zmiany.\n" +"Przywrócić zapisanÄ… scenÄ™ tak czy inaczej? Ta akcja nie może zostać cofniÄ™ta." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2854,8 +2860,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" -"Wszelkie zmiany sceny w edytorze bÄ™dÄ… odtworzone w uruchomionej grze na " -"urzÄ…dzeniu zdalnym. Opcja ta dziaÅ‚a szybciej na sieciowych systemach plików." +"Kiedy ta opcja jest włączona, wszystkie zmiany na scenie w edytorze bÄ™dÄ… " +"powtórzone w uruchomionej grze.\n" +"Kiedy używane zdalnie na urzÄ…dzeniu, ta opcja jest wydajniejsza w sieciowym " +"systemie plików." #: editor/editor_node.cpp msgid "Sync Script Changes" @@ -2868,9 +2876,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" -"Wszelkie zmiany skryptów bÄ™dÄ… synchronizowane z urzÄ…dzeniem zdalnym " -"(dziaÅ‚ajÄ…ce instancje bÄ™dÄ… zrestartowane). Opcja ta dziaÅ‚a szybciej z " -"użyciem sieciowych systemów plików." +"Kiedy ta opcja jest włączona, każdy zapisany skrypt bÄ™dzie przeÅ‚adowany w " +"uruchomionej grze.\n" +"Kiedy używane zdalnie na urzÄ…dzeniu, ta opcja jest wydajniejsza w sieciowym " +"systemie plików." #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" @@ -2894,7 +2903,7 @@ msgstr "Zrzuty ekranu sÄ… przechowywane w folderze danych/ustawieÅ„ edytora." #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "PeÅ‚ny ekran" +msgstr "Przełącz peÅ‚ny ekran" #: editor/editor_node.cpp msgid "Toggle System Console" @@ -3378,11 +3387,10 @@ msgid "Did you forget the '_run' method?" msgstr "Zapomniano metody \"_run\"?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." msgstr "" -"Przytrzymaj Ctrl, by upuÅ›cić pobieracz (Getter). Przytrzymaj Shift, by " -"upuÅ›cić generycznÄ… sygnaturÄ™." +"Przytrzyma Ctrl, by zaokrÄ…glić do liczb caÅ‚kowitych. Przytrzymaj Shift dla " +"bardziej precyzyjnych zmian." #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -3983,7 +3991,7 @@ msgstr "Błąd podczas uruchamiania skryptu po imporcie:" #: editor/import/resource_importer_scene.cpp msgid "Did you return a Node-derived object in the `post_import()` method?" -msgstr "" +msgstr "Czy zwracasz obiekt dziedziczÄ…cy po Node w metodzie `post_import()`?" #: editor/import/resource_importer_scene.cpp msgid "Saving..." @@ -5416,7 +5424,7 @@ msgstr "Tryb przesuwania" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode" -msgstr "Tryb Rotacji" +msgstr "Tryb obrotu" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5556,7 +5564,7 @@ msgstr "Widok" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Always Show Grid" -msgstr "Zawsze pokaż siatkÄ™" +msgstr "Zawsze pokazuj siatkÄ™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" @@ -6938,9 +6946,8 @@ msgstr "" "\"%s\"." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "[Ignore]" -msgstr "(ignoruj)" +msgstr "[Ignoruj]" #: editor/plugins/script_text_editor.cpp msgid "Line" @@ -6978,7 +6985,7 @@ msgstr "Wielkie litery" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Lowercase" -msgstr "MaÅ‚e Litery" +msgstr "MaÅ‚e litery" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Capitalize" @@ -7054,7 +7061,7 @@ msgstr "Wylicz wyrażenie" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "Przytnij koÅ„cowe spacje" +msgstr "Przytnij koÅ„cowe biaÅ‚e znaki" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent to Spaces" @@ -7387,7 +7394,7 @@ msgstr "\"Wolny widok\" w tyÅ‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "\"Wolny widok\" w góre" +msgstr "\"Wolny widok\" w górÄ™" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" @@ -7425,6 +7432,12 @@ msgid "" "Closed eye: Gizmo is hidden.\n" "Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." msgstr "" +"Kliknij, by przełączyć pomiÄ™dzy stanami widocznoÅ›ci.\n" +"\n" +"Otwarte oko: uchwyt jest widzialny.\n" +"ZamkniÄ™te oko: uchwyt jest ukryty.\n" +"Półotwarte oko: uchwyt jest również widoczny przez nieprzezroczyste " +"powierzchnie (\"x-ray\")." #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" @@ -7519,7 +7532,7 @@ msgstr "2 widoki" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "2 widoki (Alt)" +msgstr "2 widoki (alternatywnie)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" @@ -7527,7 +7540,7 @@ msgstr "3 widoki" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "3 widoki (Alt)" +msgstr "3 widoki (alternatywnie)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" @@ -8807,7 +8820,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for fragment and light shader modes." -msgstr "Parametr wejÅ›ciowy \"%s\" dla dla fragmentowego i Å›wiatÅ‚owego shadera." +msgstr "Parametr wejÅ›ciowy \"%s\" dla fragmentowego i Å›wiatÅ‚owego shadera." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for fragment shader mode." @@ -9507,16 +9520,16 @@ msgid "" "Filters to export non-resource files/folders\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" -"Filtry do eksportowania plików/folderów nie bÄ™dÄ…cych zasobami (oddzielone " -"przecinkami, np. *.json, *.txt)" +"Filtry do eksportowania plików/folderów nie bÄ™dÄ…cych zasobami\n" +"(oddzielone przecinkami, np. *.json, *.txt, docs/*)" #: editor/project_export.cpp msgid "" "Filters to exclude files/folders from project\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" -"Filtry do wykluczenia plików/folderów z projektu (rozdzielone przecinkami, " -"np. *.json, *.txt)" +"Filtry do wykluczenia plików/folderów z projektu\n" +"(oddzielone przecinkami, np. *.json, *.txt, docs/*)" #: editor/project_export.cpp msgid "Patches" @@ -10515,9 +10528,8 @@ msgid "Instance Child Scene" msgstr "Dodaj instancjÄ™ sceny" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" -msgstr "Dodaj skrypt" +msgstr "Odłącz skrypt" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10635,7 +10647,7 @@ msgstr "Nie można dziaÅ‚ać na wÄ™zÅ‚ach z których dziedziczy obecna scena!" #: editor/scene_tree_dock.cpp msgid "Attach Script" -msgstr "Dodaj skrypt" +msgstr "Dołącz skrypt" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -10687,6 +10699,9 @@ msgid "" "This is probably because this editor was built with all language modules " "disabled." msgstr "" +"Nie można dołączyć skryptu: brak zarejestrowanych jÄ™zyków.\n" +"To prawdopodobnie przez to, że ten edytor zostaÅ‚ zbudowany z wyłączonymi " +"wszystkimi moduÅ‚ami jÄ™zyków." #: editor/scene_tree_dock.cpp msgid "Add Child Node" @@ -10737,14 +10752,12 @@ msgstr "" "główny nie istnieje." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Attach a new or existing script to the selected node." msgstr "Dołącz nowy lub istniejÄ…cy skrypt do zaznaczonego wÄ™zÅ‚a." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach the script from the selected node." -msgstr "Wyczyść skrypt dla zaznaczonego wÄ™zÅ‚a." +msgstr "Odłącz skrypt z zaznaczonego wÄ™zÅ‚a." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10783,7 +10796,7 @@ msgid "" "Node has %s connection(s) and %s group(s).\n" "Click to show signals dock." msgstr "" -"WÄ™zeÅ‚ posiada %s połączeÅ„ i %s grup.\n" +"WÄ™zeÅ‚ posiada %s połączeÅ„ i %s grup.\n" "Kliknij, aby wyÅ›wietlić panel sygnałów." #: editor/scene_tree_editor.cpp @@ -11839,15 +11852,15 @@ msgstr "Znajdź typ wÄ™zÅ‚a" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" -msgstr "Skopiuj WÄ™zeÅ‚" +msgstr "Skopiuj wÄ™zÅ‚y" #: modules/visual_script/visual_script_editor.cpp msgid "Cut Nodes" -msgstr "Wytnij WÄ™zÅ‚y" +msgstr "Wytnij wÄ™zÅ‚y" #: modules/visual_script/visual_script_editor.cpp msgid "Make Function" -msgstr "ZmieÅ„ na funkcjÄ™" +msgstr "ZamieÅ„ na funkcjÄ™" #: modules/visual_script/visual_script_editor.cpp msgid "Refresh Graph" @@ -11969,11 +11982,9 @@ msgstr "" "eksportu." #: platform/android/export/export.cpp -#, fuzzy msgid "Release keystore incorrectly configured in the export preset." msgstr "" -"Debugowy keystore nieskonfigurowany w Ustawieniach Edytora ani w profilu " -"eksportu." +"Wydaniowy keystore jest niepoprawnie skonfigurowany w profilu eksportu." #: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." @@ -12007,26 +12018,34 @@ msgid "" "Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " "project setting (changed in Godot 3.2.2).\n" msgstr "" +"Niepoprawny moduÅ‚ \"GodotPaymentV3\" załączony w ustawieniu projektu " +"\"android/modules\" (zmieniony w Godocie 3.2.2).\n" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." -msgstr "" +msgstr "\"Use Custom Build\" musi być włączone, by używać wtyczek." #: platform/android/export/export.cpp msgid "" "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" "\"." msgstr "" +"\"Degrees Of Freedom\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus " +"Mobile VR\"." #: platform/android/export/export.cpp msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Hand Tracking\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus Mobile VR" +"\"." #: platform/android/export/export.cpp msgid "" "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Focus Awareness\" jest poprawne tylko gdy \"Xr Mode\" jest \"Oculus Mobile " +"VR\"." #: platform/android/export/export.cpp msgid "" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 9d46edcbae..bfa3d0b52c 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -5,12 +5,13 @@ # Calum Knott <calum@calumk.com>, 2017. # Zion Nimchuk <zionnimchuk@gmail.com>, 2016-2017. # Allan Nordhøy <epost@anotheragency.no>, 2018. +# David Fatheree <david.fathereewcchs@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:42+0100\n" -"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"Last-Translator: David Fatheree <david.fathereewcchs@gmail.com>\n" "Language-Team: Pirate <https://hosted.weblate.org/projects/godot-engine/" "godot/pr/>\n" "Language: pr\n" @@ -18,7 +19,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: Poedit 2.2\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -29,7 +30,7 @@ msgstr "" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "" +msgstr "Expected a strin' o' length 1 (a character)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -39,19 +40,17 @@ msgstr "Nah enough bytes fer decodin' bytes, or ye got th' wrong ship." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "" +msgstr "Shiver me timbers! Ye input %i (not passed) in ye expression!" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" msgstr "" #: core/math/expression.cpp -#, fuzzy msgid "Invalid operands to operator %s, %s and %s." msgstr "Yer index property name '%s' in node %s be walkin' th' plank!" #: core/math/expression.cpp -#, fuzzy msgid "Invalid index of type %s for base type %s" msgstr "Yer index property name '%s' in node %s be walkin' th' plank!" @@ -102,11 +101,11 @@ msgstr "" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "" +msgstr "Smooth Sailin'" #: editor/animation_bezier_editor.cpp msgid "Mirror" -msgstr "" +msgstr "See'in Double" #: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp msgid "Time:" @@ -767,6 +766,11 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Yer name's got no valid identifier:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 199d828897..426888b3a4 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -16,7 +16,7 @@ # jonathan railarem <railarem@gmail.com>, 2017. # Lucas Silva <lucasb.hpp@gmail.com>, 2018. # Luiz G. Correia <luizgabriell2.0@gmail.com>, 2017. -# Mailson Silva Marins <mailsons335@gmail.com>, 2016. +# Mailson Silva Marins <mailsons335@gmail.com>, 2016, 2020. # MalcomRF <malcomkbk@gmail.com>, 2017. # Marcus Correia <marknokalt@live.com>, 2017-2018. # Michael Alexsander Silva Dias <michaelalexsander@protonmail.com>, 2017-2018. @@ -73,7 +73,7 @@ # Alan Tavares <alan1tavares@gmail.com>, 2019. # Rafael Silveira <res883@gmail.com>, 2019. # Luigi <luigimendeszanchett@gmail.com>, 2019. -# Nicolas Abril <nicolas.abril@protonmail.ch>, 2019. +# Nicolas Abril <nicolas.abril@protonmail.ch>, 2019, 2020. # johnnybigoode <jamarson@gmail.com>, 2019, 2020. # Zeero <igcdzeero@gmail.com>, 2019. # Gian Penna <gianfrancopen@gmail.com>, 2020. @@ -92,13 +92,13 @@ # Anonymous <noreply@weblate.org>, 2020. # André Sousa <andrelvsousa@gmail.com>, 2020. # Kleyton Luiz de Sousa Vieira <kleytonluizdesouzavieira@gmail.com>, 2020. +# Felipe Jesus Macedo <fmacedo746@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2020-06-15 01:48+0000\n" -"Last-Translator: Kleyton Luiz de Sousa Vieira " -"<kleytonluizdesouzavieira@gmail.com>\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"Last-Translator: Felipe Jesus Macedo <fmacedo746@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -106,7 +106,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -125,11 +125,11 @@ msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "Entrada inválida %i (não passou) na expressão" +msgstr "Entrada inválida %i (não passada) na expressão" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "self não pode ser usado porque a instância é nula (não passou)" +msgstr "self não pode ser usado porque a instância é nula (não passada)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -145,7 +145,7 @@ msgstr "Nome inválido de Ãndice '%s' para base tipo %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "Argumento inválido para construir '%s'" +msgstr "Argumentos inválidos para o construto '%s'" #: core/math/expression.cpp msgid "On call to '%s':" @@ -579,7 +579,7 @@ msgstr "" "Esta animação pertence a uma cena importada, dessa forma, mudanças das " "trilhas importadas não serão salvas.\n" "\n" -"Para ativar a possibilidade de adicionar trilhas customizadas, navegue até " +"Para ativar a possibilidade de adicionar trilhas customizadas, navegue até " "as configurações de importação da cena e defina\n" "\"Animação > Armazenamento\" para \"Arquivos\", ative \"Animação > Mantenha " "Trilhas Customizadas\", então reimporte.\n" @@ -843,6 +843,11 @@ msgid "Method in target node must be specified." msgstr "O método no nó alvo precisa ser especificado." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "O nome não é um identificador valido:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -1919,7 +1924,7 @@ msgstr "Alternar Modo" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "Focar no Caminho" +msgstr "Habilitar" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" @@ -2622,8 +2627,8 @@ msgid "" "category." msgstr "" "A cena principal não foi definida, selecionar uma?\n" -"Você pode alterá-la mais tarde nas \"Configurações do Projeto\" na " -"categoria 'Application'." +"Você pode alterá-la mais tarde nas \"Configurações do Projeto\" na categoria " +"'Application'." #: editor/editor_node.cpp msgid "" @@ -2899,8 +2904,8 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" -"Malhas e polÃgonos de navegação serão visÃveis no jogo se esta opção estiver " -"ligada." +"Malhas e polÃgonos de navegação serão visÃveis no jogo em execução se esta " +"opção estiver ligada." #: editor/editor_node.cpp msgid "Sync Scene Changes" @@ -3121,13 +3126,13 @@ msgid "" "the \"Use Custom Build\" option should be enabled in the Android export " "preset." msgstr "" -"Isso vai configurar seu projeto para construções customizadas do Android, " -"instalando o modelo de fonte para \"res://android/build\".\n" -"Você pode então aplicar modificações e construir seu próprio APK na guia " -"Exportação (Adicionando módulos, trocando o AndroidManifest.xml, etc.).\n" -"Note que para fazer uma construção customizada, em vez de usar APKs pre-" -"construÃdos, a opção \"Usar Construção Customizada\" deve estar ativa nas " -"predefinições de exportação Android." +"Isso irá configurar o projeto para usar uma build do Android customizada " +"instalando a template raiz para \"res://android/build\".\n" +"Você poderá aplicar modificações e construir um APK customizado em exportar " +"(adicionando módulos, changing the AndroidManifest.xml, etc.).\n" +"Note que para fazer builds customizadas ao invés de usar APKs pré-" +"construÃdas, a opção \"Usar Build Customizada\" deve sestar habilitada na " +"pré-configuração de exportação Android." #: editor/editor_node.cpp msgid "" @@ -4047,7 +4052,7 @@ msgstr "Erro ao rodar script pós-importação:" #: editor/import/resource_importer_scene.cpp msgid "Did you return a Node-derived object in the `post_import()` method?" -msgstr "" +msgstr "Você retornou um objeto derivado de nó no método `post import ()`?" #: editor/import/resource_importer_scene.cpp msgid "Saving..." @@ -5659,7 +5664,7 @@ msgstr "Seleção de Frame" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Preview Canvas Scale" -msgstr "Visualizar Canvas Scale" +msgstr "Pré-visualização da escala do Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." @@ -5667,7 +5672,7 @@ msgstr "Máscara de tradução para inserção de chaves." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation mask for inserting keys." -msgstr "Mascara de rotação para inserção de chaves." +msgstr "Máscara de rotação para inserção de chaves." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale mask for inserting keys." @@ -7005,9 +7010,8 @@ msgid "" msgstr "Falta método conectado '%s' para sinal '%s' do nó '%s' para nó '%s'." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "[Ignore]" -msgstr "(ignore)" +msgstr "(Ignore)" #: editor/plugins/script_text_editor.cpp msgid "Line" @@ -7438,27 +7442,27 @@ msgstr "Não disponÃvel ao usar o renderizador GLES2." #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "Visão Livre Esquerda" +msgstr "Visão Livre na Esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "Visão Livre Direita" +msgstr "Visão Livre na Direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "Visão Livre Frente" +msgstr "Visão Livre na Frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "Visão Livre Trás" +msgstr "Visão Livre Atrás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "Visão Livre Cima" +msgstr "Visão Livre em Cima" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "Visão Livre Baixo" +msgstr "Visão Livre Embaixo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" @@ -7492,6 +7496,12 @@ msgid "" "Closed eye: Gizmo is hidden.\n" "Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." msgstr "" +"Clique para alternar entre estados de visibilidade.\n" +"\n" +"Olhos abertos: Gizmo está visÃvel.\n" +"Olhos fechados: Gizmo não está visÃvel.\n" +"Olhos semi-abertos: Gizmo está visÃvel através de superficies opacas (\"raio-" +"x\")." #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" @@ -7517,7 +7527,7 @@ msgstr "Usar Espaço Local" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "Usar Snap" +msgstr "Use Snap" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -8379,9 +8389,9 @@ msgid "" "Shift+LMB: Set wildcard bit.\n" "Click on another Tile to edit it." msgstr "" -"LMB: ligar bit.\n" -"RMB: desligar bit.\n" -"Shift+LMB: Escolher bit wildcard.\n" +"LMB: Ligar bit.\n" +"RMB: Desligar bit.\n" +"Shift+LMB: Escolher bit curinga.\n" "Clique em outro Mosaico para editá-lo." #: editor/plugins/tile_set_editor_plugin.cpp @@ -8516,7 +8526,7 @@ msgstr "Nenhuma mensagem de confirmação foi fornecida" #: editor/plugins/version_control_editor_plugin.cpp msgid "No files added to stage" -msgstr "Nenhum arquivo adicionado ao palco" +msgstr "Nenhum arquivo em espera" #: editor/plugins/version_control_editor_plugin.cpp msgid "Commit" @@ -8524,11 +8534,11 @@ msgstr "Confirmação" #: editor/plugins/version_control_editor_plugin.cpp msgid "VCS Addon is not initialized" -msgstr "Extensão VCS não está inicializada" +msgstr "VCS Addon não inicializado" #: editor/plugins/version_control_editor_plugin.cpp msgid "Version Control System" -msgstr "Sistema de Controle de Versionamento" +msgstr "Sistema de Controle de Versão" #: editor/plugins/version_control_editor_plugin.cpp msgid "Initialize" @@ -8536,7 +8546,7 @@ msgstr "Inicializar" #: editor/plugins/version_control_editor_plugin.cpp msgid "Staging area" -msgstr "Ãrea Temporária" +msgstr "Ãrea de espera" #: editor/plugins/version_control_editor_plugin.cpp msgid "Detect new changes" @@ -8560,7 +8570,7 @@ msgstr "ExcluÃdo" #: editor/plugins/version_control_editor_plugin.cpp msgid "Typechange" -msgstr "Alterar tipo" +msgstr "Alteração de tipo" #: editor/plugins/version_control_editor_plugin.cpp msgid "Stage Selected" @@ -8572,11 +8582,11 @@ msgstr "Salvar Tudo" #: editor/plugins/version_control_editor_plugin.cpp msgid "Add a commit message" -msgstr "Adicione uma mensagem de confirmação" +msgstr "Adicione uma mensagem ao commit" #: editor/plugins/version_control_editor_plugin.cpp msgid "Commit Changes" -msgstr "Confirmar Mudanças de Script" +msgstr "Confirmar Mudanças" #: editor/plugins/version_control_editor_plugin.cpp #: modules/gdnative/gdnative_library_singleton_editor.cpp @@ -8774,7 +8784,7 @@ msgstr "Cor constante." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Color uniform." -msgstr "Cor uniforme." +msgstr "Uniformidade de cor." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the boolean result of the %s comparison between two parameters." @@ -8890,7 +8900,7 @@ msgstr "Parâmetro de entrada '%s' para o modo de sombra do vértice." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for vertex and fragment shader mode." msgstr "" -"Parâmetro de entrada '%s' para os modos de sombra de vértice e fragmentada." +"Parâmetro de entrada '%s' para os modo de sombra fragmentada e vértice." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Scalar function." @@ -9144,7 +9154,7 @@ msgstr "Execute a pesquisa de textura cúbica." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Perform the texture lookup." -msgstr "Faz uma busca de texturas." +msgstr "Faz uma busca por texturas." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Cubic texture uniform lookup." @@ -9160,7 +9170,7 @@ msgstr "Consulta de textura 2D uniforme com triplanar." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform function." -msgstr "Função Transform." +msgstr "Função Transformação..." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9182,7 +9192,7 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Composes transform from four vectors." -msgstr "Compõe transformação a partir de quatro vetores." +msgstr "Compõe a transformação de quatro vetores." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Decomposes transform to four vectors." @@ -9190,19 +9200,19 @@ msgstr "Decompõe transformação em quatro vetores." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the determinant of a transform." -msgstr "Calcula o determinante de uma transformada." +msgstr "Calcula o determinante de uma transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the inverse of a transform." -msgstr "Calcula a inversa de uma transformada." +msgstr "Calcula a inversa de uma transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the transpose of a transform." -msgstr "Calcula a transposta de uma transformada." +msgstr "Calcula a transposta de uma transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Multiplies transform by transform." -msgstr "Multiplica a transformação por transformação." +msgstr "Multiplica transformação por transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Multiplies vector by transform." @@ -9210,11 +9220,11 @@ msgstr "Multiplica vetor por transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform constant." -msgstr "Constante de transformação." +msgstr "Transformar constante." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform uniform." -msgstr "Uniforme de transformação." +msgstr "Transformação uniforme." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector function." @@ -9363,11 +9373,11 @@ msgstr "Subtrai vetor de vetor." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector constant." -msgstr "Vetor constante." +msgstr "Constante vetorial." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector uniform." -msgstr "Vector uniforme." +msgstr "Uniformidade vetorial." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9381,12 +9391,13 @@ msgstr "" "declarações de função internas." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns falloff based on the dot product of surface normal and view " "direction of camera (pass associated inputs to it)." msgstr "" -"Retorna falloff baseado no produto escalar do normal da superfÃcie e da " -"direção de visualização da câmera (passe entradas associadas a ela)." +"Retorna falloff com base no produto dos pontos da superfÃcie normal e na " +"direção de visualização da câmera (passa as entradas associadas a ela)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9413,7 +9424,7 @@ msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'x' using local " "differencing." msgstr "" -"(Apenas modo Fragmento/Luz) (Vetor) Derivada em 'x' usando diferenciação " +"(Apenas modo Fragmento/Luz) (Vetor) Derivativo em 'x' usando diferenciação " "local." #: editor/plugins/visual_shader_editor_plugin.cpp @@ -9832,7 +9843,7 @@ msgstr "Projeto ausente" #: editor/project_manager.cpp msgid "Error: Project is missing on the filesystem." -msgstr "Erro: O Projeto está ausente no sistema de arquivos." +msgstr "Erro: Projeto não encontrado no sistema de arquivos." #: editor/project_manager.cpp msgid "Can't open project at '%s'." @@ -9854,14 +9865,15 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" -"O seguinte arquivo de configurações do projeto não especifica com qual " -"versão do Godot ele foi criado.\n" +"O seguinte arquivo de configurações do projeto não especifica a versão do " +"Godot pelo qual ele foi criado.\n" "\n" "%s\n" "\n" -"Se escolher abrÃ-lo, será convertido para o formato atual de arquivo de " -"configuração do Godot\n" -"Aviso: Você não poderá mais abrir o projeto com versões anteriores do Godot." +"Se você o abrir, ele será convertido para o formato de arquivo da " +"configuração atual do Godot.\n" +"Atenção: Você não será mais capaz de abrir o projeto com versões anteriores " +"da engine." #: editor/project_manager.cpp msgid "" @@ -9981,7 +9993,7 @@ msgstr "Novo Projeto" #: editor/project_manager.cpp msgid "Remove Missing" -msgstr "Remover Ausentes" +msgstr "Remover Ausente" #: editor/project_manager.cpp msgid "Templates" @@ -10144,7 +10156,7 @@ msgstr "Botão Direito." #: editor/project_settings_editor.cpp msgid "Middle Button." -msgstr "Botão do Meio." +msgstr "Botão do Meio." #: editor/project_settings_editor.cpp msgid "Wheel Up." @@ -10572,16 +10584,15 @@ msgstr "Instanciar Cena(s)" #: editor/scene_tree_dock.cpp msgid "Replace with Branch Scene" -msgstr "Substituir com Ramo como Cena" +msgstr "Substituir por cena ramo" #: editor/scene_tree_dock.cpp msgid "Instance Child Scene" msgstr "Instânciar Cena Filha" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" -msgstr "Adicionar Script" +msgstr "Remover Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10751,6 +10762,9 @@ msgid "" "This is probably because this editor was built with all language modules " "disabled." msgstr "" +"Não pode associar um script: Não existem linguagens registradas.\n" +"É provável que o editor tenha sido construido com todos os módulos de " +"linguagem desabilitados." #: editor/scene_tree_dock.cpp msgid "Add Child Node" @@ -10801,14 +10815,12 @@ msgstr "" "existir um nó raiz." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Attach a new or existing script to the selected node." -msgstr "Adicionar um script novo ou existente para o nó selecionado." +msgstr "Adicionar um novo script, ou um já existente, para o nó selecionado." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach the script from the selected node." -msgstr "Remove um script do nó selecionado." +msgstr "Remove o script do nó selecionado." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10920,7 +10932,7 @@ msgstr "Selecione um Nó" #: editor/script_create_dialog.cpp msgid "Path is empty." -msgstr "O caminho está vazio." +msgstr "Caminho vazio." #: editor/script_create_dialog.cpp msgid "Filename is empty." @@ -11328,7 +11340,7 @@ msgstr "Singleton GDNative ativado" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Disabled GDNative Singleton" -msgstr "Singleton GDNative Desabilitado" +msgstr "GDNative Singleton desativado" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" @@ -11589,8 +11601,8 @@ msgid "" "Node yielded, but did not return a function state in the first working " "memory." msgstr "" -"Nó entrou em yield, mas não retornou um estado de função na primeira memória " -"de trabalho." +"O nó cedeu, mas não retornou um estado de função na primeira memória de " +"trabalho." #: modules/visual_script/visual_script.cpp msgid "" @@ -12041,20 +12053,20 @@ msgstr "" #, fuzzy msgid "Release keystore incorrectly configured in the export preset." msgstr "" -"Porta-chaves de depuração não configurado nas Configurações do Editor e nem " -"na predefinição." +"Keystore de liberação icorretamente configurada na predefinição de " +"exportação." #: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" -"A compilação personalizada requer um caminho SDK do Android válido nas " +"Build personalizada precisa de um caminho Android SDK válido em " "Configurações do Editor." #: platform/android/export/export.cpp msgid "Invalid Android SDK path for custom build in Editor Settings." msgstr "" -"Caminho SDK do Android inválido para a compilação personalizada nas " -"Configurações do Editor." +"Caminho do Android SDK inválido para o build personalizado em Configurações " +"do Editor." #: platform/android/export/export.cpp msgid "" @@ -12066,7 +12078,7 @@ msgstr "" #: platform/android/export/export.cpp msgid "Invalid public key for APK expansion." -msgstr "Chave pública inválida para expansão de APK." +msgstr "Chave pública inválida para expansão do APK." #: platform/android/export/export.cpp msgid "Invalid package name:" @@ -12077,34 +12089,45 @@ msgid "" "Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " "project setting (changed in Godot 3.2.2).\n" msgstr "" +"Módulo inválido \"GodotPaymentV3\" incluido na configuração de projeto " +"\"android/modules\" (changed in Godot 3.2.2).\n" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." msgstr "" +"\"Use Custom Build\" precisa estar ativo para ser possÃvel utilizar plugins." #: platform/android/export/export.cpp +#, fuzzy msgid "" "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" "\"." msgstr "" +"\"Degrees Of Freedom\" só é válido quando o \"Oculus Mobile VR\" está no " +"\"Mode Xr\"." #: platform/android/export/export.cpp +#, fuzzy msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Hand Tracking\" só é válido quando o\"Oculus Mobile VR\" está no \"Xr Mode" +"\"." #: platform/android/export/export.cpp msgid "" "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"\"Focus Awareness\" só é válido quando o \"Oculus Mobile VR\" está no \"Xr " +"Mode\"." #: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" -"Tentando compilar a partir de um modelo compilado personalizado, mas nenhuma " -"informação de versão para ele existe. Por favor, reinstale pelo menu " +"Tentando construir a partir de um modelo compilado personalizado, mas " +"nenhuma informação de versão para ele existe. Por favor, reinstale pelo menu " "'Projeto'." #: platform/android/export/export.cpp @@ -12114,7 +12137,7 @@ msgid "" " Godot Version: %s\n" "Please reinstall Android build template from 'Project' menu." msgstr "" -"Diferença de versão da compilação do Android:\n" +"Diferença na versão da build do Android:\n" " Modelo instalado: %s\n" " Versão do Godot: %s\n" "Por favor reinstale o modelo de compilação do Android pelo menu 'Projeto'." @@ -12128,13 +12151,13 @@ msgid "" "Building of Android project failed, check output for the error.\n" "Alternatively visit docs.godotengine.org for Android build documentation." msgstr "" -"A compilação do projeto Android falhou, verifique a saÃda pelo erro.\n" +"A construção do projeto Android falhou, verifique a saÃda para detalhes.\n" "Alternativamente, visite docs.godotengine.org para ver a documentação de " "compilação do Android." #: platform/android/export/export.cpp msgid "No build apk generated at: " -msgstr "Nenhuma compilação apk gerada em: " +msgstr "Nenhuma construção apk gerada em: " #: platform/iphone/export/export.cpp msgid "Identifier is missing." @@ -12545,7 +12568,8 @@ msgstr "" #: scene/3d/collision_shape.cpp msgid "" "ConcavePolygonShape doesn't support RigidBody in another mode than static." -msgstr "Lol." +msgstr "" +"ConcavePolygonShape não suporta um RigidBody em outro modo além do estático." #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." @@ -12718,7 +12742,7 @@ msgstr "Nada está ligado à entrada '%s' do nó '%s'." #: scene/animation/animation_tree.cpp msgid "No root AnimationNode for the graph is set." -msgstr "Um AnimationNode raiz para o gráfico não está definido." +msgstr "Nenhuma raiz AnimationNode para o gráfico está definida." #: scene/animation/animation_tree.cpp msgid "Path to an AnimationPlayer node containing animations is not set." @@ -12784,9 +12808,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 "" -"A Dica não será exibida quando o controle de Filtro do Mouse estiver " -"definido como \"Ignorar\". Para resolver, defina o Filtro do Mouse como " -"\"Parar\" ou \"Continuar\"." +"A sugestão de dica não será exibida quando o Filtro do Mouse do controle " +"estiver definido como \"Ignorar\". Para resolver isto, defina o Filtro do " +"Mouse como \"Parar\" ou \"Passar\"." #: scene/gui/dialogs.cpp msgid "Alert!" @@ -12831,7 +12855,7 @@ msgid "" "Environment -> Default Environment) could not be loaded." msgstr "" "O Ambiente Padrão especificado nas Configurações de Projeto (Rendering -> " -"Environment -> Default Environment) não pôde ser carregado." +"Environment -> Default Environment) não pôde ser carregado." #: scene/main/viewport.cpp msgid "" diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po index 40a83eaa87..54accb0d6f 100644 --- a/editor/translations/pt_PT.po +++ b/editor/translations/pt_PT.po @@ -768,6 +768,11 @@ msgid "Method in target node must be specified." msgstr "Método no nó alvo deve ser especificado." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "O nome não é um identificador válido:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 5e362de330..cbf6a8f0a0 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -749,6 +749,11 @@ msgid "Method in target node must be specified." msgstr "Metoda din nodul È›intă trebuie specificată." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metoda din nodul È›intă trebuie specificată." + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 8bae9207d0..a2e562446d 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -27,7 +27,7 @@ # Yan <uvokinuvokines@gmail.com>, 2018. # V. <Unit68189@gmail.com>, 2018, 2019. # Victor Butorin <mrwebsterchannel@gmail.com>, 2018. -# ÐлекÑандр <ol-vin@mail.ru>, 2018, 2019. +# ÐлекÑандр <ol-vin@mail.ru>, 2018, 2019, 2020. # Ðнатолий Горбунов <afgorbunov@gmail.com>, 2018, 2019. # Vadim Vergasov <vadim.vergasov2003@gmail.com>, 2018, 2019. # ÐÑлан Снупов <aslan170505@gmail.com>, 2018. @@ -76,12 +76,14 @@ # Nikita <Kulacnikita@ya.ru>, 2020. # Alexander <ramzi7208@gmail.com>, 2020. # Alex Tern <ternvein@gmail.com>, 2020. +# Varion Drakon Neonovich <variondrakon@gmail.com>, 2020. +# d2cyb <dmitrydpb@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-15 12:01+0000\n" -"Last-Translator: Alex Tern <ternvein@gmail.com>\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"Last-Translator: ÐлекÑандр <ol-vin@mail.ru>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -90,7 +92,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.1\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -99,13 +101,13 @@ msgstr "Ðеверный тип аргумента Ð´Ð»Ñ convert(), иÑÐ¿Ð¾Ð»Ñ #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "ОжидалаÑÑŒ Ñтрока длиной 1 (Ñимвол)." +msgstr "ОжидалаÑÑŒ Ñтрока длиной 1 (Ñ‚.е. Ñимвол)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "ÐедоÑтаточно байтов Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ неверный формат." +msgstr "ÐедоÑтаточно байтов Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð² или неверный формат." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -134,7 +136,7 @@ msgstr "ÐедопуÑтимые аргументы Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "Ðа вызове '%s':" +msgstr "При вызове '%s':" #: core/ustring.cpp msgid "B" @@ -190,11 +192,11 @@ msgstr "Ð’Ñтавить ключ здеÑÑŒ" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "Дублировать выделенные ключ(и)" +msgstr "Дублировать выделенные ключи" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Удалить выделенные ключ(и)" +msgstr "Удалить выделенные ключи" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" @@ -242,7 +244,7 @@ msgstr "Многократное изменение перехода" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transform" -msgstr "Ðнимационное многократное изменение положениÑ" +msgstr "Ðнимационное многоÑменное преобразование" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Value" @@ -250,7 +252,7 @@ msgstr "Изменить значение ключевого кадра" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Call" -msgstr "Ðнимационный многократный вызов изменениÑ" +msgstr "Изменить вызов анимации" #: editor/animation_track_editor.cpp msgid "Change Animation Length" @@ -320,7 +322,7 @@ msgstr "Изменить Путь СледованиÑ" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." -msgstr "Переключить Ñтот трек вкл/выкл." +msgstr "Включить/выключить Ñтот трек." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" @@ -328,16 +330,15 @@ msgstr "Режим ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ (Как Ñто ÑвойÑтво уÑта #: editor/animation_track_editor.cpp msgid "Interpolation Mode" -msgstr "Режим Перехода" +msgstr "Режим интерполÑции" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" -"Режим Обработки Ð—Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ (Переход заканчиваетÑÑ Ñ Ð½Ð°Ñ‡Ð°Ð»Ð¾Ð¼ нового цикла)" +msgstr "Режим Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ (интерполировать начало и конец при зацикливании)" #: editor/animation_track_editor.cpp msgid "Remove this track." -msgstr "Удалить Ñтот трек." +msgstr "Удалить Ñту дорожку." #: editor/animation_track_editor.cpp msgid "Time (s): " @@ -403,7 +404,7 @@ msgstr "Изменить режим Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸" #: editor/animation_track_editor.cpp msgid "Change Animation Interpolation Mode" -msgstr "Изменить режим интерполÑции анимации" +msgstr "Изменить ÑпоÑоб интерполÑции анимации" #: editor/animation_track_editor.cpp msgid "Change Animation Loop Mode" @@ -463,7 +464,8 @@ msgstr "ПереÑтавить дорожки" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "Трек транÑформации применÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к оÑнованным на Spatial узлам." +msgstr "" +"Дорожка Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к оÑнованным на Spatial узлам." #: editor/animation_track_editor.cpp msgid "" @@ -472,14 +474,14 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" -"Aудио треки могут указывать только на узлы типа:\n" +"Ðудио дорожки могут указывать только на узлы типа:\n" "-AudioStreamPlayer\n" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "Треки Ðнимации могут указывать только на узлы типа AnimationPlayer." +msgstr "Дорожки анимации могут указывать только на узлы типа AnimationPlayer." #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." @@ -487,11 +489,11 @@ msgstr "Проигрыватель анимации не может анимир #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ новый трек без корневого узла" +msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ новую дорожку без корневого узла" #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "Ðеверный трек Ð´Ð»Ñ ÐºÑ€Ð¸Ð²Ð¾Ð¹ Безье (нет подходÑщих подÑвойÑтв)" +msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ° Ð´Ð»Ñ ÐºÑ€Ð¸Ð²Ð¾Ð¹ Безье (нет подходÑщих подÑвойÑтв)" #: editor/animation_track_editor.cpp msgid "Add Bezier Track" @@ -499,11 +501,11 @@ msgstr "Добавить дорожку Безье" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "Путь трека некорректен, потому Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ключ." +msgstr "Путь к дорожке некорректен, потому Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ключ." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "Трек не имеет тип Spatial, Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ключ" +msgstr "Дорожка не имеет тип Spatial, Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ключ" #: editor/animation_track_editor.cpp msgid "Add Transform Track Key" @@ -515,11 +517,11 @@ msgstr "Добавить ключ дорожки" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "Путь трека некорректен, потому Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ключ метода." +msgstr "Путь к дорожке некорректен, потому Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ключ метода." #: editor/animation_track_editor.cpp msgid "Add Method Track Key" -msgstr "Добавить ключ отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð°" +msgstr "Добавить ключ дорожки Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð°" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -546,7 +548,7 @@ msgid "" "This option does not work for Bezier editing, as it's only a single track." msgstr "" "Ðта Ð¾Ð¿Ñ†Ð¸Ñ Ð½Ðµ работает Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÑ€Ð¸Ð²Ñ‹Ð¼Ð¸ Безье, так как Ñто только " -"один трек." +"одна дорожка." #: editor/animation_track_editor.cpp msgid "" @@ -561,14 +563,14 @@ msgid "" "files." msgstr "" "Ð”Ð°Ð½Ð½Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ‚ импортированной Ñцене, поÑтому изменениÑ, " -"внеÑенные в импортированные треки, не будут Ñохранены.\n" +"внеÑенные в импортированные дорожки, не будут Ñохранены.\n" "\n" -"Чтобы активировать возможноÑть Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких треков, перейдите " -"к наÑтройкам импорта Ñцены и уÑтановите\n" +"Чтобы активировать возможноÑть Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких дорожек, " +"перейдите к наÑтройкам импорта Ñцены и уÑтановите\n" "\"ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > Хранилище\" в значение \"Файлы\", а также включите пункт " -"\"ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > СохранÑть пользовательÑкие треки\", и заново импортируйте " +"\"ÐÐ½Ð¸Ð¼Ð°Ñ†Ð¸Ñ > СохранÑть пользовательÑкие дорожки\", и заново импортируйте " "Ñцену.\n" -"Ð’ качеÑтве альтернативы иÑпользуйте преÑет импорта, который импортирует " +"Ð’ качеÑтве альтернативы иÑпользуйте шаблон импорта, который импортирует " "анимации в отдельные файлы." #: editor/animation_track_editor.cpp @@ -581,11 +583,11 @@ msgstr "Выберите узел AnimationPlayer Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸ рР#: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "Показывать треки только выделенных в дереве узлов." +msgstr "Показывать дорожки только выделенных в дереве узлов." #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "Группировать треки по узлам или показывать их как проÑтой ÑпиÑок." +msgstr "Группировать дорожки по узлам или показывать их как проÑтой ÑпиÑок." #: editor/animation_track_editor.cpp msgid "Snap:" @@ -619,7 +621,7 @@ msgstr "СвойÑтва анимации." #: editor/animation_track_editor.cpp msgid "Copy Tracks" -msgstr "Копировать треки" +msgstr "Копировать дорожки" #: editor/animation_track_editor.cpp msgid "Scale Selection" @@ -635,7 +637,7 @@ msgstr "Дублировать выделенное" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" -msgstr "Дублировать и перемеÑтить" +msgstr "Дублировать и транÑпонировать" #: editor/animation_track_editor.cpp msgid "Delete Selection" @@ -825,7 +827,12 @@ msgstr "Ðомера Ñтрок и Ñтолбцов." #: editor/connections_dialog.cpp msgid "Method in target node must be specified." -msgstr "Метод должен быть указан в целевом узле." +msgstr "Метод в целевом узле должен быть указан." + +#: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Ð˜Ð¼Ñ Ð½Ðµ ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым идентификатором:" #: editor/connections_dialog.cpp msgid "" @@ -837,7 +844,7 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Connect to Node:" -msgstr "ПриÑоединить к узлу:" +msgstr "ПриÑоединить к Узлу:" #: editor/connections_dialog.cpp msgid "Connect to Script:" @@ -849,7 +856,7 @@ msgstr "От Ñигнала:" #: editor/connections_dialog.cpp msgid "Scene does not contain any script." -msgstr "Узел не Ñодержит Ñкрипт." +msgstr "Сцена не Ñодержит каких-либо Ñкриптов." #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -870,7 +877,7 @@ msgstr "Удалить" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "Добавить дополнительный параметр вызова:" +msgstr "Добавить дополнительный аргумент вызова:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" @@ -956,7 +963,7 @@ msgstr "Подключить Ñигнал к методу" #: editor/connections_dialog.cpp msgid "Edit Connection:" -msgstr "Редактировать подключение:" +msgstr "Редактировать Ñоединение:" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" @@ -1093,7 +1100,7 @@ msgstr "Владельцы:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (Can't be restored)" -msgstr "Удалить выбранные файлы из проекта? (ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ!)" +msgstr "Удалить выбранные файлы из проекта? (ÐÐµÐ»ÑŒÐ·Ñ Ð²Ð¾ÑÑтановить)" #: editor/dependency_editor.cpp msgid "" @@ -1522,7 +1529,7 @@ msgstr "ПереÑтановка автозагрузок" #: editor/editor_autoload_settings.cpp msgid "Can't add autoload:" -msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð²Ð°Ð¸Ñ‚ÑŒ автозагрузку:" +msgstr "Ðе удаётÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ автозагрузку:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2482,7 +2489,7 @@ msgstr "Ðе возможно загрузить Ñцену, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ #: editor/editor_node.cpp msgid "Reload Saved Scene" -msgstr "Перезагрузить Ñохранённую Ñцену" +msgstr "Перезагрузить Ñохраненную Ñцену" #: editor/editor_node.cpp msgid "" @@ -2768,12 +2775,12 @@ msgstr "Ðабор тайлов..." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "Отменить" +msgstr "Отменить (Undo)" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Redo" -msgstr "Повторить" +msgstr "Повторить (Redo)" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." @@ -2930,7 +2937,7 @@ msgstr "Макет редактора" #: editor/editor_node.cpp msgid "Take Screenshot" -msgstr "Сделать Ñнимок Ñкрана" +msgstr "Сделать Ñкриншот" #: editor/editor_node.cpp msgid "Screenshots are stored in the Editor Data/Settings Folder." @@ -3000,7 +3007,7 @@ msgstr "СообщеÑтво" #: editor/editor_node.cpp msgid "About" -msgstr "О движке" +msgstr "О Godot Engine" #: editor/editor_node.cpp msgid "Play the project." @@ -3181,7 +3188,7 @@ msgstr "Открыть предыдущий редактор" #: editor/editor_node.h msgid "Warning!" -msgstr "Внимание!" +msgstr "Предупреждение!" #: editor/editor_path.cpp msgid "No sub-resources found." @@ -3290,7 +3297,7 @@ msgstr "[ПуÑто]" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp msgid "Assign..." -msgstr "ÐазначаетÑÑ..." +msgstr "УÑтанавливать.." #: editor/editor_properties.cpp msgid "Invalid RID" @@ -4025,7 +4032,7 @@ msgstr "Ошибка запуÑка поÑÑ‚-импорт Ñкрипта:" #: editor/import/resource_importer_scene.cpp msgid "Did you return a Node-derived object in the `post_import()` method?" -msgstr "" +msgstr "Ð’Ñ‹ вернули производный от Node объект в методе `post_import ()`?" #: editor/import/resource_importer_scene.cpp msgid "Saving..." @@ -4243,7 +4250,7 @@ msgstr "Загрузка..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Move Node Point" -msgstr "Передвинуть узел" +msgstr "Передвинуть точку узла" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Limits" @@ -4698,7 +4705,7 @@ msgstr "ПеремеÑтить узел" #: editor/plugins/animation_state_machine_editor.cpp msgid "Transition exists!" -msgstr "Переход уже ÑущеÑтвует!" +msgstr "Переход ÑущеÑтвует!" #: editor/plugins/animation_state_machine_editor.cpp msgid "Add Transition" @@ -5632,7 +5639,7 @@ msgstr "МаÑштаб при проÑмотре холÑта" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." -msgstr "МаÑка Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñемых ключей." +msgstr "МаÑка транÑформации Ð´Ð»Ñ Ð²Ñтавки ключей." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation mask for inserting keys." @@ -5665,7 +5672,7 @@ msgstr "ÐвтовÑтавка ключа" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation Key and Pose Options" -msgstr "ÐаÑтройки ключевых кадров и поз" +msgstr "Опции анимационных ключей и поз" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5777,7 +5784,7 @@ msgstr "МаÑка излучениÑ" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Solid Pixels" -msgstr "Сплошные пикÑели" +msgstr "Залитые пикÑели" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5923,16 +5930,15 @@ msgstr "Ðто не работает на корне Ñцены!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Shape" -msgstr "Создать треугольную Ñетку ÑтатичеÑкой формы" +msgstr "Создать Ñетку ÑтатичеÑкой формы" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Can't create a single convex collision shape for the scene root." -msgstr "" -"Ðе удаетÑÑ Ñоздать единÑтвенную выпуклую форму ÑÑ‚Ð¾Ð»ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ñ€Ð½Ñ Ñцены." +msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ñоздать единую выпуклую форму ÑÑ‚Ð¾Ð»ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ñ€Ð½Ñ Ñцены." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Couldn't create a single convex collision shape." -msgstr "Ðе удалоÑÑŒ Ñоздать одну выпуклую форму Ñтолкновений." +msgstr "Ðе удалоÑÑŒ Ñоздать ни одной выпуклой формы ÑтолкновениÑ." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Shape" @@ -5945,11 +5951,11 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Couldn't create any collision shapes." -msgstr "Ðе удалоÑÑŒ Ñоздать ни одной форму ÑтолкновениÑ." +msgstr "Ðе удалоÑÑŒ Ñоздать ни одну форму ÑтолкновениÑ." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Shapes" -msgstr "Создать неÑколько выпуклых форм" +msgstr "Создать неÑкольких выпуклых фигур" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" @@ -6035,7 +6041,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" -msgstr "Создать неÑколько ÑоÑедних выпуклых форм ÑтолкновениÑ" +msgstr "Создать выпуклую облаÑть ÑтолкновениÑ" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6056,10 +6062,10 @@ msgid "" "This can be used instead of the SpatialMaterial Grow property when using " "that property isn't possible." msgstr "" -"Создаёт Ñтатичную обводочную полиÑетку. Её нормали переворачиваютÑÑ " -"автоматичеÑки.\n" -"Она может быть иÑпользована в Ñлучае, еÑли иÑпользовать ÑвойÑтво Grow " -"материала SpatialMaterial не предÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹Ð¼." +"Создать Ñтатичную контурную полиÑетку. ÐšÐ¾Ð½Ñ‚ÑƒÑ€Ð½Ð°Ñ Ð¿Ð¾Ð»Ð¸Ñетка будет иметь Ñвои " +"нормали, перевернутые автоматичеÑки.\n" +"Можно иÑпользовать вмеÑто ÑвойÑтва Grow в SpatialMaterial, в Ñлучае когда " +"оно не применимо." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "View UV1" @@ -6974,7 +6980,6 @@ msgstr "" "'%s'." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "[Ignore]" msgstr "(игнорировать)" @@ -7335,7 +7340,7 @@ msgstr "ВыравнÑть преобразование Ñ Ð¾Ð±Ð»Ð°Ñтью пр #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Rotation with View" -msgstr "ВыравнÑть поворот Ñ Ð¾Ð±Ð»Ð°Ñтью проÑмотра" +msgstr "СовмеÑтить поворот Ñ Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ взглÑда" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -7462,6 +7467,12 @@ msgid "" "Closed eye: Gizmo is hidden.\n" "Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." msgstr "" +"Ðажмите Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ ÑоÑтоÑниÑми видимоÑти.\n" +"\n" +"Открытый глаз: Гизмо видно.\n" +"Закрытый глаз: Гизмо Ñкрыто.\n" +"Полуоткрытый глаз: Гизмо также видно Ñквозь непрозрачные поверхноÑти " +"(«рентген»)." #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" @@ -7694,7 +7705,7 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't replace by mesh." -msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ, не может быть заменена Ñеткой." +msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ, не может быть заменена полиÑеткой." #: editor/plugins/sprite_editor_plugin.cpp msgid "Convert to Mesh2D" @@ -8597,7 +8608,7 @@ msgstr "Добавить входной порт" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add output port" -msgstr "Добавить выходной порт" +msgstr "Добавить иÑходÑщий порт" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Change input port type" @@ -8678,7 +8689,7 @@ msgstr "Показать полученный код шейдера." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Create Shader Node" -msgstr "Создать узел шейдера" +msgstr "Создать Шейдерный узел" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Color function." @@ -8722,7 +8733,7 @@ msgstr "Оператор выцветаниÑ." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "HardLight operator." -msgstr "Оператор HardLight." +msgstr "Оператор жёÑткого Ñвета." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Lighten operator." @@ -9239,7 +9250,7 @@ msgstr "Ð›Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ð´Ð²ÑƒÐ¼Ñ Ð²ÐµÐºÑ‚ #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Linear interpolation between two vectors using scalar." -msgstr "Ð›Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ð´Ð²ÑƒÐ¼Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð°Ð¼Ð¸ Ñ Ð¸Ñпользованием ÑкалÑра." +msgstr "Ð›Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ð¾Ð»ÑÑ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ð´Ð²ÑƒÐ¼Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð°Ð¼Ð¸ иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÑкалÑÑ€." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the normalize product of vector." @@ -10166,7 +10177,7 @@ msgstr "ÐаÑтройки Ñохранены нормально." #: editor/project_settings_editor.cpp msgid "Moved Input Action Event" -msgstr "Событие ввода дейÑÑ‚Ð²Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¾" +msgstr "ПеренеÑите Ñобытие ввода дейÑтвиÑ" #: editor/project_settings_editor.cpp msgid "Override for Feature" @@ -10551,7 +10562,6 @@ msgid "Instance Child Scene" msgstr "Добавить дочернюю Ñцену" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" msgstr "Прикрепить Ñкрипт" @@ -10724,6 +10734,9 @@ msgid "" "This is probably because this editor was built with all language modules " "disabled." msgstr "" +"Ðевозможно прикрепить Ñкрипт: нет зарегиÑтрированных Ñзыков.\n" +"ВероÑтно, Ñто ÑвÑзано Ñ Ñ‚ÐµÐ¼, что Ñтот редактор был поÑтроен Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ " +"вÑеми Ñзыковыми модулÑми." #: editor/scene_tree_dock.cpp msgid "Add Child Node" @@ -10774,12 +10787,10 @@ msgstr "" "не ÑущеÑтвует." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Attach a new or existing script to the selected node." msgstr "Прикрепить новый или ÑущеÑтвующий Ñкрипт к выбранному узлу." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach the script from the selected node." msgstr "Убрать Ñкрипт у выбранного узла." @@ -11387,7 +11398,7 @@ msgstr "Залить выделенную GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paste Selection" -msgstr "Ð’Ñтавить выделенную Ñетку" +msgstr "Ð’Ñтавка выделенной Ñетки" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paint" @@ -12008,7 +12019,6 @@ msgstr "" "предуÑтановках." #: platform/android/export/export.cpp -#, fuzzy msgid "Release keystore incorrectly configured in the export preset." msgstr "" "ÐžÑ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ð° не наÑтроена ни в наÑтройках редактора, ни в " @@ -12046,26 +12056,34 @@ msgid "" "Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " "project setting (changed in Godot 3.2.2).\n" msgstr "" +"ÐедопуÑтимый модуль «GodotPaymentV3», включенный в наÑтройку проекта " +"«android/modules» (изменен в Godot 3.2.2).\n" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." -msgstr "" +msgstr "«Use Custom Build» должен быть включен Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð²." #: platform/android/export/export.cpp msgid "" "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" "\"." msgstr "" +"«Степени Ñвободы» дейÑтвительны только тогда, когда «Xr Mode» - Ñто «Oculus " +"Mobile VR»." #: platform/android/export/export.cpp msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"«ОтÑлеживание рук» дейÑтвует только тогда, когда «Xr Mode» - Ñто «Oculus " +"Mobile VR»." #: platform/android/export/export.cpp msgid "" "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." msgstr "" +"«ОÑведомленноÑть о фокуÑе» дейÑтвительна только в том Ñлучае, еÑли «Режим " +"Xr» - Ñто «Oculus Mobile VR»." #: platform/android/export/export.cpp msgid "" @@ -12298,7 +12316,7 @@ msgstr "" #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" -"ЗаÑлонÑющий полигон Ð´Ð»Ñ Ñтого окклюдера пуÑÑ‚. ПожалуйÑта, нариÑуйте полигон." +"ЗаÑлонÑющий полигон Ð´Ð»Ñ Ñтого окклюдера пуÑÑ‚. ПожалуйÑта, добавьте полигон." #: scene/2d/navigation_polygon.cpp msgid "" diff --git a/editor/translations/si.po b/editor/translations/si.po index 4d252a53d6..141696c00a 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -756,6 +756,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/sk.po b/editor/translations/sk.po index a341552d1c..0920487af3 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -756,6 +756,11 @@ msgid "Method in target node must be specified." msgstr "Metóda v target node-e musà byÅ¥ Å¡pecifikovaná." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metóda v target node-e musà byÅ¥ Å¡pecifikovaná." + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/sl.po b/editor/translations/sl.po index faec304f67..114dce1e63 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -799,6 +799,11 @@ msgstr "Metoda v ciljnem gradniku mora biti navedena!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Ime ni pravilen identifikator:" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/sq.po b/editor/translations/sq.po index 5bcf15eb82..32d08c7bc9 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -744,6 +744,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 4e7064f00c..01d8c4ca91 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -841,6 +841,11 @@ msgstr "Метода у циљаном чвору мора бити наведе #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Име није важећи идентификатор:" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index e62d152c45..fe13877f42 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -765,6 +765,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/sv.po b/editor/translations/sv.po index e316c74160..ddd0188d5d 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -772,6 +772,11 @@ msgstr "Metod i MÃ¥l-Node mÃ¥ste specificeras!" #: editor/connections_dialog.cpp #, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Metod i MÃ¥l-Node mÃ¥ste specificeras!" + +#: editor/connections_dialog.cpp +#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ta.po b/editor/translations/ta.po index b8ea8d3538..8f161acfc9 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -757,6 +757,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/te.po b/editor/translations/te.po index 589064278d..87fb947dd0 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -736,6 +736,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/th.po b/editor/translations/th.po index db7fd6adea..3af6fde5a0 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -744,6 +744,11 @@ msgid "Method in target node must be specified." msgstr "ต้à¸à¸‡à¸£à¸°à¸šà¸¸à¹€à¸¡à¸˜à¸à¸”ในโหนดเป้าหมาย" #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "ไม่สามารถใช้ชื่à¸à¸™à¸µà¹‰à¹„ด้:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 277cc2c807..27886e1d4d 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -798,6 +798,11 @@ msgid "Method in target node must be specified." msgstr "Hedef düğümdeki metod tanımlanmalı." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Ad doÄŸru bir belirleyici deÄŸil:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 75cce04e0e..66d7caab34 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -773,6 +773,11 @@ msgid "Method in target node must be specified." msgstr "Має бути вказано метод у цільовому вузлі." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Ðазва не Ñ” коректним ідентифікатором:" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 10558ad98e..6985cbdc39 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -746,6 +746,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/vi.po b/editor/translations/vi.po index fe846d5e08..ff214a7091 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -763,6 +763,11 @@ msgid "Method in target node must be specified." msgstr "Phương thức trong nút Ä‘Ãch phải được chỉ định." #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "Phương thức trong nút Ä‘Ãch phải được chỉ định." + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index 5dc2b5948f..4acf70b8ae 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -64,12 +64,14 @@ # binotaliu <binota@protonmail.ch>, 2020. # BinotaLIU <binota@protonmail.ch>, 2020. # Tim Bao <honiebao@gmail.com>, 2020. +# UnluckyNinja <unluckyninja1994@gmail.com>, 2020. +# æ— åŒæµ <1257678024@qq.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2020-06-15 01:48+0000\n" -"Last-Translator: Tim Bao <honiebao@gmail.com>\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" +"Last-Translator: æ— åŒæµ <1257678024@qq.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -77,7 +79,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -806,6 +808,11 @@ msgid "Method in target node must be specified." msgstr "å¿…é¡»æŒ‡å®šç›®æ ‡èŠ‚ç‚¹çš„æ–¹æ³•ã€‚" #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "åç§°ä¸æ˜¯æœ‰æ•ˆçš„æ ‡è¯†ç¬¦ï¼š" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -2438,6 +2445,8 @@ msgid "" "The current scene has unsaved changes.\n" "Reload the saved scene anyway? This action cannot be undone." msgstr "" +"当å‰åœºæ™¯æœ‰æœªä¿å˜çš„æ›´æ”¹ã€‚\n" +"是å¦é‡æ–°åŠ è½½ä¿å˜çš„场景? æ¤æ“ä½œæ— æ³•æ’¤æ¶ˆã€‚" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2655,7 +2664,7 @@ msgstr "ä¸‹ä¸€ä¸ªæ ‡ç¾é¡µ" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "ä¸Šä¸€ä¸ªæ ‡ç¾é¡µ" +msgstr "ä¸Šä¸€ä¸ªæ ‡ç¾" #: editor/editor_node.cpp msgid "Filter Files..." @@ -2855,7 +2864,7 @@ msgstr "编辑器布局" #: editor/editor_node.cpp msgid "Take Screenshot" -msgstr "截å–å±å¹•" +msgstr "截å±" #: editor/editor_node.cpp msgid "Screenshots are stored in the Editor Data/Settings Folder." @@ -3339,9 +3348,8 @@ msgid "Did you forget the '_run' method?" msgstr "您是å¦é—æ¼äº†_run()方法?" #: editor/editor_spin_slider.cpp -#, fuzzy msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." -msgstr "按ä½Ctrl键放置一个Getter节点。按ä½Shift键放置一个通用ç¾å。" +msgstr "按ä½Ctrlé”®æ¥å››èˆäº”入至整数。 按ä½Shifté”®èŽ·å–æ›´ç²¾ç¡®çš„å˜åŒ–。" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -3932,7 +3940,7 @@ msgstr "åŽå¤„ç†è„šæœ¬è¿è¡Œå‘生错误:" #: editor/import/resource_importer_scene.cpp msgid "Did you return a Node-derived object in the `post_import()` method?" -msgstr "" +msgstr "ä½ æ˜¯å¦åœ¨ `post_import()` 方法ä¸è¿”回了 Node è¡ç”Ÿå¯¹è±¡ï¼Ÿ" #: editor/import/resource_importer_scene.cpp msgid "Saving..." @@ -6844,9 +6852,8 @@ msgid "" msgstr "未找到方法“%sâ€ï¼ˆè¿žæŽ¥äºŽä¿¡å·â€œ%sâ€ã€æ¥è‡ªèŠ‚ç‚¹â€œ%sâ€ã€ç›®æ ‡èŠ‚ç‚¹â€œ%sâ€ï¼‰ã€‚" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "[Ignore]" -msgstr "(忽略)" +msgstr "[忽略]" #: editor/plugins/script_text_editor.cpp msgid "Line" @@ -7276,27 +7283,27 @@ msgstr "使用GLES2渲染器时ä¸å¯ç”¨ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "自由视图 å·¦" +msgstr "自由观看å‘å·¦" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "自由视图 å³" +msgstr "自由观看å‘å³" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "自由视图 å‰" +msgstr "自由观看å‘å‰" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "自由视图 åŽ" +msgstr "自由观看å‘åŽ" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "自由视图 上" +msgstr "自由观看å‘上" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "自由视图 下" +msgstr "自由观看å‘下" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" @@ -7330,6 +7337,11 @@ msgid "" "Closed eye: Gizmo is hidden.\n" "Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." msgstr "" +"点击以切æ¢å¯è§çжæ€ã€‚\n" +"\n" +"ççœ¼ï¼šæ ‡å¿—å¯è§ã€‚\n" +"é—çœ¼ï¼šæ ‡å¿—éšè—。\n" +"åŠççœ¼ï¼šæ ‡å¿—ä¹Ÿå¯ç©¿è¿‡ä¸é€æ˜Žçš„表é¢å¯è§ï¼ˆâ€œXå…‰â€ï¼‰ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" @@ -7359,11 +7371,11 @@ msgstr "使用å¸é™„" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "底视图" +msgstr "仰视图。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "顶视图" +msgstr "俯视" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" @@ -7371,7 +7383,7 @@ msgstr "åŽè§†å›¾" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "å‰è§†å›¾" +msgstr "æ£è§†å›¾" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" @@ -7383,7 +7395,7 @@ msgstr "å³è§†å›¾" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal View" -msgstr "åˆ‡æ¢æŠ•å½±/æ£äº¤è§†å›¾" +msgstr "切æ¢é€è§†å›¾/æ£äº¤è§†å›¾" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" @@ -7399,7 +7411,7 @@ msgstr "èšç„¦é€‰ä¸é¡¹" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" -msgstr "切æ¢è‡ªç”±è§‚察模å¼" +msgstr "切æ¢è‡ªç”±è§‚看" #: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -7408,7 +7420,7 @@ msgstr "å˜æ¢" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Object to Floor" -msgstr "将对象å¸é™„到地æ¿" +msgstr "å¸é™„物体到地é¢" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." @@ -10354,9 +10366,8 @@ msgid "Instance Child Scene" msgstr "实例化å场景" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach Script" -msgstr "æ·»åŠ è„šæœ¬" +msgstr "分离脚本" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10519,6 +10530,8 @@ msgid "" "This is probably because this editor was built with all language modules " "disabled." msgstr "" +"æ— æ³•é™„åŠ è„šæœ¬ï¼šæ²¡æœ‰è¯è¨€è¢«æ³¨å†Œã€‚\n" +"è¿™å¯èƒ½æ˜¯å› 为这个编辑器是在所有è¯è¨€æ¨¡å—被关é—的状æ€ä¸‹è¢«æž„建的。" #: editor/scene_tree_dock.cpp msgid "Add Child Node" @@ -10567,14 +10580,12 @@ msgid "" msgstr "å®žä¾‹åŒ–åœºæ™¯æ–‡ä»¶ä¸ºä¸€ä¸ªèŠ‚ç‚¹ï¼Œå¦‚æžœæ²¡æœ‰æ ¹èŠ‚ç‚¹åˆ™åˆ›å»ºä¸€ä¸ªç»§æ‰¿è‡ªè¯¥æ–‡ä»¶çš„åœºæ™¯ã€‚" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Attach a new or existing script to the selected node." msgstr "为选ä¸èŠ‚ç‚¹åˆ›å»ºæˆ–è®¾ç½®è„šæœ¬ã€‚" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Detach the script from the selected node." -msgstr "清除选ä¸èŠ‚ç‚¹çš„è„šæœ¬ã€‚" +msgstr "从选ä¸èŠ‚ç‚¹åˆ†ç¦»è„šæœ¬ã€‚" #: editor/scene_tree_dock.cpp msgid "Remote" @@ -11780,9 +11791,8 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "未在编辑器设置或预设ä¸é…置调试密钥库。" #: platform/android/export/export.cpp -#, fuzzy msgid "Release keystore incorrectly configured in the export preset." -msgstr "未在编辑器设置或预设ä¸é…置调试密钥库。" +msgstr "用于å‘布的密钥å˜å‚¨åœ¨å¯¼å‡ºé¢„è®¾ä¸æœªè¢«æ£ç¡®è®¾ç½®ã€‚" #: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." @@ -11811,26 +11821,28 @@ msgid "" "Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " "project setting (changed in Godot 3.2.2).\n" msgstr "" +"“android/modulesâ€é¡¹ç›®è®¾ç½®ï¼ˆå˜æ›´äºŽGodot 3.2.2)ä¸åŒ…å«äº†æ— 效模" +"组“GodotPaymentV3â€.\n" #: platform/android/export/export.cpp msgid "\"Use Custom Build\" must be enabled to use the plugins." -msgstr "" +msgstr "å¿…é¡»å¯ç”¨â€œä½¿ç”¨è‡ªå®šä¹‰æž„å»ºâ€æ‰èƒ½ä½¿ç”¨æ’件。" #: platform/android/export/export.cpp msgid "" "\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" "\"." -msgstr "" +msgstr "“自由度â€åªæœ‰åœ¨å½““Xr Modeâ€æ˜¯â€œOculus Mobile VRâ€æ—¶æ‰æœ‰æ•ˆã€‚" #: platform/android/export/export.cpp msgid "" "\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." -msgstr "" +msgstr "“手部追踪â€åªæœ‰åœ¨å½““Xr Modeâ€æ˜¯â€œOculus Mobile VRâ€æ—¶æ‰æœ‰æ•ˆã€‚" #: platform/android/export/export.cpp msgid "" "\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." -msgstr "" +msgstr "“焦点感知â€åªæœ‰åœ¨å½““Xr Modeâ€æ˜¯â€œOculus Mobile VRâ€æ—¶æ‰æœ‰æ•ˆã€‚" #: platform/android/export/export.cpp msgid "" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 4832307ce5..90c85892f6 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -793,6 +793,10 @@ msgid "Method in target node must be specified." msgstr "" #: editor/connections_dialog.cpp +msgid "Method name must be a valid identifier." +msgstr "" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 22051058ad..129a3fdad4 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -28,7 +28,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"PO-Revision-Date: 2020-06-22 06:40+0000\n" "Last-Translator: BinotaLIU <me@binota.org>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" @@ -37,7 +37,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.1-dev\n" +"X-Generator: Weblate 4.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -766,6 +766,11 @@ msgid "Method in target node must be specified." msgstr "å¿…é ˆæŒ‡å®šç›®æ¨™ç¯€é»žçš„æ–¹æ³•ã€‚" #: editor/connections_dialog.cpp +#, fuzzy +msgid "Method name must be a valid identifier." +msgstr "åç¨±ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„è˜åˆ¥ç¬¦ï¼š" + +#: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." @@ -9880,7 +9885,7 @@ msgstr "新增事件" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "Button(按鈕)" +msgstr "Button (按鈕)" #: editor/project_settings_editor.cpp msgid "Left Button." diff --git a/modules/bullet/SCsub b/modules/bullet/SCsub index b853ebfc63..21bdcca18e 100644 --- a/modules/bullet/SCsub +++ b/modules/bullet/SCsub @@ -201,8 +201,8 @@ if env["builtin_bullet"]: env_bullet.Append(CPPFLAGS=["-isystem", Dir(thirdparty_dir).path]) else: env_bullet.Prepend(CPPPATH=[thirdparty_dir]) - # if env['target'] == "debug" or env['target'] == "release_debug": - # env_bullet.Append(CPPDEFINES=['BT_DEBUG']) + if env["target"] == "debug" or env["target"] == "release_debug": + env_bullet.Append(CPPDEFINES=["DEBUG"]) env_bullet.Append(CPPDEFINES=["BT_USE_OLD_DAMPING_METHOD"]) diff --git a/modules/bullet/space_bullet.cpp b/modules/bullet/space_bullet.cpp index 6904baba3d..cfe8cd5322 100644 --- a/modules/bullet/space_bullet.cpp +++ b/modules/bullet/space_bullet.cpp @@ -153,6 +153,15 @@ int BulletPhysicsDirectSpaceState::intersect_shape(const RID &p_shape, const Tra } bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, float p_margin, float &r_closest_safe, float &r_closest_unsafe, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas, ShapeRestInfo *r_info) { + r_closest_safe = 0.0f; + r_closest_unsafe = 0.0f; + btVector3 bt_motion; + G_TO_B(p_motion, bt_motion); + + if (bt_motion.fuzzyZero()) { + return false; + } + ShapeBullet *shape = space->get_physics_server()->get_shape_owner()->getornull(p_shape); ERR_FAIL_COND_V(!shape, false); @@ -164,9 +173,6 @@ bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transf } btConvexShape *bt_convex_shape = static_cast<btConvexShape *>(btShape); - btVector3 bt_motion; - G_TO_B(p_motion, bt_motion); - btTransform bt_xform_from; G_TO_B(p_xform, bt_xform_from); UNSCALE_BT_BASIS(bt_xform_from); @@ -180,9 +186,6 @@ bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transf space->dynamicsWorld->convexSweepTest(bt_convex_shape, bt_xform_from, bt_xform_to, btResult, space->dynamicsWorld->getDispatchInfo().m_allowedCcdPenetration); - r_closest_unsafe = 1.0; - r_closest_safe = 1.0; - if (btResult.hasHit()) { const btScalar l = bt_motion.length(); r_closest_unsafe = btResult.m_closestHitFraction; @@ -198,6 +201,9 @@ bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transf r_info->collider_id = collision_object->get_instance_id(); r_info->shape = btResult.m_shapeId; } + } else { + r_closest_safe = 1.0f; + r_closest_unsafe = 1.0f; } bulletdelete(bt_convex_shape); diff --git a/modules/csg/csg.cpp b/modules/csg/csg.cpp index ded0b970dc..d0c9bf5d38 100644 --- a/modules/csg/csg.cpp +++ b/modules/csg/csg.cpp @@ -904,8 +904,12 @@ void CSGBrushOperation::Build2DFaces::_merge_faces(const Vector<int> &p_segment_ vertices[p_segment_indices[closest_idx]].point }; if (are_segements_parallel(edge1, edge2, vertex_snap2)) { - degenerate_points.push_back(outer_edge_idx[0]); - degenerate_points.push_back(outer_edge_idx[1]); + if (!degenerate_points.find(outer_edge_idx[0])) { + degenerate_points.push_back(outer_edge_idx[0]); + } + if (!degenerate_points.find(outer_edge_idx[1])) { + degenerate_points.push_back(outer_edge_idx[1]); + } continue; } diff --git a/platform/haiku/SCsub b/platform/haiku/SCsub deleted file mode 100644 index dbff6c5ae9..0000000000 --- a/platform/haiku/SCsub +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python - -Import("env") - -common_haiku = [ - "os_haiku.cpp", - "context_gl_haiku.cpp", - "haiku_application.cpp", - "haiku_direct_window.cpp", - "haiku_gl_view.cpp", - "key_mapping_haiku.cpp", - "audio_driver_media_kit.cpp", -] - -target = env.add_program("#bin/godot", ["godot_haiku.cpp"] + common_haiku) - -command = env.Command("#bin/godot.rsrc", "#platform/haiku/godot.rdef", ["rc -o $TARGET $SOURCE"]) - - -def addResourcesAction(target=None, source=None, env=None): - return env.Execute("xres -o " + File(target)[0].path + " bin/godot.rsrc") - - -env.AddPostAction(target, addResourcesAction) -env.Depends(target, command) diff --git a/platform/haiku/audio_driver_media_kit.cpp b/platform/haiku/audio_driver_media_kit.cpp deleted file mode 100644 index 2fbbeeb176..0000000000 --- a/platform/haiku/audio_driver_media_kit.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/*************************************************************************/ -/* audio_driver_media_kit.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include "audio_driver_media_kit.h" - -#ifdef MEDIA_KIT_ENABLED - -#include "core/project_settings.h" - -int32_t *AudioDriverMediaKit::samples_in = nullptr; - -Error AudioDriverMediaKit::init() { - active = false; - - mix_rate = GLOBAL_GET("audio/mix_rate"); - speaker_mode = SPEAKER_MODE_STEREO; - channels = 2; - - int latency = GLOBAL_GET("audio/output_latency"); - buffer_size = next_power_of_2(latency * mix_rate / 1000); - samples_in = memnew_arr(int32_t, buffer_size * channels); - - media_raw_audio_format format; - format = media_raw_audio_format::wildcard; - format.frame_rate = mix_rate; - format.channel_count = channels; - format.format = media_raw_audio_format::B_AUDIO_INT; - format.byte_order = B_MEDIA_LITTLE_ENDIAN; - format.buffer_size = buffer_size * sizeof(int32_t) * channels; - - player = new BSoundPlayer( - &format, - "godot_sound_server", - AudioDriverMediaKit::PlayBuffer, - nullptr, - this); - - if (player->InitCheck() != B_OK) { - fprintf(stderr, "MediaKit ERR: can not create a BSoundPlayer instance\n"); - ERR_FAIL_COND_V(player == nullptr, ERR_CANT_OPEN); - } - - player->Start(); - - return OK; -} - -void AudioDriverMediaKit::PlayBuffer(void *cookie, void *buffer, size_t size, const media_raw_audio_format &format) { - AudioDriverMediaKit *ad = (AudioDriverMediaKit *)cookie; - int32_t *buf = (int32_t *)buffer; - - if (!ad->active) { - for (unsigned int i = 0; i < ad->buffer_size * ad->channels; i++) { - AudioDriverMediaKit::samples_in[i] = 0; - } - } else { - ad->lock(); - ad->audio_server_process(ad->buffer_size, AudioDriverMediaKit::samples_in); - ad->unlock(); - } - - for (unsigned int i = 0; i < ad->buffer_size * ad->channels; i++) { - buf[i] = AudioDriverMediaKit::samples_in[i]; - } -} - -void AudioDriverMediaKit::start() { - active = true; -} - -int AudioDriverMediaKit::get_mix_rate() const { - return mix_rate; -} - -AudioDriverMediaKit::SpeakerMode AudioDriverMediaKit::get_speaker_mode() const { - return speaker_mode; -} - -void AudioDriverMediaKit::lock() { - if (!mutex) - return; - - mutex.lock(); -} - -void AudioDriverMediaKit::unlock() { - if (!mutex) - return; - - mutex.unlock(); -} - -void AudioDriverMediaKit::finish() { - delete player; - - if (samples_in) { - memdelete_arr(samples_in); - }; -} - -AudioDriverMediaKit::AudioDriverMediaKit() { - player = nullptr; -} - -AudioDriverMediaKit::~AudioDriverMediaKit() { -} - -#endif diff --git a/platform/haiku/audio_driver_media_kit.h b/platform/haiku/audio_driver_media_kit.h deleted file mode 100644 index 8272780fa7..0000000000 --- a/platform/haiku/audio_driver_media_kit.h +++ /dev/null @@ -1,74 +0,0 @@ -/*************************************************************************/ -/* audio_driver_media_kit.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include "servers/audio_server.h" - -#ifdef MEDIA_KIT_ENABLED - -#include "core/os/mutex.h" -#include "core/os/thread.h" - -#include <kernel/image.h> // needed for image_id - -#include <SoundPlayer.h> - -class AudioDriverMediaKit : public AudioDriver { - Mutex mutex; - - BSoundPlayer *player; - static int32_t *samples_in; - - static void PlayBuffer(void *cookie, void *buffer, size_t size, const media_raw_audio_format &format); - - unsigned int mix_rate; - SpeakerMode speaker_mode; - unsigned int buffer_size; - int channels; - - bool active; - -public: - const char *get_name() const { - return "MediaKit"; - }; - - virtual Error init(); - virtual void start(); - virtual int get_mix_rate() const; - virtual SpeakerMode get_speaker_mode() const; - virtual void lock(); - virtual void unlock(); - virtual void finish(); - - AudioDriverMediaKit(); - ~AudioDriverMediaKit(); -}; - -#endif diff --git a/platform/haiku/context_gl_haiku.cpp b/platform/haiku/context_gl_haiku.cpp deleted file mode 100644 index 3c4d43ff71..0000000000 --- a/platform/haiku/context_gl_haiku.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/*************************************************************************/ -/* context_gl_haiku.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include "context_gl_haiku.h" - -#if defined(OPENGL_ENABLED) - -ContextGL_Haiku::ContextGL_Haiku(HaikuDirectWindow *p_window) { - window = p_window; - - uint32 type = BGL_RGB | BGL_DOUBLE | BGL_DEPTH; - view = new HaikuGLView(window->Bounds(), type); - - use_vsync = false; -} - -ContextGL_Haiku::~ContextGL_Haiku() { - delete view; -} - -Error ContextGL_Haiku::initialize() { - window->AddChild(view); - window->SetHaikuGLView(view); - - return OK; -} - -void ContextGL_Haiku::release_current() { - view->UnlockGL(); -} - -void ContextGL_Haiku::make_current() { - view->LockGL(); -} - -void ContextGL_Haiku::swap_buffers() { - view->SwapBuffers(use_vsync); -} - -int ContextGL_Haiku::get_window_width() { - return window->Bounds().IntegerWidth(); -} - -int ContextGL_Haiku::get_window_height() { - return window->Bounds().IntegerHeight(); -} - -void ContextGL_Haiku::set_use_vsync(bool p_use) { - use_vsync = p_use; -} - -bool ContextGL_Haiku::is_using_vsync() const { - return use_vsync; -} - -#endif diff --git a/platform/haiku/context_gl_haiku.h b/platform/haiku/context_gl_haiku.h deleted file mode 100644 index c5d258915d..0000000000 --- a/platform/haiku/context_gl_haiku.h +++ /dev/null @@ -1,62 +0,0 @@ -/*************************************************************************/ -/* context_gl_haiku.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#ifndef CONTEXT_GL_HAIKU_H -#define CONTEXT_GL_HAIKU_H - -#if defined(OPENGL_ENABLED) - -#include "haiku_direct_window.h" -#include "haiku_gl_view.h" - -class ContextGL_Haiku { -private: - HaikuGLView *view; - HaikuDirectWindow *window; - - bool use_vsync; - -public: - Error initialize(); - void release_current(); - void make_current(); - void swap_buffers(); - int get_window_width(); - int get_window_height(); - - void set_use_vsync(bool p_use); - bool is_using_vsync() const; - - ContextGL_Haiku(HaikuDirectWindow *p_window); - ~ContextGL_Haiku(); -}; - -#endif -#endif diff --git a/platform/haiku/detect.py b/platform/haiku/detect.py deleted file mode 100644 index 0b84df8f9b..0000000000 --- a/platform/haiku/detect.py +++ /dev/null @@ -1,158 +0,0 @@ -import os -import sys - - -def is_active(): - return True - - -def get_name(): - return "Haiku" - - -def can_build(): - - if os.name != "posix" or sys.platform == "darwin": - return False - - return True - - -def get_opts(): - from SCons.Variables import EnumVariable - - return [ - EnumVariable("debug_symbols", "Add debugging symbols to release builds", "yes", ("yes", "no", "full")), - ] - - -def get_flags(): - - return [] - - -def configure(env): - - ## Build type - - if env["target"] == "release": - env.Prepend(CCFLAGS=["-O3"]) - if env["debug_symbols"] == "yes": - env.Prepend(CCFLAGS=["-g1"]) - if env["debug_symbols"] == "full": - env.Prepend(CCFLAGS=["-g2"]) - - elif env["target"] == "release_debug": - env.Prepend(CCFLAGS=["-O2", "-DDEBUG_ENABLED"]) - if env["debug_symbols"] == "yes": - env.Prepend(CCFLAGS=["-g1"]) - if env["debug_symbols"] == "full": - env.Prepend(CCFLAGS=["-g2"]) - - elif env["target"] == "debug": - env.Prepend(CCFLAGS=["-g3", "-DDEBUG_ENABLED", "-DDEBUG_MEMORY_ENABLED"]) - - ## Architecture - - is64 = sys.maxsize > 2 ** 32 - if env["bits"] == "default": - env["bits"] = "64" if is64 else "32" - - ## Compiler configuration - - env["CC"] = "gcc-x86" - env["CXX"] = "g++-x86" - - ## Dependencies - - if not env["builtin_libwebp"]: - env.ParseConfig("pkg-config libwebp --cflags --libs") - - # freetype depends on libpng and zlib, so bundling one of them while keeping others - # as shared libraries leads to weird issues - if env["builtin_freetype"] or env["builtin_libpng"] or env["builtin_zlib"]: - env["builtin_freetype"] = True - env["builtin_libpng"] = True - env["builtin_zlib"] = True - - if not env["builtin_freetype"]: - env.ParseConfig("pkg-config freetype2 --cflags --libs") - - if not env["builtin_libpng"]: - env.ParseConfig("pkg-config libpng16 --cflags --libs") - - if not env["builtin_bullet"]: - # We need at least version 2.88 - import subprocess - - bullet_version = subprocess.check_output(["pkg-config", "bullet", "--modversion"]).strip() - if bullet_version < "2.88": - # Abort as system bullet was requested but too old - print( - "Bullet: System version {0} does not match minimal requirements ({1}). Aborting.".format( - bullet_version, "2.88" - ) - ) - sys.exit(255) - env.ParseConfig("pkg-config bullet --cflags --libs") - - if not env["builtin_enet"]: - env.ParseConfig("pkg-config libenet --cflags --libs") - - if not env["builtin_squish"]: - env.ParseConfig("pkg-config libsquish --cflags --libs") - - if not env["builtin_zstd"]: - env.ParseConfig("pkg-config libzstd --cflags --libs") - - # Sound and video libraries - # Keep the order as it triggers chained dependencies (ogg needed by others, etc.) - - if not env["builtin_libtheora"]: - env["builtin_libogg"] = False # Needed to link against system libtheora - env["builtin_libvorbis"] = False # Needed to link against system libtheora - env.ParseConfig("pkg-config theora theoradec --cflags --libs") - - if not env["builtin_libvpx"]: - env.ParseConfig("pkg-config vpx --cflags --libs") - - if not env["builtin_libvorbis"]: - env["builtin_libogg"] = False # Needed to link against system libvorbis - env.ParseConfig("pkg-config vorbis vorbisfile --cflags --libs") - - if not env["builtin_opus"]: - env["builtin_libogg"] = False # Needed to link against system opus - env.ParseConfig("pkg-config opus opusfile --cflags --libs") - - if not env["builtin_libogg"]: - env.ParseConfig("pkg-config ogg --cflags --libs") - - if env["builtin_libtheora"]: - list_of_x86 = ["x86_64", "x86", "i386", "i586"] - if any(platform.machine() in s for s in list_of_x86): - env["x86_libtheora_opt_gcc"] = True - - if not env["builtin_wslay"]: - env.ParseConfig("pkg-config libwslay --cflags --libs") - - if not env["builtin_mbedtls"]: - # mbedTLS does not provide a pkgconfig config yet. See https://github.com/ARMmbed/mbedtls/issues/228 - env.Append(LIBS=["mbedtls", "mbedcrypto", "mbedx509"]) - - if not env["builtin_miniupnpc"]: - # No pkgconfig file so far, hardcode default paths. - env.Prepend(CPPPATH=["/system/develop/headers/x86/miniupnpc"]) - env.Append(LIBS=["miniupnpc"]) - - # On Linux wchar_t should be 32-bits - # 16-bit library shouldn't be required due to compiler optimisations - if not env["builtin_pcre2"]: - env.ParseConfig("pkg-config libpcre2-32 --cflags --libs") - - ## Flags - - env.Prepend(CPPPATH=["#platform/haiku"]) - env.Append(CPPDEFINES=["UNIX_ENABLED", "OPENGL_ENABLED", "GLES_ENABLED"]) - env.Append(CPPDEFINES=["MEDIA_KIT_ENABLED"]) - env.Append(CPPDEFINES=["PTHREAD_NO_RENAME"]) # TODO: enable when we have pthread_setname_np - env.Append(LIBS=["be", "game", "media", "network", "bnetapi", "z", "GL"]) diff --git a/platform/haiku/godot.rdef b/platform/haiku/godot.rdef deleted file mode 100644 index a55cddbf0d..0000000000 --- a/platform/haiku/godot.rdef +++ /dev/null @@ -1,60 +0,0 @@ -resource app_version { - major = 2, - middle = 0, - minor = 0, - - variety = B_APPV_FINAL, - internal = 0, - - short_info = "Godot Game Engine", - long_info = "An advanced, feature packed, multi-platform 2D and 3D game engine." -}; - -resource app_signature "application/x-vnd.godot"; - -resource vector_icon { - $"6E6369660403A39F9F05FF03478CBF03414042090A04B37FB379CC26B379CC26" - $"CC20B37FCC200A09B5E9C41B2AC240B8E1BDFBBFA1BDA4C6A7BDFFCA1AC45CC9" - $"7AC607C01CC75BB6F4C65A062AFE9FFF9F69FE7FFEDFCF0FC95FC3D7C95FC51E" - $"C95FC51EC95FC53EC92BC565C94AC55BC92BC565C728C60BC728C60BC712C612" - $"C6E6C600C6F9C60EC6D3C5F2C6C7C5C4C6C7C5DCC6C7C5C4C460C4E5C4BCC4E5" - $"C626C4E5C626C4E5C64BC4A5C670C4CAC66BC4A5C670C1EDC6CFC1EDC6CFC1E9" - $"C6CFC1E2C6D0C1E6C6D0C1D1C6D0C1B2C6BEC1BFC6C9C1A2C6AFC19851C198C6" - $"9BC19851C505C031C507C507C016C507BFFCC507C507BE94C505BE9451BE9451" - $"BE94C69BBE7BC6BEBE8BC6AFBE6DC6C9BE4AC6D0BE5CC6D0BE47C6D0BE40C6CF" - $"BE44C6CFBE40C6CFBB87C670BB87C670BB63C66BBB47C626BB47C64BBB47C626" - $"C4BCB965C460B965C5C4B965C5C4B965C5DCB947C600B95AC5F2B934C60EB904" - $"C60BB91BC612B904C60BB701C565B701C565B6E3C55BB6CEC51EB6CEC53EB6CE" - $"C51EC3D7B590C36CB590C36CB581C3B0B578C43AB578C3F5B578C78FBFF8CA27" - $"BA2ACA22BFF8CA27BFFABFFCCA27BFFCCA27C5CACA22CA7CC43ACA7CC78FCA7C" - $"C3FBCA67C37ECA754ACA67C37E0639F6F97FFEF8E7FFF9F6FFFFFFFFFF03B67D" - $"BDEEC31FB730C35CB730C35CB74EC3662BC3A22BC3822BC3A2C4E8B8D1C55EB8" - $"D1C406B8D1C406B8D1C3F0B8ECC3CDB8DBC3DBB8FDC3BFB929C3BDB913C3B9B9" - $"29C3BDBB9FC436BB9FC436BBC2C43CBBDCC47EBBDCC45BBBDCC47EC5E6BE00C6" - $"31BE00C4BBBE00C4BBBE00C4A7BE16C486BE08C494BE24C479BE4AC471BE37C4" - $"71BE4AC471BE4BC016C473C1E2C471C1E2C471C1F6C471C217C486C209C479C2" - $"25C494C22DC4BBC22DC4A7C22DC4BBC631C451C5E6C451C47EC451C47EC451C4" - $"5BC48DC436C46AC43CC48DC436C704C3BDC704C3BDC719C3B9C741C3CDC730C3" - $"BF53C3DBC75CC406C75CC3F0C75CC406C55EC8CAC4E8C8CAC3A2C8CAC3A2C8CA" - $"C382C8FDC35CC8DFC366C8FDC35CC977C333BDEEC97ABDEEC97ABDEEC9F1BD56" - $"CAC9BC0BCA60BCB6CA3DBB1CC8D9B981C991BA47C82FB9D7C6EDBAA0C789BA38" - $"C69FBA52C5F0B9D0C647BA12C59BB98BC4E0B91FC53BB959C4FBB855C50EB6C0" - $"C509B78FC424B64AC22DB5C4C32AB5FCC1C8B66DC11BB7D9C16BB725C0BCB7C9" - $"BFFCB7C2C05CB7C3BFFCB7C2BFFCB7C2BFFCB7C2BFFBB7C2BFFAB7C2BFFAB7C2" - $"BFF9B7C2BFF8B7C2BFF9B7C2BFF8B7C2BFF8B7C2BFF8B7C2BF98B7C3BED9B7D9" - $"BF38B7C9BE88B725BDC7B5C4BE2CB66DBCCAB5FCBAE6B6C0BBD0B64ABAEBB78F" - $"BB13B91F34B855BAB8B959BA04B9D0BA59B98BB9ADBA12B907BAA0B955BA52B8" - $"6ABA38B71AB981B7C5B9D7B663BA47B52BBC0BB5B7BB1CB594BCB6B679BDEEB6" - $"02BD56B679BDEE0005BD3EC06CBD3EC06CBD3EC197BB2147BC4C47B9F647B904" - $"C06CB904C197B904BF41BB21BE4FB9F6BE4FBC4CBE4FBD3EC06CBD3EBF41BD3E" - $"C06C0005BCBC42BCBC42BCBCC153BB55C1F3BC1BC1F3BA8EC1F3B9ED42B9EDC1" - $"53B9EDBFC6BB55BF25BA8EBF25BC1BBF25BCBC42BCBCBFC6BCBC420007C01BC2" - $"BBC01BC2BBBFBAC2BBBF6CC21CBF6CC274BF6CC21CBF6CC02ABF6CC02ABF6CBF" - $"D3C01BBF8CBFBABF8CC07BBF8CC0C9C02AC0C9BFD3C0C9C02AC0C9C21CC0C9C2" - $"1CC0C9C274C01BC2BBC07BC2BBC01BC2BB0005C2F7C06CC2F7C06CC2F7C197C5" - $"1547C3E947C64047C732C06CC732C197C732BF41C515BE4FC640BE4FC3E9BE4F" - $"C2F7C06CC2F7BF41C2F7C06C0005C37942C37942C379C153C4E1C1F3C41AC1F3" - $"C5A7C1F3C64842C648C153C648BFC6C4E1BF25C5A7BF25C41ABF25C37942C379" - $"BFC6C37942090A0000000A010101000A020102000A020103000A010104000A03" - $"0105000A010106000A010107000A03010800" -}; diff --git a/platform/haiku/godot_haiku.cpp b/platform/haiku/godot_haiku.cpp deleted file mode 100644 index 0657f4c052..0000000000 --- a/platform/haiku/godot_haiku.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/*************************************************************************/ -/* godot_haiku.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include "main/main.h" -#include "os_haiku.h" - -int main(int argc, char *argv[]) { - OS_Haiku os; - - Error error = Main::setup(argv[0], argc - 1, &argv[1]); - if (error != OK) { - return 255; - } - - if (Main::start()) { - os.run(); - } - - Main::cleanup(); - - return os.get_exit_code(); -} diff --git a/platform/haiku/haiku_application.cpp b/platform/haiku/haiku_application.cpp deleted file mode 100644 index 82d9c093e1..0000000000 --- a/platform/haiku/haiku_application.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/*************************************************************************/ -/* haiku_application.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include "haiku_application.h" - -HaikuApplication::HaikuApplication() : - BApplication("application/x-vnd.godot") { -} diff --git a/platform/haiku/haiku_application.h b/platform/haiku/haiku_application.h deleted file mode 100644 index 2e04d921bf..0000000000 --- a/platform/haiku/haiku_application.h +++ /dev/null @@ -1,43 +0,0 @@ -/*************************************************************************/ -/* haiku_application.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#ifndef HAIKU_APPLICATION_H -#define HAIKU_APPLICATION_H - -#include <kernel/image.h> // needed for image_id - -#include <Application.h> - -class HaikuApplication : public BApplication { -public: - HaikuApplication(); -}; - -#endif diff --git a/platform/haiku/haiku_direct_window.cpp b/platform/haiku/haiku_direct_window.cpp deleted file mode 100644 index 0a40f847f4..0000000000 --- a/platform/haiku/haiku_direct_window.cpp +++ /dev/null @@ -1,363 +0,0 @@ -/*************************************************************************/ -/* haiku_direct_window.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include <UnicodeChar.h> - -#include "core/os/keyboard.h" -#include "haiku_direct_window.h" -#include "key_mapping_haiku.h" -#include "main/main.h" - -HaikuDirectWindow::HaikuDirectWindow(BRect p_frame) : - BDirectWindow(p_frame, "Godot", B_TITLED_WINDOW, B_QUIT_ON_WINDOW_CLOSE) { - last_mouse_pos_valid = false; - last_buttons_state = 0; - last_button_mask = 0; - last_key_modifier_state = 0; - - view = nullptr; - update_runner = nullptr; - input = nullptr; - main_loop = nullptr; -} - -HaikuDirectWindow::~HaikuDirectWindow() { -} - -void HaikuDirectWindow::SetHaikuGLView(HaikuGLView *p_view) { - view = p_view; -} - -void HaikuDirectWindow::StartMessageRunner() { - update_runner = new BMessageRunner(BMessenger(this), - new BMessage(REDRAW_MSG), 1000000 / 60 /* 60 fps */); -} - -void HaikuDirectWindow::StopMessageRunner() { - delete update_runner; -} - -void HaikuDirectWindow::SetInput(InputDefault *p_input) { - input = p_input; -} - -void HaikuDirectWindow::SetMainLoop(MainLoop *p_main_loop) { - main_loop = p_main_loop; -} - -bool HaikuDirectWindow::QuitRequested() { - StopMessageRunner(); - main_loop->notification(NOTIFICATION_WM_CLOSE_REQUEST); - return false; -} - -void HaikuDirectWindow::DirectConnected(direct_buffer_info *info) { - view->DirectConnected(info); - view->EnableDirectMode(true); -} - -void HaikuDirectWindow::MessageReceived(BMessage *message) { - switch (message->what) { - case REDRAW_MSG: - if (Main::iteration()) { - view->EnableDirectMode(false); - Quit(); - } - break; - - default: - BDirectWindow::MessageReceived(message); - } -} - -void HaikuDirectWindow::DispatchMessage(BMessage *message, BHandler *handler) { - switch (message->what) { - case B_MOUSE_DOWN: - case B_MOUSE_UP: - HandleMouseButton(message); - break; - - case B_MOUSE_MOVED: - HandleMouseMoved(message); - break; - - case B_MOUSE_WHEEL_CHANGED: - HandleMouseWheelChanged(message); - break; - - case B_KEY_DOWN: - case B_KEY_UP: - HandleKeyboardEvent(message); - break; - - case B_MODIFIERS_CHANGED: - HandleKeyboardModifierEvent(message); - break; - - case B_WINDOW_RESIZED: - HandleWindowResized(message); - break; - - case LOCKGL_MSG: - view->LockGL(); - break; - - case UNLOCKGL_MSG: - view->UnlockGL(); - break; - - default: - BDirectWindow::DispatchMessage(message, handler); - } -} - -void HaikuDirectWindow::HandleMouseButton(BMessage *message) { - BPoint where; - if (message->FindPoint("where", &where) != B_OK) { - return; - } - - uint32 modifiers = message->FindInt32("modifiers"); - uint32 buttons = message->FindInt32("buttons"); - uint32 button = buttons ^ last_buttons_state; - last_buttons_state = buttons; - - // TODO: implement the mouse_mode checks - /* - if (mouse_mode == MOUSE_MODE_CAPTURED) { - event.xbutton.x=last_mouse_pos.x; - event.xbutton.y=last_mouse_pos.y; - } - */ - - Ref<InputEventMouseButton> mouse_event; - mouse_event.instance(); - - mouse_event->set_button_mask(GetMouseButtonState(buttons)); - mouse_event->set_position({ where.x, where.y }); - mouse_event->set_global_position({ where.x, where.y }); - GetKeyModifierState(mouse_event, modifiers); - - switch (button) { - default: - case B_PRIMARY_MOUSE_BUTTON: - mouse_event->set_button_index(1); - break; - - case B_SECONDARY_MOUSE_BUTTON: - mouse_event->set_button_index(2); - break; - - case B_TERTIARY_MOUSE_BUTTON: - mouse_event->set_button_index(3); - break; - } - - mouse_event->set_pressed(message->what == B_MOUSE_DOWN); - - if (message->what == B_MOUSE_DOWN && mouse_event->get_button_index() == 1) { - int32 clicks = message->FindInt32("clicks"); - - if (clicks > 1) { - mouse_event->set_doubleclick(true); - } - } - - input->parse_input_event(mouse_event); -} - -void HaikuDirectWindow::HandleMouseMoved(BMessage *message) { - BPoint where; - if (message->FindPoint("where", &where) != B_OK) { - return; - } - - Point2i pos(where.x, where.y); - uint32 modifiers = message->FindInt32("modifiers"); - uint32 buttons = message->FindInt32("buttons"); - - if (!last_mouse_pos_valid) { - last_mouse_position = pos; - last_mouse_pos_valid = true; - } - - Point2i rel = pos - last_mouse_position; - - Ref<InputEventMouseMotion> motion_event; - motion_event.instance(); - GetKeyModifierState(motion_event, modifiers); - - motion_event->set_button_mask(GetMouseButtonState(buttons)); - motion_event->set_position({ pos.x, pos.y }); - input->set_mouse_position(pos); - motion_event->set_global_position({ pos.x, pos.y }); - motion_event->set_speed({ input->get_last_mouse_speed().x, - input->get_last_mouse_speed().y }); - - motion_event->set_relative({ rel.x, rel.y }); - - last_mouse_position = pos; - - input->parse_input_event(motion_event); -} - -void HaikuDirectWindow::HandleMouseWheelChanged(BMessage *message) { - float wheel_delta_y = 0; - if (message->FindFloat("be:wheel_delta_y", &wheel_delta_y) != B_OK) { - return; - } - - Ref<InputEventMouseButton> mouse_event; - mouse_event.instance(); - //GetKeyModifierState(mouse_event, modifiers); - - mouse_event->set_button_index(wheel_delta_y < 0 ? 4 : 5); - mouse_event->set_button_mask(last_button_mask); - mouse_event->set_position({ last_mouse_position.x, - last_mouse_position.y }); - mouse_event->set_global_position({ last_mouse_position.x, - last_mouse_position.y }); - - mouse_event->set_pressed(true); - input->parse_input_event(mouse_event); - - mouse_event->set_pressed(false); - input->parse_input_event(mouse_event); -} - -void HaikuDirectWindow::HandleKeyboardEvent(BMessage *message) { - int32 raw_char = 0; - int32 key = 0; - int32 modifiers = 0; - - if (message->FindInt32("raw_char", &raw_char) != B_OK) { - return; - } - - if (message->FindInt32("key", &key) != B_OK) { - return; - } - - if (message->FindInt32("modifiers", &modifiers) != B_OK) { - return; - } - - Ref<InputEventKey> event; - event.instance(); - GetKeyModifierState(event, modifiers); - event->set_pressed(message->what == B_KEY_DOWN); - event->set_keycode(KeyMappingHaiku::get_keysym(raw_char, key)); - event->set_physical_keycode(KeyMappingHaiku::get_keysym(raw_char, key)); - event->set_echo(message->HasInt32("be:key_repeat")); - event->set_unicode(0); - - const char *bytes = nullptr; - if (message->FindString("bytes", &bytes) == B_OK) { - event->set_unicode(BUnicodeChar::FromUTF8(&bytes)); - } - - //make it consistent across platforms. - if (event->get_keycode() == KEY_BACKTAB) { - event->set_keycode(KEY_TAB); - event->set_physical_keycode(KEY_TAB); - event->set_shift(true); - } - - input->parse_input_event(event); -} - -void HaikuDirectWindow::HandleKeyboardModifierEvent(BMessage *message) { - int32 old_modifiers = 0; - int32 modifiers = 0; - - if (message->FindInt32("be:old_modifiers", &old_modifiers) != B_OK) { - return; - } - - if (message->FindInt32("modifiers", &modifiers) != B_OK) { - return; - } - - int32 key = old_modifiers ^ modifiers; - - Ref<InputEventWithModifiers> event; - event.instance(); - GetKeyModifierState(event, modifiers); - - event->set_shift(key & B_SHIFT_KEY); - event->set_alt(key & B_OPTION_KEY); - event->set_control(key & B_CONTROL_KEY); - event->set_command(key & B_COMMAND_KEY); - - input->parse_input_event(event); -} - -void HaikuDirectWindow::HandleWindowResized(BMessage *message) { - int32 width = 0; - int32 height = 0; - - if ((message->FindInt32("width", &width) != B_OK) || (message->FindInt32("height", &height) != B_OK)) { - return; - } - - current_video_mode->width = width; - current_video_mode->height = height; -} - -inline void HaikuDirectWindow::GetKeyModifierState(Ref<InputEventWithModifiers> event, uint32 p_state) { - last_key_modifier_state = p_state; - - event->set_shift(p_state & B_SHIFT_KEY); - event->set_control(p_state & B_CONTROL_KEY); - event->set_alt(p_state & B_OPTION_KEY); - event->set_metakey(p_state & B_COMMAND_KEY); - - return state; -} - -inline int HaikuDirectWindow::GetMouseButtonState(uint32 p_state) { - int state = 0; - - if (p_state & B_PRIMARY_MOUSE_BUTTON) { - state |= 1 << 0; - } - - if (p_state & B_SECONDARY_MOUSE_BUTTON) { - state |= 1 << 1; - } - - if (p_state & B_TERTIARY_MOUSE_BUTTON) { - state |= 1 << 2; - } - - last_button_mask = state; - - return state; -} diff --git a/platform/haiku/haiku_direct_window.h b/platform/haiku/haiku_direct_window.h deleted file mode 100644 index 4817abbb7a..0000000000 --- a/platform/haiku/haiku_direct_window.h +++ /dev/null @@ -1,89 +0,0 @@ -/*************************************************************************/ -/* haiku_direct_window.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#ifndef HAIKU_DIRECT_WINDOW_H -#define HAIKU_DIRECT_WINDOW_H - -#include <kernel/image.h> // needed for image_id - -#include <DirectWindow.h> - -#include "core/input/input.h" -#include "core/os/os.h" - -#include "haiku_gl_view.h" - -#define REDRAW_MSG 'rdrw' -#define LOCKGL_MSG 'glck' -#define UNLOCKGL_MSG 'ulck' - -class HaikuDirectWindow : public BDirectWindow { -private: - Point2i last_mouse_position; - bool last_mouse_pos_valid; - uint32 last_buttons_state; - uint32 last_key_modifier_state; - int last_button_mask; - OS::VideoMode *current_video_mode; - - MainLoop *main_loop; - InputDefault *input; - HaikuGLView *view; - BMessageRunner *update_runner; - - void HandleMouseButton(BMessage *message); - void HandleMouseMoved(BMessage *message); - void HandleMouseWheelChanged(BMessage *message); - void HandleWindowResized(BMessage *message); - void HandleKeyboardEvent(BMessage *message); - void HandleKeyboardModifierEvent(BMessage *message); - inline void GetKeyModifierState(Ref<InputEventWithModifiers> event, uint32 p_state); - inline int GetMouseButtonState(uint32 p_state); - -public: - HaikuDirectWindow(BRect p_frame); - ~HaikuDirectWindow(); - - void SetHaikuGLView(HaikuGLView *p_view); - void StartMessageRunner(); - void StopMessageRunner(); - void SetInput(InputDefault *p_input); - void SetMainLoop(MainLoop *p_main_loop); - inline void SetVideoMode(OS::VideoMode *video_mode) { current_video_mode = video_mode; }; - virtual bool QuitRequested(); - virtual void DirectConnected(direct_buffer_info *info); - virtual void MessageReceived(BMessage *message); - virtual void DispatchMessage(BMessage *message, BHandler *handler); - - inline Point2i GetLastMousePosition() { return last_mouse_position; }; - inline int GetLastButtonMask() { return last_button_mask; }; -}; - -#endif diff --git a/platform/haiku/haiku_gl_view.cpp b/platform/haiku/haiku_gl_view.cpp deleted file mode 100644 index 970a1276fd..0000000000 --- a/platform/haiku/haiku_gl_view.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/*************************************************************************/ -/* haiku_gl_view.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include "haiku_gl_view.h" -#include "main/main.h" - -HaikuGLView::HaikuGLView(BRect frame, uint32 type) : - BGLView(frame, "GodotGLView", B_FOLLOW_ALL_SIDES, 0, type) { -} - -void HaikuGLView::AttachedToWindow(void) { - LockGL(); - BGLView::AttachedToWindow(); - UnlockGL(); - MakeFocus(); -} - -void HaikuGLView::Draw(BRect updateRect) { - Main::force_redraw(); -} diff --git a/platform/haiku/haiku_gl_view.h b/platform/haiku/haiku_gl_view.h deleted file mode 100644 index 59e02d2367..0000000000 --- a/platform/haiku/haiku_gl_view.h +++ /dev/null @@ -1,45 +0,0 @@ -/*************************************************************************/ -/* haiku_gl_view.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#ifndef HAIKU_GL_VIEW_H -#define HAIKU_GL_VIEW_H - -#include <kernel/image.h> // needed for image_id - -#include <GLView.h> - -class HaikuGLView : public BGLView { -public: - HaikuGLView(BRect frame, uint32 type); - virtual void AttachedToWindow(void); - virtual void Draw(BRect updateRect); -}; - -#endif diff --git a/platform/haiku/key_mapping_haiku.cpp b/platform/haiku/key_mapping_haiku.cpp deleted file mode 100644 index 692a1e5a78..0000000000 --- a/platform/haiku/key_mapping_haiku.cpp +++ /dev/null @@ -1,249 +0,0 @@ -/*************************************************************************/ -/* key_mapping_haiku.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include <InterfaceDefs.h> - -#include "core/os/keyboard.h" -#include "key_mapping_haiku.h" - -struct _HaikuTranslatePair { - unsigned int keysym; - int32 keycode; -}; - -static _HaikuTranslatePair _mod_to_keycode[] = { - { KEY_SHIFT, B_SHIFT_KEY }, - { KEY_ALT, B_COMMAND_KEY }, - { KEY_CONTROL, B_CONTROL_KEY }, - { KEY_CAPSLOCK, B_CAPS_LOCK }, - { KEY_SCROLLLOCK, B_SCROLL_LOCK }, - { KEY_NUMLOCK, B_NUM_LOCK }, - { KEY_SUPER_L, B_OPTION_KEY }, - { KEY_MENU, B_MENU_KEY }, - { KEY_SHIFT, B_LEFT_SHIFT_KEY }, - { KEY_SHIFT, B_RIGHT_SHIFT_KEY }, - { KEY_ALT, B_LEFT_COMMAND_KEY }, - { KEY_ALT, B_RIGHT_COMMAND_KEY }, - { KEY_CONTROL, B_LEFT_CONTROL_KEY }, - { KEY_CONTROL, B_RIGHT_CONTROL_KEY }, - { KEY_SUPER_L, B_LEFT_OPTION_KEY }, - { KEY_SUPER_R, B_RIGHT_OPTION_KEY }, - { KEY_UNKNOWN, 0 } -}; - -static _HaikuTranslatePair _fn_to_keycode[] = { - { KEY_F1, B_F1_KEY }, - { KEY_F2, B_F2_KEY }, - { KEY_F3, B_F3_KEY }, - { KEY_F4, B_F4_KEY }, - { KEY_F5, B_F5_KEY }, - { KEY_F6, B_F6_KEY }, - { KEY_F7, B_F7_KEY }, - { KEY_F8, B_F8_KEY }, - { KEY_F9, B_F9_KEY }, - { KEY_F10, B_F10_KEY }, - { KEY_F11, B_F11_KEY }, - { KEY_F12, B_F12_KEY }, - //{ KEY_F13, ? }, - //{ KEY_F14, ? }, - //{ KEY_F15, ? }, - //{ KEY_F16, ? }, - { KEY_PRINT, B_PRINT_KEY }, - { KEY_SCROLLLOCK, B_SCROLL_KEY }, - { KEY_PAUSE, B_PAUSE_KEY }, - { KEY_UNKNOWN, 0 } -}; - -static _HaikuTranslatePair _hb_to_keycode[] = { - { KEY_BACKSPACE, B_BACKSPACE }, - { KEY_TAB, B_TAB }, - { KEY_ENTER, B_RETURN }, - { KEY_CAPSLOCK, B_CAPS_LOCK }, - { KEY_ESCAPE, B_ESCAPE }, - { KEY_SPACE, B_SPACE }, - { KEY_PAGEUP, B_PAGE_UP }, - { KEY_PAGEDOWN, B_PAGE_DOWN }, - { KEY_END, B_END }, - { KEY_HOME, B_HOME }, - { KEY_LEFT, B_LEFT_ARROW }, - { KEY_UP, B_UP_ARROW }, - { KEY_RIGHT, B_RIGHT_ARROW }, - { KEY_DOWN, B_DOWN_ARROW }, - { KEY_PRINT, B_PRINT_KEY }, - { KEY_INSERT, B_INSERT }, - { KEY_DELETE, B_DELETE }, - // { KEY_HELP, ??? }, - - { KEY_0, (0x30) }, - { KEY_1, (0x31) }, - { KEY_2, (0x32) }, - { KEY_3, (0x33) }, - { KEY_4, (0x34) }, - { KEY_5, (0x35) }, - { KEY_6, (0x36) }, - { KEY_7, (0x37) }, - { KEY_8, (0x38) }, - { KEY_9, (0x39) }, - { KEY_A, (0x61) }, - { KEY_B, (0x62) }, - { KEY_C, (0x63) }, - { KEY_D, (0x64) }, - { KEY_E, (0x65) }, - { KEY_F, (0x66) }, - { KEY_G, (0x67) }, - { KEY_H, (0x68) }, - { KEY_I, (0x69) }, - { KEY_J, (0x6A) }, - { KEY_K, (0x6B) }, - { KEY_L, (0x6C) }, - { KEY_M, (0x6D) }, - { KEY_N, (0x6E) }, - { KEY_O, (0x6F) }, - { KEY_P, (0x70) }, - { KEY_Q, (0x71) }, - { KEY_R, (0x72) }, - { KEY_S, (0x73) }, - { KEY_T, (0x74) }, - { KEY_U, (0x75) }, - { KEY_V, (0x76) }, - { KEY_W, (0x77) }, - { KEY_X, (0x78) }, - { KEY_Y, (0x79) }, - { KEY_Z, (0x7A) }, - - /* -{ KEY_PLAY, VK_PLAY},// (0xFA) -{ KEY_STANDBY,VK_SLEEP },//(0x5F) -{ KEY_BACK,VK_BROWSER_BACK},// (0xA6) -{ KEY_FORWARD,VK_BROWSER_FORWARD},// (0xA7) -{ KEY_REFRESH,VK_BROWSER_REFRESH},// (0xA8) -{ KEY_STOP,VK_BROWSER_STOP},// (0xA9) -{ KEY_SEARCH,VK_BROWSER_SEARCH},// (0xAA) -{ KEY_FAVORITES, VK_BROWSER_FAVORITES},// (0xAB) -{ KEY_HOMEPAGE,VK_BROWSER_HOME},// (0xAC) -{ KEY_VOLUMEMUTE,VK_VOLUME_MUTE},// (0xAD) -{ KEY_VOLUMEDOWN,VK_VOLUME_DOWN},// (0xAE) -{ KEY_VOLUMEUP,VK_VOLUME_UP},// (0xAF) -{ KEY_MEDIANEXT,VK_MEDIA_NEXT_TRACK},// (0xB0) -{ KEY_MEDIAPREVIOUS,VK_MEDIA_PREV_TRACK},// (0xB1) -{ KEY_MEDIASTOP,VK_MEDIA_STOP},// (0xB2) -{ KEY_LAUNCHMAIL, VK_LAUNCH_MAIL},// (0xB4) -{ KEY_LAUNCHMEDIA,VK_LAUNCH_MEDIA_SELECT},// (0xB5) -{ KEY_LAUNCH0,VK_LAUNCH_APP1},// (0xB6) -{ KEY_LAUNCH1,VK_LAUNCH_APP2},// (0xB7) -*/ - - { KEY_SEMICOLON, 0x3B }, - { KEY_EQUAL, 0x3D }, - { KEY_COLON, 0x2C }, - { KEY_MINUS, 0x2D }, - { KEY_PERIOD, 0x2E }, - { KEY_SLASH, 0x2F }, - { KEY_KP_MULTIPLY, 0x2A }, - { KEY_KP_ADD, 0x2B }, - - { KEY_QUOTELEFT, 0x60 }, - { KEY_BRACKETLEFT, 0x5B }, - { KEY_BACKSLASH, 0x5C }, - { KEY_BRACKETRIGHT, 0x5D }, - { KEY_APOSTROPHE, 0x27 }, - - { KEY_UNKNOWN, 0 } -}; - -unsigned int KeyMappingHaiku::get_keysym(int32 raw_char, int32 key) { - if (raw_char == B_INSERT && key == 0x64) { - return KEY_KP_0; - } - if (raw_char == B_END && key == 0x58) { - return KEY_KP_1; - } - if (raw_char == B_DOWN_ARROW && key == 0x59) { - return KEY_KP_2; - } - if (raw_char == B_PAGE_DOWN && key == 0x5A) { - return KEY_KP_3; - } - if (raw_char == B_LEFT_ARROW && key == 0x48) { - return KEY_KP_4; - } - if (raw_char == 0x35 && key == 0x49) { - return KEY_KP_5; - } - if (raw_char == B_RIGHT_ARROW && key == 0x4A) { - return KEY_KP_6; - } - if (raw_char == B_HOME && key == 0x37) { - return KEY_KP_7; - } - if (raw_char == B_UP_ARROW && key == 0x38) { - return KEY_KP_8; - } - if (raw_char == B_PAGE_UP && key == 0x39) { - return KEY_KP_9; - } - if (raw_char == 0x2F && key == 0x23) { - return KEY_KP_DIVIDE; - } - if (raw_char == 0x2D && key == 0x25) { - return KEY_KP_SUBTRACT; - } - if (raw_char == B_DELETE && key == 0x65) { - return KEY_KP_PERIOD; - } - - if (raw_char == 0x10) { - for (int i = 0; _fn_to_keycode[i].keysym != KEY_UNKNOWN; i++) { - if (_fn_to_keycode[i].keycode == key) { - return _fn_to_keycode[i].keysym; - } - } - - return KEY_UNKNOWN; - } - - for (int i = 0; _hb_to_keycode[i].keysym != KEY_UNKNOWN; i++) { - if (_hb_to_keycode[i].keycode == raw_char) { - return _hb_to_keycode[i].keysym; - } - } - - return KEY_UNKNOWN; -} - -unsigned int KeyMappingHaiku::get_modifier_keysym(int32 key) { - for (int i = 0; _mod_to_keycode[i].keysym != KEY_UNKNOWN; i++) { - if ((_mod_to_keycode[i].keycode & key) != 0) { - return _mod_to_keycode[i].keysym; - } - } - - return KEY_UNKNOWN; -} diff --git a/platform/haiku/key_mapping_haiku.h b/platform/haiku/key_mapping_haiku.h deleted file mode 100644 index e735108e44..0000000000 --- a/platform/haiku/key_mapping_haiku.h +++ /dev/null @@ -1,42 +0,0 @@ -/*************************************************************************/ -/* key_mapping_haiku.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#ifndef KEY_MAPPING_HAIKU_H -#define KEY_MAPPING_HAIKU_H - -class KeyMappingHaiku { - KeyMappingHaiku() {} - -public: - static unsigned int get_keysym(int32 raw_char, int32 key); - static unsigned int get_modifier_keysym(int32 key); -}; - -#endif diff --git a/platform/haiku/logo.png b/platform/haiku/logo.png Binary files differdeleted file mode 100644 index a2d8e242a6..0000000000 --- a/platform/haiku/logo.png +++ /dev/null diff --git a/platform/haiku/os_haiku.cpp b/platform/haiku/os_haiku.cpp deleted file mode 100644 index 7a2591784f..0000000000 --- a/platform/haiku/os_haiku.cpp +++ /dev/null @@ -1,358 +0,0 @@ -/*************************************************************************/ -/* os_haiku.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include "os_haiku.h" - -#include "drivers/gles2/rasterizer_gles2.h" -#include "main/main.h" -#include "servers/physics_3d/physics_server_3d_sw.h" -#include "servers/rendering/rendering_server_raster.h" -#include "servers/rendering/rendering_server_wrap_mt.h" - -#include <Screen.h> - -OS_Haiku::OS_Haiku() { -#ifdef MEDIA_KIT_ENABLED - AudioDriverManager::add_driver(&driver_media_kit); -#endif -}; - -void OS_Haiku::run() { - if (!main_loop) { - return; - } - - main_loop->init(); - context_gl->release_current(); - - // TODO: clean up - BMessenger *bms = new BMessenger(window); - BMessage *msg = new BMessage(); - bms->SendMessage(LOCKGL_MSG, msg); - - window->StartMessageRunner(); - app->Run(); - window->StopMessageRunner(); - - delete app; - - delete bms; - delete msg; - main_loop->finish(); -} - -String OS_Haiku::get_name() const { - return "Haiku"; -} - -int OS_Haiku::get_video_driver_count() const { - return 1; -} - -const char *OS_Haiku::get_video_driver_name(int p_driver) const { - return "GLES2"; -} - -int OS_Haiku::get_current_video_driver() const { - return video_driver_index; -} - -Error OS_Haiku::initialize(const VideoMode &p_desired, int p_video_driver, int p_audio_driver) { - main_loop = nullptr; - current_video_mode = p_desired; - - app = new HaikuApplication(); - - BRect frame; - frame.Set(50, 50, 50 + current_video_mode.width - 1, 50 + current_video_mode.height - 1); - - window = new HaikuDirectWindow(frame); - window->SetVideoMode(¤t_video_mode); - - if (current_video_mode.fullscreen) { - window->SetFullScreen(true); - } - - if (!current_video_mode.resizable) { - uint32 flags = window->Flags(); - flags |= B_NOT_RESIZABLE; - window->SetFlags(flags); - } - -#if defined(OPENGL_ENABLED) - context_gl = memnew(ContextGL_Haiku(window)); - context_gl->initialize(); - context_gl->make_current(); - context_gl->set_use_vsync(current_video_mode.use_vsync); - // FIXME: That's not how the rasterizer setup should happen. - RasterizerGLES2::register_config(); - RasterizerGLES2::make_current(); -#endif - - rendering_server = memnew(RenderingServerRaster); - // FIXME: Reimplement threaded rendering - if (get_render_thread_mode() != RENDER_THREAD_UNSAFE) { - rendering_server = memnew(RenderingServerWrapMT(rendering_server, false)); - } - - ERR_FAIL_COND_V(!rendering_server, ERR_UNAVAILABLE); - - video_driver_index = p_video_driver; - - input = memnew(InputDefault); - window->SetInput(input); - - window->Show(); - rendering_server->init(); - - AudioDriverManager::initialize(p_audio_driver); - - return OK; -} - -void OS_Haiku::finalize() { - if (main_loop) { - memdelete(main_loop); - } - - main_loop = nullptr; - - rendering_server->finish(); - memdelete(rendering_server); - - memdelete(input); - -#if defined(OPENGL_ENABLED) - memdelete(context_gl); -#endif -} - -void OS_Haiku::set_main_loop(MainLoop *p_main_loop) { - main_loop = p_main_loop; - input->set_main_loop(p_main_loop); - window->SetMainLoop(p_main_loop); -} - -MainLoop *OS_Haiku::get_main_loop() const { - return main_loop; -} - -void OS_Haiku::delete_main_loop() { - if (main_loop) { - memdelete(main_loop); - } - - main_loop = nullptr; - window->SetMainLoop(nullptr); -} - -void OS_Haiku::release_rendering_thread() { - context_gl->release_current(); -} - -void OS_Haiku::make_rendering_thread() { - context_gl->make_current(); -} - -bool OS_Haiku::can_draw() const { - // TODO: implement - return true; -} - -void OS_Haiku::swap_buffers() { - context_gl->swap_buffers(); -} - -Point2 OS_Haiku::get_mouse_position() const { - return window->GetLastMousePosition(); -} - -int OS_Haiku::get_mouse_button_state() const { - return window->GetLastButtonMask(); -} - -void OS_Haiku::set_cursor_shape(CursorShape p_shape) { - //ERR_PRINT("set_cursor_shape() NOT IMPLEMENTED"); -} - -OS::CursorShape OS_Haiku::get_cursor_shape() const { - // TODO: implement get_cursor_shape -} - -void OS_Haiku::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot) { - // TODO -} - -int OS_Haiku::get_screen_count() const { - // TODO: implement get_screen_count() - return 1; -} - -int OS_Haiku::get_current_screen() const { - // TODO: implement get_current_screen() - return 0; -} - -void OS_Haiku::set_current_screen(int p_screen) { - // TODO: implement set_current_screen() -} - -Point2 OS_Haiku::get_screen_position(int p_screen) const { - // TODO: make this work with the p_screen parameter - BScreen *screen = new BScreen(window); - BRect frame = screen->Frame(); - delete screen; - return Point2i(frame.left, frame.top); -} - -Size2 OS_Haiku::get_screen_size(int p_screen) const { - // TODO: make this work with the p_screen parameter - BScreen *screen = new BScreen(window); - BRect frame = screen->Frame(); - delete screen; - return Size2i(frame.IntegerWidth() + 1, frame.IntegerHeight() + 1); -} - -void OS_Haiku::set_window_title(const String &p_title) { - window->SetTitle(p_title.utf8().get_data()); -} - -Size2 OS_Haiku::get_window_size() const { - BSize size = window->Size(); - return Size2i(size.IntegerWidth() + 1, size.IntegerHeight() + 1); -} - -void OS_Haiku::set_window_size(const Size2 p_size) { - // TODO: why does it stop redrawing after this is called? - window->ResizeTo(p_size.x, p_size.y); -} - -Point2 OS_Haiku::get_window_position() const { - BPoint point(0, 0); - window->ConvertToScreen(&point); - return Point2i(point.x, point.y); -} - -void OS_Haiku::set_window_position(const Point2 &p_position) { - window->MoveTo(p_position.x, p_position.y); -} - -void OS_Haiku::set_window_fullscreen(bool p_enabled) { - window->SetFullScreen(p_enabled); - current_video_mode.fullscreen = p_enabled; - rendering_server->init(); -} - -bool OS_Haiku::is_window_fullscreen() const { - return current_video_mode.fullscreen; -} - -void OS_Haiku::set_window_resizable(bool p_enabled) { - uint32 flags = window->Flags(); - - if (p_enabled) { - flags &= ~(B_NOT_RESIZABLE); - } else { - flags |= B_NOT_RESIZABLE; - } - - window->SetFlags(flags); - current_video_mode.resizable = p_enabled; -} - -bool OS_Haiku::is_window_resizable() const { - return current_video_mode.resizable; -} - -void OS_Haiku::set_window_minimized(bool p_enabled) { - window->Minimize(p_enabled); -} - -bool OS_Haiku::is_window_minimized() const { - return window->IsMinimized(); -} - -void OS_Haiku::set_window_maximized(bool p_enabled) { - window->Minimize(!p_enabled); -} - -bool OS_Haiku::is_window_maximized() const { - return !window->IsMinimized(); -} - -void OS_Haiku::set_video_mode(const VideoMode &p_video_mode, int p_screen) { - ERR_PRINT("set_video_mode() NOT IMPLEMENTED"); -} - -OS::VideoMode OS_Haiku::get_video_mode(int p_screen) const { - return current_video_mode; -} - -void OS_Haiku::get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen) const { - ERR_PRINT("get_fullscreen_mode_list() NOT IMPLEMENTED"); -} - -String OS_Haiku::get_executable_path() const { - return OS::get_executable_path(); -} - -bool OS_Haiku::_check_internal_feature_support(const String &p_feature) { - return p_feature == "pc"; -} - -String OS_Haiku::get_config_path() const { - if (has_environment("XDG_CONFIG_HOME")) { - return get_environment("XDG_CONFIG_HOME"); - } else if (has_environment("HOME")) { - return get_environment("HOME").plus_file("config/settings"); - } else { - return "."; - } -} - -String OS_Haiku::get_data_path() const { - if (has_environment("XDG_DATA_HOME")) { - return get_environment("XDG_DATA_HOME"); - } else if (has_environment("HOME")) { - return get_environment("HOME").plus_file("config/data"); - } else { - return get_config_path(); - } -} - -String OS_Haiku::get_cache_path() const { - if (has_environment("XDG_CACHE_HOME")) { - return get_environment("XDG_CACHE_HOME"); - } else if (has_environment("HOME")) { - return get_environment("HOME").plus_file("config/cache"); - } else { - return get_config_path(); - } -} diff --git a/platform/haiku/os_haiku.h b/platform/haiku/os_haiku.h deleted file mode 100644 index d3ef9400d4..0000000000 --- a/platform/haiku/os_haiku.h +++ /dev/null @@ -1,123 +0,0 @@ -/*************************************************************************/ -/* os_haiku.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#ifndef OS_HAIKU_H -#define OS_HAIKU_H - -#include "audio_driver_media_kit.h" -#include "context_gl_haiku.h" -#include "core/input/input.h" -#include "drivers/unix/os_unix.h" -#include "haiku_application.h" -#include "haiku_direct_window.h" -#include "servers/audio_server.h" -#include "servers/rendering_server.h" - -class OS_Haiku : public OS_Unix { -private: - HaikuApplication *app; - HaikuDirectWindow *window; - MainLoop *main_loop; - InputDefault *input; - RenderingServer *rendering_server; - VideoMode current_video_mode; - int video_driver_index; - -#ifdef MEDIA_KIT_ENABLED - AudioDriverMediaKit driver_media_kit; -#endif - -#if defined(OPENGL_ENABLED) - ContextGL_Haiku *context_gl; -#endif - - virtual void delete_main_loop(); - -protected: - virtual int get_video_driver_count() const; - virtual const char *get_video_driver_name(int p_driver) const; - virtual int get_current_video_driver() const; - - virtual Error initialize(const VideoMode &p_desired, int p_video_driver, int p_audio_driver); - virtual void finalize(); - - virtual void set_main_loop(MainLoop *p_main_loop); - -public: - OS_Haiku(); - void run(); - - virtual String get_name() const; - - virtual MainLoop *get_main_loop() const; - - virtual bool can_draw() const; - virtual void release_rendering_thread(); - virtual void make_rendering_thread(); - virtual void swap_buffers(); - - virtual Point2 get_mouse_position() const; - virtual int get_mouse_button_state() const; - virtual void set_cursor_shape(CursorShape p_shape); - virtual CursorShape get_cursor_shape() const; - virtual void set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); - - virtual int get_screen_count() const; - virtual int get_current_screen() const; - virtual void set_current_screen(int p_screen); - virtual Point2 get_screen_position(int p_screen = -1) const; - virtual Size2 get_screen_size(int p_screen = -1) const; - virtual void set_window_title(const String &p_title); - virtual Size2 get_window_size() const; - virtual void set_window_size(const Size2 p_size); - virtual Point2 get_window_position() const; - virtual void set_window_position(const Point2 &p_position); - virtual void set_window_fullscreen(bool p_enabled); - virtual bool is_window_fullscreen() const; - virtual void set_window_resizable(bool p_enabled); - virtual bool is_window_resizable() const; - virtual void set_window_minimized(bool p_enabled); - virtual bool is_window_minimized() const; - virtual void set_window_maximized(bool p_enabled); - virtual bool is_window_maximized() const; - - virtual void set_video_mode(const VideoMode &p_video_mode, int p_screen = 0); - virtual VideoMode get_video_mode(int p_screen = 0) const; - virtual void get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen = 0) const; - virtual String get_executable_path() const; - - virtual bool _check_internal_feature_support(const String &p_feature); - - virtual String get_config_path() const; - virtual String get_data_path() const; - virtual String get_cache_path() const; -}; - -#endif diff --git a/platform/haiku/platform_config.h b/platform/haiku/platform_config.h deleted file mode 100644 index f2d5418adf..0000000000 --- a/platform/haiku/platform_config.h +++ /dev/null @@ -1,36 +0,0 @@ -/*************************************************************************/ -/* platform_config.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* 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 */ -/* "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. */ -/*************************************************************************/ - -#include <alloca.h> - -// for ifaddrs.h needed in drivers/unix/ip_unix.cpp -#define _BSD_SOURCE 1 - -#define GLES2_INCLUDE_H "thirdparty/glad/glad/glad.h" diff --git a/scene/3d/camera_3d.cpp b/scene/3d/camera_3d.cpp index 8dc5cd4aba..7ffca4bd9e 100644 --- a/scene/3d/camera_3d.cpp +++ b/scene/3d/camera_3d.cpp @@ -754,9 +754,9 @@ void ClippedCamera3D::_notification(int p_what) { xf.origin = ray_from; xf.orthonormalize(); - float csafe, cunsafe; - if (dspace->cast_motion(pyramid_shape, xf, cam_pos - ray_from, margin, csafe, cunsafe, exclude, collision_mask, clip_to_bodies, clip_to_areas)) { - clip_offset = cam_pos.distance_to(ray_from + (cam_pos - ray_from) * csafe); + float closest_safe = 1.0f, closest_unsafe = 1.0f; + if (dspace->cast_motion(pyramid_shape, xf, cam_pos - ray_from, margin, closest_safe, closest_unsafe, exclude, collision_mask, clip_to_bodies, clip_to_areas)) { + clip_offset = cam_pos.distance_to(ray_from + (cam_pos - ray_from) * closest_safe); } _update_camera(); diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index e050b3f174..c7fc8dbe43 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -366,26 +366,9 @@ void TextEdit::_update_scrollbars() { total_width += cache.minimap_width; } - bool use_hscroll = true; - bool use_vscroll = true; - - // Thanks yessopie for this clever bit of logic. - if (total_rows <= visible_rows && total_width <= visible_width) { - use_hscroll = false; - use_vscroll = false; - } else { - if (total_rows > visible_rows && total_width <= visible_width) { - use_hscroll = false; - } - - if (total_rows <= visible_rows && total_width > visible_width) { - use_vscroll = false; - } - } - updating_scrolls = true; - if (use_vscroll) { + if (total_rows > visible_rows) { v_scroll->show(); v_scroll->set_max(total_rows + get_visible_rows_offset()); v_scroll->set_page(visible_rows + get_visible_rows_offset()); @@ -403,7 +386,7 @@ void TextEdit::_update_scrollbars() { v_scroll->hide(); } - if (use_hscroll && !is_wrap_enabled()) { + if (total_width > visible_width && !is_wrap_enabled()) { h_scroll->show(); h_scroll->set_max(total_width); h_scroll->set_page(visible_width); @@ -2274,14 +2257,14 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (mb->get_button_index() == BUTTON_WHEEL_UP && !mb->get_command()) { if (mb->get_shift()) { h_scroll->set_value(h_scroll->get_value() - (100 * mb->get_factor())); - } else { + } else if (v_scroll->is_visible()) { _scroll_up(3 * mb->get_factor()); } } if (mb->get_button_index() == BUTTON_WHEEL_DOWN && !mb->get_command()) { if (mb->get_shift()) { h_scroll->set_value(h_scroll->get_value() + (100 * mb->get_factor())); - } else { + } else if (v_scroll->is_visible()) { _scroll_down(3 * mb->get_factor()); } } diff --git a/servers/physics_server_3d.cpp b/servers/physics_server_3d.cpp index 2dd8ea3edb..9668358710 100644 --- a/servers/physics_server_3d.cpp +++ b/servers/physics_server_3d.cpp @@ -295,7 +295,7 @@ Array PhysicsDirectSpaceState3D::_intersect_shape(const Ref<PhysicsShapeQueryPar Array PhysicsDirectSpaceState3D::_cast_motion(const Ref<PhysicsShapeQueryParameters3D> &p_shape_query, const Vector3 &p_motion) { ERR_FAIL_COND_V(!p_shape_query.is_valid(), Array()); - float closest_safe, closest_unsafe; + float closest_safe = 1.0f, closest_unsafe = 1.0f; bool res = cast_motion(p_shape_query->shape, p_shape_query->transform, p_motion, p_shape_query->margin, closest_safe, closest_unsafe, p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas); if (!res) { return Array(); |