Commit graph

2799 commits

Author SHA1 Message Date
Rémi Verschelde
317cd0b19a
Refactor some object type checking code with cast_to
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
jfons
dd970482c5 Improvements and fixes to occluders
Improvements:
* Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
* Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
* Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.

Fixes:
* Fixed saving of occluder files after bake.
* Fixed a small error where occluders didn't correctly update in the rendering server.

Bonus content:
* Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
* Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-07 13:04:51 +01:00
Rémi Verschelde
bfb75d107c
Merge pull request #57741 from Chaosus/vs_fixes 2022-02-07 12:50:44 +01:00
Rémi Verschelde
b024602660
Merge pull request #57725 from jmb462/missing-sname-theme-setters 2022-02-07 11:46:25 +01:00
Yuri Roubinsky
a6e280c5de Add some more fixes to visual shader 2022-02-07 11:28:42 +03:00
jmb462
a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
Yuri Roubinsky
db18faf660 Rename PORT_TYPE_VECTOR to PORT_TYPE_VECTOR_3D 2022-02-06 20:15:28 +03:00
jmb462
1ce81dc5f2 Add missing SNAME macro optimization in some function calls 2022-02-06 15:54:04 +01:00
Hugo Locurcio
7721e19ccc
Tweak default SDFGI settings for better quality
- Enable Read Sky Light to get proper outdoors lighting out of the box.
- Set bounce feedback to 0.5 by default to get a better quality result.
  - Higher values may cause infinite feedback with bright surfaces.
- Increase the number of frames to converge to improve quality
  at the cost of latency. Most scenes are fairly static after all.
- Use 75% Y scale by default as most scenes are not highly vertical.

- Reorder the Y scale enum to go from the lowest Y scale to the highest.
  Also rename the "Disabled" setting to "100%" for clarity.
2022-02-06 15:28:59 +01:00
Hugo Locurcio
b9cfc74f29
Decrease the default number of SDFGI cascades to 4
This improves rendering performance noticeably, especially when the
camera moves fast.

On a medium-sized test scene on a GTX 1080 in 2560×1440, going
from 6 to cascades saves 0.5 ms of frame time while looking visually
identical (as most of the scene fits within the 4 cascades).
2022-02-06 15:01:25 +01:00
Fabio Alessandrelli
d219547c96 [Net] New replication interface, spawner and synchronizer nodes.
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).

New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.

New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00
bruvzg
244db37508
Cleanup and move char functions to the char_utils.h header. 2022-02-04 11:35:01 +02:00
Rémi Verschelde
f8f19b313d
Merge pull request #57562 from AnilBK/string-add-contains
String: Add contains().
2022-02-03 22:21:24 +01:00
Anilforextra
adbe948bda String: Add contains(). 2022-02-04 01:28:02 +05:45
Rémi Verschelde
45d5aa5d47
Merge pull request #56365 from aaronfranke/default-shape-size 2022-02-03 16:59:07 +01:00
Yuri Roubinsky
59af063636 Add support for 2D vector type to visual shaders 2022-02-02 19:59:34 +03:00
bruvzg
215bede6ff
[TextServer] Add function to change font, font size, and OpenType features without invalidating line break points, justification points, or recreating shaped text buffer. 2022-02-02 11:20:44 +02:00
Anilforextra
fc27636999 Vectors: Use clear() and has().
Use clear() instead of resize(0).

Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
Rémi Verschelde
6914a58f99
Merge pull request #57376 from Calinou/gradienttexture2d-clamp-size 2022-02-01 14:22:01 +01:00
Aaron Franke
8cfd264148
Improve the default size for 3D shapes (Box, Capsule, and Cylinder) 2022-02-01 06:43:16 -06:00
Rémi Verschelde
dafadd73ac
Merge pull request #57375 from Calinou/gradienttexture-curvetexture-decrease-default-size 2022-02-01 13:39:16 +01:00
Rémi Verschelde
45553fd586
Merge pull request #56970 from YeldhamDev/rise_tabbar_rise 2022-01-31 21:46:07 +01:00
Michael Alexsander
64c4a5b283 Bring TabBar to full parity with the TabContainer implementation. 2022-01-31 15:35:54 -03:00
Rémi Verschelde
d7822cbf21
Merge pull request #57367 from Chaosus/vs_derivative 2022-01-31 16:51:30 +01:00
Paulb23
1cd1df5dc3 Move placeholder color to theme item 2022-01-30 17:56:23 +00:00
Nathan Franke
8a0a3accee
simplify formatting scripts, add a clang-tidy script, and run clang-tidy 2022-01-29 04:41:03 -06:00
Hugo Locurcio
34d382eab6
Clamp GradientTexture2D dimensions to 2048×2048 in the inspector
Larger sizes take up a lot of memory for little visual benefit.
They also take a while to initialize, which makes the inspector slow
to refresh when the texture needs to be regenerated.
2022-01-29 00:32:16 +01:00
Hugo Locurcio
b4f0d4c7db
Decrease the default GradientTexture and CurveTexture size
This provides better usability when a GradientTexture or CurveTexture
is added to a Control node.

Visual appearance of most GradientTextures and CurveTextures will
be unaffected.
2022-01-29 00:28:10 +01:00
Rémi Verschelde
2a5b136de2
Merge pull request #57371 from Scony/fix-navigation-2d-defaults 2022-01-28 23:24:38 +01:00
Rémi Verschelde
2279edeaf0
Merge pull request #57368 from TokageItLab/fix-delta-for-animation-tree 2022-01-28 23:16:29 +01:00
Pawel Lampe
450e29a569 Improve Navigation2D default settings, see #56852
This commit reduces `cell_size` and `edge_connection_margin` default
values so that `Navigation2D` behaves more like in Godot <= `3.4` by default.
2022-01-28 22:35:05 +01:00
Silc 'Tokage' Renew
0650846248 Make AnimationTree delta argument force double in core 2022-01-29 05:07:30 +09:00
Yuri Roubinsky
88b2afa28f [VisualShader] Merge scalar and vector derivative functions into one 2022-01-28 22:19:10 +03:00
Rémi Verschelde
b8b33df178
TileSetAtlasSource: Make get_tile_data return TileData *
This is now possible thanks to `Variant` changes.

Also unbind some `_` prefixed methods which don't need to be exposed.
2022-01-28 14:27:12 +01:00
Rémi Verschelde
58324f4df8
Merge pull request #54574 from Ansraer/glow_map 2022-01-26 13:39:51 +01:00
Rémi Verschelde
d9fd16c8e4
Merge pull request #53954 from Chaosus/fix_quit_errors 2022-01-25 20:09:52 +01:00
Rémi Verschelde
894e2fddda
Merge pull request #55841 from OverloadedOrama/expose-bitmap-methods 2022-01-25 16:54:26 +01:00
Rémi Verschelde
fba4c6606d
Merge pull request #56891 from rafallus/meshlib_shapes_array 2022-01-25 16:53:41 +01:00
Rémi Verschelde
ee253163ab
Merge pull request #57056 from Chaosus/vs_fix_defaults 2022-01-23 00:27:48 +01:00
Rémi Verschelde
02f3e3346a
Merge pull request #56912 from AnilBK/circle-fix
Circle&CapsuleShape2D: Fix outlines missing line.
2022-01-22 20:50:41 +01:00
Anilforextra
70b0b2f164 Circle&CapsuleShape2D: Fix outlines missing line. 2022-01-22 22:14:41 +05:45
Yuri Roubinsky
56a6e95d6a Remove transform input from fog mode in visual shaders 2022-01-22 16:31:06 +03:00
Yuri Roubinsky
538cff1351 Fix default input port hints for some modes in visual shader 2022-01-22 11:12:56 +03:00
Yuri Roubinsky
cd5b681997 Fix undo after non-last port removal in VisualShaderNodeExpression 2022-01-21 15:21:41 +03:00
Omar Polo
bd448e5535 Rename or refactor macros to avoid leading underscores
These are not used consistently and some can conflict with
system-specific defines.  While here, also delete some unused macros.
2022-01-20 20:29:15 +01:00
Ansraer
90652b1755 add support for glow maps 2022-01-20 16:47:25 +01:00
Rémi Verschelde
9e0973ca23
Merge pull request #56972 from lawnjelly/warn_unused 2022-01-20 15:34:41 +01:00
lawnjelly
b411a731fe Add nodiscard to core math classes to catch c++ errors.
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 13:07:49 +00:00
Hugo Locurcio
84a69d7429 Improve the default project theme
The new default project theme uses StyleBoxFlat extensively for
a more modern design and better scalability to multiple resolutions.

SVG icons are now used in place of PNG icons. While this does not
allow for true vector-based icon drawing (icons are still rasterized
at load-time), this makes the design work easier for contributors
and opens the door to vector drawing in the future (e.g. with polygons
or SDFs).

Like for editor icons, the SVG header file is now built automatically
when a SVG file is changed. This removing the need for running
`make_header.py` manually (TODO).

The "Use Hidpi" project setting has been removed in favor of a
"Default Theme Scale" project setting, which allows creating the
default theme at a higher/lower scale than the default.
This can be used when designing GUIs with a high base resolution
to ensure crisp visuals.

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2022-01-19 18:46:01 +03:00
rafallus
5f8b292ad3 Make sure MeshLibrary shape array has correct number of elements 2022-01-18 19:48:13 -06:00
Rémi Verschelde
030638e5b4
Merge pull request #56104 from Geometror/add-flow-layout-container
Add FlowContainer
2022-01-18 20:26:29 +01:00
Rémi Verschelde
45cb12955f
Merge pull request #56622 from Pineapple/scenestate-optimizations 2022-01-18 16:35:32 +01:00
Rémi Verschelde
01eefa2c50
Merge pull request #56761 from Calinou/sdfgi-allow-any-number-of-cascades 2022-01-18 16:21:39 +01:00
Hugo Locurcio
2dc7b03a82
Allow using between 1 and 8 cascades for SDFGI
This provides more flexibility between performance and quality
adjustments, especially when using SDFGI for small-scale levels
(which can be useful for procedurally generated scenes).
2022-01-17 16:49:02 +01:00
Rémi Verschelde
a2d323c67e
Merge pull request #54794 from bruvzg/runtime_bmfont_parser 2022-01-17 13:25:08 +01:00
Rémi Verschelde
1cff9a2e49
Merge pull request #55551 from brennengreen/panorama-sky-filtering
Add filtering property to PanoramaSkyMaterial and switch from static shader to shader cache
2022-01-16 01:30:44 +01:00
Paulb23
fffeecfd68 Improvments for SyntaxHighlighters
- Fix immedate Funcion in lamba highlight
- Highlight signals as one colour
- Highlight node paths as one colour
- Highlight escape chars in strings
2022-01-15 15:39:55 +00:00
Brennen Green
0695440124 Add shader cache and filter variable to PanoramaSkyMaterial 2022-01-14 23:30:27 -05:00
kleonc
3f9e50505a Fix AtlasTexture nesting 2022-01-15 00:14:56 +01:00
Rémi Verschelde
f60c81af11
Merge pull request #56784 from V-Sekai/expose-add-named-bind 2022-01-14 14:24:16 +01:00
K. S. Ernest (iFire) Lee
c5528af71c Expose add_named_bind for all essential skin bindings. 2022-01-14 03:20:24 -08:00
Rémi Verschelde
e529803ef9
Merge pull request #56738 from YeldhamDev/improve_tab_consistency 2022-01-14 10:42:30 +01:00
Rémi Verschelde
a987ebfde2
Merge pull request #56714 from bruvzg/fix_alignment_break_overrun 2022-01-13 10:20:02 +01:00
Rémi Verschelde
f6792eacf5
Merge pull request #54956 from Calinou/lineedit-textedit-add-caret-width-theme-item
Add a theme constant to change LineEdit and TextEdit's caret width
2022-01-13 09:21:01 +01:00
bruvzg
baec983d8a
[TextServer] Improvements for line breaking, "Fill" alignment, overrun, and interaction between these modes.
Fix "Fill" alignment processing wrong side of the text if overrun trim was applied.
Improve "Fill" alignment to avoid adding excessive subsequent spaces or elongations.
Add font detection to the overrun, to correctly add ellipsis (was using last glyph font, which doesn't necessary have dot character).
Improve line breaking to avoid adding excessive subsequent soft break points for languages without word separator.
Port missing overrun/justification code to the Fallback text server.
Fix inferred text direction detection by controls.
Add tests for "Fill" alignment and line breaking glyph flags.
2022-01-13 08:53:28 +02:00
Michael Alexsander
a989dc019b Improve looks and consistency of tabs 2022-01-12 22:11:43 -03:00
Rémi Verschelde
585231a172
Merge pull request #56492 from akien-mga/remove-author-docstrings 2022-01-12 15:24:17 +01:00
Yuri Roubinsky
422f7b280f Optimize include files to improve shader_language.h compilation speed 2022-01-12 14:19:12 +03:00
Rémi Verschelde
189662e5bd
Merge pull request #56696 from AnilBK/use-init-lists 2022-01-12 10:04:45 +01:00
Anilforextra
6c3a0460a8 Use List Initializations for Vectors. 2022-01-12 10:15:12 +05:45
Rémi Verschelde
d40d86b959
Merge pull request #56667 from Ice-Cube69/fix_incorrect_property_types 2022-01-11 14:34:18 +01:00
Arnav Vijaywargiya
0c46f73b5e Fixed incorrect property types 2022-01-11 17:17:11 +05:30
Rémi Verschelde
f20ae16e0b
Merge pull request #56323 from Gallilus/Update-default-port_grab_distance_vertical 2022-01-11 11:17:33 +01:00
bruvzg
c89c515ccf
[TextServer] Improve ligature cursor handling.
Fix mid-grapheme hit test.
Fix OpenType features property handling, add default features override option.
Enable mid-grapheme cursor by default.
2022-01-09 19:03:48 +02:00
Rémi Verschelde
1f2958861c
Merge pull request #56330 from nikitalita/convert-old-octahedral
Convert octahedral compressed normals/tangents on 3.x meshes
2022-01-08 23:38:44 +01:00
Bartłomiej T. Listwon
b6cfc55113 Removed redundant ClassDB::is_class_enabled() and moved second dynamic_cast inside worst case if 2022-01-08 14:09:22 +01:00
nikitalita
92a0cbccd5 convert old octahedral compressed normals/tangents 2022-01-08 04:03:57 -08:00
Hugo Locurcio
f6443beade
Add a theme constant to change LineEdit and TextEdit's caret width
This can be useful to improve caret visibility, especially at
larger font sizes. This can also be used for accessibility purposes.
2022-01-07 20:51:22 +01:00
Hendrik Brucker
40ee2b8953 Add FlowContainer 2022-01-07 15:51:49 +01:00
SaracenOne
901f376671 Move metallic and roughness automated assignment to an inspector UndoRedo
callback.
2022-01-06 16:07:26 +00:00
Yuri Roubinsky
8e2398207c
Merge pull request #56480 from Chaosus/vs_plugin_gdscript_template 2022-01-06 14:41:41 +03:00
Rémi Verschelde
a2a4ec7cb5
Merge pull request #56376 from pycbouh/theme-tombe-les-theme-properties 2022-01-06 11:33:43 +01:00
Yuri Roubinsky
21cfcaa129 Add a GDScript template for VisualShaderNodeCustom 2022-01-06 12:06:33 +03:00
Rémi Verschelde
d27f06a61b
Merge pull request #56193 from kodiwills/fix-update-mode-not-refreshed-visually-on-undo 2022-01-05 10:53:34 +01:00
Rémi Verschelde
4b6d2fd163
Merge pull request #56212 from laws65/skin-export-crash-fix 2022-01-05 10:48:52 +01:00
Rémi Verschelde
ba2bdc478b
Style: Remove inconsistently used @author docstrings
Each file in Godot has had multiple contributors who co-authored it over the
years, and the information of who was the original person to create that file
is not very relevant, especially when used so inconsistently.

`git blame` is a much better way to know who initially authored or later
modified a given chunk of code, and most IDEs now have good integration to
show this information.
2022-01-04 20:42:50 +01:00
Rémi Verschelde
42312f066b
Merge pull request #53313 from KoBeWi/debinded_konnekt 2022-01-04 12:22:46 +01:00
Rémi Verschelde
7f66c16c03
Merge pull request #51206 from clayjohn/Vulkan-ASSGI 2022-01-04 10:00:17 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
luz paz
a124f1effe Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 01:03:58 -05:00
Yuri Sizov
fe283fd07a Correctly use fallback Theme values as last resort 2021-12-31 18:53:43 +03:00
David Cambré
38ad72af44 Update default port_grab_distance_vertical 2021-12-29 19:14:28 +01:00
laws65
c559bef1c7 Prevent crashes on exported project relating to Skin resource 2021-12-24 17:32:51 +10:30
Kodi
51db86d789 add missing emit_changed() to set update mode function 2021-12-23 07:53:36 -05:00
Rémi Verschelde
0f6a6ca5be
Merge pull request #56131 from Chaosus/shader_refactor_render_modes 2021-12-22 13:29:03 +01:00
Yuri Roubinsky
e8a457ba89 Refactor render_mode in shaders, forbid declaring duplicates 2021-12-21 22:20:09 +03:00
Marc Gilleron
830b54a03b Added resource path to message about old mesh format conversion 2021-12-21 14:39:40 +01:00
Yuri Roubinsky
1eb40904ce Add texture filtering properties to VisualShaderNodeTextureUniform 2021-12-16 11:50:33 +03:00
Yuri Roubinsky
f0a58af12f Rename shader hint filter_anisotropy to filter_anisotropic 2021-12-15 22:12:38 +03:00
Yuri Roubinsky
09185d76ac Rename shader hint filter_aniso to filter_anisotropy 2021-12-15 13:18:32 +03:00
Manolis Papadeas
453912d48d Expose BitMap's convert_to_image and resize methods to GDScript 2021-12-12 14:24:04 +02:00
Pedro J. Estébanez
18663aa305 Stop asuming a default value of NIL means there's no default 2021-12-11 14:03:48 +01:00
Rémi Verschelde
0ba7103bea
Merge pull request #55702 from nekomatata/physics-solver-settings 2021-12-10 22:10:41 +01:00
Hugo Locurcio
92e9cca5be
Rename hint_aniso to hint_anisotropy in the shader language
The word "anisotropy" is used in full form in BaseMaterial3D's
anisotropy-related properties.
2021-12-10 17:41:17 +01:00
Rémi Verschelde
3c448437f6
Merge pull request #55263 from RPicster/ParticleMaterial-random-start-color 2021-12-10 10:06:46 +01:00
Rémi Verschelde
f455660e93
Merge pull request #55572 from aaronfranke/ci-double 2021-12-10 10:02:38 +01:00
Aaron Franke
e9808e3d9a
Add a double-precision editor build to CI 2021-12-09 09:52:48 -06:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Nathan Franke
41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related 2021-12-09 01:38:46 -06:00
PouleyKetchoupp
8682adcb87 Add physics solver settings to project settings
Helps with discovery and setup of physics solver settings, in a specific
project settings section for both 2D and 3D.

Other changes for cleanup:
-Removed unused space parameters in 3D
SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO
SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS
-Added custom solver bias for Shape3D (same as Shape2D)
-Improved documentation for solver settings
2021-12-07 12:08:04 -07:00
Raffaele Picca
76e2c87f57 Fixed sphere emission shape to emit particles in a spheres volume and added "Sphere Surface" to keep the old behaviour. 2021-12-06 20:48:02 +01:00
Hugo Locurcio
89ec3d3bc7
Remove or make verbose some debugging prints
The message about SpatialMaterial conversion was turned into a warning,
as it can potentially interfere with porting projects from Godot 3.x
(if there's a bug in the conversion code).
2021-12-05 23:22:23 +01:00
Raffaele Picca
ddf82697d7 Random initial color parameter for ParticleMaterial
Works with 2D and 3D GPU Particles
2021-12-03 13:58:17 +01:00
Yuri Roubinsky
b12fea5b52 Add bitwise operators to VisualShaderNodeIntOp 2021-12-03 12:48:35 +03:00
Rémi Verschelde
8f00625824
Merge pull request #54910 from Calinou/basematerial3d-texture-auto-roughness-metallic
Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D
2021-12-02 21:11:32 +01:00
Rémi Verschelde
bb3f0a9d58
Merge pull request #55271 from RPicster/particles-texture-animation-speed 2021-12-02 10:14:26 +01:00
Rémi Verschelde
81b7418013
Merge pull request #55402 from TokageItLab/fixed-immediatemesh-minimum-aabb
Fixed minimum size of `AABB` in `ImmediateMesh` to draw only one vertex
2021-12-02 08:05:56 +01:00
Silc 'Tokage' Renew
ca2b7a87a5 Fixed minimum size of aabb in ImmediateMesh to draw only one vertex 2021-12-02 08:33:33 +09:00
Aaron Franke
129911f61a
Improve Curve with const and real_t 2021-11-30 14:24:27 -06:00
Yuri Roubinsky
93bb34cfb4 Prevent crash when passing empty array to MeshEmitter 2021-11-26 16:07:09 +03:00
Raffaele Picca
459e2a4b6f Fixed texture animation speed when using random lifetime ( Particle2D gpu + cpu) as mentioned here: https://github.com/godotengine/godot/issues/54993 2021-11-26 01:12:23 +01:00
Lightning_A
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
kobewi
4682f22293 Improve various texts 2021-11-23 12:20:57 +01:00
Rémi Verschelde
70d530029a
Merge pull request #55171 from dalexeev/font-data-set-fixed-size 2021-11-22 12:23:41 +01:00
Rémi Verschelde
a387094c25
Merge pull request #55174 from clayjohn/Sky-SRGB 2021-11-22 12:19:20 +01:00
Rémi Verschelde
ed3af70b11
Merge pull request #55170 from Razoric480/raz/cast-handle 2021-11-22 11:53:28 +01:00
clayjohn
7ba555dada Convert PhysicalSkyMaterial colors to SRGB 2021-11-21 12:26:29 -08:00
Danil Alexeev
753d677343
Expose FontData::{set,get}_fixed_size methods 2021-11-20 20:47:01 +03:00
Francois Belair
2e6e3a8ed7 Change cast of int to num to int static cast 2021-11-20 11:58:55 -05:00
Hugo Locurcio
6c0b55acad
Fix ProceduralSkyMaterial colors due to double sRGB -> linear conversion 2021-11-20 17:26:06 +01:00
Yuri Roubinsky
0270144644 Enchance VisualShaderNodeMeshEmitter, add more ports and fix bugs 2021-11-18 14:02:15 +03:00
Yuri Roubinsky
8be89357ce Fix ColorPicker inverted input on color circle 2021-11-17 20:33:17 +03:00
Rémi Verschelde
0ef092a138
Merge pull request #55056 from RandomShaper/fix_crash_instantiate 2021-11-17 15:54:38 +01:00
Pedro J. Estébanez
78ffc2a987 Fix crash when loading scene instance after node vanished from parent 2021-11-17 14:00:23 +01:00
Rémi Verschelde
08eb8c9fc3
Merge pull request #55018 from kodiwills/add-error-macros-for-set_modification_count
add negative number validation for set_modification_count
2021-11-17 08:48:19 +01:00
Kodi
bdcd98c6ce add input validation for set_modification_count
update error macros for set_modification_count
2021-11-16 19:09:01 -05:00
Nathan Lovato
a5d0a74b65 Make bezier handle type a property of keyframes, update interface
- Replaced unused code related to old close icon with a button
- Add bezier handle options to right-click menu
- Remove mirror handle mode, only keep balanced
- Update animation reference
2021-11-16 09:26:35 -05:00
Hugo Locurcio
bad74311db
Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D
This makes material setup faster and avoids mistakes, especially with
the metallic channel which defaults to 0.

The value is only changed when adding a texture when none was
previously assigned, not when assigning a different texture.
2021-11-13 17:46:22 +01:00
Yuri Roubinsky
9da86c2fb7
Merge pull request #54920 from Chaosus/vs_fix_crash 2021-11-12 19:21:49 +03:00
Yuri Roubinsky
d0fbc467a6 Fix editor crash due incorrect setup of default texture in visual shader 2021-11-12 18:23:45 +03:00
Gilles Roudière
1224d7a25c Implement texture padding in TileSetAtlasSources 2021-11-12 15:14:10 +01:00
Rémi Verschelde
57ae154e86
Merge pull request #53987 from groud/tile_data_inspector_plugin 2021-11-12 15:10:54 +01:00
Yuri Roubinsky
826e781bfa Fix default_texture_param in shader pipeline to support uniform arrays 2021-11-12 12:53:40 +03:00
Rémi Verschelde
2beaae4b6f
String: Remove erase method, bindings can't mutate String 2021-11-11 11:23:32 +01:00
Rémi Verschelde
a6412e132a
Merge pull request #54660 from Chaosus/vs_particles_mesh_emitter 2021-11-10 19:55:25 +01:00
Rémi Verschelde
f253f7b6e6
VisualShader: Document enum args for virtual methods
Fixes #31563.
2021-11-10 13:22:58 +01:00
Rémi Verschelde
06a33e590f
Merge pull request #53819 from TokageItLab/re-implement-ping-pong
Reimplement ping-pong animation and reverse playback
2021-11-09 22:11:04 +01:00
bruvzg
294e48ae58 Move BMFont parser code from importer to the FontData to allow loading bitmap fonts in the runtime (without importing). 2021-11-09 10:41:45 +02:00
Rémi Verschelde
5968653662
Merge pull request #46721 from bruvzg/custom_word_break_punct 2021-11-09 00:13:59 +01:00
Rémi Verschelde
d9a74fd07f
Merge pull request #54372 from bruvzg/text_edit_ui 2021-11-09 00:13:25 +01:00
Rémi Verschelde
6c4737341d
Merge pull request #54649 from bruvzg/shadows 2021-11-09 00:07:41 +01:00
Hendrik Brucker
ed0337c0b9 Several Gradient improvements 2021-11-08 19:11:36 +01:00
Rémi Verschelde
665fa3d839
Merge pull request #52943 from RandomShaper/property_pin_control_natural 2021-11-08 18:53:08 +01:00
Yuri Roubinsky
4a32754e78
Merge pull request #54715 from goostengine/gradient-texture-1d-rename 2021-11-08 20:52:24 +03:00
Pedro J. Estébanez
8d6f80d367 Add property value pinning 2021-11-08 17:42:30 +01:00
Aaron Record
d3c3540329 Remove redundant texture flag setters/getters for CameraTexture 2021-11-07 12:35:10 -07:00
Pedro J. Estébanez
1806ec7c14 Unify determination of default property values 2021-11-07 15:27:47 +01:00
Andrii Doroshenko (Xrayez)
6742a338a8 Rename GradientTexture to GradientTexture1D
1. Explicit and unambiguous when comparing to `GradientTexture2D`
2. Consistent with other class names where 1D is used in the engine.
2021-11-07 15:11:04 +02:00
clayjohn
0eff109a21 Added SSIL post processing effect 2021-11-06 12:43:19 -07:00
Yuri Roubinsky
80b563672b Added MeshEmitter node for particles in visual shader 2021-11-06 17:45:38 +03:00
bruvzg
5f9cd9ccbc Fix Label and RichTextLabale text shadows and shadow outlines. 2021-11-06 10:22:09 +02:00
Rémi Verschelde
13aaa73124
Merge pull request #54573 from nekomatata/query-parameters 2021-11-05 21:52:39 +01:00
Yuri Roubinsky
dcdf59cd73 Added 2D boolean hint for particle emitters in visual shaders 2021-11-05 12:45:57 +03:00
PouleyKetchoupp
acbd24ea84 Use parameter classes instead of arguments for all physics queries
Same as what is already done for shape queries, applied to point and ray
queries. Easier to document and more flexible to add more parameters.

Also expose intersect_point method to script in 3D.
Remove intersect_point_on_canvas in 2D, replaced with a parameter.
2021-11-04 11:44:39 -07:00
Rémi Verschelde
3abb5a9035
Add missing argument names for bindings in GDExtension 2021-11-04 15:27:23 +01:00
kobewi
e393c2a734 Add is_built_in() method to Resource 2021-11-04 12:45:58 +01:00
Hugo Locurcio
c012fbc8b2
Rename PROPERTY_USAGE_NOEDITOR to PROPERTY_USAGE_NO_EDITOR
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Gilles Roudière
8f308bec25
Merge pull request #54528 from nekomatata/fix-crash-tileset-polygon
Fix crash in Tileset with get_collision_polygon_shape
2021-11-03 09:11:37 +01:00
Silc 'Tokage' Renew
953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
PouleyKetchoupp
c29d3d0b17 Fix crash in Tileset with get_collision_polygon_shape
Shape index was used instead of polygon index in this one case.
2021-11-02 17:06:19 -07:00
Yuri Sizov
26fe4c7862 Prevent MeshDataTool from crashing due to invalid bones/weights arrays 2021-11-02 16:52:56 +03:00
Rémi Verschelde
529968df30
Merge pull request #54396 from groud/implement_terrain_other_brushes 2021-11-01 22:27:06 +01:00
Camille Mohr-Daurat
a57de3b818
Merge pull request #37880 from nekomatata/rigid-body-damping-override
Improved RigidDynamicBody linear/angular damping override
2021-11-01 11:24:01 -07:00
Haoyu Qiu
10818cfc10 Fix memory leak when using CurveTexture.set_texture_mode 2021-11-01 18:57:59 +08:00
bruvzg
3f33e1d7d6 Add functions for getting name and font style from dynamic and bitmap fonts.
Add font selection toolbar editor plugin.
2021-10-31 12:40:58 +02:00
Rémi Verschelde
292f63e676
Merge pull request #54383 from Calinou/colorpicker-overbright-indicator-tweak-icon
Tweak overbright indicator icon to be more visible on white background
2021-10-30 08:33:27 +02:00
Gilles Roudière
c609d39214 Implement missing TileMap brushes for terrains 2021-10-29 19:46:42 +02:00
Yuri Roubinsky
bc171971dd
Merge pull request #53234 from Geometror/gradient-texture-2d 2021-10-29 18:59:40 +03:00
Hugo Locurcio
d8c21e7405
Tweak overbright indicator icon to be more visible on white background
An outline is now present on all sides to ensure it's more visible
when the "new" color (on the right of a ColorPicker) is overbright.
2021-10-29 16:13:50 +02:00
Yuri Roubinsky
2d0aa5ebc4 Repair Fog mode in visual shaders 2021-10-29 17:09:03 +03:00
clayjohn
1b2cd9f251 Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28 22:02:23 -07:00
Rémi Verschelde
f7d852b532
Merge pull request #54350 from akien-mga/clang-format-dont-align-operands 2021-10-28 17:10:52 +02:00
Rémi Verschelde
e2deec67b9
Merge pull request #54222 from JFonS/instance-fade 2021-10-28 16:05:55 +02:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Rémi Verschelde
0767a1c3f5
Merge pull request #54331 from LennyPhoenix/lennyphoenix-patch-2 2021-10-28 10:17:57 +02:00
Lenny Critchley
7715301c66
Check for valid stack in set_bone_index
Resolves #54235
2021-10-28 00:57:41 +01:00
Rémi Verschelde
5fadebed4c
Merge pull request #54125 from groud/tile_data_runtime_modification
Implement runtime update of TileData object in TileMap
2021-10-27 19:39:59 +02:00
Gilles Roudière
756e76293f Implement runtime update of TileData object in TileMap 2021-10-27 18:32:52 +02:00
Brian Semrau
791773fa9d Fix vulkan proximity fade
Vulkan uses different normalized device coordinates than OpenGL.
2021-10-26 16:19:47 -04:00
Yuri Sizov
12838bd99d Add focus font color to Button and derivatives 2021-10-26 17:42:40 +03:00
Gilles Roudière
cec004adf0 Implement polygons editors in the tiles selection mode 2021-10-26 12:38:36 +02:00
Rémi Verschelde
0409644afd
Merge pull request #54245 from manueldun/nullParamAddMod 2021-10-26 08:20:40 +02:00
Rémi Verschelde
01afa39d21
Merge pull request #54073 from groud/terrains_for_procgen 2021-10-26 08:15:07 +02:00
PouleyKetchoupp
daf7dcac7a Improved RigidDynamicBody linear/angular damping override
Damping values are now non-negative.

Add new properties linear_damp_mode and angular_damp_mode to set the way
RigidDynamicBody and PhysicalBone (2D & 3D) use damping values.
It can now be Combine (default) to add to the default/areas, or Replace
to override the value completely (current behavior).
2021-10-25 18:22:12 -07:00
Manuel Dun
0384474f83 Added error macro to ensure non null parameter 2021-10-25 19:44:22 -04:00
Rémi Verschelde
5ff0624a07
Fix GCC 12 -Werror=type-limits in animation compression code
Fixup to #54050, CI's GCC builds didn't catch it.
2021-10-25 17:59:07 +02:00
Rémi Verschelde
24fdedfe94
Merge pull request #54050 from reduz/animation-compression 2021-10-25 14:27:58 +02:00
bruvzg
ebbc25e89c Ignore empty Font resources as theme override.
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
JFonS
c571e4a7f4 Implement distance fade and transparency
The built-in ALPHA in spatial shaders comes pre-set with a per-instance
transparency value. Multiply by it if you want to keep it.

The transparency value of any given GeometryInstance3D is affected by:
   - Its new "transparency" property.
   - Its own visiblity range when the new "visibility_range_fade_mode"
     property is set to "Self".
   - Its parent visibility range when the parent's fade mode is
     set to "Dependencies".

The "Self" mode will fade-out the instance when reaching the visibility
range limits, while the "Dependencies" mode will fade-in its
dependencies.

Per-instance transparency is only implemented in the forward clustered
renderer, support for mobile should be added in the future.

Co-authored-by: reduz <reduzio@gmail.com>
2021-10-25 11:39:34 +02:00
Silc 'Tokage' Renew
653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
reduz
a69541da4c Implement Animation Compression
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different).

* Implement bitwidth based animation compression (see animation.h for format).
* Can compress imported animations up to 10 times.
* Compression format opens the door to streaming.
* Works transparently (happens all inside animation.h)
2021-10-21 18:27:34 -03:00
Marcel Admiraal
87a4ba492e Remove unimplemented methods 2021-10-21 18:44:25 +01:00
Gilles Roudière
d1aef45072 Allow updating TileMap cells using surrounding terrains 2021-10-21 16:57:28 +02:00
Rémi Verschelde
c942d567eb
Merge pull request #53926 from YeldhamDev/i_am_tabbar_now 2021-10-20 15:42:41 +02:00
Rémi Verschelde
36fd7f213d
Merge pull request #53983 from Duroxxigar/navmesh-agent-default 2021-10-20 11:08:11 +02:00
Murilo Gonçalves
94cba835eb Fix: typo in TextParagraph class and docs 2021-10-19 16:38:58 -03:00
Duroxxigar
1de99820b8 Change default navmesh agent radius to match nav agent node's default radius 2021-10-19 11:43:39 -04:00
Michael Alexsander
67acb7de6e Rename Tabs to TabBar 2021-10-19 11:37:31 -03:00
Gilles Roudière
1a95f893c4 Implement TileMap patterns palette 2021-10-19 11:57:37 +02:00
Yuri Roubinsky
26a26d6657 Fix errors on quitting from an empty project 2021-10-18 14:24:03 +03:00
Rémi Verschelde
523e0d80a8
Merge pull request #53925 from Anutrix/fix-unused-imports
Remove unused imports default_theme SCsub
2021-10-18 07:56:36 +02:00
Rémi Verschelde
b6ee9ed8c5
Merge pull request #53889 from Klowner/surfacetool-generate-lod-assert-crash
Add check to SurfaceTool.generate_lod(); ensure target index count >=…
2021-10-18 07:51:43 +02:00
Anutrix
a4b736658e Remove unused imports in .py, SCsub and SConstruct files 2021-10-18 01:50:34 +05:30
Mark Riedesel
5d96124af6 Add check to SurfaceTool.generate_lod(); ensure target index count between 0 and source index count. Fixes #53876 2021-10-16 20:31:20 -04:00
Rémi Verschelde
c2a616f3ec
Merge pull request #53821 from TwistedTwigleg/Godot_Master_SkeletonModificationIK_FixPoseChange
Fix for SkeletonModification3Ds to work with the new bone pose changes.
2021-10-16 23:54:37 +02:00
TwistedTwigleg
0cedc04769 Fix for SkeletonModification3Ds to work with the new bone pose changes, fixed global_pose_to_local_pose function 2021-10-16 16:34:31 -04:00
reduz
ae1c016547 Implement Animation Blend Shape Tracks
* New track type BLEND_SHAPE
* Blend shapes are imported via this new track type
* Processing is more optimized (no longer relies on variants)
* Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes)
* Promo: Fixed a small bug in gizmo updating in Node3D that affected performance

Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-16 08:36:05 -03:00
Rémi Verschelde
b5ece7c363
Merge pull request #53764 from Chaosus/vs_curve_input_port_default 2021-10-15 19:31:05 +02:00
reduz
b3bf90b3ce Add scene Post-Import Plugin support.
* New plugin system to control the whole import workflow
* Can add options and run code at every import step (general, per node, mesh, animation, material etc.)

This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
2021-10-15 09:12:04 -03:00
Rémi Verschelde
668ceda9cb
Merge pull request #53810 from groud/fix_crash
Fixes crash in TileSetAtlasSource::get_tiles_to_be_removed_on_change
2021-10-14 20:26:40 +02:00
Gilles Roudière
3948f9cc83 Fixes crash in TileSetAtlasSource::get_tiles_to_be_removed_on_change 2021-10-14 16:49:59 +02:00
Brian Semrau
a62e240260 Fix the height fog effect 2021-10-14 04:08:39 -04:00
reduz
2dc823273e Remove REST transform influence in skeleton bones
* Animations and Skeletons are now pose-only.
* Rest transform is kept as reference (when it exists) and for IK
* Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
2021-10-13 14:51:29 -03:00
Yuri Roubinsky
e270644b20 Add a default input parameter field to CurveTexture (in visual shaders) 2021-10-13 15:25:12 +03:00
Gilles Roudière
b9151860f3 Prevent tiles outside atlas texture 2021-10-13 13:44:02 +02:00
Rémi Verschelde
3e86ca5586
Merge pull request #53689 from reduz/remove-animation-transform3d-track 2021-10-13 12:40:33 +02:00
Rémi Verschelde
74a87fe98b
Merge pull request #53683 from Chaosus/vs_previews 2021-10-13 10:03:44 +02:00
reduz
ec19ed3723 Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone.
* Added POSITION_3D, ROTATION_3D, SCALE_3D tracks.
* GLTF2, Collada, FBX importers will only import the track types found.
* Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed.
* AnimationPlayer and AnimationTree animate these tracks separately, only when found.
* Removed BakeReset code, is useless with these changes.

This is the first in a series of commits designed to make the animation system in Godot more useful, which includes:

* Better compatibility with Autodesk products
* Better reusability of animations across models (including retargeting).
* Proper animation compression.
* etc.

*Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12 20:08:42 -03:00
Hendrik Brucker
cd37af4e4c Add GradientTexture2D
Co-authored-by: Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2021-10-12 16:22:30 +02:00
M. Huri
033dc4dbef Replaced NULL with nullptr 2021-10-12 20:20:19 +07:00
Juan Linietsky
610de0974d
Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" 2021-10-11 19:27:50 -03:00
Rémi Verschelde
9ed4f8367b
Merge pull request #48332 from TokageItLab/implement-ping-pong 2021-10-11 22:55:01 +02:00
Yuri Roubinsky
c299c54023 Make port previews in visual shader visible in other shader modes 2021-10-11 22:19:08 +03:00
Gilles Roudière
89a6c6cd84 Fixes set_source_id not updating the next automatic source id 2021-10-11 14:58:42 +02:00
Joan Fons
8ab7ca4b32 Fix auto LOD generation for blendshapes. 2021-10-09 20:31:28 +02:00
Tokage
372ba76663 implement ping-pong loop in animation
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
Rémi Verschelde
5ae569560d
Fix missing argument names in bindings
While at it, tweak some boolean setters to use `p_enabled` for the bool.

Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-09 00:20:10 +02:00
Rémi Verschelde
3d05b94212
Merge pull request #53522 from groud/read_only_tile_layout 2021-10-07 22:51:46 +02:00
Rémi Verschelde
a6c4de49e1
Merge pull request #53523 from Calinou/remove-occlusion-color 2021-10-07 22:26:10 +02:00
Rémi Verschelde
21b6aabb60
Merge pull request #53538 from Calinou/environment-ssr-fade-no-negative-values 2021-10-07 22:05:46 +02:00
Hugo Locurcio
01d1e9f576
Don't allow translucent colors in built-in sky material properties
The colors' alpha channel is ignored, so there's no point in
exposing it in the editor.
2021-10-07 18:12:16 +02:00
Hugo Locurcio
0269d8e871
Clamp Environment's SSR fade-in and fade-out to positive values
Negative values result in rendering glitches.
2021-10-07 17:59:55 +02:00
Hugo Locurcio
265bae824f
Remove unimplemented Environment.ambient_light_occlusion_color property
This property was intended to provide a way to have SSAO or VoxelGI
ambient occlusion with a color other than black. However, it was
dropped during the Vulkan renderer development due to the performance
overhead it caused when the feature wasn't used.
2021-10-07 17:47:52 +02:00
Gilles Roudière
9c1b1e9a7e Set TileSet layout and half-offset as read-only when using square shape 2021-10-07 15:29:48 +02:00
PouleyKetchoupp
2f6cf3b8a8 Fix editable children errors when packing scene tree at runtime
When packing a scene node which is not the root, errors where caused
by internal checks in is_editable_instance method.

This check can be safely made outside instead.
2021-10-05 14:49:50 -07:00
Rémi Verschelde
198b49d8b5
Merge pull request #53237 from metinc/fix-animated-sprite-precision-error-master 2021-10-05 16:26:36 +02:00
kobewi
cdac60759e Add support for unbinding in connection dialog 2021-10-04 21:41:21 +02:00
Yuri Sizov
0855e5f8f7 Correctly bind optional arguments when emitting Theme changes 2021-10-04 22:22:41 +03:00
Rémi Verschelde
d1c77d6b62
Merge pull request #53378 from clayjohn/hide_render_priority
Hide render_priority except when using SpatialMaterials
2021-10-04 19:17:32 +02:00
clayjohn
8c949016ff Hide render_priority except when using SpatialMaterials 2021-10-04 08:48:58 -07:00