Commit graph

29631 commits

Author SHA1 Message Date
Rémi Verschelde 4b8a1d21f3
CI: Add --doctool check to find missing classref updates
This will enforce that PRs properly sync the class reference templates to match
their changes to the public API, and help notice binding bugs in the process
(e.g. missing enum bindings, unexpected API changes or missing argument names).

This should also serve as a reminder to contributors that their changes impact
the scripting API and might warrant actually filling the descriptions for the
new methods/properties/etc.

(cherry picked from commit b388412270)
2021-05-04 12:54:52 +02:00
Rémi Verschelde 06136d433b
SCons: Add explicit dependencies on thirdparty code in cloned env
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.

So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).

This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.

(cherry picked from commit c7b53c03ae)
(cherry picked from commit e94161dada)
2021-05-04 12:54:34 +02:00
MaxStgs c5332b1d7a
Check PHashTranslation generate p_from is valid
(cherry picked from commit 0bb40df4bb)
2021-05-04 12:54:09 +02:00
Mateo Kuruk Miccino 3c089f6a4f
LineEdit: Now double click to select a word, and triple click to select all the content
(cherry picked from commit 74b3021691)
2021-05-04 12:53:40 +02:00
Koala 508cd0bb12
Fix indent left line selection
(cherry picked from commit 2c64008718)
2021-05-04 12:47:58 +02:00
kleonc 045b85b6e0
Make posmod use int64_t instead of int
(cherry picked from commit f04a964627)
2021-05-04 12:47:13 +02:00
PouleyKetchoupp 62d80ba15d
Allow values > 1 for friction and bounce in PhysicsMaterial
(cherry picked from commit 67987be644)
2021-05-04 12:45:45 +02:00
PouleyKetchoupp 703c290b71
Fix skinning initialization in MeshInstance when loaded from thread
Fix for a regression from software skinning support:
instance_attach_skeleton wasn't called in set_mesh before, and it's
causing issues when the mesh instance is loaded from a thread.
1. Call from a thread queues instance_attach_skeleton with RID() in the
visual server.
2. Call from the main thread when entering tree calls
instance_attach_skeleton immediately with a valid skeleton
3. Queued instance_attach_skeleton resets the attached skeleton

This change prevents that to happen by making sure
instance_attach_skeleton is not called on set_mesh as it was doing
before, but there might be a more general problem to solve in how
visual server commands are executed when resources are loaded from
a different thread.

(cherry picked from commit feee9f9695)
2021-05-04 12:44:47 +02:00
MaxStgs 387d2a69ca
Fix BakedLightmap bias bound check
(cherry picked from commit b4cc8ed6f2)
2021-05-03 17:06:49 +02:00
kleonc 44a4df0476
TileMapEditor Modulate autotile previews
(cherry picked from commit 3f1b95cfb1)
2021-05-03 16:41:48 +02:00
kleonc 839f602859
TileMapEditor::_bucket_fill Check autotile coordinates only if autotile is selected
(cherry picked from commit a1b903066e)
2021-05-03 16:41:28 +02:00
MaxStgs a93f52ee7e
Add WebSocketMultiplayerPeer _incoming_packets check bound
(cherry picked from commit 05ad08941b)
2021-05-03 16:39:04 +02:00
lawnjelly dacd16fd33
Fix 2d software skinning relative transforms
All my earlier test cases for software skinning had the polys parent transform to be identity. This works fine until you had cases where the user had moved the transform of the parent nodes of skinned polys.

This PR fixes this situation by taking into account the final (concatenated) transform of the polys RELATIVE to the skeleton base transform. It does this by applying the inverse skeleton base transform to the poly final transform.

(cherry picked from commit f33e22001f)
2021-05-03 16:37:58 +02:00
bruvzg 87aa694ae5
Duplicate DynamicFontData resources in the editor preview generation thread to avoid race condition.
(cherry picked from commit 301bedd5d4)
2021-04-30 12:12:49 +02:00
Hugo Locurcio edf5a03714
Document that SceneTree.call_group() is deferred
(cherry picked from commit 7516ff3805)
2021-04-30 12:11:08 +02:00
Sergey Minakov 2bd40b4c9c
[iOS] Nonnegative start index for virtual keyboard range
(cherry picked from commit 275772818d)
2021-04-30 12:07:57 +02:00
Fabio Alessandrelli e4cbf9c58a
[HTML5] Fix build for recent emscripten versions.
Library suffix should be `.a`, the `EXTRA_` in
`EXTRA_EXPORTED_RUNTIME_METHODS` is deprecated.

(cherry picked from commit b0f6dec02e)
2021-04-30 12:07:04 +02:00
thebestnom 8dc3d5eb7a
[Android] fix generateDevTemplate
(cherry picked from commit 0477256793)
2021-04-30 12:06:39 +02:00
thebestnom 31bc9d859b
[Android] Allow to build dev template with symbols
(cherry picked from commit fd7141fc03)
2021-04-30 12:06:34 +02:00
Hugo Locurcio 08bedba341
Document that clearcoat/rim lighting is not visible on unshaded materials
(cherry picked from commit 8df0e61cc2)
2021-04-29 13:36:57 +02:00
smix8 42c88d99ae
Add SkeletonIK function documentation
Add SkeletonIK function documentation

(cherry picked from commit 84e603ec7e)
2021-04-29 13:34:31 +02:00
Rémi Verschelde 05a8ddf3d2
SceneTree: Fix type hints for global_menu_action signal
Fixes https://github.com/godotengine/godot-headers/issues/89.

(cherry picked from commit 6ba10c6c1f)
2021-04-29 13:27:42 +02:00
David Snopek 7212256496
Fixes #48178: WebXR broken when built with Emscripten 2.0.13 or later
(cherry picked from commit b77925d246)
2021-04-29 13:07:22 +02:00
Johannes Witt 00b70f60bb
Fix CSG Path Polygon cache being removed after connect
fixes #30229

(cherry picked from commit bab36f1273)
2021-04-29 13:07:11 +02:00
Rémi Verschelde 46a5f3a18e
Android: Upgrade buildTools from 30.0.1 to 30.0.3
It seems 30.0.1 had issues with compatibility with JDK 8 and 11,
which appear to be solved in 30.0.3 as per godotengine/godot-docs#4796.

(cherry picked from commit d88e1f04df)
2021-04-29 13:06:35 +02:00
Fabio Alessandrelli 890ec03431
[Net] Fix socket poll timeout on Windows.
Now correctly computes the timeout value in milliseconds.

(cherry picked from commit 46f7b0f74b)
2021-04-29 13:06:17 +02:00
skyace65 dbf71c1b70
Improve SpriteFrames get_animation_loop description
(cherry picked from commit d311c48d6a)
2021-04-29 13:05:52 +02:00
Rémi Verschelde 278af7d023
doc: Mark LargeTexture as deprecated (removed in 4.0)
Cf. https://github.com/godotengine/godot/pull/48269.

(cherry picked from commit 562c6bd9ab)
2021-04-29 13:05:15 +02:00
Thomas ten Cate 88cfde0aba
Add OpenSimplexNoise output change to changelog
(cherry picked from commit a980bad0b0)
2021-04-29 13:05:01 +02:00
ray90514 cde16a994c
Fix LineEdit undo behaves strangely
(cherry picked from commit 7501c7f48a)
2021-04-29 13:04:39 +02:00
Rémi Verschelde f172123a7a
CI: Upgrade Emscripten to 2.0.15 (same as official standard builds)
We still use Emscripten 1.39.9 for official Mono builds so ideally we want to test
against an old Emscripten version to ensure we don't break compatibility.

But then google-closure-compiler-linux broke compatibility for us and is not properly
pinned, so we need to use a more recent version for now to fix CI.

Cf. https://github.com/emscripten-core/emsdk/issues/802

(cherry picked from commit 9571ae3a33)
2021-04-28 11:52:35 +02:00
Rémi Verschelde feac30b96a
Linux: Remove use_static_cpp override on x86_32
After further testing it seems to work fine now when building binaries with GCC 5
on Ubuntu 16.04 (previously we were using GCC 9 on Ubuntu 14.04).

Follow-up to #45629.

(cherry picked from commit aa15ad72ee)
2021-04-27 13:44:28 +02:00
Rémi Verschelde 5a26bcda12
OSX: Clarify min version requirement (10.12) in Info.plist
The min requirement was upped by #45618 to have proper support for C++14.

Related to #48222.

(cherry picked from commit 8851fa7808)
2021-04-27 13:42:57 +02:00
Marcel Admiraal d8607d8045
Fix CSGMesh undo not refreshing gizmo
(cherry picked from commit 4311c2f66e)
2021-04-27 13:42:42 +02:00
Marcel Admiraal 84dc716d0d
Fix empty CSGShape error
(cherry picked from commit decdf4fcbc)
2021-04-27 13:42:10 +02:00
Maganty Rushyendra 3f3108006f
Fix AudioServer Crash when bus count equals 0
(cherry picked from commit ccc375f163)
2021-04-27 13:41:48 +02:00
lawnjelly 1d8d7b0d4b
Batching - fix number of verts in translation
The translation to larger vertex formats was assuming that batches were rects, and not accounting that the num_commands had a different meaning for lines and polys, so the calculation for number of vertices to translate was incorrect in these cases.

Also prevents infinite loop if a single polygon has too many vertices to fit in the batch buffer.

(cherry picked from commit d08cf5f434)
2021-04-26 11:54:01 +02:00
lawnjelly d696d89bc8
Batching - GLES3 fix light pass modulates
The final_modulate was incorrectly being set in the uniform on light passes in GLES3 in situations where color was baked in the vertices. This was already correct in GLES2. This PR makes prevents setting final_modulate in this situation.

(cherry picked from commit 35c5ccce9e)
2021-04-26 11:54:01 +02:00
Francois Belair 3111910331
Make LSP update the filesystem of changed scripts
This updates global classes and exposes base member variables.
Fixes #39713

(cherry picked from commit b16bb33a5b)
2021-04-26 11:54:01 +02:00
rafallus 3ab33d3ce9
Check if _direct_state_changed() argument is valid
- Modified classes: RigidBody, PhysicalBone, VehicleBody, RigidBody2D, KinematicBody2D
- The input argument is untrusted even in release mode

(cherry picked from commit e075b6b411)
2021-04-26 11:51:00 +02:00
Yuri Roubinsky 7a6a150bc2
[3.2] Prevents default values of VSNodeCustom from overriding by a script
(cherry picked from commit ac91e2ca0d)
2021-04-26 11:50:44 +02:00
kleonc 9201ffa9a2
Improve some argument names for core types
(cherry picked from commit 4d7f642fb3)
2021-04-26 11:50:31 +02:00
Yuri Sizov bceaef6500
Correct pre-deprication warning message regarding linuxbsd/x11 platform
(cherry picked from commit dbd4b45ca2)
2021-04-26 11:50:07 +02:00
Hugo Locurcio dc98144b99
Link to Feature tags more explicitly in ProjectSettings documentation
(cherry picked from commit 188bd5638c)
2021-04-23 22:05:22 +02:00
Arthur Paulino 3b44829fbd
Updating KinematicBody2D "is_on" functions' descriptions
(cherry picked from commit 0c9a1a1cd4)
2021-04-23 22:03:27 +02:00
Rémi Verschelde 5e16b10824
Android: Fix get_buffer false positive on empty dest buffer
Follow-up to #46810, this was missed in #47079 when fixing the issue
for other platforms.

Fixes #48135.

(cherry picked from commit a09f3833bd)
2021-04-23 22:02:34 +02:00
Rémi Verschelde 162c78f9dc
Linux: Don't attempt linking embree3 on non-tools, link it for headless too
`tech_debt++`, that's what we get for not taking the time to cleanup all this
and do it right...

Follow-up to #48073 and #48102.

(cherry picked from commit a14b51df92)
2021-04-23 12:34:27 +02:00
Rémi Verschelde aa84787fb4
lightmapper: Disable build if raycast module can't build
We need to propagate the hacky checks from the raycast config to the
lightmapper config, as the failure of a `can_build()` check is not notified to
other modules (which might even be checked further depending on the processing
order in SConstruct).

A more thorough fix would be to change SConstruct to do two loops on modules:
one to check `can_build()` and disable modules which can't build, then another
one to rechecked `can_build()` with the new lineup and do further config.
But there would be more risk for regressions than with this ad hoc hack.

Similar story for the `platform/x11/detect.py` change... oh my eyes :(

(cherry picked from commit a2c68d9da7)
2021-04-22 19:43:12 +02:00
Hugo Locurcio 1e3166115a
Tweak lightmapper warning message to mention Rosetta emulation on macOS
(cherry picked from commit 47f869b731)
2021-04-22 18:08:30 +02:00
Rémi Verschelde 66625962bf
embree: Allow building against system library on Linux
(cherry picked from commit b266cc2315)
2021-04-22 18:07:35 +02:00