Commit graph

2499 commits

Author SHA1 Message Date
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
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
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
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
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