Commit graph

3335 commits

Author SHA1 Message Date
reduz
d1ddee2258 Implement BPM support
Based on #62896, only implements the BPM support part.

* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
reduz
f649678402 Clean up Shader Preprocessor
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
2022-07-22 22:53:03 +02:00
Yuri Roubinsky
7b94603baa Adding shader preprocessor support
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-22 22:51:57 +02:00
Rémi Verschelde
653f95282c
Merge pull request #62996 from reduz/feature-build-profiles 2022-07-22 12:50:20 +02:00
reduz
6236a688b7 Implement Feature Build Profiles
This PR is a continuation of #50381 (which was implemented exactly a year ago!)

* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.

Obligatory Screen:

A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size

TODO:

* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.

In general this PR is a starting point for more contributors to improve and enhance this functionality.
2022-07-22 10:53:23 +02:00
luz paz
38aaaa3cf9 Fix various typos not caught by codespell
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-21 07:38:23 -04:00
Yuri Rubinsky
457e78a0bc Fix error emitting when opening some textures in the inspector 2022-07-21 09:48:15 +03:00
Aaron Franke
83c1060187
Change fog density range hint to be 0 to 1 with or_greater 2022-07-21 01:26:42 -05:00
Rémi Verschelde
0f6028378f
Merge pull request #63127 from KoBeWi/raise_from_picture 2022-07-20 22:34:05 +02:00
SaracenOne
86aa2a8578 Add drag-and-drop support for materials in 3D
Add mesh surface picking for material drag & drop, show drag info label
2022-07-19 12:49:09 -07:00
Rémi Verschelde
715f556cd4
Merge pull request #62139 from bruvzg/label_font_setttings
Add LabelSettings resource for quick Label theme property override.
2022-07-19 20:16:01 +02:00
FireForge
84431bd782 Use integer types in Image and ImageTexture methods
- Image.blit_rect()
- Image.blit_rect_mask()
- Image.blend_rect()
- Image.blend_rect_mask()
- Image.fill_rect()
- Image.get_used_rect()
- Image.get_rect()
- ImageTexture.set_size_override()
2022-07-18 19:43:32 -05:00
kobewi
e8288ac9ab Clarify create_from_image() usage 2022-07-18 13:01:04 +02:00
Rémi Verschelde
1c6148aa86
Merge pull request #63062 from Chaosus/vs_fix 2022-07-18 12:05:36 +02:00
Rémi Verschelde
3953c1aa73
Merge pull request #63094 from Geometror/fix-gradient-cubic-interpolation 2022-07-17 11:22:43 +02:00
Hendrik Brucker
655e2935cf Automatically create a Gradient resource when creating a GradientTexture1D 2022-07-17 04:04:57 +02:00
Hendrik Brucker
039045d569 Fix cubic interpolation for Gradient 2022-07-17 03:46:27 +02:00
Yuri Rubinsky
f05fce405e Fix visual shader graph not correctly updating when multiple tabs opened 2022-07-16 16:43:06 +03:00
Silc Renew
f3af3aedfe add rest fixer to importer retarget 2022-07-16 19:53:11 +09:00
Fabian Keller
2bf9e6090c rename translate(d) to translate(d)_local in Transform 2D/3D 2022-07-16 11:47:54 +02:00
bruvzg
cbe3a2dcb7
Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API. 2022-07-15 08:49:50 +03:00
Rémi Verschelde
184f62cb46
Merge pull request #60458 from KoBeWi/Deprecated-hint,-unused- 2022-07-14 00:20:30 +02:00
Rémi Verschelde
4639050c64 SpriteFrames: Sort animations alphabetically
And finally remove the 'frames' property which was added for compatibility with 2.1
in bed3efb17e.
Fixes #21765.

The 'animations' property on the other hand is needed, contrarily to what its comment
said (copy-paste mistake probably).

Also removes unused '_get_animation_list'.
2022-07-13 16:15:11 +02:00
bruvzg
f63d54126d
Add LabelSettings resource for quick Label theme property override. 2022-07-12 16:05:12 +03:00
kobewi
2f777b9a1e Remove unused hints 2022-07-12 00:44:13 +02:00
kobewi
d2900429e8 Add static methods for creating Image and ImageTexture 2022-07-08 13:40:47 +02:00
Rémi Verschelde
13346ab4cc
Merge pull request #62632 from linkpy/62630_fix
Make sure the tile data clears its `terrain` field when said terrain is removed from the tileset.
2022-07-08 11:30:28 +02:00
Rémi Verschelde
5268efdcd9
Merge pull request #62806 from dylan-conway/layered-texture-update-fix-and-error-messages 2022-07-08 00:16:15 +02:00
Dylan Conway
78ca147c8a Changed valid check to null check, added error messages 2022-07-07 11:11:47 -07:00
Rémi Verschelde
1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3 2022-07-07 12:22:49 +02:00
bruvzg
0c5431644d
Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose. 2022-07-07 11:07:18 +03:00
lawnjelly
1f69666209 Remove Octree
Octree is no longer used in 4.x.
2022-07-06 14:10:05 +01:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
Rémi Verschelde
1d06fec535
Merge pull request #62448 from MinusKube/completion-scroll-click
Add the ability to drag the code completion scrollbar using the mouse click
2022-07-04 10:13:20 +02:00
bruvzg
329923c6ac
Use custom key structs, instead of raw hashes for the Label3D and TextMesh, to avoid potential hash collisions. 2022-07-04 09:47:49 +03:00
MinusKube
336400dc42 Add the ability to drag the code completion scrollbar using the mouse click 2022-07-03 23:47:52 +02:00
Estelle Linkpy Reid
3a37053aac Make sure the tile data clears its terrain field when said terrain is removed from the tileset. 2022-07-02 15:01:07 +02:00
Silc Renew
dc43cfc830 implement bone renamer in importer 2022-07-01 03:55:28 +09:00
Hendrik Brucker
99ce0df3b1 Refactor bezier interpolation functions 2022-06-27 19:42:43 +02:00
Rémi Verschelde
fbc3777467
Merge pull request #62185 from reduz/export-node-pointer-path
Add ability to export Node pointers as NodePaths
2022-06-27 11:14:36 +02:00
reduz
b7c41f9ba1 Add ability to export Node pointers as NodePaths
This PR implements:
* A new hint: PROPERTY_HINT_NODE_TYPE for variant type OBJECT, which can take specific node types as hint string.
* The editor will show it as a node path, but will set it as a pointer to a node from the current scene if you select a path.
* When scene is saved, the node path is saved, then restored as a pointer.

NOTE: This is a proof of concept and this approach will most likely not work. The reason if that, if the node referenced is deleted, then when trying to edit this the node will become invalid.

Potential workarounds: Since this uses the Variant API, it should obtain the pointer from the Variant object ID. Yet, this would either only really work in GDScript or it would need to be implemented with workarounds in every language.
Alternative ways to make this work: Nodes could export an additional property with a node path (like for which_node, it could be which_node_path).
Another alternative: Path editing could happen as a hidden metadata (ignoring the pointer).
2022-06-25 15:50:15 +02:00
Rémi Verschelde
dd743b3c78
Merge pull request #62314 from tefusion/capsulemesh-radius-height-setters
Fix CapsuleMesh height/radius setters
2022-06-25 14:16:29 +02:00
Rémi Verschelde
b192073001
Merge pull request #62309 from reduz/remake-resource-thread-safety
Remake ResourceCache thread safety code and API
2022-06-25 14:09:28 +02:00
Raul Santos
adb81446a6
Fix Curve{2D,3D} notifying property list changed
Make `Curve2D` and `Curve3D` more consistent with `Curve` and avoid
calling `notify_property_list_changed` when the list of points doesn't
change.
2022-06-23 20:07:26 +02:00
Rémi Verschelde
ef5bc1baad
Merge pull request #62348 from smix8/navigation_baking_aabb_4.x 2022-06-23 16:10:40 +02:00
Rémi Verschelde
383f111869
Merge pull request #61628 from Vitika9/61617 2022-06-23 15:36:00 +02:00
Rémi Verschelde
2baddcc4f6
Merge pull request #61931 from KoBeWi/how_to_window
Document most of the Window's members
2022-06-23 15:20:53 +02:00
smix8
0c4d99f4fd 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.
2022-06-23 14:55:21 +02:00
JFonS
cac4e39ad2
Merge pull request #62268 from V-Sekai/lightmap-errors 2022-06-23 12:33:52 +02:00
K. S. Ernest (iFire) Lee
cc7a0f3b58 Mend crash importing a scene with static lightmaps. 2022-06-23 01:33:15 -07:00
reduz
3d1ab570b9 Add surface indices to TriangleMesh
Helps unblock #56597
2022-06-22 21:48:23 +02:00
kobewi
0f630f8307 Document most of the Window's members 2022-06-22 20:46:27 +02:00
Vitika9
6042b24745 Fixed dragging curve points 2022-06-22 22:17:49 +05:30
tefusion
ad7b3549a5 Fix CapsuleMesh loading issue (radius reset) 2022-06-22 17:34:49 +02:00
Rémi Verschelde
3ccff61979
Merge pull request #58544 from Calinou/tileset-source-allow-canvasitemmaterial 2022-06-22 17:02:34 +02:00
Rémi Verschelde
5fc2864b05
Merge pull request #56185 from nikitalita/fix-save-as-binary
Fix ResourceLoaderText::save_as_binary()
2022-06-22 14:37:43 +02:00
reduz
e772b65d92 Remake resource thread safety and API
* Ensures thread safety when resources are destroyed.
* Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe.
* Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem.

Supersedes #57533
2022-06-22 13:46:46 +02:00
Hugo Locurcio
b3fe2732e3
Allow using CanvasItemMaterial in the TileSet editor
Previously, only ShaderMaterial overrides could be added.
2022-06-21 17:02:52 +02:00
Rémi Verschelde
fdfbaf9f0f
Merge pull request #62198 from Calinou/text-resource-remove-extraneous-spaces
Remove spaces in `SubResource()/ExtResource/Resource()` in text resources
2022-06-21 15:11:23 +02:00
reduz
141c375581 Clean up Hash Functions
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Hugo Locurcio
514624c58e
Remove spaces in SubResource()/ExtResource/Resource() in text resources
These spaces are not needed for the file to be successfully parsed.

Other types such as Vector3 are no longer serialized with spaces
after the opening parenthesis and before the closing parenthesis,
so this is also more consistent.
2022-06-19 05:54:03 +02:00
mightygoat
59029f1a3f Declaring emission_tex_ofs globally 2022-06-19 01:20:57 +05:30
Fabio Alessandrelli
32b16c876b [Net] Fix SceneReplicationConfig setter.
Used by resource loader, it would always add properties as both sync and
spawn, disregarding the actual option value.
2022-06-17 13:49:36 +02:00
Rémi Verschelde
1767507e69
Merge pull request #61888 from Chaosus/vs_remove_engine_version
Remove engine version from visual shader
2022-06-16 18:19:03 +02:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
Rémi Verschelde
421d8b716d
Merge pull request #61952 from V-Sekai/custom-docs
`SurfaceTool.set_custom_format` Fixes and documentation.
2022-06-15 21:20:58 +02:00
Lyuma
03b896c992 SurfaceTool.set_custom_format Fixes and documentation.
Fix mistake making `set_custom_format` impossible to use.
Automatically forward custom flags in `SurfaceTool.commit`.
Add documentation in `SurfaceTool` and `Mesh` for custom channels.
Deprecate `SurfaceTool.generate_lod` and expose `ImporterMesh.generate_lods`.
2022-06-14 15:10:17 -07:00
Rémi Verschelde
7c0f1b4cd7
Merge pull request #62042 from Calinou/basematerial3d-nearest-height-always-linear
Always sample the heightmap with linear filtering in BaseMaterial3D
2022-06-14 21:39:03 +02:00
Hugo Locurcio
26f6625dcc
Always sample the heightmap with linear filtering in BaseMaterial3D
Nearest-neighbor filtering of the heightmap results in a broken
appearance, with and without Deep Parallax enabled on the material.

Linear filtering results in a more expected appearance. This does
not affect other texture maps such as albedo, normal or roughness.
2022-06-14 18:56:18 +02:00
FireForge
92817aa72f Add Vector2/3 linking to more properties
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- BaseMaterial3D.uv1_scale
- BaseMaterial3D.uv2_scale
2022-06-14 09:33:44 -05:00
Rémi Verschelde
41986532c1
Merge pull request #61974 from Calinou/project-settings-mark-as-basic 2022-06-13 17:16:03 +02:00
Rémi Verschelde
d4f31e201d
Merge pull request #61809 from groud/terrain_center_bit 2022-06-13 17:06:34 +02:00
Rémi Verschelde
136f84fc35
Merge pull request #61772 from bruvzg/ft_ot_collect 2022-06-13 11:13:05 +02:00
Rémi Verschelde
803d25a20a
Merge pull request #61961 from jtnicholl/anim_lib_type_hints
Fix type hints for AnimationLibrary's signals' arguments
2022-06-12 22:26:53 +02:00
Hugo Locurcio
c178cfef8e
Mark some common project settings as basic 2022-06-12 19:50:14 +02:00
Jonathan Nicholl
3d8e400fb5 Fix type hints for AnimationLibrary's signals 2022-06-12 13:20:51 -04:00
FireForge
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
Yuri Rubinsky
f4b4294c5f Revert vector4 output ports in visual shaders 2022-06-11 10:36:11 +03:00
Gilles Roudière
62d2549e9e Add terrain center bit 2022-06-10 14:37:39 +02:00
Yuri Rubinsky
d6622330d7 Remove engine version from visual shader 2022-06-10 13:17:16 +03:00
Hugo Locurcio
dbe513931f
Add a property hint to Environment's sky_rotation property
This property hint is identical to Node3D's `sky_rotation` property
and provides degree-based editing.
2022-06-09 22:54:15 +02:00
Rémi Verschelde
c91d33e9ca
Merge pull request #61813 from smix8/navigationmesh_properties_naming_4.x 2022-06-09 09:48:01 +02:00
smix8
2c059dcfcb Remove slash delimiter from NavigationMesh properties
Remove slash delimiter from NavigationMesh properties.
2022-06-09 09:20:52 +02:00
Rémi Verschelde
b13c41c33f
Merge pull request #61830 from XutaxKamay/fix-image-texture
Fix for regression of an ImageTexture being imported
2022-06-09 08:47:36 +02:00
Kamay Xutax
d8f1ee66d7 Fix for ImageTexture imported
Someone apparently forgot to return true ...
on ImageTexture::_set/_get
2022-06-09 00:08:07 +02:00
Rémi Verschelde
07029e94f4
Merge pull request #61662 from smix8/navigation_map_cell_defaults_4.x 2022-06-08 15:56:22 +02:00
kobewi
80025171cd Re-add internal image field to ImageTexture 2022-06-08 00:57:03 +02:00
Rémi Verschelde
60eec78a1f
Merge pull request #61558 from kleonc/triangle_mesh_from_triangle_strip
Make `Mesh::generate_triangle_mesh()` handle `PRIMITIVE_TRIANGLE_STRIP`
2022-06-07 22:07:16 +02:00
Rémi Verschelde
96f41d6ada
Merge pull request #61284 from KoBeWi/steal_image()
Remove image property of ImageTexture
2022-06-07 20:53:09 +02:00
Clay John
12edb2ce58
Merge pull request #55909 from Calinou/volumetric-fog-tweak-temporal-reprojection-range-hint
Tweak the volumetric fog temporal reprojection property hint
2022-06-07 08:56:05 -07:00
kobewi
c519a667ad Remove image property of ImageTexture 2022-06-07 16:30:54 +02:00
bruvzg
6e4cdad3ac
[TextServer] Adds support for TrueType / OpenType collection files (*.TTC, *.OTC). 2022-06-07 11:35:59 +03:00
Aaron Record
14df02b21f Fix typo "Frac" instead of "Fract" 2022-06-05 19:20:32 -06:00
kobewi
855a1ff61f Increase maximum size of gradient textures 2022-06-05 18:20:26 +02:00
smix8
3066091780 Match NavMap and ProjectSettings with NavigationMesh defaults
Match NavMap and ProjectSettings with NavigationMesh defaults since the NavMap edge merging requires a matching cell_size with the NavigationMesh to create connections without issues.
2022-06-03 19:17:49 +02:00
kleonc
9b556c96f0 Make Mesh::generate_triangle_mesh() handle PRIMITIVE_TRIANGLE_STRIP 2022-05-31 13:57:42 +02:00
Hendrik Brucker
70c234f3e3 Improve Graphedit connection lines 2022-05-30 17:33:01 +02:00
Hendrik Brucker
771cb1261a Improve and fix the GraphNode port hotzones
Co-authored-by: Ansraer <jacky2611@gmail.com>
2022-05-30 15:48:58 +02:00
Rémi Verschelde
69b30eae29
Merge pull request #61337 from reduz/improve-stylebox-preview
Improve StyleBox preview
2022-05-26 13:28:36 +02:00
reduz
b4c6900123 Improve StyleBox preview
* Show checkerboard on background.
* Add margins.
* Show Ninepatch lines (toggleable).
* Move the region to its own section so it does not pollute.
2022-05-26 11:57:56 +02:00
Nathan Franke
77c8f271e7
use ERR_FAIL_INDEX when preferred 2022-05-25 13:36:45 -05:00
Rémi Verschelde
cc21892fa4
Merge pull request #61355 from bruvzg/text_mesh_fix_fill_align
[TextMesh] Fix incorrectly applied FILL alignment.
2022-05-25 01:16:42 +02:00
Rémi Verschelde
19e3c7fcd9
Merge pull request #61040 from Calinou/basematerial3d-rename-tex-properties 2022-05-24 23:36:29 +02:00
Hugo Locurcio
a8a6e664fb
Rename BaseMaterial3D properties to use fully spelled out "texture"
This is more consistent with other BaseMaterial properties such as
`ao_texture_channel`.

This also improves the documentation related to
`albedo_texture_force_srgb`.

This also fixes a typo in the 3.x material converter.
2022-05-24 20:44:17 +02:00
clayjohn
4f82b1bd20 Use IGN instead of white noise for sky dithering 2022-05-24 10:57:07 -07:00
Hugo Locurcio
ce7099a35a
Tweak TextMesh decomposition error message to mention self-intersecting lines 2022-05-24 15:11:39 +02:00
bruvzg
826de9da48
[TextMesh] Fix incorrectly applied FILL alignment. 2022-05-24 11:58:54 +03:00
Rémi Verschelde
bd8d91254c
Merge pull request #61106 from snailrhymer/animation-library-fixes
Fix errors and improve UX relating to new animation libraries
2022-05-24 10:51:31 +02:00
Rémi Verschelde
56dbfcdcba
Merge pull request #61203 from Calinou/cylindermesh-add-cap-properties
Add properties to disable top/bottom cap generation in CylinderMesh
2022-05-24 08:21:01 +02:00
Rémi Verschelde
1314e6cbcc
Merge pull request #60803 from Chaosus/shader_hint_rename
Rename `hint_albedo`, `hint_white/black` in shaders
2022-05-24 08:15:33 +02:00
Rémi Verschelde
9923851370 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
bruvzg
4e86c13557
[TextMesh] Do not generate meshes for non-visual glyphs. 2022-05-23 20:06:36 +03:00
Rémi Verschelde
a76db34592
Merge pull request #61314 from Chaosus/vs_fix_conversion_bug
Fix connection of subports after uniform->constant conversion in visual shader
2022-05-23 16:21:30 +02:00
reduz
12474fd87a Improve MultiplayerSynchronizer editor usability
* Add a button to add properties (which lets you select node and property)
* Add ability to drag properties and drop them to the editor.
* Made the editor transient (not always visible on the bottom) since its not needed most of the time.
* Added the ability to pin the editor, in case dragging properties from other nodes is desired.
2022-05-23 13:14:59 +02:00
Yuri Rubinsky
0778c7a19e Fix connection of subports after uniform->constant conversion in vshader 2022-05-23 14:09:59 +03:00
Rémi Verschelde
3568b3deea
Merge pull request #61283 from bruvzg/text_mesh_cubic
[TextMesh] Fix cubic Bezier arc processing.
2022-05-23 09:34:33 +02:00
bruvzg
1f066837e4
[TextMesh] Fix cubic cubic Bezier arc processing. 2022-05-22 18:04:32 +03:00
Hugo Locurcio
f008e98ea2
Decrease SphereShape3D's default radius to 0.5 to match primitive mesh
The SphereMesh primitive mesh's size was recently decreased, but
unlike other primitive meshes, the sphere shape's radius wasn't
adjusted accordingly.
2022-05-22 08:46:01 +02:00
Hugo Locurcio
d23071cae3
Add properties to disable top/bottom cap generation in CylinderMesh 2022-05-21 02:06:53 +02:00
Rémi Verschelde
8adf048045
Merge pull request #61194 from reduz/new-hash-set
Add a new HashSet template
2022-05-21 01:06:21 +02:00
Hugo Locurcio
3afc03455e
Remove outdated "not implemented yet" comments in ParticlesMaterial
These features have been working as of 4.0.alpha8.
2022-05-20 23:28:12 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Hugo Locurcio
8962d2760d
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.
2022-05-20 16:59:34 +02:00
Rémi Verschelde
29708f79a8
Merge pull request #61170 from smix8/navigation_navmesh_property_limits_4.x
Remove arbitrary NavigationMesh bake property limits
2022-05-20 08:47:20 +02:00
Rémi Verschelde
277ea1950a
Merge pull request #61205 from Calinou/default-font-tweak-fake-bold-italic
Tweak the default font's fake italic to better match Open Sans Italic
2022-05-20 07:56:12 +02:00
Hugo Locurcio
383a27e930
Tweak the default font's fake italic to better match Open Sans Italic 2022-05-20 01:31:25 +02:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
Rémi Verschelde
b9bb3de6a1
Merge pull request #61142 from bruvzg/rtl_threaded 2022-05-19 14:27:48 +02:00
Aaron Record
900c676b02 Use range iterators for RBSet in most cases 2022-05-19 12:09:16 +02:00
bruvzg
cfcdfc38e2
[RTL] Add support for shaping in background thread. 2022-05-19 09:34:44 +03:00
Haoyu Qiu
fc3b845c07 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_NO_EDITOR
* Extract missing ADD_ARRAY*, ADD_SUBGROUP* macros
2022-05-19 14:08:47 +08:00
smix8
cda93057f7 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.
2022-05-18 23:00:12 +02:00
Yuri Sizov
21b253a870 Define some Theme data structures with using for readability 2022-05-18 18:17:47 +03:00
Rémi Verschelde
e709a6e2cf
Merge pull request #61152 from YuriSizov/theme-sets-lists-and-idle-hands 2022-05-18 16:17:04 +02:00
Rémi Verschelde
3ec3984204
Merge pull request #61144 from smix8/navigation_create_from_mesh_warning_4.x 2022-05-18 15:15:57 +02:00
Yuri Sizov
4e0f11cfdb Restore Theme.get_type_list behavior to properly handle uniqueness 2022-05-18 15:41:44 +03:00
smix8
4185fce0ef 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.
2022-05-18 14:13:01 +02:00
Raul Santos
a9a41df0c8
Expose Curve points in the inspector
Exposes the Curve, Curve2D and Curve3D points as an array property.
2022-05-17 18:08:36 +02:00
Raul Santos
0ba0d51c9e
Implement mark_dirty in Curve2D and Curve3D
Implements a method `mark_dirty` in Curve2D and Curve3D like the one
that already exists in Curve, it's a convenient way to set
`baked_cache_dirty` to `true` and also emit the `changed` signal.
2022-05-17 18:08:34 +02:00
SnailRhymer
d79818acb6 Fix errors and improve UX relating to new animation libraries
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
clayjohn
9b61c855ef Add basic lighting to GLES3 renderer.
This includes all three light types and IBL, but does not include shadows or any form of GI
2022-05-16 15:07:09 -07:00
Hendrik Brucker
bf9a836a50 Regression: Fix Curve2D/Curve3D baking 2022-05-16 18:17:02 +02:00
Rémi Verschelde
eaa4e86433
Merge pull request #61061 from smix8/navigation_mesh_sample_distance_range_4.x 2022-05-16 15:05:17 +02:00
Rémi Verschelde
0497b67bec
Merge pull request #60130 from fire-forge/theme-node-names 2022-05-16 14:57:21 +02:00
smix8
e33fa9d833 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.
2022-05-16 14:25:20 +02:00
Rémi Verschelde
b154f445d5
Merge pull request #60507 from bruvzg/textmesh
Implement TextMesh.
2022-05-16 13:52:57 +02:00
Rémi Verschelde
df2de05c5f
Merge pull request #60463 from Geometror/improve-vs-1 2022-05-16 13:50:42 +02:00
Rémi Verschelde
7b571ab8f7
Merge pull request #60986 from fire-forge/capitalism 2022-05-16 13:49:14 +02:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Rémi Verschelde
29cf36fc8b
Merge pull request #60991 from fire-forge/tileset-groups 2022-05-13 13:46:43 +02:00
Yuri Rubinsky
eb80a9f325
Merge pull request #60978 from fire-forge/shader-caps
Capitalize AO, AA, UV, and UV2 in visual shader output ports
2022-05-13 09:31:56 +03:00
FireForge
584a646f50 Capitalize output port names in visual shader 2022-05-13 00:53:09 -05:00
bruvzg
05963674a7
Implement TextMesh resource.
Apply simulated slant and embolden to the TextServer `gont_get_glyph_contours` results.
2022-05-13 08:20:22 +03:00
FireForge
40a1fc7a34 Reduce extra groups in TileSet 2022-05-12 17:31:58 -05:00
FireForge
88a8038387 Capitalize/fix some property enum hints 2022-05-12 15:03:16 -05:00
Rémi Verschelde
ff30a09993
Merge pull request #60643 from clayjohn/GLES3-3D 2022-05-12 21:08:02 +02:00
clayjohn
652adcd5bf Basic 3D rendering 2022-05-12 10:37:27 -07:00
Rémi Verschelde
a624bfe150
Merge pull request #58152 from raulsntos/fix-curve-bake-algorithm 2022-05-12 14:45:23 +02:00
Raul Santos
b3c37b9fe1
Fix Curve bake algorithm 2022-05-12 13:18:21 +02:00
Raul Santos
a80bc715ad
Fix Curve idx calculation for baked tilts and up vectors 2022-05-12 13:18:20 +02:00
bruvzg
6783d55ce4
Use new HashMap implementation in the TextServer, and Font. 2022-05-12 13:42:25 +03:00
reduz
8b7c7f5a75 Add a new HashMap implementation
Adds a new, cleaned up, HashMap implementation.

* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
  for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).

This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde
edf61c077c
Merge pull request #60917 from akien-mga/ci-emscripten-3.1.10 2022-05-10 15:08:32 +02:00
Rémi Verschelde
b6983eeccf
Merge pull request #51591 from Calinou/call-group-default-immediate
Make `{call,set,notify}_group()` immediate by default
2022-05-10 14:52:23 +02:00
Rémi Verschelde
d8935b27a9 Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
2022-05-10 13:03:13 +02:00
Rémi Verschelde
d3d58e7cc7
Merge pull request #60864 from V-Sekai/modification-stack-array 2022-05-09 22:39:44 +02:00
Yuri Roubinsky
a8bbe570ca Rename hint_albedo, hint_white/black in shaders 2022-05-09 22:50:18 +03:00
Yuri Rubinsky
033e211724
Merge pull request #60845 from Chaosus/vs_color_func 2022-05-09 21:34:34 +03:00
Yuri Rubinsky
b5cb4ea067
Merge pull request #60844 from Chaosus/vs_vec4 2022-05-09 21:34:13 +03:00
kobewi
2b53826ee6 Rescue orphan nodes in inherited scenes 2022-05-09 01:22:31 +02:00
K. S. Ernest (iFire) Lee
a396f7eda5 Change skeleton modification 2d and 3d to use the array inspector. 2022-05-07 13:57:10 -07:00
Yuri Roubinsky
ee1b7a033d Push HSV2RGB/RGB2HSV to ColorFunc (from VecFunc) in visual shaders 2022-05-07 09:49:12 +03:00
Yuri Roubinsky
edd3b1274e Change output port of VisualShaderNodeColorUniform to vec4 2022-05-07 08:40:19 +03:00
kobewi
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
Hugo Locurcio
aabbb40009
Make {call,set,notify}_group() immediate by default
This results in less surprising behavior out of the box.

Internal usages were modified to keep the existing behavior
identical there.
2022-05-05 16:59:37 +02:00
Rémi Verschelde
71e41eb395
Merge pull request #60597 from reduz/missing-node-resource-placeholders 2022-05-05 15:57:50 +02:00
Haoyu Qiu
b3162e270e Fix global AnimationLibrary name validation 2022-05-05 11:19:54 +08:00
Rémi Verschelde
1b2992799b
Merge pull request #60727 from aaronfranke/basis-axis-column 2022-05-03 19:36:07 +02:00
reduz
0a57f964a3 Implement missing Node & Resource placeholders
Implemented by request of @neikeq to advance in the GDExtension version of Mono.

* If a Resource type is missing upon load, it will be remembered together with its data (Unless manually overriden).
* If a Node type is missing upon load, it will be also be remembered together with its data (unless deleted).

This feature makes working with GDExtension much easier, as it ensures that missing types no longer cause data loss.
2022-05-03 17:08:09 +02:00
Rémi Verschelde
b239275989
Merge pull request #60583 from reduz/placeholder-assets 2022-05-03 16:43:13 +02:00
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods 2022-05-03 09:37:47 -05:00
Rémi Verschelde
8aa791d166
Merge pull request #59321 from Calinou/primitive-meshes-csg-tweak-default-sizes
Decrease default sizes of some primitive and CSG meshes for consistency
2022-05-03 15:19:30 +02:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Rémi Verschelde
f75afaa085
Merge pull request #58777 from Sauermann/fix-capsulemesh-tangent
Reverse tangents of capsule mesh
2022-05-03 08:18:48 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
kobewi
e3511dd9d7 Fix tscn not listed as Resource extension 2022-05-02 23:21:15 +02:00
Rémi Verschelde
78193788d0
Merge pull request #59895 from akien-mga/clang-tidy 2022-05-02 17:45:13 +02:00
Rémi Verschelde
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
bruvzg
7b18c35ab2 Fix resource dependence renaming. 2022-05-02 16:38:09 +03:00
Rémi Verschelde
5c52b30471
Merge pull request #60529 from timothyqiu/theme-validation 2022-05-02 10:49:14 +02:00
Hendrik Brucker
6d876baf60 Improve the VisualShader/VisualScript editor UI 2022-04-30 03:56:57 +02:00
Rémi Verschelde
0e98dbb19c
Merge pull request #60070 from Calinou/proceduralskymaterial-add-dithering
Add dithering to ProceduralSkyMaterial to combat banding
2022-04-29 20:28:11 +02:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns" 2022-04-29 08:02:39 -05:00
Rémi Verschelde
5a4e478b0f
Merge pull request #58599 from Calinou/styleboxflat-add-skew
Add a Skew property to StyleBoxFlat
2022-04-28 18:32:01 +02:00
Rémi Verschelde
9101c5b499
Merge pull request #52624 from e8newallm/52577
Corrected ordering of Left/Top/Right/Bottom properties
2022-04-28 17:57:02 +02:00
reduz
b02c7387c7 Implement placeholder assets
* Placeholder textures
* Placeholder meshes
* Placeholder material

This PR is the first step towards implementing https://github.com/godotengine/godot-proposals/issues/2756
It adds an asset type that uses no resources, which can be used to replace the existing ones on export for using on the upcoming server export.
2022-04-28 12:19:01 +02:00
Markus Sauermann
a793960a10 Fix cppcheck const parameters
Convert method signature parameters to const where it is possible

# Conflicts:
#	drivers/gles3/rasterizer_canvas_gles3.cpp
#	drivers/gles3/rasterizer_canvas_gles3.h
#	editor/plugins/animation_state_machine_editor.cpp
#	editor/plugins/animation_state_machine_editor.h
2022-04-28 11:35:39 +02:00
Hugo Locurcio
53b8899be9
Decrease default sizes of some primitive and CSG meshes for consistency 2022-04-27 22:45:38 +02:00
Rémi Verschelde
baeb8ad860
Merge pull request #60361 from Geometror/fix-gradient-texture-2d-get-image 2022-04-27 12:49:39 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
Rémi Verschelde
e9e2aaf812
Merge pull request #60513 from Calinou/default-font-add-msdf-mipmap
Add MSDF and mipmap generation project settings for the default font
2022-04-26 22:39:55 +02:00
Haoyu Qiu
d8c04cda3a Validate theme type/item names 2022-04-26 19:54:43 +08:00
Rémi Verschelde
e77a7c2976
Merge pull request #60369 from timothyqiu/al-validate
Fix AnimationLibrary name validation
2022-04-26 08:17:41 +02:00
Hugo Locurcio
43c34bf611
Add MSDF and mipmap generation project settings for the default font
This can be used to improve Label3D and scaled Control appearance
in prototypes.
2022-04-25 16:47:44 +02:00
Rémi Verschelde
68ee730774
Merge pull request #60424 from timothyqiu/fa-unref
Close `FileAccess` before accessing it with `DirAccess`
2022-04-25 16:21:09 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
Rémi Verschelde
63a052d96b
Merge pull request #60386 from bruvzg/label3d 2022-04-25 15:51:31 +02:00
Rémi Verschelde
7c7ce7dcd7
Merge pull request #60298 from reduz/scene-unique-paths 2022-04-25 13:38:08 +02:00
reduz
8580f377a3 Implement Scene Unique Nodes
Implements https://github.com/godotengine/godot-proposals/issues/4096

* Nodes can be marked unique to the scene in the editor (or via code).
* Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched.
* Implementation is very optimal, as these nodes are cached.
2022-04-25 12:19:17 +02:00
Yuri Rubinsky
d9d871dfbf
Merge pull request #60439 from Chaosus/vs_vec4 2022-04-25 07:20:44 +03:00
Clay John
e80aedbf20
Merge pull request #60378 from clayjohn/ParticlesMaterial-clamp
Clamp Gradient and Curve Textures in ParticlesMaterial
2022-04-24 10:37:27 -07:00
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
Yuri Roubinsky
8bf632240d Continue to improve vector4 type in visual shaders 2022-04-22 22:29:26 +03:00
Haoyu Qiu
caf8e5e339 Close FileAccess before accessing it with DirAccess 2022-04-22 18:15:31 +08:00
bruvzg
be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Yuri Rubinsky
f4b0c7a1ea
Merge pull request #60175 from Geometror/visual-shader-vector4 2022-04-20 08:33:42 +03:00
clayjohn
1ea4f37c50 Clamp Gradient and Curve Textures in ParticlesMaterial 2022-04-19 15:39:19 -07:00
Hendrik Brucker
39a4036aa2 Fix GradientTexture2D update after setting the gradient 2022-04-19 19:51:49 +02:00
Haoyu Qiu
d8fed8fb69 Fix AnimationLibrary name validation 2022-04-19 17:15:43 +08:00
Rémi Verschelde
7a4c203ce9
Merge pull request #60225 from YeldhamDev/popmenu_arrow_slim
Reduce width of arrow icons for the default theme in `PopupMenu`
2022-04-14 21:24:21 +02:00
Michael Alexsander
bab2f3c021 Add font_separator and related properties to PopupMenu 2022-04-13 23:46:35 -03:00
Michael Alexsander
c088e2f416 Reduce width of arrow icons for the default theme in PopupMenu 2022-04-13 23:22:46 -03:00
nikitalita
6c00f8111d Fix binsary resource export 2022-04-13 16:33:44 -07:00
Haoyu Qiu
bdfb3884ff Fix parameter validation when renaming in AnimationLibrary 2022-04-13 22:14:47 +08:00
Rémi Verschelde
d1bb77076a
Merge pull request #60004 from fire-forge/anim-loop-enum 2022-04-13 13:07:34 +02:00
Hendrik Brucker
cf58d23a72 Add Vector4 to VisualShader 2022-04-12 19:09:29 +02:00
Yuri Rubinsky
3d63f6e36d
Merge pull request #60171 from Chaosus/restore_aa 2022-04-12 18:09:58 +03:00
Yuri Roubinsky
6e9535a9c8 Restore antialiasing for draw_line 2022-04-12 13:03:56 +03:00
bruvzg
4bf99f4af2 Narrow FileAccess scope to prevent deadlocks. 2022-04-12 10:54:39 +03:00
Rémi Verschelde
3fc7a96cf8
Merge pull request #60120 from Calinou/environment-editor-ssil-tonemap-hide
Hide SSIL properties when SSIL is disabled in the Environment resource
2022-04-11 20:34:28 +02:00
Rémi Verschelde
4ab86c6731
Merge pull request #59980 from reduz/animation-libraries 2022-04-11 14:18:35 +02:00
reduz
6f401439f8 Implement Animation Libraries
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.

This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.

Missing (will be done on separate PRs):

* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
FireForge
197be78bc5 Fix Theme type group naming in the inspector 2022-04-10 22:18:21 -05:00
Hugo Locurcio
f9c0a66d6e
Hide SSIL properties when SSIL is disabled in the Environment resource
- Hide Tonemap White property when the tonemapper is Linear
  (as linear tonemapping does not use a whitepoint).
2022-04-10 23:44:19 +02:00
Hugo Locurcio
bc2ca2ebcf
Add dithering to ProceduralSkyMaterial to combat banding
Dithering was already present in PhysicalSkyMaterial. This brings
it to ProceduralSkyMaterial as well, with the same algorithm
and default intensity.
2022-04-09 18:29:41 +02:00
Pawel Lampe
fcd26b8841 Fix navmesh baking
- 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-08 21:01:59 +02:00
FireForge
28261b3da8 Add enum hint for Animation.loop_mode 2022-04-07 17:19:32 -05:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
Rémi Verschelde
e9699dca02
Merge pull request #58062 from Calinou/panoramaskymaterial-default-black 2022-04-05 15:21:01 +02:00
Rémi Verschelde
b512fe67a6
Merge pull request #59888 from akien-mga/clang-tidy 2022-04-04 23:57:30 +02:00
Pawel Lampe
e17e4b34a8 Fix debug navmesh errors 2022-04-04 23:03:14 +02:00
Rémi Verschelde
b78aa4fe19 Style: Apply clang-tidy to current code, add readability-redundant-member-init 2022-04-04 21:49:51 +02:00
Rémi Verschelde
f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
bruvzg
28520002cf
Fix center aligned text clipping. 2022-04-04 09:04:05 +03:00
FireForge
60dfe76e1f Fix group name in FastNoise and Gradient 2022-03-31 21:21:04 -05:00
reduz
45f74ceb85 Add PortableCompressedTexture
* Resource that allows saving textures embedded in scenes or standalone.
* Supports only formats that are portable: Lossy, Lossles or BasisUniversal

This is something I wanted to add for a long time. I made it now because @fire
requires it for importing GLTF2 files with embedded textures, but also this
will allow saving Godot scenes as standalone binary files that will run
in all platforms (because textures will load everywhere).

This is ideal when you want to distribute individual standalone assets online
in games that can be built from Godot scenes.
2022-03-30 10:39:41 +02:00
Rémi Verschelde
f6ef63635f
Merge pull request #59659 from fountainment/fix_callable_bind_usage
Fix Callable::bind usage in connections_dialog.h and packed_scene.cpp
2022-03-30 09:00:07 +02:00
Yuri Roubinsky
509598e8c0 Remove SHADOW_ATTENUATION spatial light shader built-in 2022-03-29 08:43:31 +03:00
C.Even
619d9d143b Fix Callable::bind usage in connections_dialog.h and packed_scene.cpp
* Callable::bind takes an array of pointers to Variant
* Fixes #57057
2022-03-29 12:15:36 +08:00
Rémi Verschelde
5149db8d85
Merge pull request #59644 from akien-mga/template-no-editor-dep 2022-03-28 23:35:51 +02:00
Rémi Verschelde
f3bd700767
Merge pull request #59619 from Chaosus/vs_input_desc 2022-03-28 22:32:11 +02:00
Rémi Verschelde
324215c485
Merge pull request #59525 from fire-forge/fix-group-names 2022-03-28 21:44:35 +02:00
Rémi Verschelde
45ec0e31c3 Remove last editor code dependencies in template build
SConstruct change also makes it possible to outright delete the `editor`
folder in a `tools=no` build, which we use in CI to ensure no invalid
cross-dependencies are added.
2022-03-28 21:13:01 +02:00
FireForge
88b09694e7 Fix inspector group name capitalization 2022-03-28 14:02:06 -05:00
Yuri Roubinsky
9edbdc4f36 Add refs to shading language to the desciption of input nodes in vshader 2022-03-28 22:01:10 +03:00
Rémi Verschelde
7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Rémi Verschelde
f0407ad14d
Merge pull request #59336 from YeldhamDev/where_we_dropping_boys 2022-03-26 23:30:07 +01:00
Rémi Verschelde
0d772c6e6e Improve range property hints for various collision shapes
Fixes #36419.

Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
2022-03-26 16:20:30 +01:00
FireForge
bb7e6e9951 Rename "ss_reflections_" to "ssr_" in Environment 2022-03-25 14:37:01 -05:00
bruvzg
78051f93a3
Convert the editor and default theme fonts to WOFF2 format to save space. 2022-03-25 11:45:55 +02:00
Rémi Verschelde
99139e17e4
Merge pull request #59170 from akien-mga/import-wav-configure-loop-mode 2022-03-22 13:26:31 +01:00
Michael Alexsander
94b8f38de2 Add visual marker when dragging and dropping tabs 2022-03-21 22:16:29 -03:00
Rémi Verschelde
ef24e95f4a
Merge pull request #59268 from Chaosus/shader_renames2
Rename several transform built-ins in shaders
2022-03-18 19:24:38 +01:00
Rémi Verschelde
5c8bd6fd71
Merge pull request #58233 from bruvzg/gde_ts 2022-03-18 14:29:58 +01:00
Yuri Roubinsky
0d9aecd967 Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
Rémi Verschelde
acc9b5b390
Merge pull request #55399 from RPicster/particlesmaterial-sphere-emittershape
ParticleMaterial: Sphere emission shape emitting from the volume.
2022-03-18 08:21:59 +01:00
bruvzg
f19cd44346
Unify TextServer built-in module and GDExtension code. 2022-03-17 08:15:29 +02:00
Bastiaan Olij
57e5a33623 Split dummy renderer classes into separate files
Split canvas_texture_storage and texture_storage from render_storage class
2022-03-16 17:43:10 +11:00
Rémi Verschelde
b389ce5ccd 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.
2022-03-15 16:16:09 +01:00
Rémi Verschelde
6721290831
Merge pull request #58018 from Calinou/procedural-sky-add-cover-texture
Add sky cover texture for ProceduralSkyMaterial
2022-03-13 00:56:09 +01:00
Rémi Verschelde
e56b69269f
Merge pull request #59013 from bruvzg/fake_bold_italics 2022-03-11 14:24:13 +01:00
bruvzg
b32e8d63d8
Add options to embolden and transform font outlines to simulate bold and italic typefaces. 2022-03-11 14:02:30 +02:00
Rémi Verschelde
768f9422bc Convert uses of DirAccess * to DirAccessRef to prevent memleaks
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
Rémi Verschelde
af9a60d5b3
Merge pull request #58965 from TechnoPorg/remove-stex-occurrences
Remove more occurrences of "stex"
2022-03-11 08:00:52 +01:00
TechnoPorg
f4bc9f5821 Remove more occurrences of "stex" 2022-03-10 18:31:48 -07:00
reduz
6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
Yuri Roubinsky
4d6790e9df Add _get_func_code/_is_available virtual functions to custom nodes 2022-03-08 16:23:44 +03:00
Rémi Verschelde
eb8ce0ce68
Merge pull request #58750 from Chaosus/vs_varyings
Add varying support to visual shaders
2022-03-07 07:41:11 +01:00
Rémi Verschelde
bb5d71f6cc
Merge pull request #58719 from Chaosus/vs_builtins
Adds few more input/output built-ins to visual shader
2022-03-07 07:39:51 +01:00
Rémi Verschelde
d37e8586be
Merge pull request #58788 from reduz/rename-streamtexture
Rename StreamTexture* to CompressedTexture*
2022-03-06 00:19:55 +01:00
kobewi
bc3aff9b46 Various code and documentation improvements 2022-03-05 22:00:35 +01:00
reduz
ccd4cdfd8b Rename StreamTexture* to CompressedTexture*
* Its not and will not be used for streaming.
* Streaming will be implemented in 4.1 and it will work different.
* It makes more sense to be called CompressedTexture since it imports and compresses texture files.
2022-03-05 16:43:38 +01:00
Markus Sauermann
c2e9b0c566 Reverse tangents of capsule mesh 2022-03-05 09:23:59 +01:00
Yuri Roubinsky
15a87f8e92 Add varying support to visual shaders 2022-03-04 23:30:47 +03:00
Rémi Verschelde
b2e19b2499 Animation: Silence false positive -Wstringop-overflow warning
And disable debug code which was wrongly left enabled.
2022-03-04 17:10:22 +01:00
Yuri Roubinsky
2f8cb76899 Adds few more input/output built-ins to visual shader 2022-03-03 21:28:23 +03:00
JFonS
73f92a6e4d
Merge pull request #58548 from V-Sekai/lod_lightmaps
Allow automatic lod when importing 3D scenes with Static Lightmaps
2022-03-01 10:23:25 +01:00
Hugo Locurcio
81940c8e57
Clamp BaseMaterial3D triplanar sharpness to values that never look broken 2022-02-27 18:56:19 +01:00
kobewi
678ec9bcde Don't abort loading scene on missing dependency 2022-02-26 12:02:05 +01:00
K. S. Ernest (iFire) Lee
ab15267096 Allow automatic lod when importing 3D scenes with Static Lightmaps
Avoid the normal merge procedure when uv2s are different and makes generating LODs happen after the lightmap generation
2022-02-25 18:03:09 -08:00
Hugo Locurcio
1d9bc35496
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-02-26 02:39:36 +01:00
Rémi Verschelde
4dc8214831
Merge pull request #58496 from JFonS/fix_lm_crash 2022-02-24 13:29:51 +01:00
jfons
d0fd5fd3c7 Add sanity checks to lightmap unwrap texel size 2022-02-24 13:00:51 +01:00
clayjohn
fe49244611 Use Filament specular models and parametrization 2022-02-22 19:39:41 -08:00
Rémi Verschelde
872e8a43ca
Merge pull request #58343 from aaronfranke/negative-shape-warning 2022-02-22 15:35:18 +01:00
Rémi Verschelde
0beb721c70
Merge pull request #58344 from TokageItLab/fix-cubic-interpolate-with-loop 2022-02-22 12:18:08 +01:00
Rémi Verschelde
ac1a55bc63
Merge pull request #58367 from V-Sekai/tileset_atlas_crash_fix 2022-02-21 11:18:00 +01:00
Markus Sauermann
79a75cd683 simplify calculation of max in grayscale 2022-02-20 18:36:46 +01:00
SaracenOne
257a71d29e Fix nullptr error in _update_padded_texture on texture with no image 2022-02-20 17:22:14 +00:00
Silc 'Tokage' Renew
f3895e7a67 Fixed cubic interpolate with loop 2022-02-20 15:46:58 +09:00
Aaron Franke
9f048f4c4d
Show an error when setting a negative size on a collision shape 2022-02-20 00:37:49 -06:00
Haoyu Qiu
dd9ba6de9f Fix crash when importing small GLTF mesh 2022-02-19 13:30:17 +08:00
clayjohn
63cb91e05c Revert "Default to real-time radiance map filter for environment sky reflections"
This reverts commit 09563e4bd8.
2022-02-17 23:13:32 -08:00
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
Rémi Verschelde
6d57587396
Merge pull request #57931 from Calinou/sky-default-filter-realtime 2022-02-15 20:29:57 +01:00
Rémi Verschelde
760a95e86a
Merge pull request #57877 from bruvzg/subpixel_gl_pos 2022-02-15 13:58:38 +01:00
Rémi Verschelde
b3507ab0cd
Merge pull request #58100 from Calinou/environment-clamp-sky-contribution
Clamp environment light sky contribution to the [0.0; 1.0] range
2022-02-15 07:42:30 +01:00
Hugo Locurcio
c10e97b604
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:32 +01:00
Hugo Locurcio
15244e55bd
Improve completion scroll bar visibility in the script editor
This makes the scroll bar bar thicker and more opaque (roughly
matching the editor theme's scroll bar by default).
2022-02-14 16:49:08 +01:00
Rémi Verschelde
cd6301ae25
Merge pull request #58008 from Geometror/increase-checkerboard-contrast 2022-02-14 15:22:50 +01:00
Hugo Locurcio
a86deac049
Default PanoramaSkyMaterial texture to black instead of white
This prevents blinding the user while the user is still setting up
the panorama sky texture.
2022-02-13 22:03:09 +01:00
Rémi Verschelde
7224389468
Merge pull request #57954 from TokageItLab/refactor-cubic-interpolate
Implement `cubic_interpolate()` as MathFunc for refactoring
2022-02-13 10:34:13 +01:00
bruvzg
29199579f7
Add sub-pixel glyph positioning support. 2022-02-12 19:55:52 +02:00
Hugo Locurcio
56b604bef7
Add sky cover texture for ProceduralSkyMaterial
This brings PhysicalSkyMaterial's Night Sky functionality to
ProceduralSkyMaterial, but in a more powerful and general fashion.

This can be used to display stars at night, or clouds at day and night.
For clouds, it won't be physically accurate, but it can look good still.

The Sky Cover Modulate property can be used to adjust the sky cover's
colors and opacity in real-time, which is useful for day/night or weather
transitions.
2022-02-12 18:39:57 +01:00
Rémi Verschelde
498805282a
Merge pull request #57993 from Calinou/sky-tweak-default-values 2022-02-12 16:46:19 +01:00
Hendrik Brucker
8ebecf5095 Increase checkerboard texture contrast 2022-02-12 14:55:07 +01:00
Rémi Verschelde
93710edb60
Merge pull request #57319 from IgorKordiukiewicz/sprite3d-error-message 2022-02-12 10:22:40 +01:00
Silc 'Tokage' Renew
865da09871 Implement cubic_interpolate() as MathFunc for refactoring 2022-02-12 18:11:17 +09:00
Rémi Verschelde
7a7fabe4f6
Merge pull request #57641 from Geometror/compilation-time-improvements-1 2022-02-12 09:46:02 +01:00
Hendrik Brucker
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
Hugo Locurcio
b7b18a4940
Tweak default ProceduralSkyMaterial and PhysicalSkyMaterial appearance
- Tweak colors to be less saturated and more balanced (in terms of hue).
  The cool blue sky is balanced by a warm brown ground,
  which makes reflections look closer to how they'd look like when using
  an HDRI panorama texture.
- Make the ground color dark on both ProceduralSkyMaterial and
  PhysicalSkyMaterial to reduce indoor light leaking, especially
  when using GI.
- Tweak the PhysicalSkyMaterial colors to be as close as possible
  to ProceduralSkyMaterial (with the default sun orientation).
- Tweak editor environment defaults to be identical to the default
  ProceduralSkyMaterial colors. Previously, the default editor sky
  color was different from the colors of a newly created
  ProceduralSkyMaterial resource.

Both new skies were tested without GI, with SDFGI and with VoxelGI.
They were tuned to look best when using ACES tonemapping with a
whitepoint set to 6, but they still look good with other
tonemapping operators.
2022-02-12 02:22:40 +01:00
Igor Kordiukiewicz
2fe43a3bd8 Fix SelfList::remove error when animating Sprite3D 2022-02-11 23:32:06 +01:00
Yuri Sizov
175088db25 Add an explicit way to remove a theme type 2022-02-11 17:57:52 +03:00
Hugo Locurcio
09563e4bd8
Default to real-time radiance map filter for environment sky reflections
This makes radiance map updates much faster, which improves performance
when rotating the sun in the editor or at run-time.

This real-time filter is also much less prone to "fireflies" that can
appear when using a sky with a bright sun.
2022-02-10 20:12:33 +01:00
Rémi Verschelde
c6199da8b8
Merge pull request #39965 from Calinou/tweak-sdfgi-defaults 2022-02-10 17:31:54 +01:00
Rémi Verschelde
2fafcfebdf
Merge pull request #57707 from Calinou/sdfgi-tweak-default-num-cascades 2022-02-10 17:27:42 +01:00
Rémi Verschelde
f111768ba9
Merge pull request #57813 from MisoMosiSpy/disabled_icons 2022-02-09 01:20:58 +01:00
MisoMosiSpy
839b8cae1e
Updated alpha value for disabled icons in default theme. 2022-02-09 01:16:39 +01:00
Rémi Verschelde
25d4c14fef
Merge pull request #57627 from JFonS/occluder_improvements 2022-02-08 23:23:50 +01:00
JoJoX
a6c77c7c5a Use source image format when creating padded texture 2022-02-08 15:27:44 -05:00
Rémi Verschelde
a66e55069e
Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
Rémi Verschelde
fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
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
Hugo Locurcio
240dfc2c68
Tweak the volumetric fog temporal reprojection property hint
Values below 0.5 will cause constant flickering in most situations,
and values above 0.99 take a very long time to fully update
(10+ seconds at high framerates).
2021-12-13 21:21:08 +01: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