Commit graph

1915 commits

Author SHA1 Message Date
lawnjelly
96a1b86717 Bind Physics Interpolation functions in VisualServer
To allow maximum flexibility in the initial rollout, VisualServer functions were not bound in order to prevent compatibility issues if the API changed.

These functions are now bound to allow direct use from the VisualServer.
2022-08-30 18:06:12 +01:00
Rémi Verschelde
a21221d70c
Merge pull request #64298 from Razoric480/raz/bin-cache
Fix binary resource internal cache not being filled at polling time
2022-08-29 07:04:31 +02:00
Rémi Verschelde
39ac24e278
Merge pull request #64745 from bruvzg/fix_mixed_font_color3
[3.x] Fix color modulation of the grayscale glyphs in font with mixed color / grayscale data.
2022-08-23 07:46:51 +02:00
Rémi Verschelde
812caa5f44
Merge pull request #58601 from Calinou/material-triplanar-sharpness-clamp-3.x 2022-08-22 22:21:59 +02:00
bruvzg
4d0c0f3ffa
Fix color modulation of the grayscale glyphs in font with mixed color / grayscale data. 2022-08-22 20:39:29 +03:00
Yuri Sizov
39f46613bb Backport fixes to documentation for paths, curves and navigation servers 2022-08-19 15:52:03 +03:00
Francois Belair
d331e5c7ac Fix binary internal cache not being filled 2022-08-14 12:30:59 -04:00
Francois Belair
420794b61d Force external resources to have their path set 2022-08-09 23:50:45 -04:00
Rémi Verschelde
36fc99158d
Merge pull request #63971 from paddy-exe/spatial-shader-built-ins 2022-08-08 15:50:25 +02:00
Rémi Verschelde
4f1dc83b0d
Merge pull request #64044 from Calinou/add-torusmesh-3.x 2022-08-08 15:37:58 +02:00
Hugo Locurcio
659fa79479
Use interleaved gradient noise for distance fade
This provides better visuals and performance compared to the previous
ordered dither.
2022-08-07 15:23:43 +02:00
hoontee
53adb2a142
Add TorusMesh 2022-08-07 12:42:24 +02:00
Rémi Verschelde
14c9325b5d
Merge pull request #62408 from Razoric480/raz/fix-no-cache
[3.x] Fix nested resources being cached if no-cache argument used
2022-08-05 23:43:54 +02:00
Rémi Verschelde
61b5e35de5
Merge pull request #61559 from kleonc/triangle_mesh_from_triangle_strip_or_fan_3x
[3.x] Make `Mesh::generate_triangle_mesh()` handle `PRIMITIVE_TRIANGLE_STRIP` and `PRIMITIVE_TRIANGLE_FAN`
2022-08-05 22:35:52 +02:00
Rémi Verschelde
906a693934
Merge pull request #53852 from Calinou/particles-allow-negative-scale
Allow negative scale in Particles and CPUParticles
2022-08-05 22:34:43 +02:00
Rémi Verschelde
5d3b6eb073
Merge pull request #48372 from Calinou/gradienttexture-add-hdr-property-3.x
Add an `use_hdr` property to GradientTexture to allow storing HDR colors (3.x)
2022-08-05 22:33:44 +02:00
Patrick Exner
be3d331f26 Backport spatial shader built-ins
Backport of this PR: https://github.com/godotengine/godot/pull/63597
This adds these as new Built-Ins to Spatial Shaders
* Object's Position in World Space
* Camera Position in World Space
* Camera Direction in World Space
* Object's Position in View Space
2022-08-05 21:19:15 +02:00
Rémi Verschelde
ef7502e1d4
Merge pull request #50540 from Calinou/material-hide-triplanar-subproperties-when-disabled-3.x 2022-08-05 19:39:19 +02:00
Rémi Verschelde
818f1eed31 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
Yuri Rubinsky
229bfc8f2d Fix invalid code generation when using VisualShaderNodeUniformRef 2022-07-17 12:41:24 +03:00
Francois Belair
2ceb93bbef Fix custom res caching sub-res even if no-cache
Fixes #59686, fixes #59752
2022-07-13 11:18:26 -04:00
smix8
fcff804844 Implement NavigationMesh bake area
Adds two new properties to NavigationMesh resources to restrict the navmesh baking to an area enclosed by an AABB with volume.

(cherry picked from commit 0c4d99f4fd)
2022-06-23 16:17:43 +02:00
smix8
8bd7c6188b [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
2022-06-14 05:55:14 +02:00
Rémi Verschelde
a9e966c319
Merge pull request #61544 from lawnjelly/vis_notifier_max_dist
VisibilityNotifier - add max_distance feature
2022-06-10 10:57:53 +02:00
Rémi Verschelde
5c4e95e6e5
Merge pull request #61844 from smix8/navigation_default_navmap_3.x 2022-06-10 09:48:47 +02:00
smix8
96d98d8c4e Backport default World navigation maps
Backports default navigation maps created with each World or World2D.
2022-06-09 14:05:39 +02:00
lawnjelly
0c5a424f65 VisibilityNotifier - add max_distance feature
Enables turning off objects by distance to the camera in addition to testing whether they are in the view frustum.
2022-06-09 11:37:42 +01:00
smix8
e629622598 Remove slash delimiter from NavigationMesh properties
Remove slash delimiter from NavigationMesh properties.

(cherry picked from commit 2c059dcfcb)
2022-06-09 10:31:57 +02:00
kleonc
84898dfc22 Make Mesh::generate_triangle_mesh() handle PRIMITIVE_TRIANGLE_STRIP and PRIMITIVE_TRIANGLE_FAN 2022-06-07 22:04:14 +02:00
Michael Alexsander
78fdebf8cc Fix hover being drawn twice inside PopupMenus 2022-06-04 02:51:22 -03:00
FireForge
ea46f32246 Fix get_data() for GradientTexture2D 2022-05-31 23:19:25 -05:00
bruvzg
553bdc6783
[3.x] Fix Label3D oversampling. 2022-05-30 09:05:41 +03:00
Hugo Locurcio
011ff93aa5
Tweak TextMesh decomposition error message to mention self-intersecting lines 2022-05-24 15:12:15 +02:00
Rémi Verschelde
88dba8e625 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:41:46 +02:00
Rémi Verschelde
b2cdc16a1d
Merge pull request #61281 from bruvzg/textmesh_3x
Backport TextMesh and expose dynamic font vector outlines
2022-05-23 16:16:40 +02:00
bruvzg
1ab459a951
Fix material shader key for SDF fonts. 2022-05-23 12:03:09 +03:00
bruvzg
d502bd4847
Backport TextMesh and expose dynamic font vector outlines 2022-05-23 10:47:28 +03:00
bruvzg
dc6d8d6098
Backport Label3D node implementation and Sprite*3D material render priority. 2022-05-23 09:14:41 +03:00
Hugo Locurcio
548c511f57 Tweak the disabled files text color in FileDialog for readability
Contrast rate is still fairly low, but the text needs to be easy enough
to distinguish from non-disabled items.

(cherry picked from commit 8962d2760d)
2022-05-22 19:43:56 +02:00
smix8
b03f6bc170 Remove arbitrary NavigationMesh bake property limits
Lowers or removes the slider limits and steps from NavigationMesh resources and changes some default values to better work with realistic unit sizes by default.

(cherry picked from commit cda93057f7)
2022-05-22 19:26:45 +02:00
smix8
44915696d2 Add wrong surface warnings to NavigationMesh.create_from_mesh()
Adds warnings when at least one of the input mesh surfaces is of wrong primitive type or has an empty vertex / index array as those broken input meshes would fail as both navmesh as well as later when creating debug meshes.

(cherry picked from commit 4185fce0ef)
2022-05-19 15:25:43 +02:00
Haoyu Qiu
b657d0c76c Add dedicated macros for property name extraction
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NOEDITOR
2022-05-19 11:31:35 +08:00
FireForge
67e6fc8e43 Fix Theme type group naming in the inspector
(cherry picked from commit 197be78bc5)
2022-05-16 21:12:21 +02:00
smix8
3e01d32b4c Clamp NavigationMesh sample_distance above zero
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.

This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.

(cherry picked from commit e33fa9d833)
2022-05-16 21:10:36 +02:00
Rémi Verschelde
5e693b6d84 Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.

(cherry picked from commit d8935b27a9)
2022-05-16 16:38:26 +02:00
kobewi
5fa7ed7686 Rescue orphan nodes in inherited scenes
(cherry picked from commit 2b53826ee6)
2022-05-16 15:59:55 +02:00
FireForge
f17c5fa7bd Add interpolation modes to Gradient
- Linear, Constant, and Cubic interpolation modes
- Partial backport of #53321
2022-05-12 14:24:04 -05:00
Rémi Verschelde
cf6dce2c1e
Merge pull request #60876 from timothyqiu/outline-size-hint
[3.x] Fix mismatched font outline size hint
2022-05-09 22:20:16 +02:00
Michael Alexsander
2e4e76b2e3 Add font_separator to PopupMenu 2022-05-08 14:11:59 -03:00
Haoyu Qiu
b277390267 Fix mismatched font outline size hint 2022-05-08 10:01:38 +08:00
kobewi
72e1088df6 Fix tscn not listed as Resource extension
(cherry picked from commit e3511dd9d7)
2022-05-05 13:47:48 +02:00
Rémi Verschelde
815f7fe636
Merge pull request #49952 from Calinou/spatialmaterial-depth-triplanar-print-warning
Print warning in SpatialMaterial when depth and triplanar are active
2022-05-02 23:59:52 +02:00
Rémi Verschelde
4b6e5f5da6
Merge pull request #60530 from timothyqiu/theme-validation-3.x 2022-05-02 10:49:27 +02:00
Rémi Verschelde
6ee64331db
Merge pull request #60527 from KoBeWi/unique_names_demastered 2022-05-02 10:48:27 +02:00
Rémi Verschelde
2834332591 TileMap: Use const ref for all Vector2 parameters 2022-04-30 14:05:57 +02:00
Hugo Locurcio
4b399b2285
Add a Skew property to StyleBoxFlat
This makes it possible to create more aesthetically pleasing
styleboxes for GUI theming, especially in games that have
a futuristic appearance (where skewed buttons and progress bars
are common).
2022-04-28 20:40:01 +02:00
Haoyu Qiu
d088128b43 Remove duplicate editor settings definitions 2022-04-27 15:26:46 +08:00
Haoyu Qiu
76343f4055 Validate theme type/item names 2022-04-26 20:09:18 +08:00
kobewi
e1c74ae83f Implement Scene Unique Nodes 2022-04-26 13:55:48 +02:00
Hugo Locurcio
b9dd0180eb
Hide Tonemap White property when tonemapper is Linear in Environment
The whitepoint property isn't used when the tonemapper is Linear.
2022-04-10 23:50:14 +02:00
Rémi Verschelde
cfdb99a741
Merge pull request #57411 from Scony/fix-threaded-navmesh-baking-3.x
Fix navmesh baking
2022-04-05 19:59:32 +02:00
Haoyu Qiu
f6251724af Add an explicit way to remove a theme type
Co-Authored-by: Yuri Sizov <yuris@humnom.net>
2022-04-05 11:51:15 +08:00
Pawel Lampe
fad77ecc39 Fix debug navmesh errors, fixes #59845 2022-04-03 21:47:20 +02:00
Pawel Lampe
3035b9c44c Fix navmesh baking, fixes #57148
- improved mesh data calculation from standalone static colliders so that no
  VisualServer calls are performed - and thus no VS mutexes need to
  be locked in case of on-thread baking
- improved the same for GridMap's static colliders
2022-04-02 23:20:41 +02:00
Rémi Verschelde
c4897c4b8d Improve range property hints for various collision shapes
Fixes #36419.

Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
(cherry picked from commit 0d772c6e6e)
2022-03-28 23:57:43 +02:00
Rémi Verschelde
113102aa51 ResourceImporterWAV: Allow configuring loop mode on import
The new `edit/loop_mode` import options lets user choose to either:
- Detect loop points from the WAV (default, same behavior as before)
- Set the loop mode and loop points manually like in AudioStreamSample

Fixes #46164.

(cherry picked from commit b389ce5ccd)
2022-03-28 23:46:29 +02:00
bruvzg
fd2fba7c2c
Add binary MO translation file support. Add brotli decoder and WOFF2 support.
Use smaller .mo files instead of .po, if gettext is available.
Convert editor fonts to .woff2 format.
2022-03-25 19:51:39 +02:00
Silc 'Tokage' Renew
7b9a912ff6 fix cubic interpolate when looping 3.x
Co-authored-by: robfram <robfram@gmail.com>
2022-03-01 19:15:25 +09:00
Hugo Locurcio
967821f719
Clamp SpatialMaterial triplanar sharpness to values that never look broken 2022-02-27 18:58:22 +01:00
jfons
0959ff2fe4 Add sanity checks to lightmap unwrap texel size
(cherry picked from commit d0fd5fd3c7)
2022-02-24 13:31:17 +01:00
Markus Sauermann
156d9d1643 simplify calculation of max in grayscale
(cherry picked from commit 79a75cd683)
2022-02-21 11:12:54 +01:00
Yuri Sizov
df13466139 Add type variations to Theme 2022-02-17 15:24:10 +03:00
Rémi Verschelde
2dd545b512
Merge pull request #58141 from lawnjelly/occluder_shared_resources 2022-02-16 13:29:55 +01:00
lawnjelly
3c2df49832 Fix Occluder to properly share resources
In order to properly support the resource sharing paradigm, Occluders are split into Instances and Resources in the VisualServer. Instances are owned by a Scenario, and Resources are global. OccluderShape resources can now correctly be shared by multiple OccluderInstances.
2022-02-16 09:55:11 +00:00
lawnjelly
522bce1159 Fixed Timestep Interpolation (3D)
Adds fixed timestep interpolation to the visual server.
Switchable on and off with project setting.

This version does not add new API for set_transform etc, when nodes have the interpolated flag set they will always use interpolation.
2022-02-16 09:41:23 +00:00
Hugo Locurcio
08128351a5
Clamp environment light sky contribution to the [0.0; 1.0] range
The value is already clamped in the editor, but it wasn't being
clamped when the value was set via code. Values outside the [0.0; 1.0]
range can result in broken rendering.
2022-02-14 17:15:06 +01:00
Hugo Locurcio
53b96095eb
Improve completion scroll bar visibility in the script editor (3.x)
This makes the scroll bar bar thicker and more opaque (roughly
matching the editor theme's scroll bar by default).
2022-02-14 14:54:35 +01:00
Rémi Verschelde
7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
Haoyu Qiu
8231303dec Backport FlowContainer 2022-02-11 14:48:40 +08:00
Pawel Lampe
6c6e50bf0c Fix navigation merge errors, fixes #56786
- improved `detail/sample_max_error` default value
- improved floating point precision handling in cell key calculations
- improved `merge error` error message
- exposed `cell_height` of `nav_map` to the `Navigation`
- fixed cell key `y` calculation
2022-02-02 23:52:29 +01:00
lawnjelly
8ea20f5fdd Add OccluderShapePolygon
Add OccluderShapePolygon, glue to Occluder and gizmos etc.
2022-02-01 11:31:06 +00:00
Yuri Sizov
797bb1d97e Ensure that NavMesh baking updates the inspector 2022-01-26 01:16:50 +03:00
Manolis Papadeas
941879f601
Expose BitMap's convert_to_image and resize methods to GDScript
(cherry picked from commit 453912d48d)
2022-01-25 18:55:52 +01:00
rafallus
58191c4b7e
Make sure MeshLibrary shape array has correct number of elements
(cherry picked from commit 5f8b292ad3)
2022-01-25 18:55:52 +01:00
Bartłomiej T. Listwon
58c460b3b7
Removed redundant ClassDB::is_class_enabled() and moved second dynamic_cast inside worst case if
(cherry picked from commit b6cfc55113)
2022-01-19 16:04:16 +01:00
Haoyu Qiu
342035b635 Fix ColorPresetButton's overbright indicator in default theme 2022-01-19 14:31:10 +08:00
Hendrik Brucker
365486543d Improve Colorpicker presets 2022-01-17 15:21:47 +01:00
kleonc
63fd172fce Fix AtlasTexture nesting 2022-01-15 00:11:02 +01:00
Michael Alexsander
9d2070ee19 Modify texture of selected tabs to better blend with the panel 2022-01-13 21:03:52 -03:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Yuri Sizov
58319564fa Unify theme item lookup in Controls and respect default font 2022-01-13 15:21:55 +03:00
David Cambré
c2a9de23f5
Update default port_grab_distance_vertical
(cherry picked from commit 38ad72af44)
2022-01-12 17:28:07 +01:00
Paweł Fertyk
5e57b850b6 Issue 56488 fail when image and texture size are different 2022-01-11 13:19:43 +01:00
Andrii Doroshenko (Xrayez)
8c11c28a8a Fix GradientTexture2D not working with Light2D
`Light2D` expects valid texture resource to be available initially for it to be properly bound.

Changed texture allocation implementation to be consistent/same with `GradientTexture` (1D).
2022-01-08 19:10:12 +02:00
Rémi Verschelde
aad12a2df5
Merge pull request #54824 from LightningAA/backport-gradient-texture-2d 2022-01-07 14:47:44 +01:00
Rémi Verschelde
8f17a4037b
Merge pull request #56466 from Chaosus/vs_uniform_hints_3.x 2022-01-06 09:39:27 +01:00
Kodi
b4be27a68b
add missing emit_changed() to set update mode function
(cherry picked from commit 51db86d789)
2022-01-06 00:21:36 +01:00
Nick Swoboda
4ec6513c42
Improve error messages related to failing to open files
(cherry picked from commit bf8f763524)
2022-01-06 00:21:32 +01:00
Rémi Verschelde
91c5a336e8
Merge pull request #55718 from bruvzg/oversampling_override 2022-01-06 00:07:48 +01:00
Jake Young
09bc9eb101
Backport NavigationServer with RVO2 to 3.x
Change the entire navigation system.
Remove editor prefix from nav mesh generator class. It is now used for baking
at runtime as well.
Navigation supports obstacle avoidance now with the RVO2 library.
Nav system will also automatically link all nav meshes together to form one
overall complete nav map.
2022-01-05 16:00:56 +01:00