Commit graph

6559 commits

Author SHA1 Message Date
Rémi Verschelde
6e600cb3f0
Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
Rémi Verschelde
7e61be3cb0
Style: Remove executable bit from non-runnable files 2021-05-04 14:45:07 +02:00
Koala
d08666f999
Fix indent left line selection
(cherry picked from commit 2c64008718)
2021-05-04 12:47:36 +02:00
PouleyKetchoupp
cc83557716
Allow values > 1 for friction and bounce in PhysicsMaterial
(cherry picked from commit 67987be644)
2021-05-04 12:46:35 +02:00
Rémi Verschelde
9052d56c92
Merge pull request #48217 from nekomatata/fix-mesh-instance-skinning-init
Fix skinning initialization in MeshInstance when loaded from thread
2021-05-04 12:28:04 +02:00
Fabio Alessandrelli
77e3514315
[Net] Implement String::parse_url for parsing URLs.
Splits the URL into (scheme, host, port, path).
Supports both literal IPv4 and IPv6.
Strip credentials when present (e.g. http://user:pass@example.com/).

Use that function in both HTTPRequest and WebSocketClient.

(cherry picked from commit 3bb40669d5)
2021-05-03 21:39:43 +02:00
Rémi Verschelde
6abf571d79
Merge pull request #48324 from MaxStgs/fix_comparsion
[3.x] Fix BakedLightmap bias bound check
2021-05-03 17:06:15 +02:00
MaxStgs
b4cc8ed6f2 Fix BakedLightmap bias bound check 2021-04-30 15:16:51 +05:00
PouleyKetchoupp
0ba5001fb6 Expose get_debug_mesh in Shape to scripting API
Can be useful for custom drawing of physics shapes without having to add
a collision object node to the tree.
2021-04-29 18:20:29 -07:00
Rémi Verschelde
e94161dada
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)
2021-04-29 16:57:00 +02:00
Rémi Verschelde
0c14d10522
Merge pull request #48296 from akien-mga/3.x-cherrypicks 2021-04-29 13:48:49 +02:00
Rémi Verschelde
606073db06
Merge pull request #47173 from LightningAA/graphedit-zoom-cherrypicks 2021-04-29 13:33:17 +02:00
Rémi Verschelde
d252ef4c5e
Merge pull request #46527 from kuruk-mm/3_2_lineedit 2021-04-29 13:32:33 +02:00
Rémi Verschelde
880b830ca8
Merge pull request #46292 from hilfazer/nested_scene_instances_duplication 2021-04-29 13:31:27 +02:00
Rémi Verschelde
188147e82c
Merge pull request #48259 from akien-mga/scenetree-global_menu_action-types
SceneTree: Fix type hints for `global_menu_action` signal
2021-04-29 13:27:32 +02:00
Rémi Verschelde
70ae90e0e8
Core: Drop custom copymem/zeromem defines
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f6639.

There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.

Backport of #48239.
2021-04-29 12:34:11 +02:00
Rémi Verschelde
d54c13ac1a
Tabs: Remove unused 'panel' stylebox from default theme
Cf. https://github.com/godotengine/godot/issues/37875#issuecomment-625297308.

(cherry picked from commit cd8d321961)
2021-04-29 12:30:10 +02:00
Lightning_A
e4addffde1
Put physics override parameters in their own group and document that areas can be used to influence audio
(cherry picked from commit 80b1a29c46)
2021-04-29 12:27:31 +02:00
floppyhammer
4628ab2a15
ImproveCompletionPanelPositionInShaderEditor
(cherry picked from commit e927a9fef0)
2021-04-29 11:35:52 +02:00
David Hoppenbrouwers
224fce946b
Fix joint RID not being passed to _set in PhysicalBone
Also remove default RID() argument from JointData._set()

(cherry picked from commit 41e00b6787)
2021-04-29 11:30:17 +02:00
univeous
43d3eca5e9
allow input echo when changing ui focus
(cherry picked from commit f5b506763e)
2021-04-29 11:27:56 +02:00
Lyuma
11b8b8ad27
Allow renaming bones and blendshapes.
(cherry picked from commit d13568a8d1)
2021-04-29 11:27:56 +02:00
Rémi Verschelde
31581ca429
Merge pull request #46687 from QbieShay/fix-particle-rotate-y 2021-04-28 17:08:44 +02:00
Rémi Verschelde
3edf1adf91
Merge pull request #38348 from asheraryam/convex-decompose
[3.x] Create GDScript bindings for creating multiple-convex collision bodies
2021-04-28 16:48:59 +02:00
Rémi Verschelde
6cb61b67e6
Merge pull request #41471 from Calinou/giprobe-deprecate-compress-3.2 2021-04-28 12:01:55 +02:00
Rémi Verschelde
6ba10c6c1f
SceneTree: Fix type hints for global_menu_action signal
Fixes https://github.com/godotengine/godot-headers/issues/89.
2021-04-28 09:40:59 +02:00
Rafał Mikrut
06976c3e84 [3.x] Fix crashes when using _input functions 2021-04-27 16:51:29 +02:00
asheraryam
342c88841d Create bindings for creating multiple-convex-collision static bodies from gdscript 2021-04-27 06:55:17 +03:00
PouleyKetchoupp
feee9f9695 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.
2021-04-26 11:42:46 -07:00
Lightning_A
827f6739a2 Initialize some graphedit values in the header 2021-04-26 09:22:28 -06:00
Tomasz Chabora
44e84c61a6
Add disabled theme icons for CheckBox
(cherry picked from commit 3a40c268a6)
2021-04-26 13:15:28 +02:00
Johannes
a3c67dd3fc
Fix removal of rect_min_size not triggering resize
fixes #46672

(cherry picked from commit c8868fcaab)
2021-04-26 13:07:59 +02:00
Rémi Verschelde
030f0f58a3
Scene: Remove unused mesh_materials StringNames
They were added in 8be2fabbe5 (2.1 era) but
were likely a first attempt that didn't get unused in the end.

(cherry picked from commit 764eee03a4)
2021-04-26 12:20:28 +02:00
ray90514
ea8004052d
Fix LineEdit undo behaves strangely
(cherry picked from commit 7501c7f48a)
2021-04-26 12:20:28 +02:00
Rémi Verschelde
e554ecd691
Merge pull request #47451 from BastiaanOlij/arvr_positional_tracker_ref
Change ARVRPositionalTracker to a reference (3.x)
2021-04-26 07:45:34 +02:00
Rémi Verschelde
e572be0c5f
Merge pull request #47484 from rafallus/fix/rigidbody-crash3.x
Fix crash on RigidBody _direct_state_changed (3.x)
2021-04-24 01:36:24 +02:00
Rémi Verschelde
32c1bada99
Merge pull request #47827 from Chaosus/vs_fix_default_input_overriding_3.2
[3.x] Prevents default values of VSNodeCustom from overriding by a script
2021-04-23 22:06:08 +02:00
JFonS
2db2d1153d CPU lightmapper environment energy fixes.
* Better handling of the scene's environment energy in the lightmapper
  bakes.
* Fixed a bug where ProceduralSky::get_panorama() returned a reference
  instead of a copy.
* Removed includes to Embree's internal header files.
2021-04-22 16:26:04 +02:00
TwistedTwigleg
51be345a17
Changed SkeletonIK3D to clear bone overrides when stopping
(cherry picked from commit 9ebdf812df)
2021-04-17 10:51:22 +02:00
smix8
fe7b624353 fix skeleton (ik) not resetting global_bone_overrides properly
fix skeleton (ik) not resetting global_bone_overrides properly
2021-04-15 16:50:59 +02:00
Rémi Verschelde
9df1ed3edb
Merge pull request #47849 from nekomatata/debug-shape-crash-fix-3.x
[3.x] Fix crashes with CollisionObject debug shapes
2021-04-13 10:13:19 +02:00
PouleyKetchoupp
a1db6784d6 Fix crashes with CollisionObject debug shapes
MeshInstance added as child nodes for CollisionObject debug shapes can
be invalidated while deleting the collision object (child nodes are
deleted first), which caused accesses to invalid memory in
shape_owner_remove_shape that lead to random crashes.

Also optimized accesses to shapes to avoid copy-on-write on each
iteration.
2021-04-12 20:04:13 -07:00
Yuri Roubinsky
ac91e2ca0d [3.2] Prevents default values of VSNodeCustom from overriding by a script 2021-04-12 14:52:19 +03:00
TwistedTwigleg
9c33f091cd Godot 3.x backport: Fix for SkeletonIK not working correctly with 0 interpolation and incorrectly rotating with animation. Now the root bone rotates differently to ensure it always rotates correctly and works with BoneAttachment nodes. 2021-04-08 18:45:54 -04:00
rafallus
e075b6b411 Check if _direct_state_changed() argument is valid
- Modified classes: RigidBody, PhysicalBone, VehicleBody, RigidBody2D, KinematicBody2D
- The input argument is untrusted even in release mode
2021-04-07 20:00:30 -05:00
Lightning_A
77cf07c013 Make scrollwheel zoom based on mouse position, cherry-picked for 3.x 2021-04-06 09:36:15 -06:00
Rémi Verschelde
822b734601
Re-allow playing AnimatedSprite2D without frames
Fixes #47578, partial revert of #47064.

(cherry picked from commit 77264e346b)
2021-04-05 15:01:01 +02:00
bruvzg
d844e72157
RichTextLabel: On custom effect change, parse bbcode only if it's enabled and not empty.
(cherry picked from commit 9f73abfa9f)
2021-04-05 12:01:51 +02:00
Kevin Smith
c081596a55
Make ColorPicker button text and tooltips appear in exported projects
(cherry picked from commit a7d12920f2)
2021-04-05 11:58:03 +02:00
Rémi Verschelde
54f0d8cf96
Merge pull request #47533 from qarmin/fix_navigation
[3.x] Validate argument in Navigation2D::navpoly_add
2021-03-31 20:29:45 +02:00
Rafał Mikrut
050edac8e0 Validate argument in Navigation2D::navpoly_add 2021-03-31 20:10:51 +02:00
Rémi Verschelde
7b35fc4549
Merge pull request #47382 from akien-mga/3.x-tilemap-collisions-opt-in
TileMap: Make collision visibility opt-in
2021-03-31 17:59:41 +02:00
Rémi Verschelde
72a547dc9d
TileMap: Make collision visibility opt-in
Supersedes #47204, see discussion there.
2021-03-30 23:39:37 +02:00
Hugo Locurcio
5fdb8b02e3
Require editor restart after changing GUI custom theme or font
The `restart_if_changed` project setting hint wasn't set correctly.

(cherry picked from commit 0724424179)
2021-03-30 16:02:33 +02:00
volzhs
b4d88cfe20
Fix typo 'previus_selected'
(cherry picked from commit 990c88f24c)
2021-03-29 14:23:43 +02:00
volzhs
3ee4efe1eb
Fix drawing boxselection on GraphEdit
(cherry picked from commit 1bdc14acea)
2021-03-29 14:23:08 +02:00
Bastiaan Olij
4cce36e35d Change ARVRPositionalTracker to a reference and better expose it to GDNative 2021-03-29 23:01:04 +11:00
lupoDharkael
3b0cf34299 Control: Expose pass_on_modal_close_click 2021-03-25 18:29:41 +01:00
Morris Tabor
e06b096994 Fix ParticlesMaterial spread 2021-03-25 17:27:00 +01:00
Nathan Franke
5e434841ec
Add Root Null Check
(cherry picked from commit 3c921ba801)
2021-03-21 01:20:59 +01:00
jmb462
6c950977a5
Prevent resizing minimap bigger than GraphEdit (Fix #47189)
Minimap size couldn't be resized back after been resized bigger than GraphEdit cause the grabber was out of GraphEdit.
This commit prevents resizing minimap bigger than GraphEdit and fix this issue.

(cherry picked from commit 045f55ec00)
2021-03-20 23:08:46 +01:00
Lightning_A
72c54c10eb Enable zooming graph_edit with scrollwheel, cherry-picked for 3.x 2021-03-19 14:18:46 -06:00
Yuri Roubinsky
70cd4c5958 Fix GraphEdit connects when graph is zoomed/unzoomed, cherry-picked for 3.x 2021-03-19 14:12:23 -06:00
Yuri Roubinsky
3ad676cbbe Fix GraphEdit reconnecting to disconnected port, cherry-picked for 3.x 2021-03-19 14:12:11 -06:00
Yuri Roubinsky
0b7384621e Prevents incorrect connection attempt on port clicking in GraphEdit, cherry-picked for 3.x 2021-03-19 14:11:54 -06:00
TwistedTwigleg
f50c8062dd
Fix for regression in SkeletonIK code
(cherry picked from commit c15e23396d)
2021-03-19 10:53:58 +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
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
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
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
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
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
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
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
Pop0p
d2a577f7f1
trims_whitespaces_when_creating_folder_windows
When creating a Windows folder via a Godot's dialog, the extra spaces are not removed which causes problems with Windows. We now remove leading and trailing whitespace when creating a dir.

(cherry picked from commit c8538153b0)
2021-03-13 22:25:34 +01:00
Rémi Verschelde
eb1698dd2a
Fix Control::_edit_set_state bogus error check
My mistake when cherry-picking #46699 with f8ee8b1b73,
I forgot to amend the cherry-pick to change 'offsets' back to 'margins' for the 3.2
branch.

Fixes #46979.
2021-03-13 21:10:12 +01:00
Rémi Verschelde
ba174332af
Merge pull request #46939 from abaire/relaxes_gltf_name_sanitization_3.2
Relaxes Node naming constraints in glTF documents to match the Editor.
2021-03-13 14:57:09 +01:00
abaire
b032067e42 Relaxes Node naming constraints in glTF documents to match the Editor. 2021-03-12 08:35:50 -08:00
Rémi Verschelde
3f246ebeed
Merge pull request #46932 from JFonS/fix_lm_capture_env
[3.2] Batch of lightmapper fixes and minor improvements
2021-03-12 12:30:36 +01:00
JFonS
e2c28675ef Batch of lightmapper fixes and minor improvements
- Fix objects with no material being considered as fully transparent by the lightmapper.
- Added "environment_min_light" property: gives artistic control over the shadow color.
- Fixed "Custom Color" environment mode, it was ignored before.
- Added "interior" property to BakedLightmapData: controls whether dynamic capture objects receive environment light or not.
- Automatically update dynamic capture objects when the capture data changes (also works for "energy" which used to require object movement to trigger the update).
- Added "use_in_baked_light" property to GridMap: controls whether the GridMap will be included in BakedLightmap bakes.
- Set "flush zero" and "denormal zero" mode for SSE2 instructions in the Embree raycaster. According to Embree docs it should give a performance improvement.
2021-03-12 12:00:53 +01:00
TwistedTwigleg
71c6c85565 Changes to SkeletonIK:
* Removed the pointers to PhysicalBone in the code, as they were unused.
* Forward ported the SkeletonIK bone scaling fix I made from Godot 3.2 to Godot 4.0.
* Fixed issue where the root bone in the IK chain would not rotate correctly.
  * The issue turned out to be the update_chain function being called in solve. This would override the root bone transform incorrectly and that would cause it not to rotate after just a single solve. Removing the update_chain function fixes the issue and based on my testing there are no adverse effects.
  * While the old fix on this PR (prior to a force push) required a hack fix, this new fix does not!
* Removed the update_chain function. This change doesn't appear to have any adverse effects in any of the projects I tested (including with animations, Skeleton3D or otherwise, from AnimationPlayer nodes!)
* Fixed issue where the scale of the Skeleton node would change the position of the target, causing it not to work with skeletons that have a global scale of anything but 1.

(cherry picked from commit a622649876)
2021-03-12 11:29:03 +01:00
sps1112
f8ee8b1b73 Fix Control._edit_set_state crash
(cherry picked from commit 05f5a43cad)
2021-03-12 10:11:54 +01:00
Rémi Verschelde
b7e06930aa
Revert "Fix flicker in control nodes due to pivot offset" 2021-03-11 11:01:48 +01:00
Rémi Verschelde
6e9b1d99e2 Camera2D: Update scrolls when the Viewport is resized
Factored the `viewport`/`custom_viewport` setup code which was used in two
locations to ensure consistency.

Fixes #46826.
2021-03-09 17:17:51 +01:00
Angad Kambli
144749c31b use collision mask in vehicle raycast
(cherry picked from commit bfc533fc4c)
2021-03-08 17:40:22 +01:00
Rémi Verschelde
118567ca28
Merge pull request #46657 from lawnjelly/revert_snapping
Revert backport of 2D transform and camera snapping options
2021-03-08 14:49:41 +01:00
Rémi Verschelde
3fafaf2cf2
Merge pull request #46717 from lawnjelly/camera_process
Improve process logic in Camera2D
2021-03-08 14:42:08 +01:00
lawnjelly
8763d891fe Improve process logic in Camera2D
The logic for internal process and internal physics process in Camera2D was very buggy and convoluted for historical reasons.

This is a cleanup to make the logic simpler and easier to follow.
2021-03-08 13:29:19 +00:00
kobewi
749892c9fc Release mouse when SpinBox leaves scene tree
(cherry picked from commit 83f6c6b360)
2021-03-07 22:51:06 +01:00
Hugo Locurcio
ac6251d8b2
Remove deprecation warning messages from InterpolatedCamera
Since Godot 4.0's relea	se is still a while away, warning users
every time the project starts might be a bit too dramatic.
2021-03-07 15:56:41 +01:00
PouleyKetchoupp
17bb7c6735 Fix errors with invalid CollisionPolygon2D
Fixed internal errors when the shape is invalid and made warnings more
descriptive.

(cherry picked from commit 2217e477b9)
2021-03-05 22:45:29 +01:00
PouleyKetchoupp
6c0002afb5 Fix errors and crash with empty ConvexPolygonShape2D
(cherry picked from commit 6fb6090748)
2021-03-05 22:45:29 +01:00
lawnjelly
136f94fa24 Fix Camera2D frame delay
Fixes camera frame delay by always doing a scroll update except when smoothing is active.
2021-03-05 15:46:26 +00:00
lawnjelly
bf1de6bbfa Revert backport of 2D transform and camera snapping options
More work is needed to make sure that those options actually solve users' issues, so we prefer to remove the options for 3.2.4 and revisit for a future release.
2021-03-05 14:20:31 +00:00
QbieShay
ffbb81e769 fixed particle rotate y flag 2021-03-05 11:31:03 +01:00
Rémi Verschelde
cad3771ce7
Merge pull request #46623 from Janglee123/tilemap-collision-show
Added `show_collision` property for tilemap node.
2021-03-04 23:40:17 +01:00
janglee
7b6cc3e687 Added show_collision property.
If true, collision shapes are shown in the editor and at run-time.
Requires Visible Collision Shapes to be enabled in the Debug menu,
for collision shapes to be visible at run-time.
2021-03-05 01:21:40 +05:30
Pedro Rodrigues
138d5121eb Fix crash trying to destroy an ImageTexture object containing a null texture
The problem happened when `ImageTexture::create_from_image` was called
with an empty image. In this situation an RID was allocated despite the
texture being null. The destructor would then crash trying to acess this
null texture.

Fixes #46274

(cherry picked from commit 46218d8c37)
2021-03-04 12:21:17 +01:00
kobewi
b82d5688b9 Deselect column only if belongs to deselected item
(cherry picked from commit 5cd5722f6a)
2021-03-04 12:20:35 +01:00