diff --git a/core/array.cpp b/core/array.cpp index 28f7e75c5cf3..f6372bd2a903 100644 --- a/core/array.cpp +++ b/core/array.cpp @@ -474,7 +474,7 @@ Variant Array::max() const { } const void *Array::id() const { - return _p->array.ptr(); + return _p; } Array::Array(const Array &p_from) { diff --git a/core/dictionary.cpp b/core/dictionary.cpp index 400bbfc9a830..1402980b0ea2 100644 --- a/core/dictionary.cpp +++ b/core/dictionary.cpp @@ -280,7 +280,7 @@ void Dictionary::operator=(const Dictionary &p_dictionary) { } const void *Dictionary::id() const { - return _p->variant_map.id(); + return _p; } Dictionary::Dictionary(const Dictionary &p_from) { diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp index 3d18a741481e..753ef6ce8a1d 100644 --- a/core/io/http_client.cpp +++ b/core/io/http_client.cpp @@ -611,7 +611,7 @@ Error HTTPClient::poll() { return OK; } -int HTTPClient::get_response_body_length() const { +int64_t HTTPClient::get_response_body_length() const { return body_size; } diff --git a/core/io/http_client.h b/core/io/http_client.h index b9fed898e98b..6a535c0ddbd2 100644 --- a/core/io/http_client.h +++ b/core/io/http_client.h @@ -220,7 +220,7 @@ class HTTPClient : public Reference { bool is_response_chunked() const; int get_response_code() const; Error get_response_headers(List *r_response); - int get_response_body_length() const; + int64_t get_response_body_length() const; PoolByteArray read_response_body_chunk(); // Can't get body as partial text because of most encodings UTF8, gzip, etc. diff --git a/doc/classes/AnimationNodeOneShot.xml b/doc/classes/AnimationNodeOneShot.xml index 70cd76e78a0e..f5fc6f02da85 100644 --- a/doc/classes/AnimationNodeOneShot.xml +++ b/doc/classes/AnimationNodeOneShot.xml @@ -11,17 +11,6 @@ https://godotengine.org/asset-library/asset/678 - - - - - - - - - - - @@ -37,6 +26,8 @@ + + diff --git a/doc/classes/BitMap.xml b/doc/classes/BitMap.xml index 78749d046cd7..2308978c0ca6 100644 --- a/doc/classes/BitMap.xml +++ b/doc/classes/BitMap.xml @@ -9,6 +9,12 @@ + + + + Returns an image of the same size as the bitmap and with a [enum Image.Format] of type [code]FORMAT_L8[/code]. [code]true[/code] bits of the bitmap are being converted into white pixels, and [code]false[/code] bits into black. + + @@ -58,6 +64,13 @@ + + + + + Resizes the image to [code]new_size[/code]. + + diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index 1db5811df8b4..97e04464f746 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -32,7 +32,7 @@ - Creates an item in the tree and adds it as a child of [code]parent[/code]. + Creates an item in the tree and adds it as a child of [code]parent[/code], which can be either a valid [TreeItem] or [code]null[/code]. If [code]parent[/code] is [code]null[/code], the root item will be the parent, or the new item will be the root itself if the tree is empty. The new item will be the [code]idx[/code]th child of parent, or it will be the last child if there are not enough siblings. @@ -111,7 +111,7 @@ - Returns the rectangle area for the specified item. If [code]column[/code] is specified, only get the position and size of that column, otherwise get the rectangle containing all columns. + Returns the rectangle area for the specified [TreeItem]. If [code]column[/code] is specified, only get the position and size of that column, otherwise get the rectangle containing all columns. @@ -125,7 +125,7 @@ - Returns the next selected item after the given one, or [code]null[/code] if the end is reached. + Returns the next selected [TreeItem] after the given one, or [code]null[/code] if the end is reached. If [code]from[/code] is [code]null[/code], this returns the first selected item. @@ -167,7 +167,7 @@ - Causes the [Tree] to jump to the specified item. + Causes the [Tree] to jump to the specified [TreeItem]. diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp index 478c7bd53e84..2e61a6a88640 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.cpp +++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -915,6 +915,9 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref p_node) { + if (le == nullptr) { + return; // The text_submitted signal triggered the graph update and freed the LineEdit. + } _node_renamed(le->call("get_text"), p_node); } diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index 20d9685f0470..e2c87e5fa27b 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -616,6 +616,7 @@ void EditorAssetLibrary::_notification(int p_what) { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { _update_repository_options(); + setup_http_request(request); } break; } } diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 4fb2fd4a03c2..69cc865914ad 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -822,19 +822,30 @@ void SpriteFramesEditor::_update_library(bool p_skip_selector) { for (int i = 0; i < frames->get_frame_count(edited_anim); i++) { String name; - Ref icon; + Ref frame = frames->get_frame(edited_anim, i); - if (frames->get_frame(edited_anim, i).is_null()) { + if (frame.is_null()) { name = itos(i) + ": " + TTR("(empty)"); - } else { - name = itos(i) + ": " + frames->get_frame(edited_anim, i)->get_name(); - icon = frames->get_frame(edited_anim, i); + name = itos(i) + ": " + frame->get_name(); } - tree->add_item(name, icon); - if (frames->get_frame(edited_anim, i).is_valid()) { - tree->set_item_tooltip(tree->get_item_count() - 1, frames->get_frame(edited_anim, i)->get_path()); + tree->add_item(name, frame); + if (frame.is_valid()) { + String tooltip = frame->get_path(); + + // Frame is often saved as an AtlasTexture subresource within a scene/resource file, + // thus its path might be not what the user is looking for. So we're also showing + // subsequent source texture paths. + String prefix = String::utf8("┖╴"); + Ref at = frame; + while (at.is_valid() && at->get_atlas().is_valid()) { + tooltip += "\n" + prefix + at->get_atlas()->get_path(); + prefix = " " + prefix; + at = at->get_atlas(); + } + + tree->set_item_tooltip(tree->get_item_count() - 1, tooltip); } if (sel == i) { tree->select(tree->get_item_count() - 1); diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp index fe180c46f4b5..cadc9c4fcc70 100644 --- a/editor/rename_dialog.cpp +++ b/editor/rename_dialog.cpp @@ -284,6 +284,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und vbc->add_child(lbl_preview_title); lbl_preview = memnew(Label); + lbl_preview->set_autowrap(true); vbc->add_child(lbl_preview); // ---- Dialog related diff --git a/misc/dist/html/editor.html b/misc/dist/html/editor.html index 9319091355c8..b5cb28db2767 100644 --- a/misc/dist/html/editor.html +++ b/misc/dist/html/editor.html @@ -9,8 +9,8 @@ - - + + diff --git a/misc/dist/html/manifest.json b/misc/dist/html/manifest.json index 0ca27b3742f8..adc8106e2aed 100644 --- a/misc/dist/html/manifest.json +++ b/misc/dist/html/manifest.json @@ -6,7 +6,7 @@ "start_url": "./godot.tools.html", "display": "standalone", "orientation": "landscape", - "theme_color": "#478cbf", + "theme_color": "#202531", "icons": [ { "src": "favicon.png", diff --git a/misc/dist/html/offline.html b/misc/dist/html/offline.html index 000c21b4d316..5cfc3362d905 100644 --- a/misc/dist/html/offline.html +++ b/misc/dist/html/offline.html @@ -4,6 +4,8 @@ + + You are offline