Commit Graph

6594 Commits

Author SHA1 Message Date
Haoyu Qiu
1866a605e1
Fix Tree::get_column_at_position crash
(cherry picked from commit c8efcf81d2)
2021-05-17 13:07:39 +02:00
Pedro J. Estébanez
817ffc01e1
Make all file access 64-bit (uint64_t)
This changes the types of a big number of variables.

General rules:
- Using `uint64_t` in general. We also considered `int64_t` but eventually
  settled on keeping it unsigned, which is also closer to what one would expect
  with `size_t`/`off_t`.
- We only keep `int64_t` for `seek_end` (takes a negative offset from the end)
  and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means
  we only need to guard against passing negative values in `core_bind.cpp`.
- Using `uint32_t` integers for concepts not needing such a huge range, like
  pages, blocks, etc.

In addition:
- Improve usage of integer types in some related places; namely, `DirAccess`,
  core binds.

Note:
- On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with
  version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for
  big files on 32-bit Windows builds made with that toolchain. We might add a
  workaround.

Fixes #44363.
Fixes godotengine/godot-proposals#400.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-16 17:52:31 +02:00
Brennen Green
fac2e5dc67
Manually unpacked normal mapping to fix issue with refraction being offset rather than distorted.
(cherry picked from commit 31f2d946ad)
2021-05-14 11:35:27 +02:00
Rémi Verschelde
9d1770d4fb
Merge pull request #44657 from timothyqiu/inspect-dynamic-3.2
[3.x] Fix display of programmatically created value in remote inspector
2021-05-14 10:23:27 +02:00
Eoin O'Neill
0e7c2ea331
Attempt to fix rich text label effects processing even when
the node is invisible.

ISSUE:47687
(cherry picked from commit c4f976b38b)
2021-05-14 10:17:17 +02:00
Rémi Verschelde
39826d3a94
Merge pull request #47310 from mortarroad/3.x-fix-particles-material-spread
[3.x] Fix ParticlesMaterial spread.
2021-05-11 09:10:31 +02:00
Hugo Locurcio
d990035ebb
Implement reverting to the old color when clicking it in ColorPicker 2021-05-10 22:43:04 +02:00
Hugo Locurcio
6d03fe5194
Display the old color in ColorPicker for easier comparison
This only affects ColorPickerButton nodes that spawn a ColorPicker,
not standalone ColorPickers.
2021-05-10 17:36:03 +02:00
Rémi Verschelde
18277679a7
Merge pull request #48588 from trollodel/collisionobject3d-no-mi-3.x
[3.x] Create CollisionObject debug shapes using VS
2021-05-09 18:55:25 +02:00
trollodel
60ee8c9639 Create CollisionObject debug shapes using VS 2021-05-09 18:30:27 +02:00
Hugo Locurcio
0c424abe3c
Fix Tree's background focus outline displaying behind section headings
(cherry picked from commit 63897f16b1)
2021-05-09 17:51:36 +02:00
kobewi
cb5870dd4a
Display arrow cursor if text is not editable
(cherry picked from commit c3967c80ab)
2021-05-09 17:50:06 +02:00
Tokage
0454848f4d
fix unintentional object rotation by animation tree
(cherry picked from commit ddac0e95dc)
2021-05-09 17:48:45 +02:00
besh81
c1e887edb8
Fixed bug in tab_container with hidden tabs
Fix a bug that occour when there are hidden tabs in tab_container.
The visualization isn't correct due to missing values in tab_widths array.

(cherry picked from commit e7e7aa7d12)
2021-05-09 17:47:38 +02:00
Gilles Roudière
472f7e9756
Adds a pressed signal to ButtonGroup
(cherry picked from commit 323f176915)
2021-05-09 17:47:37 +02:00
kleonc
1184013fcf
TileMap::world_to_map Ensure half offset is added according to the returned value
Decide whether half offset should be added based on the value used for calculating the return value of this method.

(cherry picked from commit f1420c7cbf)
2021-05-09 17:15:44 +02:00
Rémi Verschelde
ee86dc3011
TileSet: Improve error message for invalid IDs
Supersedes #47321.
Fixes #47313.
2021-05-09 16:56:52 +02:00
QbieShay
3af20b9bdf Added ring emitter for 3D particles
This commits adds a new emitter type for particles material
and 3D CPU particles. The new emitter is called "ring"
and it can emit either in a ring or cylinder fashion.
This adds the following properties for the emitter:
1. ring_emitter_axis: the axis along which the ring/cylinder
    will be constructed
2. ring_emitter_radius: outer radius of the ring/cylinder
3. ring_emitter_inner_radius: inner radius of the cylinder.
    when set to zero, particles will emit in the full volume.
4. ring_emitter_height: height of the ring/cylinder emitter.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-09 13:18:05 +02:00
Pedro J. Estébanez
4da9a501f6 Add animation reset track feature
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2021-05-09 09:40:16 +02:00
rafallus
0ad0f71ba0
Check input mesh is valid in SurfaceTool methods 2021-05-09 00:38:17 +02:00
Marcel Admiraal
8766769fd4 Move collision layer and mask into CollisionObject. 2021-05-08 11:40:57 +01:00
Rémi Verschelde
84061ab03d
Merge pull request #48251 from TwistedTwigleg/skeletonik_changes_and_bug_fixes_regressionfix3_Godot3
[3.x] Fixed issue in SkeletonIK leading to some root bones being twisted incorrectly
2021-05-08 10:40:38 +02:00
TwistedTwigleg
c1bc87ed0d Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides 2021-05-06 20:11:21 -04:00
Rémi Verschelde
64403ddcab
Merge pull request #42543 from clayjohn/vertex-lighting-bug
Force vertex shading in SpatialMaterial when used
2021-05-07 00:48:32 +02:00
clayjohn
3dd2e5d870 Only set base in Sprite3D when needed 2021-05-05 22:35:21 -07:00
clayjohn
0445531ced Force vertex shading in SpatialMaterial when used 2021-05-05 19:49:18 -07:00
Rémi Verschelde
2a1fb62e96
Merge pull request #48316 from nekomatata/expose-physics-debug-shape-3.x
[3.x] Expose get_debug_mesh in Shape to scripting API
2021-05-05 15:17:48 +02:00
Rémi Verschelde
140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde
0c8b5b5c4d
Style: Remove redundant void argument lists
Using clang-tidy's `modernize-redundant-void-arg`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2021-05-04 16:40:33 +02:00
Rémi Verschelde
b4af1eba0a
Style: Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2021-05-04 16:39:13 +02:00
Rémi Verschelde
a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde
b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde
64a63e0861
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde
3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
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