Commit Graph

29376 Commits

Author SHA1 Message Date
ArdaE 87573e92dc
GLTF import: Prevent significant numerical errors in keyframe times
Keyframe times shift slowly in imported animations, starting with a zero shift
at the beginning and increasing and becoming erratic slowly farther into an
animation, reaching significant levels at times after about 3 minutes into an
animation. This commit fixes the issue by increasing the precision of the
floating point numbers used for keyframe time calculations. Only the most
significant cases that cause fast accumulation of errors over a short animation
duration are fixed. Other cases that would have a marginal benefit from
switching to double precision numbers are left for another PR/further analysis.
Note that this change has no impact on the runtime performance of games/apps
created using Godot. It only affects the GLTF importer.

Fixes #47127.

(cherry picked from commit 6770a9413b)
2021-03-19 10:53:37 +01:00
Hugo Locurcio 79f8b5eff1
Tweak the editor splash screen color to better match the default theme
This helps achieve a visually "smoother" transition between the splash
screen and the editor.

(cherry picked from commit ff2871f9ac)
2021-03-19 10:51:39 +01:00
Justin Ho 672fdb7af2
Check for null pointer in get_column_width(0)
(cherry picked from commit fa6fd3a2d0)
2021-03-19 10:51:09 +01:00
jmb462 a5bcacb115
Fix AudioEffectCapture buffer length cannot be changed
(cherry picked from commit b588232b83)
2021-03-19 10:50:18 +01:00
jmb462 843eb80039
Fix BBCode tables overlap with bottom text
New row height was added only if all the column was full.

(cherry picked from commit 25af026d9e)
2021-03-19 10:49:36 +01:00
Rémi Verschelde 7696f88544
Merge pull request #47152 from nekomatata/soft-body-attachment-error-3.3
[3.3] Fix spamming errors when SoftBody pinned nodes have no attachment
2021-03-19 08:38:46 +01:00
PouleyKetchoupp 0b51cb7a11 Fix spamming errors when SoftBody pinned nodes have no attachment
There was a specific case where the node path wasn't checked for
validity before trying to access the attachment node.

It could cause lots of error log noise in both editor and game.
2021-03-18 16:22:53 -07:00
bruvzg 15ff752737
Add "Replace existing signature" to the macOS export (enabled by default).
(cherry picked from commit 9e18fce943)
2021-03-18 22:31:09 +01:00
Rémi Verschelde a0f56b5459
Mono: Fix Android build after #46900
(cherry picked from commit 2274d4eebc)
2021-03-18 17:58:49 +01:00
Crystal Melting Dot 0eb0e6128c
Fix TabContainer _get_tab_width
Now it translates node name before calculating tab width

(cherry picked from commit 89baf02fb6)
2021-03-17 21:06:09 +01:00
Rémi Verschelde 7f2107ebfd
Merge pull request #47105 from m4gr3d/fix_permissions_result_callback_3_x
[3.x] Fix onMainRequestPermissionsResult callback for Android plugins.
2021-03-17 17:53:02 +01:00
Fredia Huya-Kouadio 14e7f6fa7c Fix onMainRequestPermissionsResult callback for Android plugins. 2021-03-17 09:30:19 -07:00
Fabio Alessandrelli 3ed72c3ef4
[HTML5] Fix bogus Web Editor manifest.
The `start_url` in the PWA manifest.json must be relative for it to
work in subfolders (like in the official Web Editor page).

(cherry picked from commit 85c1a41021)
2021-03-17 17:08:23 +01:00
Rémi Verschelde 5d8ae492ba
Merge pull request #47100 from akien-mga/3.x-cherrypicks
Cherry-picks for the 3.3 branch (future 3.3) - 30th batch
2021-03-17 16:04:55 +01:00
jmb462 ae8019a7f6
Fix crash on calling play() in a uninitialized AnimatedSprite2D
When AnimatedSprite2D::play() was called before SpriteFrames has been initialized, a crach occurred (issue #46013).

Modification : An error message on null check test has been added to prevent crash.

Fix #46013.

(cherry picked from commit 324ab63844)
2021-03-17 15:33:38 +01:00
Kongfa Waroros e8d0089901
Check AnimationNode to update properties
(cherry picked from commit 981ca8045f)
2021-03-17 15:17:02 +01:00
Alex Hirsch 0b541af8a1
Allow nullptr with zero length in FileAccess get_buffer
fix #47071

(cherry picked from commit c28428fe4d)
2021-03-17 15:17:02 +01:00
K. S. Ernest (iFire) Lee f1e8ec942d
Expand bone name possibilities.
(cherry picked from commit c203fbfa8c)
2021-03-17 15:17:02 +01:00
Marcus Brummer 9926425ce9
Document different unit of measurement for sensor data on iOS and Android
(cherry picked from commit d1798b235c)
2021-03-17 15:17:02 +01:00
Fredia Huya-Kouadio 0eb220eedc
Fix bug causing `project.godot` to be ignored when `project.binary` is missing
(cherry picked from commit 862e2df1a4)
2021-03-17 15:17:02 +01:00
Fredia Huya-Kouadio 864f4201b9
Enable `doNotStrip` when doing development/debugging within Android Studio
(cherry picked from commit 4380004176)
2021-03-17 15:17:02 +01:00
Ilya Kuznetsov cacf96962d
Added mono_unhandled_exception call to unhandled_exception hook
(cherry picked from commit 6061ff7ba1)
2021-03-17 15:17:02 +01:00
Rémi Verschelde 33628c482f
miniupnpc: Update to version 2.2.2
(cherry picked from commit 69486b1059)
2021-03-17 15:16:59 +01:00
Rémi Verschelde ea9c1c0a94
Merge pull request #45577 from Birdulon/DocDrawString
[3.3] Documentation: Correct CanvasItem.draw_string position description
2021-03-17 15:16:10 +01:00
Rémi Verschelde e6b291b152
Mono: Bump Godot.NET.Sdk to 3.3.0
Using only 3.3 results in a build warning.

Follow-up to #47055.
2021-03-17 14:46:26 +01:00
Rémi Verschelde 2ffbe3c877
Merge pull request #47092 from lawnjelly/ewok_large_fvf_polys
Batching - prevent CPU transform for non-rects using large FVF
2021-03-17 14:16:02 +01:00
lawnjelly 0d80385687 Batching - prevent CPU transform for non-rects using large FVF
Large FVF which encodes the transform in a vertex attribute is triggered by reading from VERTEX in a custom shader. This means that the local vertex position must be available in the shader, so the only way to batch is to also pass the transform as an attribute.

The large FVF path already disabled CPU transform in the case of rects, but not in other primitives, which this PR fixes.

Note that large FVF is incompatible with 2d software skinning. So reading from VERTEX in a custom shader when using skinning will not work.
2021-03-17 12:04:59 +00:00
Rémi Verschelde dae319355f
Merge pull request #47068 from nekomatata/cylinder-fix-margins-3.2
[3.3] Fix Cylinder shape collision with margins when using GJK-EPA
2021-03-17 11:05:46 +01:00
Rémi Verschelde be64551922
Merge pull request #47085 from nekomatata/cylinder-capsule-collision-fix-3.2
[3.3] Fix capsule-cylinder collision in godot physics
2021-03-17 11:04:07 +01:00
Rémi Verschelde 0d0841e08e
Merge pull request #47082 from nekomatata/collision-debug-shape-game-only-3.3
[3.3] Disable debug collision shapes in the editor
2021-03-17 10:38:12 +01:00
PouleyKetchoupp 27a01d054d Fix capsule-cylinder collision in godot physics
Test specific axes before falling back to GJK-EPA algorithm to get more
accurate separation axes for common cases, the same way it's done for
cylinder-cylinder collision.
2021-03-16 19:14:51 -07:00
PouleyKetchoupp baf24b4503 Disable debug collision shapes in the editor
If the editor was started with --debug-collisions, 3d shapes were
displayed twice, both with the gizmo and debug shapes. Some shapes could
also persist after being removed due to the usage of queue_free() to
destroy the debug shapes.
2021-03-16 17:58:51 -07:00
PouleyKetchoupp abb5660925 Fix Cylinder shape collision with margins when using GJK-EPA
In the case of falling back to GJK-EPA algorithm to generate cylinder
contact points, margins were never taken into account.

This fixes the depenetration phase for kinematic bodies and allows
consistent floor detection for cylinder shapes.
2021-03-16 10:20:19 -07:00
Rémi Verschelde 2e90db407a
Merge pull request #47055 from akien-mga/3.2.4-is-dead-long-live-3.3
Bump version to 3.3-rc
2021-03-16 18:13:16 +01:00
Rémi Verschelde 0341251d0f
Bump version to 3.3-rc
We decided to rename the upcoming 3.2.4 release to 3.3 to better reflect that
it is a significant feature release, and not a maintenance update.

The `3.2` branch was also renamed to `3.x` and will now be the development
branch for future 3.x releases (3.3, 3.4, etc.).
2021-03-16 12:16:36 +01:00
Rémi Verschelde 94a0fc47f7
i18n: Sync translations with Weblate 2021-03-16 11:41:29 +01:00
Haoyu Qiu 966c89657b
Fix AnimationTree editor crash when renaming node
(cherry picked from commit eac806547f)
2021-03-16 11:38:29 +01:00
Hugo Locurcio ee8661158c
Document the valid input range for `acos()` and `atan()`
(cherry picked from commit d359e159da)
2021-03-16 11:37:26 +01:00
Aaron Franke d82c01c1a0
Improve documentation for AtlasTexture
(cherry picked from commit 682286fec8)
2021-03-16 11:35:23 +01:00
Rémi Verschelde 76b375e6a3
Thread: Re-add pthread_np.h include for FreeBSD/OpenBSD
Was a regression from #45315.

Fixes #46998.

(cherry picked from commit 7a64819c2f)
2021-03-16 11:33:55 +01:00
Kongfa Waroros 7646cbbca6
Check if _edit_set_position and _edit_set_rect was used outside an editor
(cherry picked from commit b80406770f)
2021-03-16 11:11:31 +01:00
Dominik 'dreamsComeTrue' Jasiński ac4cedc596
Reset ruler tool when switching tools with shortcuts
Fixes: #37056
(cherry picked from commit a99a671034)
2021-03-16 11:11:27 +01:00
Rémi Verschelde 8ec3a33115
Merge pull request #47047 from m4gr3d/simplify_godot_plugin_methods_registration
[3.2] Improve Godot Android plugin methods registration
2021-03-16 10:35:06 +01:00
Fredia Huya-Kouadio 94df08aae1 Leverage java annotations to simplify the logic used to register the Godot plugin methods. 2021-03-16 01:20:43 -07:00
Rémi Verschelde bbc87d54dd
Merge pull request #47045 from timothyqiu/image-lock-crash
[3.2] Fix invalid memory usage when modifying locked image
2021-03-16 08:08:45 +01:00
Rémi Verschelde 95a9e2987a
Merge pull request #47044 from timothyqiu/grid-map-ub
[3.2] Fix uninitialized GridMapEditor::node
2021-03-16 08:06:46 +01:00
Haoyu Qiu 0a17e96ab2 Fix invalid memory usage when modifying locked image 2021-03-16 13:45:45 +08:00
Haoyu Qiu 871843bbdc Fix uninitialized GridMapEditor::node 2021-03-16 10:20:56 +08:00
Rémi Verschelde 3ddab1c9d1
Merge pull request #47028 from Faless/net/3.x_upnp_null_fixes
[3.2] [Net] Fix miniupnpc when no interface is specified
2021-03-15 18:32:36 +01:00
Fabio Alessandrelli 50f0f51604 [Net] Fix miniupnpc when no interface is specified
This is a tricky one, it used to work, but it was wrong, because in such
a scenario instead of passing NULL as required by the API, it would pass
a buffer containing the `\0` terminator.
This stopped working on a specific miniupnpc version, when they fixed
some network endianess issue on Windows, to which we made a workaround,
which in turn would probably result in failures when the interface is
specified.

This commit address the issue properly, by checking the specified
interface string size, and correctly passing NULL instead of the empty
string when necessary.

Also reverts the commit that introduced the bogus workaround:
388adac947

One of those PR when the explanation is much longer then code changes
:).
2021-03-15 18:12:05 +01:00