Commit graph

7714 commits

Author SHA1 Message Date
Rémi Verschelde 4e3d5148ff
Merge pull request #49157 from Chaosus/vs_billboard
Added Billboard Node to Visual Shaders
2021-05-31 12:23:01 +02:00
Aaron Franke dbb5c036c4
Disable loop with CompatibilityTileData when building with deprecated=no 2021-05-30 09:37:03 -04:00
Haoyu Qiu 96fe795bdb Check cache_parent_physical_bone when rebuilding parent cache 2021-05-29 15:34:55 +08:00
Yuri Roubinsky f06db8b778 Added Billboard Node to Visual Shaders 2021-05-28 09:24:06 +03:00
Hugo Locurcio 8e2a7fff1d
Tweak Camera2D editor line colors for better visibility
The new color for screen drawing was chosen to be easier to distinguish
from the 2D viewport limits.

This also makes lines less opaque when the Camera2D has the Current
property enabled. The increased line width is enough to spot the
camera easily, and the increased opacity on top of that felt obnoxious.
2021-05-27 07:14:49 +02:00
Rémi Verschelde ca4d2ffec6
Merge pull request #49060 from EricEzaM/fix-rich-text-label-and-editor-log
Fixed implementation of RichTextLabel remove_line(), which fixed issues in EditorLog.
2021-05-26 13:25:22 +02:00
Yuri Roubinsky 0b4b1f872c
Merge pull request #49056 from Chaosus/vs_color 2021-05-26 11:07:22 +03:00
Yuri Roubinsky 8f9b91dab1 Implements expandable color ports in visual shaders 2021-05-26 10:45:53 +03:00
Eric M 471f7f1a75 Fixed implementation of RTL remove_line(), which fixed issues in EditorLog.
There were some issues in RichTextLabel `remove_line()` method, where items were not correctly removed, and line decremending for items in later lines was not correctly done.
This also fixed several headaches with EditorLog, which relied on the `remove_line()` method for collapsing of duplicate messages. The fix to RTL also fixed the issues with EditorLog.

Fixes #49030
2021-05-26 15:08:13 +10:00
TwistedTwigleg dbd17ebf30 SkeletonIK: Fixed issue where bones become detached if multiple SkeletonIK nodes are used
(Forward port of 3.X code for Godot 4)
2021-05-25 21:30:40 -04:00
Yuri Sizov 231daa6025 Fix disappearing relationship lines in Tree when item is out of view 2021-05-26 00:44:04 +03:00
Rémi Verschelde 6a64a98039
Merge pull request #48546 from pycbouh/tree-highlight-selected-relationships 2021-05-25 19:42:55 +02:00
Rémi Verschelde f1abfbbeb1
Merge pull request #48837 from Soupstraw/shader-pi
Added constants PI, TAU and E to the shader language
2021-05-25 18:07:15 +02:00
Yuri Sizov 9c92e9d849 Add highlight to the relationship lines of selected Tree items 2021-05-25 18:56:06 +03:00
jfons f8e34209af Fix some warnings raised by GCC-11.1 2021-05-25 17:23:53 +02:00
Marcel Admiraal da5d7db610 Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
Gilles Roudière 3b35733b4c Restore a way to show collsion/navigation on TileMap.
Also remove an unused function.
2021-05-25 11:51:15 +02:00
Rémi Verschelde 9bc2ba3b64
Merge pull request #48955 from Calinou/editor-tweak-property-hints
Tweak dozens of editor property hints for consistency
2021-05-25 11:44:43 +02:00
Joosep Jääger 16567321ba Added constants PI, TAU and E to the shader language 2021-05-25 12:15:08 +03:00
Hugo Locurcio 87f503310b
Tweak dozens of editor property hints for consistency
- Update Viewport MSAA property hints to match the currently
  exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
Rémi Verschelde 6894559fb7
Merge pull request #49034 from madmiraal/fix-doc-2177
Unexpose methods and property for binding children to Bones in Skeleton3D
2021-05-24 18:34:57 +02:00
Rémi Verschelde 5061e5620e
Merge pull request #49033 from groud/fix_deprecated_no
Fixes deprecated=no compilation option
2021-05-24 17:57:16 +02:00
Marcel Admiraal 65faa12fd3 Unexpose methods and property for binding children to Bones 2021-05-24 16:44:17 +01:00
Gilles Roudière f4e8c68e00 Fixes deprecated=no compilation option 2021-05-24 17:41:29 +02:00
Rémi Verschelde 9cf1d034a7
Merge pull request #48894 from reduz/gpu-particles-2d-2
Support for 2D particles to collide against SDF
2021-05-24 12:49:34 +02:00
reduz 789713b008 Support for 2D particles to collide against SDF
-Added SDF collision support for 2D particles
-Changed the SDF generation to be fully signed
2021-05-23 16:43:36 -03:00
kobewi 5605454981 Change frame_coords to Vector2i 2021-05-23 21:38:27 +02:00
Hugo Locurcio 80f4e407b2
Add a keyboard shortcut to select the word under cursor in TextEdit
This also acts as a general-purpose "deselect" shortcut since pressing
it a second time will deselect text.

This is available both in the script editor and in TextEdit fields
in use, both in the editor and projects.

The Duplicate Line script editor shortcut was moved to Ctrl + Shift + D
since it conflicts with the new shortcut (Ctrl + D). The rationale for
doing so is that Duplicate Line is a less commonly used action, and
its behavior can be replicated by copying and pasting the current line
anyway. (With no selection active, the whole line will be copied.)
2021-05-22 23:47:43 +02:00
Rémi Verschelde de4c17f716
Merge pull request #48916 from mortarroad/master-convex-hull-ported
Replace QuickHull with Bullet's convex hull computer.
2021-05-22 23:22:48 +02:00
Morris Tabor d1bc88d426 Replace QuickHull with Bullet's convex hull computer.
The code is based on the current version of thirdparty/vhacd and modified to use Godot's types and code style.

Additional changes:
- extended PagedAllocator to allow leaked objects
- applied patch from https://github.com/bulletphysics/bullet3/pull/3037
2021-05-22 22:35:42 +02:00
Rémi Verschelde 846b3855b5
Merge pull request #47764 from fire/meshoptimizer-update
Meshoptimizer update / LOD Normals fix
2021-05-22 18:16:39 +02:00
Rémi Verschelde 3c23e026ac
Merge pull request #48973 from trollodel/debug_shapes_update_crash
Fix crash on debug shapes update if CollisionObject3D is not in tree
2021-05-22 18:04:14 +02:00
K. S. Ernest (iFire) Lee fc8ea1d828 Update with experimental mesh optimizer.
Normals being optimized has better quality now.

Test simplify once and then use a slightly less tolerant 
error for the target error.
2021-05-22 08:58:50 -07:00
trollodel fea75bb112 Fix crash on debug shapes update if CollisionObject3D is not in tree 2021-05-22 17:26:03 +02:00
Paulb23 00e10a842f Add custom background line colour to TextEdit and remove marked lines 2021-05-22 14:41:55 +01:00
Rémi Verschelde 3b3a55ca04
Merge pull request #48918 from groud/fix_tilemap_y_sort
Fixes TileSet Y-sort not working and TileSet not saving correctly
2021-05-22 00:26:36 +02:00
Gilles Roudière 7d80480b72 Fixes TileSet Y-sort not working and TileSet not saving correctly 2021-05-21 10:13:37 +02:00
Tomasz Chabora b1859510ab Change behavior of String.right 2021-05-20 23:07:57 +02:00
Rémi Verschelde a6a75e2c09
Merge pull request #48812 from groud/tilemap_scenes_painting
Implement scenes tiles in TileMaps
2021-05-20 14:32:40 +02:00
Rémi Verschelde db4cf63482
Merge pull request #48860 from JohnM666/fix-basis-variant-initialization
Fix RigidBody3D.get_inverse_inertia_tensor() crash
2021-05-20 14:05:29 +02:00
Gilles Roudière d8bb53cd21 Implement scenes tiles in TileMaps 2021-05-20 13:12:03 +02:00
Rémi Verschelde 4219a4cb6f
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
JohnM666 b19544e91d Fix #46282 Executing RigidBody3D.get_inverse_inertia_tensor() crashes Godot 2021-05-20 10:46:24 +03:00
Rémi Verschelde 6cc6930ee9
Merge pull request #48823 from timothyqiu/bone-id
Fix ragdoll simulation when parent was readded to scene
2021-05-19 19:35:57 +02:00
Rémi Verschelde d0aaf4a1fd
Merge pull request #48814 from Calinou/viewport-use-nonzero-default-size
Use a non-zero default size for SubViewports
2021-05-19 10:12:42 +02:00
Haoyu Qiu a701927d89 Fix ragdoll simulation when parent was readded to scene 2021-05-19 10:22:15 +08:00
Rémi Verschelde c340ed6394
Merge pull request #42742 from madmiraal/fix-12215
Return RID instead of Object id in area-body_shape_entered-exited signals.
2021-05-18 20:00:48 +02:00
Hugo Locurcio bbdfb715a6
Use a non-zero default size for SubViewports
This makes viewports visible out of the box.
2021-05-18 18:51:39 +02:00
Aaron Franke ab674a41aa
Area: Uncap the range for gravity and change the slider hints 2021-05-18 07:17:11 -04:00
Rémi Verschelde b2fb119c53
Merge pull request #36263 from Calinou/increase-default-2d-gravity 2021-05-18 10:54:47 +02:00
Rémi Verschelde 66dac8bda0
Merge pull request #47544 from pycbouh/control-expose-theme-type 2021-05-18 10:52:51 +02:00
Rémi Verschelde 95bb7207f3
Merge pull request #46773 from trollodel/TreeItem+
Improve TreeItem API and allow to move nodes
2021-05-18 10:49:45 +02:00
Rémi Verschelde 510030fedc
Merge pull request #48528 from sent44/textedit
Expose get_total_visible_rows method to GDScript
2021-05-18 09:06:24 +02:00
trollodel bca0d36fe6 Improve TreeItem API and allow to move nodes 2021-05-17 22:06:46 +02:00
Rémi Verschelde 92c04fa727
Fix build after mismatch between #48168 and #48599 2021-05-17 17:50:42 +02:00
Rémi Verschelde 8e8cad5bc9
Merge pull request #48549 from kleonc/bitmap_resize_fix
BitMask::create Don't request more memory than needed when size is a multiply of 8
2021-05-17 17:39:24 +02:00
Rémi Verschelde b3e3f0e34c
Merge pull request #48599 from Calinou/textedit-alt-scroll-faster
Scroll faster when holding Alt in TextEdit (and script editor)
2021-05-17 17:38:18 +02:00
Rémi Verschelde 6c367f8e0d
Merge pull request #48168 from LightningAA/control-to-ctrl-4.0 2021-05-17 17:38:02 +02:00
Yuri Sizov 9eaa139c1f Add theme_custom_type property to Control and Window 2021-05-17 17:20:42 +03:00
Rémi Verschelde b0a51bf9fe
Merge pull request #48768 from akien-mga/file-access-64-bit-4.0
Make all file access 64-bit (`uint64_t`)
2021-05-17 16:02:12 +02:00
Rémi Verschelde 107651806f
Merge pull request #39603 from Calinou/default-theme-use-dynamicfont 2021-05-17 15:46:44 +02:00
Hugo Locurcio d211c05111
Use a DynamicFont for the default project theme
This makes font oversampling work out of the box, while also increasing
the supported character set's size. The default font is now larger
as well to better fit today's screen resolutions.

The OpenSans SemiBold font was chosen for two reasons:

- Small file size, yet its character set supports Latin-1 and Cyrillic
  text.
- A heavier font weight looks better in most "game" scenarios and is
  more readable against mixed-color backgrounds.

This is considered a breaking change as it changes the default font's
metrics, which will likely affect how Control nodes are laid out in
scenes (unless a custom font is in use).
2021-05-17 15:19:13 +02:00
Pedro J. Estébanez 469fa47e06
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-17 15:06:19 +02:00
Rémi Verschelde 9cc17a8439
Merge pull request #48690 from KoBeWi/static_shader_picker
Create ColorPicker shaders statically
2021-05-17 14:51:12 +02:00
kobewi 877dbda209 Create ColorPicker shaders statically 2021-05-17 11:39:20 +02:00
Rémi Verschelde 2be9b5dec4
Merge pull request #48775 from CaptainProton42/fix-prism-mesh-normals
Fix normals of PrismMesh
2021-05-17 10:37:35 +02:00
Rémi Verschelde 2dadcde361
Merge pull request #48760 from timothyqiu/tree-crash
Fix Tree::get_column_at_position crash
2021-05-16 23:05:37 +02:00
John Wigg c8e402324e
Fix normals of PrismMesh 2021-05-16 23:01:53 +02:00
Rémi Verschelde d4fc125fbc
Merge pull request #48761 from kleonc/editor-get_tree-crash-fix
Fix accessing scene tree without checking: MeshInstance3D::create_debug_tangents, GIProbe::bake
2021-05-16 22:32:04 +02:00
Rémi Verschelde 8e7b17429e
Merge pull request #48650 from AnilBK/graph-node-setters
Added GraphNode missing setters.
2021-05-16 17:37:12 +02:00
kleonc ef589a7cd3 Fix accessing scene tree without checking: MeshInstance3D::create_debug_tangents, GIProbe::bake 2021-05-16 14:01:01 +02:00
Haoyu Qiu c8efcf81d2 Fix Tree::get_column_at_position crash 2021-05-16 19:42:28 +08:00
Rémi Verschelde 99626d5b57
Merge pull request #48478 from brennengreen/normal-mapping-unpacked-fix
Fix refraction offset by manually unpacking normal mappings
2021-05-14 11:33:22 +02:00
Eoin O'Neill c4f976b38b Attempt to fix rich text label effects processing even when
the node is invisible.

ISSUE:47687
2021-05-13 19:59:08 -07:00
Rémi Verschelde a3dd18b12e
Merge pull request #39976 from aaronfranke/tilemap-vec2i
Update TileMap to use Vector2i
2021-05-13 14:48:16 +02:00
Anilforextra 2c3c3b2829 -Added missing setters to GraphNode.
-Improved various GraphNode documentation.
2021-05-13 17:45:07 +05:45
Rémi Verschelde d0c2ac8a0e
Merge pull request #48688 from Xrayez/rename-hint-usage-control
Fix variable names for "usage" flags in `Control::_get_property_list()`
2021-05-13 13:15:52 +02:00
Andrii Doroshenko (Xrayez) c9a3d13bd9 Fix variable names for "usage" flags in Control::_get_property_list()
Renamed incorrect "hint" variable names to "usage" in
`_get_property_list()`, as "hint" implies one of the PROPERTY_HINT_*
values, which is not the case here.
2021-05-13 12:51:38 +03:00
Rémi Verschelde b283447bfd
Merge pull request #47348 from nekomatata/raycast-3d-collide-fix
Fix RayCast3D color in game with no collision
2021-05-12 22:13:08 +02:00
reduz 479391ef54 Fixes missng 2D engine bits
-Mesh2D now works
-MultiMesh2D now works
-Polygon2D now works
-Added hooks for processing 2D particles
-Skeleton2D now works

2D particles still not working, but stuff needed for it is now implemented.
2021-05-11 11:21:36 -03:00
Hugo Locurcio 1e063595c3
Implement reverting to the old color when clicking it in ColorPicker 2021-05-10 18:13:33 +02:00
Hugo Locurcio cf1cf6c6eb
Scroll faster when holding Alt in TextEdit (and script editor)
This feature is inspired by a similar feature found in
Visual Studio Code.
2021-05-10 01:27:54 +02:00
trollodel a24c46e7a0 Use the correct method in shape_owner_remove_shape 2021-05-09 18:58:19 +02:00
Rémi Verschelde aac01456d1
Merge pull request #48175 from trollodel/collisionobject3d-no-mi
Create CollisionObject3D debug shapes using RS
2021-05-09 16:41:53 +02:00
Rémi Verschelde 726715b1e1
Merge pull request #48579 from Calinou/tree-fix-bg-focus-section-overlap
Fix Tree's background focus outline displaying behind section headings
2021-05-09 14:40:50 +02:00
Rémi Verschelde 73e5f6f673
Merge pull request #48539 from KoBeWi/cant_edit_this
Display arrow cursor if text is not editable
2021-05-09 14:18:56 +02:00
Rémi Verschelde a4e8da8d0b
Merge pull request #41416 from TokageItLab/fix_animation_tree_cache
fix unintentional object rotation by anim tree
2021-05-09 13:57:18 +02:00
Hugo Locurcio 63897f16b1
Fix Tree's background focus outline displaying behind section headings 2021-05-09 13:27:20 +02:00
TwistedTwigleg 446460eaf9 Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides 2021-05-08 16:11:45 -04:00
kleonc 8963be2ef4 BitMask::create Don't request more memory than needed when size is a multiply of 8 2021-05-08 13:04:41 +02:00
kobewi c3967c80ab Display arrow cursor if text is not editable 2021-05-07 23:08:00 +02:00
Aaron Franke 75e3f6b732
Update TileMap to use Vector2i instead of two ints 2021-05-07 16:20:02 -04:00
Lightning_A 97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
Rémi Verschelde c3f7465b7e
Merge pull request #48535 from groud/tiles_squashed
TileSet and TileMap rework (squashed)
2021-05-07 20:46:06 +02:00
Gilles Roudière a3dda2df85 Rework the TileSet resource and TileMap nodes:
- Move most properties from TileMap to TileSet,
- Make TileSet more flexible, supporting more feature (several
  collision layers, etc...),
- Fusion both the TileMap and TileSet editor,
- Implement TileSetSources, and thus a new way to index tiles in the TileSet,
- Rework the TileSet and TileMap editors completely,
- Implement an editor zoom widget (and use it in several places)
2021-05-07 18:06:17 +02:00
sent44 7bb12b0d6d Expose get_total_visible_rows as get_visible_line_count 2021-05-07 20:54:05 +07:00
Brennen Green 31f2d946ad Manually unpacked normal mapping to fix issue with refraction being offset rather than distorted. 2021-05-07 08:38:36 -04:00
besh81 e7e7aa7d12
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.
2021-05-07 13:01:27 +02:00
Rémi Verschelde 8dc12135e4
Merge pull request #48376 from rafallus/fix_surfacetool_crash_master
Check input mesh is valid in SurfaceTool methods (master)
2021-05-07 00:58:20 +02:00
Rémi Verschelde 94f6fb6d24
Merge pull request #34840 from Calinou/colorpicker-display-old-color
Display the old color in ColorPicker for easier comparison
2021-05-06 23:55:47 +02:00