Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-picks for the 4.2 branch (future 4.2.2) - 2nd batch #87589

Merged
merged 95 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
ee3a87c
Fix CanvasOcclusionShaderRD format error with double precision build.
bruvzg Dec 6, 2023
2981135
fix crash on hiding grandparent on mouse exit
kitbdev Nov 24, 2023
d41639a
Use render method from OS in compositor RD; Update related UI
jsjtxietian Dec 14, 2023
f1f5674
Make AnimationTree reference AnimationPlayer instead of AnimationMixer
timothyqiu Nov 7, 2023
ba23081
Fix crash caused by stale owner
Sauermann Jul 3, 2023
36f34c8
Avoid crashes when engine leaks canvas items and friends
YuriSizov Dec 20, 2023
776938f
Fix PrismMesh::_create_mesh_array division by 0
LeoBelda Jan 7, 2024
4d3e25d
Fix RichTextLabel.remove_paragraph crash by popping current
nickyfoo Nov 1, 2023
7917935
[Editor] Fix threading problems with `TileMap` preview
AThousandShips Jan 22, 2024
1b8d104
Restored the ability for linear interpolation to work on a mix of int…
bs-mwoerner Dec 11, 2023
7c22d54
Fix regression when autocompleting subscript on get node
HolonProduction Dec 13, 2023
c285b72
Fix file disappearing when renaming dependencies
KoBeWi Dec 14, 2023
19bb935
Make unstore AnimationLibrary if AnimationTree is assigned Player
TokageItLab Nov 30, 2023
b20ba6b
Fix discrete key retrieval method after start
TokageItLab Dec 16, 2023
89fd2c3
Fix the autocomplete function for the 'self' keyword.
Vilcrow Dec 19, 2023
a1c32a9
Only update particle velocity when it changes
KoBeWi Dec 23, 2023
4a036b5
Fix ZIPPacker storing file permissions unexpectedly
timothyqiu Jan 9, 2024
41dcabb
Fix SSR not working properly in stereo
BastiaanOlij Jan 9, 2024
894d629
Disable automatic permissions request
m4gr3d Jan 11, 2024
f5ecaec
Set an appropriate minimum size for labels in windows that display in…
Rindbee Dec 14, 2023
209aa98
Make default blend_left consider current blend amount
TokageItLab Dec 16, 2023
032d960
Fixes global transform being wrong on entering tree
groud Jan 5, 2024
2ba4a7d
Add thread guard for force_draw and update relared doc
jsjtxietian Oct 7, 2023
cf767dd
Fix operator documentation in GDExtension API dump with docs
rburing Dec 12, 2023
d4114f1
Update the description of the method get_connection_line in GraphEdit…
ZeferinoI Dec 14, 2023
e00f2e5
Link to the "article" in the docs instead of saying "article"
Mickeon Dec 31, 2023
e35bbb2
Fix various typos in documentation
sepTN Dec 27, 2023
cc90979
Clarify that `@GlobalScope.clamp` does not do component-wise clamping
AThousandShips Nov 9, 2023
bb8b208
Explain which nodes receive `NOTIFICATION_WM_SIZE_CHANGED`
Sauermann Jul 31, 2023
49cec88
Complete the docs for Quaternion
HexagonNico Oct 29, 2023
27d08e2
Correct C# syntax in _validate_property example for the Object class
LunaCapra Dec 30, 2023
3b2cdc2
Overhaul Node Documentation
Mickeon Oct 28, 2022
e19f2c6
Clarify Node doc: get_child returns null for invalid index
DSteve595 Dec 20, 2023
4f60f85
Specify how CanvasTexture does not work in 3D
Mickeon Jan 5, 2024
b0318cf
Overhaul AABB's documentation
Mickeon Jan 11, 2024
58dd33e
Add note that a large value for outline_size is not recommended
brno32 Dec 19, 2023
7e33c6b
Update get_image doc to mention that it will return an empty image wi…
jsjtxietian Jan 2, 2024
06ccf2b
Add performance note to Array.resize()
MewPurPur Nov 9, 2023
93fd2f7
Replace some "uncommon" words in class reference
Mickeon Jan 15, 2024
6b3e4bb
Fix various typos in documentation
sepTN Jan 5, 2024
b6d78d8
Clarify that `Callable` will not be encoded with `var_to_bytes`
AThousandShips Aug 16, 2023
f7f86cf
Add missing descriptions to remaining signals.
Mickeon Jan 10, 2024
50eaeec
Add descriptions to the remaining properties of RDPipelineDepthStenci…
DevPoodle Jan 13, 2024
7827a39
ThorVG: update from v0.11.2 to v0.11.6
capnm Dec 30, 2023
08772e3
ThorVG: update from v0.11.6 to v0.12.0
capnm Jan 5, 2024
c4fb3bc
certs: Sync with Mozilla bundle as of Dec 13, 2023
akien-mga Jan 25, 2024
571cb74
Improve sorting of enum autocompletion
HolonProduction Dec 31, 2023
771db18
Uses screen-aligned quads for origin lines to avoid issues on NVidia
clayjohn Oct 24, 2023
b247151
Improve Curve3D Debug Drawing
BlueCube3310 Oct 20, 2023
28818d1
Add Texture2D and Texture3D icons
MewPurPur Aug 30, 2023
d01c60c
Changed HTML input color_changed logic.
bs-mwoerner Dec 4, 2023
6e4cbdc
SCons: Add `stack_size` and `default_pthread_stack_size` options to W…
nikitalita Mar 21, 2023
8544106
[MP] Handle cleanup of "scene cache" nodes
Faless Dec 10, 2023
5a7c19f
Fix "Class name cannot be empty" error when sorting no import files b…
jsjtxietian Dec 12, 2023
cd29fb2
Fixed RegEx search_all for zero length matches/lookahead/lookbehind
TheSofox Dec 5, 2023
663ba67
Fix 2D normals for transposed texture
kleonc Jan 15, 2024
dd66598
Correctly enforce minimum window size in editor
YuriSizov Dec 20, 2023
6f6a1dc
Fix D&D viewport position calculation
Sauermann Dec 25, 2023
94949f0
[X11] Fix Godot stealing focus on alternative Window Managers
Mequam Mar 4, 2023
89f2251
Bugfix: Replace // with \\ before sending path to Blender
zinefer Nov 25, 2023
3a8c04e
Add PackedRealArray as an alias for Vector<real_t>
aaronfranke Dec 18, 2023
2fe886f
Fix squish RGTC_R decompression corruption
BlueCube3310 Dec 6, 2023
5f3bd68
Fix squish DXT5 RA-As-RG channel swapping
BlueCube3310 Dec 9, 2023
9f10aed
Correctly register editor-only module classes with the API
YuriSizov Dec 15, 2023
43d2437
Trigger zoom from pan gestures when pressing ctrl
aitorciki Aug 25, 2023
93fd5da
Add wireframe for compatibility mode
Dec 1, 2023
9609df1
Make screen_get_refresh_rate() respect iOS Low Power Mode
ztc0611 Nov 17, 2023
8e3740d
Expose copy_effects copy compute shader in Mobile backend
Lasuch69 Nov 14, 2023
6777e1b
Replace memory allocation point of ValueTrack correctly in AnimationM…
alesliehughes Nov 16, 2023
6e6d49c
Fix ColorPicker's alpha slider arrow offset
kleonc Dec 11, 2023
8633f7b
Hide Node dock successfully on undo/redo and deletion
kevmorg Dec 2, 2023
5573f37
Change suffix from m to px
Dec 12, 2023
5dbe105
Fix theme access in the Groups editor
YuriSizov Dec 11, 2023
4bc567d
Fix creating and updating plugin with dot in folder name
detomon Sep 4, 2023
6a2a048
Reset TileMap editor `drag_type` by using the _stop_dragging() functi…
Wiltof Dec 12, 2023
88526a2
Fix unable to deselect audio effects
berrybus Dec 7, 2023
1f677eb
Properly select the newly duplicated file
KoBeWi Dec 14, 2023
49031b2
Fix setting bezier track handle mode from inspector.
SaracenOne Oct 18, 2023
b34af3a
Speed up GDScript::get_must_clear_dependencies()
eldidou Dec 1, 2023
a47a07d
Fix FileAccessPack::get_buffer will update pos past the length of file
jsjtxietian Dec 10, 2023
06a94ec
Load project metadata file only when needed
KoBeWi Jul 22, 2023
bce0ada
Prompt require editor restart to user when gizmo color changed
jsjtxietian Oct 6, 2023
ee1034d
GDScript: Fix POT generator skips some nodes
dalexeev Dec 12, 2023
eb25ef6
Optimize scanning routines in the project manager
YuriSizov Dec 20, 2023
c2d38b4
Fix invalid frame index when Sprite2D's hframes or vframes has been c…
miv391 Nov 24, 2023
beadc92
Clear sub-resources list when no sub-resource exists
timothyqiu Dec 21, 2023
c35e05e
GDScript: Fix accessing static function as `Callable` in static context
dalexeev Dec 12, 2023
873a77d
Add autocompletion options for AnimatedSprite's other play methods
Mickeon Jan 3, 2024
a92a201
Fix missing autocompletion for inheriting classes
Mickeon Jan 2, 2024
ce42f8b
Wrong key mapping for XK_KP_Delete key
gregdebonis Dec 14, 2023
6c8375b
Fix NetBSD Executable Path
time-killer-games Nov 5, 2023
822b2b4
Fix 'get_window_safe_area' on Android
Alex2782 Jan 3, 2024
881d253
Fix some build errors with `disable_3d=Yes`
AThousandShips Jan 6, 2024
ad57a98
[Core] Fix `AABB.encloses` failing on shared upper bound
AThousandShips Jan 12, 2024
e070bbc
[C#] Fix `Encloses` failing on shared upper bound for `AABB` and
AThousandShips Jan 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion COPYRIGHT.txt
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ License: Expat

Files: ./thirdparty/thorvg/
Comment: ThorVG
Copyright: 2020-2023, The ThorVG Project
Copyright: 2020-2024, The ThorVG Project
License: Expat

Files: ./thirdparty/tinyexr/
Expand Down
11 changes: 8 additions & 3 deletions core/extension/extension_api_dump.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -742,14 +742,19 @@ Dictionary GDExtensionAPIDump::generate_extension_api(bool p_include_docs) {
Dictionary d2;
String operator_name = Variant::get_operator_name(Variant::Operator(k));
d2["name"] = operator_name;
if (k != Variant::OP_NEGATE && k != Variant::OP_POSITIVE && k != Variant::OP_NOT && k != Variant::OP_BIT_NEGATE) {
d2["right_type"] = get_builtin_or_variant_type_name(Variant::Type(j));

String right_type_name = get_builtin_or_variant_type_name(Variant::Type(j));
bool is_unary = k == Variant::OP_NEGATE || k == Variant::OP_POSITIVE || k == Variant::OP_NOT || k == Variant::OP_BIT_NEGATE;
if (!is_unary) {
d2["right_type"] = right_type_name;
}

d2["return_type"] = get_builtin_or_variant_type_name(Variant::get_operator_return_type(Variant::Operator(k), type, Variant::Type(j)));

if (p_include_docs && builtin_doc != nullptr) {
for (const DocData::MethodDoc &operator_doc : builtin_doc->operators) {
if (operator_doc.name == "operator " + operator_name) {
if (operator_doc.name == "operator " + operator_name &&
(is_unary || operator_doc.arguments[0].type == right_type_name)) {
d2["description"] = fix_doc_description(operator_doc.description);
break;
}
Expand Down
1 change: 1 addition & 0 deletions core/input/input.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ void Input::get_argument_options(const StringName &p_function, int p_idx, List<S
r_options->push_back(name.quote());
}
}
Object::get_argument_options(p_function, p_idx, r_options);
}

void Input::VelocityTrack::update(const Vector2 &p_delta_p) {
Expand Down
2 changes: 1 addition & 1 deletion core/io/file_access_pack.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ uint64_t FileAccessPack::get_buffer(uint8_t *p_dst, uint64_t p_length) const {
to_read = (int64_t)pf.size - (int64_t)pos;
}

pos += p_length;
pos += to_read;

if (to_read <= 0) {
return 0;
Expand Down
6 changes: 4 additions & 2 deletions core/io/resource_format_binary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1454,8 +1454,10 @@ Error ResourceFormatLoaderBinary::rename_dependencies(const String &p_path, cons
fw.unref();

Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
da->remove(p_path);
da->rename(p_path + ".depren", p_path);
if (da->exists(p_path + ".depren")) {
da->remove(p_path);
da->rename(p_path + ".depren", p_path);
}
return OK;
}

Expand Down
6 changes: 3 additions & 3 deletions core/math/aabb.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,11 +200,11 @@ inline bool AABB::encloses(const AABB &p_aabb) const {

return (
(src_min.x <= dst_min.x) &&
(src_max.x > dst_max.x) &&
(src_max.x >= dst_max.x) &&
(src_min.y <= dst_min.y) &&
(src_max.y > dst_max.y) &&
(src_max.y >= dst_max.y) &&
(src_min.z <= dst_min.z) &&
(src_max.z > dst_max.z));
(src_max.z >= dst_max.z));
}

Vector3 AABB::get_support(const Vector3 &p_normal) const {
Expand Down
1 change: 1 addition & 0 deletions core/variant/variant.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ typedef Vector<int32_t> PackedInt32Array;
typedef Vector<int64_t> PackedInt64Array;
typedef Vector<float> PackedFloat32Array;
typedef Vector<double> PackedFloat64Array;
typedef Vector<real_t> PackedRealArray;
typedef Vector<String> PackedStringArray;
typedef Vector<Vector2> PackedVector2Array;
typedef Vector<Vector3> PackedVector3Array;
Expand Down
17 changes: 4 additions & 13 deletions doc/classes/@GlobalScope.xml
Original file line number Diff line number Diff line change
Expand Up @@ -234,20 +234,9 @@

var b = clamp(8.1, 0.9, 5.5)
# b is 5.5

var c = clamp(Vector2(-3.5, -4), Vector2(-3.2, -2), Vector2(2, 6.5))
# c is (-3.2, -2)

var d = clamp(Vector2i(7, 8), Vector2i(-3, -2), Vector2i(2, 6))
# d is (2, 6)

var e = clamp(Vector3(-7, 8.5, -3.8), Vector3(-3, -2, 5.4), Vector3(-2, 6, -4.1))
# e is (-3, -2, 5.4)

var f = clamp(Vector3i(-7, -8, -9), Vector3i(-1, 2, 3), Vector3i(-4, -5, -6))
# f is (-4, -5, -6)
[/codeblock]
[b]Note:[/b] For better type safety, use [method clampf], [method clampi], [method Vector2.clamp], [method Vector2i.clamp], [method Vector3.clamp], [method Vector3i.clamp], [method Vector4.clamp], [method Vector4i.clamp], or [method Color.clamp].
[b]Note:[/b] For better type safety, use [method clampf], [method clampi], [method Vector2.clamp], [method Vector2i.clamp], [method Vector3.clamp], [method Vector3i.clamp], [method Vector4.clamp], [method Vector4i.clamp], or [method Color.clamp] (not currently supported by this method).
[b]Note:[/b] When using this on vectors it will [i]not[/i] perform component-wise clamping, and will pick [param min] if [code]value &lt; min[/code] or [param max] if [code]value &gt; max[/code]. To perform component-wise clamping use the methods listed above.
</description>
</method>
<method name="clampf">
Expand Down Expand Up @@ -1439,13 +1428,15 @@
<description>
Encodes a [Variant] value to a byte array, without encoding objects. Deserialization can be done with [method bytes_to_var].
[b]Note:[/b] If you need object serialization, see [method var_to_bytes_with_objects].
[b]Note:[/b] Encoding [Callable] is not supported and will result in an empty value, regardless of the data.
</description>
</method>
<method name="var_to_bytes_with_objects">
<return type="PackedByteArray" />
<param index="0" name="variable" type="Variant" />
<description>
Encodes a [Variant] value to a byte array. Encoding objects is allowed (and can potentially include executable code). Deserialization can be done with [method bytes_to_var_with_objects].
[b]Note:[/b] Encoding [Callable] is not supported and will result in an empty value, regardless of the data.
</description>
</method>
<method name="var_to_str">
Expand Down
Loading
Loading