Commit Graph

4279 Commits

Author SHA1 Message Date
Rémi Verschelde
8cce479c01
Merge pull request #51672 from Calinou/shader-add-hint-transparent-texture
Add `hint_transparent` to use a transparent black placeholder texture
2022-08-02 07:15:59 +02:00
Hugo Locurcio
813f6a5d57
Add hint_transparent to use a transparent black placeholder texture
This can be used in shaders to avoid the need to supply a transparent
placeholder texture manually.
2022-08-01 23:38:06 +02:00
Hugo Locurcio
6059a9b624
Improve easing inspector usability
- Add `positive_only` property hint to disallow using negative presets.
  These values are clamped in several places in the editor already,
  so this avoids displaying presets that don't work.
- Move the Zero preset at the end of the positive list to match
  the custom property editor. It's also used less often than Linear,
  Ease In and Ease Out.
- Rename presets to be consistent between the easing property editor
  and custom property editor.
- Remove unused `inout` hint which was redundant since it was already
  the default.
2022-08-01 18:40:04 +02:00
bruvzg
ac801494a3
Change LabelSettings default values to match default theme. 2022-08-01 13:33:06 +03:00
Rémi Verschelde
beb8fd5e8b
Merge pull request #55387 from RPicster/particles-turbulence 2022-08-01 09:38:54 +02:00
Rémi Verschelde
de53e91b85
Merge pull request #55276 from Calinou/volumetric-fog-tweak-default-gi-inject
Tweak default fog settings for better appearance
2022-08-01 07:55:53 +02:00
Hugo Locurcio
e35e79b802
Tweak default fog settings for better appearance
- Increase the default non-volumetric fog density to 0.01 to make
  adjustments more visible.
- Use a less saturated non-volumetric fog color by default
  (a mix of the sky and horizon colors of the new default
  ProceduralSkyMaterial).
- Set Volumetric Fog Gi Inject to 1.0 by default. Injecting GI results
  in more realistic appearance of volumetric fog, at a very low
  performance cost.
2022-08-01 02:04:20 +02:00
Hugo Locurcio
fa019f6e14
Change default material alpha scissor threshold to 0.5
This makes the default behavior consistent between SpriteBase3D,
BaseMaterial3D and imported glTF scene materials.

Alpha scissor threshold property hints now allows for more precise
adjustments as well.
2022-08-01 02:00:16 +02:00
golfinq
b341339415 Add padding options in theme for fg/bgcolor tags 2022-07-31 12:24:07 -04:00
Zae
2febf0ccdb Make Animation::track_insert_key return key index 2022-07-31 17:38:49 +02:00
Hugo Locurcio
1dfd94c63f
Hide triplanar subproperties when triplanar is disabled in BaseMaterial3D
This also renames some sections for consistency.
2022-07-30 21:41:26 +02:00
Antonio Dell'Annunziata
1a39af6d0f
fix(editor): Remove some MeshLibrary editor updates
The properties for which the `notify_property_list_changed()` call were removed, had issues with caret placing and tab navigation.
Since other node editors do not call this notify on all setters, it is assumed that removing them on certain fields should not impair any functionality.
See f.e. navigation_mesh.cpp `set_source_group_name` vs `set_source_geometry_mode`.

Solves #63549
2022-07-30 09:40:01 +02:00
Rémi Verschelde
15a02c49be
Merge pull request #61647 from KoBeWi/SaverResource 2022-07-29 22:30:51 +02:00
kobewi
c3606cb5f3 Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
Rémi Verschelde
6ba7dacf6b
Merge pull request #63415 from ajreckof/expose_tilemap_custom_data_methods
Expose TileMap methods related to the name of custom data layers
2022-07-29 19:43:55 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
ajreckof
8433ad5353 expose TileMap methods related to the name of custom data layers 2022-07-29 15:05:42 +02:00
Rémi Verschelde
8b454f8b41
Merge pull request #62601 from smix8/navigation_3d_debug_4.x 2022-07-29 12:29:32 +02:00
smix8
c394ea518e Add more detailed Navigation Debug Visualization
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
2022-07-29 09:58:41 +02:00
Rémi Verschelde
14d021287b
Merge pull request #63049 from Faless/mp/4.x_as_module 2022-07-28 20:46:31 +02:00
Rémi Verschelde
8e0f328a80
Merge pull request #59840 from Calinou/renderingserver-global-uniform-rename 2022-07-28 20:34:17 +02:00
Rémi Verschelde
1c820f19b1
Merge pull request #60957 from DeeJayLSP/sample_pcm 2022-07-28 19:51:08 +02:00
DeeJayLSP
4889659227 Rename AudioStreamSample to a more discoverable name 2022-07-28 13:53:36 -03:00
Hugo Locurcio
4b42379c8f
Rename RenderingServer global shader uniform methods to be more explicit
The `global_shader_uniform` name is longer, but it makes it much
easier to find the methods when searching in the class reference.
2022-07-28 18:46:59 +02:00
Raffaele Picca
9137ba7926 Turbulence Noise for Particle Material 2022-07-28 11:04:40 +02:00
Rémi Verschelde
a5f12f9c21
Merge pull request #63532 from TokageItLab/rename-cubic-slerp 2022-07-28 10:39:33 +02:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local 2022-07-28 10:03:07 +02:00
Rémi Verschelde
422725cffc
Merge pull request #56597 from V-Sekai/material_drag_and_drop
Add drag-and-drop support for materials in 3D Instances
2022-07-28 09:22:38 +02:00
Rémi Verschelde
ed61fb2a8b
Merge pull request #63138 from TokageItLab/normalize-position-track
Add position track normalization to importer retarget
2022-07-27 16:49:18 +02:00
Silc Renew
4211e68d80 rename and unify notation for spherical interpolation 2022-07-27 23:22:50 +09:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
Yuri Rubinsky
2f43398182 Add a check to prevent duplicating connections in visual shader 2022-07-27 08:06:34 +03:00
RedMser
7b834c8bfd Fix unnamed arguments in XML docs 2022-07-26 20:42:38 +02:00
Rémi Verschelde
222e489dfd
Merge pull request #63496 from groud/fix_tile_set_not_saving
Fix TileSet not loading correctly when embedded in a scene
2022-07-26 18:27:05 +02:00
Gilles Roudière
8da2710911 Fix TileSet not loading correctly when embedded in a scene 2022-07-26 17:39:35 +02:00
Silc Renew
dde235ad82 add position track normalization & post process key value for retarget 2022-07-26 18:48:08 +09:00
Yuri Rubinsky
886c2d9681 Implement shader uniform groups/subgroups 2022-07-26 11:26:09 +03:00
Fabio Alessandrelli
ca7d572908 [Net] Modularize multiplayer, expose MultiplayerAPI to extensions.
- RPC configurations are now dictionaries.
- Script.get_rpc_methods renamed to Script.get_rpc_config.
- Node.rpc[_id] and Callable.rpc now return an Error.
- Refactor MultiplayerAPI to allow extension.
- New MultiplayerAPI.rpc method with Array argument (for scripts).
- Move the default MultiplayerAPI implementation to a module.
2022-07-26 09:31:12 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
Rémi Verschelde
90019676b0 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 11:17:40 +02:00
Rémi Verschelde
a9147c5544
Merge pull request #63270 from aaronfranke/fog-density
Change fog density range hint to be 0 to 1 with or_greater
2022-07-25 08:36:06 +02:00
Rémi Verschelde
a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
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
holgac
95244f0e7a Fixes #62097: infinite loop in animation compress due to too small page size
Fixed an infinite loop caused when given page size is too small to store anything.

If, in the first step of compression, we attempt a rollback, we end up calling LocalVector::resize with AnimationCompressionDataState::validated_packet_count which is -1.  This resize function takes a uint, and there's a bitshift operation that assumes that by bitshifting enough times, we'll reach a number greater than or equal to the requested memory amount, which we'll never do for uint(-1), and this causes an infinite loop.

To fix, I'm adding an early failure in case the given page size isn't enough.
2022-07-01 01:03:13 +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
Rémi Verschelde
8f00625824
Merge pull request #54910 from Calinou/basematerial3d-texture-auto-roughness-metallic
Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D
2021-12-02 21:11:32 +01:00
Rémi Verschelde
bb3f0a9d58
Merge pull request #55271 from RPicster/particles-texture-animation-speed 2021-12-02 10:14:26 +01:00
Rémi Verschelde
81b7418013
Merge pull request #55402 from TokageItLab/fixed-immediatemesh-minimum-aabb
Fixed minimum size of `AABB` in `ImmediateMesh` to draw only one vertex
2021-12-02 08:05:56 +01:00
Silc 'Tokage' Renew
ca2b7a87a5 Fixed minimum size of aabb in ImmediateMesh to draw only one vertex 2021-12-02 08:33:33 +09:00
Aaron Franke
129911f61a
Improve Curve with const and real_t 2021-11-30 14:24:27 -06:00
Yuri Roubinsky
93bb34cfb4 Prevent crash when passing empty array to MeshEmitter 2021-11-26 16:07:09 +03:00
Raffaele Picca
459e2a4b6f Fixed texture animation speed when using random lifetime ( Particle2D gpu + cpu) as mentioned here: https://github.com/godotengine/godot/issues/54993 2021-11-26 01:12:23 +01:00
Lightning_A
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
kobewi
4682f22293 Improve various texts 2021-11-23 12:20:57 +01:00
Rémi Verschelde
70d530029a
Merge pull request #55171 from dalexeev/font-data-set-fixed-size 2021-11-22 12:23:41 +01:00
Rémi Verschelde
a387094c25
Merge pull request #55174 from clayjohn/Sky-SRGB 2021-11-22 12:19:20 +01:00
Rémi Verschelde
ed3af70b11
Merge pull request #55170 from Razoric480/raz/cast-handle 2021-11-22 11:53:28 +01:00
clayjohn
7ba555dada Convert PhysicalSkyMaterial colors to SRGB 2021-11-21 12:26:29 -08:00
Danil Alexeev
753d677343
Expose FontData::{set,get}_fixed_size methods 2021-11-20 20:47:01 +03:00
Francois Belair
2e6e3a8ed7 Change cast of int to num to int static cast 2021-11-20 11:58:55 -05:00
Hugo Locurcio
6c0b55acad
Fix ProceduralSkyMaterial colors due to double sRGB -> linear conversion 2021-11-20 17:26:06 +01:00
Yuri Roubinsky
0270144644 Enchance VisualShaderNodeMeshEmitter, add more ports and fix bugs 2021-11-18 14:02:15 +03:00
Yuri Roubinsky
8be89357ce Fix ColorPicker inverted input on color circle 2021-11-17 20:33:17 +03:00
Rémi Verschelde
0ef092a138
Merge pull request #55056 from RandomShaper/fix_crash_instantiate 2021-11-17 15:54:38 +01:00
Pedro J. Estébanez
78ffc2a987 Fix crash when loading scene instance after node vanished from parent 2021-11-17 14:00:23 +01:00
Rémi Verschelde
08eb8c9fc3
Merge pull request #55018 from kodiwills/add-error-macros-for-set_modification_count
add negative number validation for set_modification_count
2021-11-17 08:48:19 +01:00
Kodi
bdcd98c6ce add input validation for set_modification_count
update error macros for set_modification_count
2021-11-16 19:09:01 -05:00
Nathan Lovato
a5d0a74b65 Make bezier handle type a property of keyframes, update interface
- Replaced unused code related to old close icon with a button
- Add bezier handle options to right-click menu
- Remove mirror handle mode, only keep balanced
- Update animation reference
2021-11-16 09:26:35 -05:00
Hugo Locurcio
bad74311db
Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D
This makes material setup faster and avoids mistakes, especially with
the metallic channel which defaults to 0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This check can be safely made outside instead.
2021-10-05 14:49:50 -07:00
Rémi Verschelde
198b49d8b5
Merge pull request #53237 from metinc/fix-animated-sprite-precision-error-master 2021-10-05 16:26:36 +02:00
kobewi
cdac60759e Add support for unbinding in connection dialog 2021-10-04 21:41:21 +02:00
Yuri Sizov
0855e5f8f7 Correctly bind optional arguments when emitting Theme changes 2021-10-04 22:22:41 +03:00
Rémi Verschelde
d1c77d6b62
Merge pull request #53378 from clayjohn/hide_render_priority
Hide render_priority except when using SpatialMaterials
2021-10-04 19:17:32 +02:00
clayjohn
8c949016ff Hide render_priority except when using SpatialMaterials 2021-10-04 08:48:58 -07:00
Rémi Verschelde
073db83569
Merge pull request #53396 from pycbouh/theme-improve-change-propagation
Make `Theme` report property list changes less often
2021-10-04 17:35:53 +02:00
Yuri Sizov
4e12f770cf Make Theme report property list changes less often 2021-10-04 17:27:00 +03:00
Rémi Verschelde
b85dfd990e
GDScript completion: Handle quote style ad-hoc to remove editor dependency
`core` and `scene` shouldn't depend on `editor`, so they can't query this style
setting in `get_argument_options`. But we can handle it after the fact in
GDScript's completion code.

Also cleans up a couple extra unused invalid includes in `core`.
2021-10-04 16:16:05 +02:00
Rémi Verschelde
865b62b1cd
Merge pull request #53341 from pycbouh/gui-editor-scale-encapsulation 2021-10-04 16:12:52 +02:00
Yuri Sizov
4a42a66cd9 Add the base scale factor to the Theme resource 2021-10-04 15:25:07 +03:00
K. S. Ernest (iFire) Lee
1463fc889b GLTF for game templates.
Convert GLTF Document to use ImporterMeshInstance3D.

Add a GLTFDocument extension list and an extension for converting the importer mesh instance 3d to mesh instance 3d.

Use GLTF module when the editor tools are disabled.

Modified the render server to be less restrictive on matching blend arrays and have more logging.

Misc bugs with multimesh.

Always index the meshes.
2021-10-03 12:37:52 -07:00
Yuri Sizov
8aa78bc050 Reorganize Theme resource code for better maintainability 2021-10-02 19:26:20 +03:00
bruvzg
daa613333e [Text Server] Add support for user defined punctuation list, used for word breaking. 2021-10-01 16:45:16 +03:00
bruvzg
0c0b5c84b0 Implement TextServer GDExtension interface, remove TextServer GDNative interface. 2021-10-01 15:13:29 +03:00
Rémi Verschelde
6ed3e9c182
Merge pull request #53208 from timothyqiu/headless-crash 2021-10-01 11:29:19 +02:00
bruvzg
2e035272a8 [FontData] Fixes saving copy of the font source data, if it was created from built-in font. 2021-10-01 09:25:26 +03:00
Rémi Verschelde
a28f44fa53
Merge pull request #53277 from YeldhamDev/tabs_renaming 2021-10-01 07:52:29 +02:00
PouleyKetchoupp
d46ac42389 Fix angular velocity default value in TileSet
Value was uninitialized, which lead to undefined behavior.
2021-09-30 18:04:54 -07:00
Michael Alexsander
663e480f24 Rename some elements of Tabs 2021-09-30 20:18:23 -03:00
Lightning_A
c63b18507d Use range iterators for Map 2021-09-30 15:09:12 -06:00
Rémi Verschelde
a201f30c7f
Merge pull request #53259 from boruok/fix-atlas-texture-get_data-crash 2021-09-30 18:31:15 +02:00
Hugo Locurcio
570cdc128f
Rename Node's filename property to scene_file_path for clarity 2021-09-30 16:50:25 +02:00
boruok
213612b44a Fix AtlasTexture get_data() crash 2021-09-30 22:30:05 +09:00
Metin Celik
a238dc8bbe Add half frame to floor() 2021-09-29 20:32:37 +02:00
Gilles Roudière
f2caab4691 Improve TileMap physics for moving platforms and conveyor belts like movements 2021-09-29 17:56:30 +02:00
Haoyu Qiu
82f7f2c46c Fix crash in headless mode 2021-09-29 17:24:53 +08:00
Rémi Verschelde
ad635567b1
Merge pull request #53189 from AnilBK/use-class-specific-funcs 2021-09-29 07:40:52 +02:00
Rémi Verschelde
50c0cee44e
Merge pull request #53186 from groud/tiles_fixes 2021-09-29 07:05:19 +02:00
Anilforextra
fc9767abb1 Use functions defined in the their classes. 2021-09-29 09:36:34 +05:45
Gilles Roudière
27b9b3ef3c Various tiles-related fixes 2021-09-28 19:25:49 +02:00
Rémi Verschelde
9556c3a30a
Merge pull request #53180 from boruok/4.0-fix-atlas-texture-return-null 2021-09-28 18:52:53 +02:00
boruok
2cc2adedaa 4.0 fix atlas texture return null 2021-09-28 23:54:47 +09:00
Duarte David
7d53755ca7 Fixes the normals of SphereMesh when the radius is different from 1 2021-09-28 00:09:39 +01:00
Brian Semrau
62f8b0eb91 QuadMesh remove format ARRAY_FORMAT_INDEX 2021-09-27 13:10:34 -04:00
Haoyu Qiu
ab280de765 Validate before passing indices to meshoptimizer 2021-09-27 20:35:56 +08:00
Anilforextra
41e43e0959 Merge duplicate branch conditions to one.
Use SWAP template for swapping values.
2021-09-26 21:18:15 +05:45
Rémi Verschelde
32ab77ef8f
Merge pull request #52430 from AnilBK/vector2-replacements 2021-09-24 13:04:42 +02:00
Anilforextra
cc51b045da Construct values only when necessary. 2021-09-23 22:26:07 +05:45
Gilles Roudière
f9e6329496 Implement animated tiles 2021-09-23 17:24:37 +02:00
bruvzg
9a36d8f26f Fill variation coordinates dictionary with default values when FontData is set/added. 2021-09-22 11:10:40 +03:00
Paulb23
6c2fd03959 Added search colors to TextEdit and CodeEdit theme 2021-09-21 20:24:39 +01:00
Rémi Verschelde
dc2b062609
Merge pull request #52775 from gyroninja/fix-instantiated-root-node-crash
Fail at instantiating a packed scene if the root node is instantiated
2021-09-21 14:23:54 +02:00
Rémi Verschelde
91960b7b81
Merge pull request #52466 from tcoxon/fix_43733_4.0
Prevent shaders from generating code before the constructor finishes.
2021-09-21 13:52:57 +02:00
Tom Coxon
dbe757102c Prevent shaders from generating code before the constructor finishes.
Fixes #43733: "creating SpatialMaterial in a separate thread creates invalid
shaders (temporarily)."

The bug occurred because various setters called in materials' constructors add
materials to queues that are processed on the main thread. This means that
when the materials are created in another thread, they can be processed on the
main thread before the constructor has finished.

The fix adds a flag to affected materials that prevents them from being added
to the queue until their constructors have finished initialising all the
members.
2021-09-21 11:51:39 +01:00
Rémi Verschelde
9d43d49bfd
Merge pull request #52151 from CaptainProton42/fix-y-billboard-shear
Fix y billboard shear when rotating camera
2021-09-20 12:19:42 +02:00
bruvzg
1383b37f1a Add FontData cache index check, remove excessive loop. 2021-09-20 11:03:59 +03:00
Matthew Newall
3951a05535 Corrected directional properties to be ordered Left->Top->Right->Bottom 2021-09-19 03:06:36 +00:00
gyroninja
f400c9239e Fail at instantiating if the root node is instantiated 2021-09-18 17:38:36 -07:00
Camille Mohr-Daurat
3581b893ed
Merge pull request #52681 from nekomatata/rename-rigid-body
Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody
2021-09-16 11:20:21 -07:00
PouleyKetchoupp
85819b199a Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody 2021-09-16 09:55:20 -07:00
Camille Mohr-Daurat
1852afb6b0
Merge pull request #52679 from nekomatata/world-boundary-shape
Rename WorldMarginShape to WorldBoundaryShape
2021-09-15 16:02:40 -07:00
PouleyKetchoupp
2ca94e51e4 Clean convex hull decomposition code
Remove unnecessary conversion between triangle data and vertex data
whenever possible.
2021-09-14 17:14:06 -07:00
PouleyKetchoupp
bb75aec8bc Rename WorldMarginShape to WorldBoundaryShape 2021-09-14 11:16:31 -07:00
Rémi Verschelde
e13d8eda1b
Merge pull request #52266 from AndreaCatania/coll 2021-09-14 14:34:22 +02:00
Gilles Roudière
8c8b634d23
Merge pull request #52658 from groud/some_tilemap_fixes
Fix transform of TileMap nodes and tilemap selection
2021-09-14 13:02:45 +02:00
Gilles Roudière
73cc6f94bf Fix transform of TileMap nodes and tilemap selection 2021-09-14 12:18:36 +02:00
Haoyu Qiu
8cba772afc Remove unused ImageTexture functions
* `_resource_path_changed()` does nothing
* `_reload_hook()` has been unused since the beginning of GLES3 renderer
2021-09-14 10:04:26 +08:00
Hugo Locurcio
f85426e8ad
Merge pull request #51805 from skysphr/scrollbar-icons-pressed
Added increment_pressed and decrement_pressed icons to scrollbars
2021-09-13 14:57:21 +02:00
Rémi Verschelde
dde48ebed6
Merge pull request #52298 from DeleteSystem32/meshlib-transform
implement individual mesh transform for meshlibrary items
2021-09-13 12:19:30 +02:00
Lyuma
aca4b737f1 8 uvs for glTF2, URI decode and Vertex Custom api.
Add glTF2 uri decode for paths.

Add vertex custom apis.

Add scene importer api.

Change Color to float; add support for float-based custom channels in SurfaceTool and EditorSceneImporterMesh

Co-authored-by: darth negative hunter
 <thenegativehunter2@users.noreply.github.com>
2021-09-10 09:16:48 -07:00
Max Hilbrunner
8f8744a563
Merge pull request #52433 from groud/document_tiles
Tiles renames and documentation
2021-09-10 16:32:19 +02:00
Juan Linietsky
5e585eafe6
Merge pull request #50383 from Calinou/standardmaterial3d-improve-simple-parallax
Improve the appearance of simple parallax in StandardMaterial3D
2021-09-09 17:24:07 -03:00
Juan Linietsky
be5c75b007
Merge pull request #52284 from Calinou/tscn-groups-write-single-line
Write node groups on a single line when saving a `.tscn` file
2021-09-09 17:17:02 -03:00
Vincent
70108fd850 implement individual mesh transform for meshlibrary items 2021-09-09 16:40:16 +02:00
Gilles Roudière
0c85f3acc1 Tiles renames/bugfixing and documentation 2021-09-08 15:52:43 +02:00
AndreaCatania
e3a06c3a9e Improve collision generation usability in the new 3D scene import workflow.
With this PR it's possible to add a collision during the Mesh import, directly in editor.
To generate the shape is possible to chose between the following options:
- Decompose Convex: The Mesh is decomposed in one or many Convex Shapes (Using the VHACD library).
- Simple Convex: Is generated a convex shape that enclose the entire mesh.
- Trimesh: Generate a trimesh shape using the Mesh faces.
- Box: Add a primitive box shape, where you can tweak the `size`, `position`, `rotation`.
- Sphere: Add a primitive sphere shape, where you can tweak the `radius`, `position`, `rotation`.
- Cylinder: Add a primitive cylinder shape, where you can tweak the `height`, `radius`, `position`, `rotation`.
- Capsule: Add a primitive capsule shape, where you can tweak the `height`, `radius`, `position`, `rotation`.

It's also possible to chose the generated body, so you can create:
- Rigid Body
- Static Body
- Area
2021-09-08 08:12:51 +02:00
Juan Linietsky
ca11f8ad30
Merge pull request #52237 from ellenhp/polyphony
Add optional polyphonic playback to built-in audio player nodes
2021-09-07 17:38:51 -03:00
Ellen Poe
0e3cab41eb Add polyphony to Audio Stream Player nodes 2021-09-07 09:44:39 -07:00
Gilles Roudière
4bd7700e89 Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
Anilforextra
a1f616dcfc Use builtin Vector2 functions for calculation of angles.
.
2021-09-07 08:30:26 +05:45
Hugo Locurcio
d33a7367b6
Write node groups one a single line when saving a .tscn file
This makes `.tscn` files more readable by ensuring sections are always
written on a single line.
2021-08-31 17:06:18 +02:00
Wilson E. Alvarez
d11c1afc04
Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
Max Hilbrunner
00e66e26cc
Merge pull request #49664 from nekomatata/fix-editable-duplicated
Fix loading packed scene with editable children at runtime
2021-08-28 22:14:35 +02:00
PouleyKetchoupp
fab88a810c Fix loading packed scene with editable children at runtime
At runtime, packed scenes with nodes marked as editable instance where
saved with node type tags, which prevented the scene to be then loaded
as an instance, causing duplicated nodes in the tree.

This change ensures nodes marked as editable instances and their owned
children are properly set as instances.

That doesn't make a difference in the editor, since such nodes where
already set as instances based on their instance state, but it helps
at runtime where instance states are disabled.

Co-authored-by: latorril <latorril@gmail.com>
2021-08-27 14:49:47 -07:00
Ellen Poe
53843ba872 Require AudioStream::mix to return the number of frames successfully mixed 2021-08-27 10:27:58 -07:00
K. S. Ernest (iFire) Lee
90a35dac48
Merge pull request #51908 from bruvzg/msdf_fonts2
Make FontData importable resource. Add multi-channel SDF font rendering.
2021-08-27 08:51:37 -07:00
Camille Mohr-Daurat
ca4f20529c
Merge pull request #51896 from nekomatata/restore-ray-shape
Refactor RayShape and rename to SeparationRayShape
2021-08-27 08:49:49 -07:00
bruvzg
4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
John Wigg
d3850a0954
Fix y billboard shear when rotating camera
Fixes shear effect with `BILLBOARD_FIXED_Y` when the camera is rotated around the z-axis by rotating the mesh correctly into view space.

Also removes shearing effects that occur when rotating the mesh by excluding the model rotation and scale from the billboard matrix.
2021-08-27 12:30:29 +01:00
Haoyu Qiu
eba7265a1c Fix misspelled "overriden"
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-26 01:44:01 +08:00
JFonS
353bb45e21
Merge pull request #51995 from drcd1/sphere-mesh-normals-fix
Fixes the normals of SphereMesh when the sphere/hemisphere is oblong
2021-08-25 16:22:20 +02:00
Hugo Locurcio
bb0122c933
Merge pull request #48374 from Calinou/gradienttexture-add-hdr-property
Add an `use_hdr` property to GradientTexture to allow storing HDR colors
2021-08-25 08:03:34 +02:00
K. S. Ernest (iFire) Lee
24f562bd1e
Merge pull request #52024 from V-Sekai/anim-length
Calculate proper animation length.
2021-08-24 19:29:02 -07:00
K. S. Ernest (iFire) Lee
ffe54af0db Calculate proper animation length. 2021-08-24 18:50:22 -07:00
PouleyKetchoupp
3d5dc80348 Rename RayShape to SeparationRayShape
Makes it clearer that it's used for special cases when picking a
collision shape.
2021-08-24 17:34:55 -07:00
PouleyKetchoupp
aa4791735d Rename slips_on_slope to slide_on_slope
Also added some precision to the documentation.
2021-08-24 17:34:55 -07:00
PouleyKetchoupp
45c7af9862 Restore RayShape as a regular shape type
Partial revert from previously removing ray shapes completely, added
back as a shape type but without the specific character controller code.
2021-08-24 16:03:05 -07:00
kobewi
7939ad5b8c Restore syntax highlighting 2021-08-23 18:08:17 +02:00
K. S. Ernest (iFire) Lee
bb1c930a41
Merge pull request #51991 from requizm/fix/51990
Fix 3d animations doesn't play
2021-08-22 17:12:08 -07:00
Duarte David
f4ac08a182 Fixes the normals of SphereMesh when the sphere/hemisphere is oblong 2021-08-22 21:45:39 +01:00
requizm
e4b29cb6be Fix 3d animations doesn't play
Add comment


Fix


ff
2021-08-22 23:19:26 +03:00
K. S. Ernest (iFire) Lee
fb176d5f6e
Merge pull request #50434 from QbieShay/particle-minmax
Particle params are expressed as min-max rather than value+range AND separate axes scaling
2021-08-22 10:07:08 -07:00
Michael Alexsander
2f8a58ad46
Merge pull request #51886 from Geometror/fix-layout-editor-file-dialog
Fix ItemList layout (+EditorFileDialog)
2021-08-22 16:47:11 +00:00
QbieShay
d6672096fc moved particle parameters to minmax and split scale axis
This commit adds quite a chunk of modifications to particles
- particle (value + randomness) now use min and max instead
- passing a curveXYZtexture is now possible and will scale particles per-axis
- CPUParticle3D have an optional parameter to split the scale curve per-axis
2021-08-22 18:42:17 +02:00
K. S. Ernest (iFire) Lee
7cbf5a547f
Merge pull request #51700 from Geometror/fix-color-picker
Reimplement ColorPicker presets
2021-08-22 08:23:09 -07:00
K. S. Ernest (iFire) Lee
f303c2dfb5
Merge pull request #51945 from yjh0502/fix-bazier-error
Curve2D/Curve3D: exact linear interpolation
2021-08-22 07:55:21 -07:00
reduz
3682978aee Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.

Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.

Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Jihyun Yu
8a6fc54ccd Curve2D/Curve3D: exact linear interpolation
While calculating interpolated points, intervals between two baked
points has been assummed to be `baked_interval`. The assumption could
cause significant error in some extreme cases (for example #7088).

To improve accuracy, `baked_dist_cache` is introduced, which stores
distance from starting point for each baked points. `interpolate_baked`
now returns exact linear-interpolated position along baked points.
2021-08-21 16:57:59 +09:00
Hendrik Brucker
72e49eadec Fix ItemList layout (+EditorFileDialog) 2021-08-21 00:22:09 +02:00
Hugo Locurcio
2daef0400a
Merge pull request #51866 from requizm/fix/49455
Fix `line_separation` working incorrectly in `RichTextLabel`
2021-08-20 23:24:42 +02:00
requizm
39b90802d0 Fix line_separation constant working incorrectly in RichTextLabel 2021-08-20 23:03:13 +03:00
PouleyKetchoupp
645bc94bfc Fix capsule height/radius setters with linked properties
Capsule height and radius setters can modify each other, rather than
using clamping, to avoid cases where values are not set correctly when
loading a scene (depending on the order of properties).

Inspector undo/redo:
Added the possibility to link properties together in the editor, so
they can be undone together, for cases where a property can modify
another one.

Gizmo undo/redo:
Capsule handles pass both radius and height values so they can be undone
together.
2021-08-19 10:31:19 -07:00
Yuri Sizov
b88a41a161 Adjust the material key bit size for ParticlesMaterial 2021-08-18 17:53:46 +03:00
Rémi Verschelde
a031579286
Merge pull request #50752 from Phischermen/indeterminate_checkmark_api
Added icons and API for indeterminate checkmarks for the Tree class.
2021-08-18 10:31:06 +02:00
TwistedTwigleg
2562a7d1df Fixed magnet vector not working correctly in SkeletonModification2DFABRIK 2021-08-17 20:56:07 -04:00
Hendrik Brucker
ff9901f51e Reimplement ColorPicker presets 2021-08-18 02:09:48 +02:00
skysphr
e27ab2708f Added increment_pressed and decrement_pressed icons to scrollbars 2021-08-17 22:09:29 +03:00
Rémi Verschelde
45344c6a02
Merge pull request #51651 from pycbouh/editor-merge-custom-theme
Add support for partial custom editor themes
2021-08-17 13:13:08 +02:00
Kevin Fischer
75866c81e7 Added icons and API for indeterminate checkmarks for the Tree class. 2021-08-16 10:13:06 -07:00
Rémi Verschelde
fff9a451a1
Merge pull request #51368 from TwistedTwigleg/GSOC_2020_Working_Branch_IK_SQUASHED
New and improved IK system for Skeleton3D - Squashed!
2021-08-16 15:37:17 +02:00
Yuri Roubinsky
1e60fcc53c Fix incorrect inheritance of VisualShaderNodeParticleAccelerator 2021-08-16 14:17:31 +03:00
Rémi Verschelde
3ce53e458e
Merge pull request #50159 from Calinou/standardmaterial3d-add-shader-comment
Add a comment at the top of generated shaders
2021-08-16 13:00:55 +02:00
Rémi Verschelde
55d26af588
Merge pull request #51608 from clayjohn/Vulkan-Panorama-sky-hint
Use hint_albedo in SkyMaterials
2021-08-16 12:41:12 +02:00
Umang Kalra
c2f8c94b15 Changes the icon of node arranger in GraphEdit/VisualScript/VisualShader 2021-08-16 12:30:15 +05:30
Hugo Locurcio
c9a491b671
Add a comment at the top of generated shaders
This comment is useful to determine the origin of ShaderMaterials
converted from built-in material types (such as CanvasItemMaterial
or StandardMaterial3D).

The Godot version is also included in case the shader needs to be
regenerated with a newer engine version.
2021-08-16 05:19:39 +02:00
Yuri Roubinsky
e537a1f10e Added missed limiters for Visual Shader node enums 2021-08-15 19:10:51 +03:00
TwistedTwigleg
5ffed49907 New and improved IK system for Skeleton3D
This PR and commit adds a new IK system for 3D with the Skeleton3D node
that adds several new IK solvers, as well as additional changes and functionality
for making bone manipulation in Godot easier.

This work was sponsored by GSoC 2020 and TwistedTwigleg

Full list of changes:
* Adds a SkeletonModification3D resource
  * This resource is the base where all IK code is written and executed
* Adds a SkeletonModificationStack3D resource
  * This node oversees the execution of the modifications and acts as a bridge of sorts for the modifications to the Skeleton3D node
* Adds SkeletonModification3D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in it's own file
* Several changes to Skeletons, listed below:
  * Added local_pose_override, which acts just like global_pose_override but keeps bone-child relationships intract
    * So if you move a bone using local_pose_override, all of the bones that are children will also be moved. This is different than global_pose_override, which only affects the individual bone
  * Internally bones keep track of their children. This removes the need of a processing list, makes it possible to update just a few select bones at a time, and makes it easier to traverse down the bone chain
  * Additional functions added for converting from world transform to global poses, global poses to local poses, and all the same changes but backwards (local to global, global to world). This makes it much easier to work with bone transforms without needing to think too much about how to convert them.
  * New signal added, bone_pose_changed, that can be used to tell if a specific bone changed its transform. Needed for BoneAttachment3D
  * Added functions for getting the forward position of a bone
* BoneAttachment3D node refactored heavily
  * BoneAttachment3D node is now completely standalone in its functionality.
    * This makes the code easier and less interconnected, as well as allowing them to function properly without being direct children of Skeleton3D nodes
  * BoneAttachment3D now can be set either using the index or the bone name.
  * BoneAttachment3D nodes can now set the bone transform instead of just following it. This is disabled by default for compatibility
  * BoneAttachment3D now shows a warning when not configured correctly
* Added rotate_to_align function in Basis
* Added class reference documentation for all changes
2021-08-14 15:57:00 -04:00
Rémi Verschelde
b9b6102b91
Merge pull request #51660 from AnilBK/use-short-functions
Use get_global_* functions instead of using transforms.
2021-08-14 12:17:53 +02:00
Rémi Verschelde
a96c96ca72
Merge pull request #50147 from aaronfranke/disable-node3d
Disable Node3D when compiling without 3D and fix disable_3d option
2021-08-14 11:59:06 +02:00
Anilforextra
c390f0515d Use get_global_* functions instead of using transforms. 2021-08-14 14:01:57 +05:45
Rémi Verschelde
59879447a3
Merge pull request #51636 from Calinou/rename-lineshape2d
Rename LineShape2D to WorldMarginShape2D
2021-08-14 09:36:16 +02:00
Hugo Locurcio
8e3f71d750
Rename LineShape2D to WorldMarginShape2D
The new name makes it more obvious that it acts as an infinite plane,
and is consistent with its 3D counterpart (WorldMarginShape3D).
2021-08-14 03:12:13 +02:00
Yuri Sizov
855cfe1559 Add support for partial custom editor themes 2021-08-14 02:03:07 +03:00
Hugo Locurcio
1d257d02db
Add an use_hdr property to GradientTexture to allow storing HDR colors
This is disabled by default to save some memory and preserve the existing
behavior of clamping colors.
2021-08-13 23:16:24 +02:00
Rémi Verschelde
81512a3732
Style: Cleanup code using text_editor/completion/use_single_quotes 2021-08-13 21:27:57 +02:00
Aaron Franke
7094ccfbe9
Disable Node3D when compiling without 3D and fix disable_3d option 2021-08-13 08:59:48 -05:00
Rémi Verschelde
24ec20414a
Merge pull request #50114 from Chaosus/vs_constants
Few improvements for constants in visual shader
2021-08-13 14:45:13 +02:00
Rémi Verschelde
f0e420e981
Merge pull request #51519 from Chaosus/vs_transform_operator
Changed `TransformMult` node to `TransformOp` in visual shaders
2021-08-13 14:44:14 +02:00
Rémi Verschelde
85e315d6e8
Merge pull request #51607 from aaronfranke/includes
Fix some unnecessary includes
2021-08-13 14:38:56 +02:00
bruvzg
8f70232a15 Add placeholder textures to ensure CameraTexture / CameraFeed always have valid RIDs. 2021-08-13 12:32:01 +03:00
clayjohn
5fce0b3cb5 Use hint_albedo in SkyMaterials 2021-08-12 23:00:50 -07:00
Aaron Franke
eb4902a455
Fix some unnecessary includes 2021-08-13 00:27:38 -05:00
Rémi Verschelde
56ac302dc4
Merge pull request #51580 from aaronfranke/particles-real-double
Use real_t and double where appropriate in Particles
2021-08-12 20:51:21 +02:00
Yuri Roubinsky
b2b33ce4f6
Merge pull request #51572 from Chaosus/vs_fix_transform_instance
Fix printing error about unsupported modifier on `TransformUniform`
2021-08-12 21:23:18 +03:00
Yuri Roubinsky
c43b7c113f Fix printing error about unsupported modifier on TransformUniform 2021-08-12 19:40:45 +03:00
Aaron Franke
03e2544d50
Use real_t and double where appropriate in Particles 2021-08-12 11:35:31 -05:00
Rémi Verschelde
c89ad92c96
Merge pull request #51532 from nekomatata/layer-mask-accessors
Uniformize layer names, script methods and documentation
2021-08-12 17:55:11 +02:00
PouleyKetchoupp
989acbbe81 Uniformize layer names, script methods and documentation
- Back to 1-based layer names to make it clearer in editor UI
- Layer bit accessors are renamed to layer value and 1-based too
- Uniform errors and documentation in render and physics
- Fix a few remaining collision_layer used in place of collision_mask
2021-08-12 08:06:42 -07:00
Morris Tabor
0e4468cbec Fix regressions caused by recent particle spread refactor
Caused by https://github.com/godotengine/godot/pull/47228
Same as https://github.com/godotengine/godot/pull/51553 but for master.
2021-08-12 12:08:37 +02:00
Yuri Roubinsky
810c30dc09
Merge pull request #51517 from Chaosus/precise_graphedit_port_handling
Better port handling connection for `GraphEdit`
2021-08-12 11:40:52 +03:00
Yuri Roubinsky
61904d56ea Better port handling connection for GraphEdit 2021-08-12 09:09:24 +03:00
PouleyKetchoupp
f9176a39ce Make radius & height in CapsuleShape3D independent
Also changed CapsuleMesh to make settings consistent between render and
physics.
2021-08-11 14:54:53 -07:00
kobewi
b35a2516a0 Improve CapsuleShape2D size clamping 2021-08-11 21:39:18 +02:00
Yuri Roubinsky
9cf158019d Changed TransformMult node to TransformOp in visual shaders 2021-08-11 22:05:04 +03:00
Rémi Verschelde
e30be92ce8
Merge pull request #41634 from KoBeWi/the_independence 2021-08-11 18:16:24 +02:00
Tomasz Chabora
f12f5b36b5 Make radius & height in CapsuleShape2D independent 2021-08-11 17:34:27 +02:00
Haoyu Qiu
60298328ca Improve NavigationMesh typing, parameter validation and documentation 2021-08-11 18:18:10 +08:00
Yuri Roubinsky
0eb97c11cf Few improvements for constants in visual shader 2021-08-11 13:14:16 +03:00
Rémi Verschelde
7d43da928f
Merge pull request #51490 from nekomatata/clean-character-body
Remove infinite inertia and ray shapes from CharacterBody
2021-08-11 08:04:09 +02:00
Rémi Verschelde
2c88e1c15d
Merge pull request #51178 from Geometror/layout-options-textline-textparagraph
Various text layout improvements (TextLine, TextParagraph, Label, TextServer)
2021-08-11 07:51:57 +02:00
Rémi Verschelde
588883eb4a
Merge pull request #51442 from Geometror/styleboxflat-fake-aa-float
StyleBox fake AA improvements (make anti aliasing size a float property)
2021-08-11 07:35:53 +02:00
Hendrik Brucker
403f4902d0 Various text layout improvements (TextLine, TextParagraph, Label, TextServer) 2021-08-11 00:09:48 +02:00
Hendrik Brucker
db2460f43c StyleBox fake AA improvements (aa_size float property) 2021-08-10 23:37:06 +02:00
K. S. Ernest (iFire) Lee
18bd0fee5a
Merge pull request #49343 from theoway/node_auto_arrangement_graph_edit
Node Auto Arrangement in GraphEdit/VisualScript/VisualShader
2021-08-10 15:42:04 -04:00
Umang Kalra
12fc3f1eef Automatic arrangement of nodes in VisualScript/VisualShaders editors
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this 
feature is compact, with minimum crossings between connections
& uniform horizontal & vertical gaps between the nodes. 

This work has been sponsored by GSoC '21.

Full list of additions/changes:
• Added arrange_nodes() method in GraphEdit module.
    • This method computes new positions for all the selected
      nodes by forming blocks and compressing them.
      The nodes are moved to these new positions. 
    • Adding this method to GraphEdit makes it available for 
      use in VisualScript/VisualShaders editors and its other
      subclasses. 
• Button with an icon has been added to call arrange_nodes() in GraphEdit. 
    • This button is inherited by VisualScript/VisualShaders editors
       to invoke the method.
• Undo/redo is functional with this method.
    • By using signals in arrange_nodes(), position changes are registered 
       in undo/redo stack of the subclass that is using the method. 
• Metadata of the method has been updated in ClassDB
• Method description has been added to class reference of GraphEdit
2021-08-11 00:44:28 +05:30
PouleyKetchoupp
4da3a87f7d Remove infinite inertia and ray shapes from CharacterBody
Infinite inertia:
Not needed anymore, since it's now possible to set one-directional
collision layers in order for characters to ignore rigid bodies, while
rigid bodies still collide with characters.

Ray shapes:
They were introduced as a work around to allow constant speed on slopes,
which is now possible with the new property in CharacterBody instead.
2021-08-10 12:10:26 -07:00
Rémi Verschelde
483bbd6ecc
Merge pull request #51464 from hpnrep6/mesh-disable-deprecated
Enclose deprecated components with `DISABLE_DEPRECATED` in Mesh
2021-08-10 09:56:27 +02:00
Rémi Verschelde
d56da233c4
Merge pull request #51463 from SaracenOne/assign_path_fix
Assign embedded text resource path earlier to prevent error on embedded scripts
2021-08-10 08:13:14 +02:00
hpnrep6
0eca908e86
Enclose unused components in DISABLE_DEPRECATED 2021-08-10 00:54:24 -04:00
SaracenOne
d00c151db1 Assign embedded text resource path earlier to prevent error on embedded scripts. 2021-08-10 05:42:35 +01:00
Aaron Franke
430ad75963
Some work on double support 2021-08-09 17:43:48 -05:00
Aaron Franke
84f720966c
Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
Aaron Franke
78d33a6e24
Use doubles for time in animation code 2021-08-09 14:04:25 -05:00
Rémi Verschelde
0a38d5c8f7
Merge pull request #43158 from nathanfranke/fix-gradient-and-draw-tile
Fix Gradient and Color Picker checkerboard, Fix tile parameter for CanvasItem.draw_texture_rect
2021-08-09 16:47:58 +02:00
Hugo Locurcio
e47d0e021a
Improve the appearance of simple parallax in StandardMaterial3D
This uses offset limiting to avoid distortion in the distance,
and makes simple (non-deep) parallax more usable overall.
2021-08-09 15:10:39 +02:00
Rémi Verschelde
85399a9170
Merge pull request #51155 from Chaosus/shader_fix_specular_mode
Fix a default shader specular render mode to `SCHLICK_GGX`
2021-08-09 08:13:47 +02:00
bruvzg
7c3c5603d0 [Text Server] Improve object (image/table) inline alignment. 2021-08-08 22:35:47 +03:00
Nathan Franke
051234e84e
Fix Gradient, Color Picker BG, Fix CanvasItem::draw_texture_rect p_tile 2021-08-07 16:40:50 -05:00
Michael Alexsander
4bef900399 Invert how global_rate_scale value works, and rename it to playback_speed_scale 2021-08-07 12:32:42 -03:00
Yuri Roubinsky
47a6bb2f28 Fix a default shader specular render mode to (SCHLICK_GGX/BLINN) 2021-08-06 16:01:58 +03:00
Aaron Franke
136dd887ad
Preserve original name in shader params cache 2021-08-05 18:31:08 -05:00
Yuri Roubinsky
a34a91a30b Added more input/output built-ins to visual shaders 2021-08-03 09:32:40 +03:00
K. S. Ernest (iFire) Lee
04703c6f66
Merge pull request #51042 from nikitalita/fix_binary_res_load_save
Fix binary resource loading and saving
2021-08-02 18:41:05 -07:00
Yuri Roubinsky
bd6b7c4b0f
Merge pull request #51144 from Chaosus/vs_version
Makes dictionary instead of string for visual shader version
2021-08-02 21:55:50 +03:00
Rémi Verschelde
c620ede327
Merge pull request #50122 from Paulb23/code_edit_auto_brace_completion 2021-08-02 20:44:39 +02:00
Yuri Roubinsky
94c6817b51 Makes dictionary instead of string for visual shader version
Update doc/classes/VisualShader.xml

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-08-02 21:34:19 +03:00
Rémi Verschelde
737d3d31a6
Merge pull request #51192 from timothyqiu/sdfgi-enum-range
Validates set_sdfgi_cascades argument range
2021-08-02 18:20:58 +02:00
Rémi Verschelde
51fac9e3c7
Merge pull request #51187 from timothyqiu/vertex-index-3
Fix crash when number of indices to optimize is not a multiple of 3
2021-08-02 18:19:06 +02:00
Haoyu Qiu
b6638cb80d Validates set_sdfgi_cascades argument range 2021-08-02 23:50:59 +08:00
Rémi Verschelde
2db45b62c0
Merge pull request #51185 from timothyqiu/tile-data-enum-range
Validate TileData enum range before using it as index
2021-08-02 17:20:44 +02:00
Haoyu Qiu
0c879ab288 Fix crash when number of indices to optimize is not a multiple of 3 2021-08-02 23:07:18 +08:00
Haoyu Qiu
091d802692 Validate TileData enum range before using it as index 2021-08-02 22:49:23 +08:00
Gilles Roudière
ad8b5cd5a4 Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead 2021-08-02 13:54:39 +02:00
Paulb23
809a32c045 Clean up and complete CodeEdit inspector and docs 2021-08-01 12:24:19 +01:00
Paulb23
8f900ac178 Move line length guidelines into CodeEdit 2021-08-01 12:06:33 +01:00
Paulb23
d1a1ad127e Move brace matching into CodeEdit 2021-08-01 12:06:33 +01:00
Rémi Verschelde
f3aaa713d9
VariantParser: Fix uninitialized ResourceParser funcs
They could cause a segfault when parsing values with ID "Resource"
as apparently we never set a valid `func` for it.

Fixes crash part of #42115.
2021-07-30 23:23:31 +02:00
nikitalita
bc58bf5477 Use constant for reserved field count 2021-07-29 22:24:29 -07:00
nikitalita
160601cc78 Fix binary resource loading and saving 2021-07-29 18:17:49 -07:00
Yuri Sizov
0ab661de63 Fix a crash when trying to load a WebP StreamTexture2D 2021-07-29 16:05:03 +03:00
Michael Alexsander
79fc188fc4 Multiple cosmetic fixes for embedded windows 2021-07-27 23:55:06 -03:00
Rémi Verschelde
ff0b5f8fa1
Merge pull request #50809 from akien-mga/iterators-const-references 2021-07-25 12:52:58 +02:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
luz paz
3564c16cb8
Fix various typos with codespell
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
Rémi Verschelde
2b1e6e303e
Merge pull request #50786 from reduz/implement-resource-uids
Implement Resource UIDs
2021-07-24 17:18:12 +02:00
reduz
32b43cfeb3 Implement Resource UIDs
* Most resource types now have unique identifiers.
* Applies to text, binary and imported resources.
* File formats reference both by text and UID (when available). UID always has priority.
* Resource UIDs are 64 bits for better compatibility with the engine.
* Can be represented and used textually, example `uuid://dapwmgsmnl28u`.
* A special binary cache file is used and exported, containing the mappings.

Example of how it looks:

```GDScript
[gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"]

[ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"]
```

GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files.
This will be reserved for future PRs.
2021-07-24 09:16:52 -03:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
reduz
75755beeee
Implement textual ext/subresource IDs.
* Friendlier with version control.
* Generates pseudo unique IDs, to minimize conflicts when merging, but still
  user readable (so, not UUID).
* Eventually will also allow to have more precisely named sub-resources in
  imported files.
* This will allow better reloading on changes (including resources already
  loaded) as well as better keeping track of changes on the DCC.
* Keeps backward compatibility with the old formats.
* Binary and text format version incremented to mark breakage in forward
  compatibility.
2021-07-22 19:37:47 +02:00
Rémi Verschelde
286e9b8533
Merge pull request #50695 from reduz/fix-sky-initialization 2021-07-21 17:51:24 +02:00
Rémi Verschelde
d42f6f4718
Merge pull request #50370 from QbieShay/circle-emitter-particle
Ring emitter for 4.0
2021-07-21 16:50:26 +02:00
Rémi Verschelde
59d98ed3bb
Merge pull request #50643 from groud/improve_tilemap_compatibility 2021-07-21 14:26:31 +02:00
reduz
67e5715dbf Make Sky initialize shaders only once
* Create the shader on demand.
* Makes sure compilation happens only once, then shader is cached.
* Speeds up scene loading times.
* Speeds up editor initialization.
2021-07-21 09:23:51 -03:00
Gilles Roudière
5d34a81e52 Implement atlas merging and tile proxies 2021-07-21 12:36:37 +02:00
Gilles Roudière
047e9b19f8 Import old tiles in SINGLE_TILE mode as atlases 2021-07-21 12:29:51 +02:00
Yuri Roubinsky
40419a394d Fix function code generation for uniform triplanar node in visual shader 2021-07-21 13:02:23 +03:00
Rémi Verschelde
394191c02f
Merge pull request #50605 from Calinou/tweak-shader-code-style
Use C++11 raw literals for shader code to improve readability
2021-07-20 10:05:13 +02:00
Hugo Locurcio
abc38b8d66
Use C++11 raw literals for shader code to improve readability
In files that have lots of branching, `\t` was replaced with a
tab character instead.
2021-07-19 08:19:50 +02:00
reduz
6631f66c2a Optimize StringName usage
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.

This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Yuri Roubinsky
d63a284dff Prevent function gen in visual shader if no out connection is provided 2021-07-17 22:51:22 +03:00
Rémi Verschelde
8f6240a275
Merge pull request #49348 from Geometror/fix-particles-hidden-basecolor
Fix color properties of particle nodes/material
2021-07-14 15:05:20 +02:00
Rémi Verschelde
536825d004
Rename Curve3Texture to CurveXYZTexture
Neither name is a perfect match but `Curve3Texture` looked too similar to
`CurveTexture` and `Curve3D`, which made things confusing when picking a
texture type or browsing the API reference.
2021-07-14 00:30:58 +02:00
kobewi
f4b361dd15 Add header theme type variations to labels 2021-07-13 15:42:09 +02:00
Rémi Verschelde
b44b277f6f
Merge pull request #50169 from pycbouh/theme-type-variations 2021-07-13 15:13:00 +02:00
Yuri Sizov
4ee0e6ddf5 Add type variations to Theme 2021-07-13 02:26:28 +03:00
Rémi Verschelde
fc00a83901
Merge pull request #50262 from nekomatata/convex-hull-simplification
Options to clean/simplify convex hull generated from mesh
2021-07-12 22:15:40 +02:00
Yuri Roubinsky
7d34701d63 Auto-set a first compatible uniform on dragging to create a UniformRef 2021-07-12 11:19:42 +03:00
QbieShay
9058367d14 This commits adds a new emitter type for particles material
and 3D CPU particles. The new emitter is called "ring"
and it can emit either in a ring or cylinder fashion.
This adds the following properties for the emitter:
1. emission_ring_axis: the axis along which the ring/cylinder
    will be constructed
2. emission_ring_radius: outer radius of the ring/cylinder
3. emission_ring_inner_radius: inner radius of the cylinder.
    when set to zero, particles will emit in the full volume.
4. emission_ring_height: height of the ring/cylinder emitter.
2021-07-11 17:30:47 +02:00
QbieShay
c4d8eecfe5 added offset for plane mesh and quad mesh 2021-07-11 14:33:08 +02:00
Yuri Roubinsky
9d4afa8b75
Merge pull request #50149 from Chaosus/vs_curve3d 2021-07-11 12:36:56 +03:00
PouleyKetchoupp
1de995ae99 Options to clean/simplify convex hull generated from mesh
Clean: remove duplicate and interior vertices (uses Bullet algorithm)
Simplify: modify the geometry for further simplification (uses VHACD
algorithm)

In the editor, single convex hull now uses the clean option.
Added a new editor entry to create a simplified convex hull, can be
useful for creating convex hull from highly tessellated triangle meshes.
2021-07-07 12:14:12 -07:00
Hugo Locurcio
2c7813385d
Tweak the GradientTexture property hint to follow CurveTexture
This prevents setting too large values and crashing the editor.

Very low values are also no longer allowed since they are generally
not detailed enough to represent complex gradients, leading to confusion.
2021-07-07 19:17:02 +02:00
Rémi Verschelde
48a5226829
Merge pull request #50193 from reduz/fix-command-queue-crash
Fix Command Queue Crash
2021-07-07 16:36:13 +02:00
reduz
d41e3f9aeb Fix Command Queue Crash
* No longer allow sending an object (texture) to the server as material parameter
* Keep a parameter cache locally in ShaderMaterial
2021-07-07 10:57:56 -03:00
Rémi Verschelde
fa90b6e285
Merge pull request #50162 from Calinou/inspector-hint-allow-ormmaterial3d
Allow using ORMMaterial3D by using BaseMaterial3D as a resource hint
2021-07-06 22:56:06 +02:00
Martin Krbila
2a34ff94e4 Fix: The ORMMaterial3D shader doesn't compile #50161 2021-07-06 18:38:11 +02:00
George Marques
0525467fbc
Fix TileSet::CellNeighbor enum binding
Having the TileSet:: prefix has some unintended consequences in the
bindings, in particular in the extension API dump.
2021-07-06 11:07:58 -03:00
reduz
7f6027927a Fix Subsurface Scattering
* Works again
* Transmittance also works again
* Removed the curve patamter, exp() function is good enough.
2021-07-05 17:17:45 -03:00
Hugo Locurcio
8f7e1b53ff
Allow using ORMMaterial3D by using BaseMaterial3D as a resource hint
Previously, only StandardMaterial3D could be defined as an alternative
to ShaderMaterial.

This also reorders the CanvasItemMaterial property hints to follow
alphabetical order (which is enforced by the inspector).
2021-07-04 17:49:36 +02:00
Yuri Roubinsky
4cf2f79892 Added Curve3Texture to Visual Shaders 2021-07-04 12:21:19 +03:00
Hendrik Brucker
3a4a2198ed Fix color properties of particle nodes/material 2021-07-04 02:14:31 +02:00
Rémi Verschelde
cb4e42155d
Merge pull request #50054 from reduz/curve-texture-3d
Implement Curve3Texture
2021-07-03 20:32:18 +02:00
reduz
d6893cb2e8 Implement Curve3Texture
* This was required by users in some scenarios, such as animating individual axes over time with a single texture.
* Examples: Shaders, Particles, etc.
* CurveTexture now defaults to RGB, can be changed to Red if needed, this allows to freely exchange them.
2021-07-03 12:11:01 -03:00
reduz
a632f9fd6e Add compatibility with old mesh formats
* Can load 2.x meshes
* Can load 3.x meshes
2021-07-02 12:34:54 -03:00
Aaron Franke
2508fd0533
Use PROPERTY_USAGE_NONE instead of 0 for no property usage
Also use const more often.
2021-07-01 14:13:27 -04:00
Rémi Verschelde
ad8a2b3d52
Merge pull request #50040 from reduz/fix-renderingserver-bindings
Clean up RenderingServer and its bindings
2021-07-01 15:17:33 +02:00
reduz
37776b2867 Clean up RenderingServer and its bindings
* Rewrote bindings for RenderingServer.
* They are now all up to date.
* Several unused methods and deprecated features were cleaned up.
2021-07-01 09:07:36 -03:00
reduz
9ad0c6cde7 Import mesh colors in 8BPP.
* Colors were imported as 16BPP (half float)
* Far most common use cases only require 8BPP
* If you need higher data precision, use a custom array, which are supported now.

**WARNING**: 3D Scenes imported in 4.0 no longer compatible with this new format. You need to re-import them (erase them from .godot/import)
2021-06-30 23:33:25 -03:00
Rémi Verschelde
270f9d4c88
Merge pull request #50014 from reduz/remove-immediate
Deprecate ImmediateGeometry
2021-06-30 20:18:59 +02:00
reduz
85cf99f28e Deprecate ImmediateGeometry
* Removed entirely from RenderingServer.
* Replaced by ImmediateMesh resource.
* ImmediateMesh replaces ImmediateGeometry, but could use more optimization in the future.
* Sprite3D and AnimatedSprite3D work again, ported from Godot 3.x (though a lot of work was needed to adapt them to Godot 4).
* RootMotionView works again.
* Polygon3D editor works again.
2021-06-30 14:14:41 -03:00
reduz
75688772b3 Fix editor suffixes and degrees conversion
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:

* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-30 12:38:25 -03:00
Rémi Verschelde
653f544ca3
Merge pull request #49713 from nekomatata/fix-export-var-override-runtime
Fix export var override in PackedScene at runtime
2021-06-29 12:45:43 +02:00
Gilles Roudière
30a615dd94 Implement painting properties over TileSets 2021-06-29 11:07:46 +02:00
Rémi Verschelde
492d741a3e
Merge pull request #49951 from Calinou/standardmaterial3d-height-triplanar-print-warning
Print warning in StandardMaterial3D when height and triplanar are active
2021-06-28 18:36:59 +02:00
Hugo Locurcio
8fc96fc51a
Print warning in StandardMaterial3D when height and triplanar are active
Using both height mapping and triplanar mapping isn't supported.
2021-06-28 14:46:20 +02:00
Yuri Roubinsky
46cd36f009 Fix auto-connection from output node to input (VisualShaders) 2021-06-28 14:38:08 +03:00
Hugo Locurcio
9a4c76ea12
Fix flipped binormal in StandardMaterial3D triplanar mapping
This made normal maps on triplanar materials use an inverted Y direction
compared to non-triplanar materials.
2021-06-27 16:28:57 +02:00
Rémi Verschelde
f1bcc641dd
Merge pull request #49583 from timothyqiu/texture-crash
Fix crash when freeing GradientTexture and NoiseTexture
2021-06-24 09:40:42 +02:00
Hugo Locurcio
b4ed84ba2b
Allow a top and bottom radius equal to 0 in CylinderMesh
The CylinderMesh generation code handles this special case and
avoids generating the top and bottom faces if their radius is equal
to 0. This improves performance by reducing the number of vertices
to draw.

If both values are set to 0, nothing will be visible but the mesh
generation will still succeed.

This also improves the CylinderMesh class documentation.
2021-06-23 18:50:10 +02:00
Lightning_A
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
Rémi Verschelde
de7293b6eb
Merge pull request #49741 from RandomShaper/fix_save_scene_side_effects
Remove side effects of scene save
2021-06-20 00:37:38 +02:00
Pedro J. Estébanez
598fd51277 Remove side effects of scene save 2021-06-19 13:44:05 +02:00
PouleyKetchoupp
f1587c8a7d Fix export var override in PackedScene at runtime
Regression fix: update_exports is tool only and should be used only in
the editor, otherwise it can cause export variable overrides from
instances to be discarded in favor of the parent's value.
2021-06-18 10:54:09 -07:00
PouleyKetchoupp
2bf145fa5d Make LineShape2D normal point upwards by default
Allows line shapes to collide with objects falling from the top by
default, which makes more sense for the most common cases.
2021-06-18 09:14:06 -07:00
Rémi Verschelde
92f20fd70e
Merge pull request #49659 from LightningAA/string-valid-integer-to-int 2021-06-18 16:14:14 +02:00
Aaron Franke
8b692e8872
Add PROPERTY_USAGE_NONE and use it 2021-06-17 19:10:26 -04:00
Aaron Franke
1a9e6cba2f
Re-add extents property to box shapes for compatibility 2021-06-17 17:10:52 -04:00
reduz
ab2456b740 Rename VisibilityNotifierXD to VisibleOnScreenNotifierXD
* Renames for 2D and 3D
* Class name was confusing, given both 2D and 3D have a "visible" property that is unrelated to actual on-screen visibility.
* New name makes it clear that this is about visibility on screen.
2021-06-16 22:01:39 -03:00
reduz
6e98c4cd50 Refactor VisibilityNotifier3D
* This is the 3D counterpart to #49632
* Implemented a bit different as 3D works using instancing

After merged, both 2D and 3D classes will most likely be renamed in a separate PR to DisplayNotifier2D/3D.
2021-06-16 18:50:39 -03:00
Rémi Verschelde
341cb8da31
Merge pull request #49238 from Paulb23/code_edit_code_folding
Move code folding into CodeEdit and hide line hiding API
2021-06-16 20:11:39 +02:00
Lightning_A
b6af2a29eb Rename is_valid_integer() to is_valid_int()
Method from `String`
2021-06-16 10:32:22 -06:00
Rémi Verschelde
ad28a03b4b
Merge pull request #49632 from reduz/refactor-visibility-notifier-2d
Refactor VisibilityNotifier2D
2021-06-16 17:26:12 +02:00
K. S. Ernest (iFire) Lee
479737538b
Merge pull request #49401 from fire/8-weights
Fix 8 bone weights in glTF2
2021-06-16 07:43:42 -07:00
reduz
38d164c74b Refactor VisibilityNotifier
* Works from RenderinServer
* Accurately tells when on or off-scren, its no longer approximate.
* VisibilityEnabler also simplified to use the process mode instead.
2021-06-16 10:48:57 -03:00
Rémi Verschelde
1cc6385858
Merge pull request #49624 from nekomatata/fix-sub-resource-cache
Fix sub-resource storing the wrong index in cache
2021-06-15 20:38:34 +02:00
PouleyKetchoupp
3c3d7380e2 Fix sub-resource storing the wrong index in cache
The subindex within Resource wasn't synchronized with the path stored
in cache when saving a packed scene. It could cause sub-resources to be
swapped when loading the same packed scene in the same session.

Now the subindex in Resource reflects the sub-resource path in cache,
making saving and loading sub-resources consistent.

Co-authored-by: latorril <latorril@gmail.com>
2021-06-15 09:55:16 -07:00
Yuri Sizov
d0e86c7afc Overhaul the theme editor and improve user experience 2021-06-14 21:46:30 +03:00
Haoyu Qiu
37db8d6184 Fix crash when freeing GradientTexture and NoiseTexture 2021-06-14 12:32:19 +08:00
Rémi Verschelde
12e0f10c74
Merge pull request #49227 from pycbouh/editor-theme-freeze-changes
Prevent `Theme` resource from emitting changes during bulk operations
2021-06-13 15:44:32 +02:00
Rémi Verschelde
ef7974f3d9
Merge pull request #49526 from Chaosus/fix_textureregion_errors 2021-06-13 14:44:50 +02:00
Rémi Verschelde
aa51911c69
Merge pull request #49543 from greatmomo/SkeletonModification_bugfix 2021-06-13 14:34:11 +02:00
Rémi Verschelde
95932ce4f2
Merge pull request #49558 from timothyqiu/invalid-ref 2021-06-13 10:49:14 +02:00
Haoyu Qiu
42ad987bb7 Validate parameter of SkeletonModificationStack2D::add_modification 2021-06-13 14:07:01 +08:00
Haoyu Qiu
43f9253c53 Add range check for TileSet::CellNeighbor parameter 2021-06-13 13:30:27 +08:00
Moritz Kaltenbrunner
8168fdb8f6 Fixed crash on calling set_editor_draw without properly setup
SkeletonModification
2021-06-12 21:30:36 +02:00
Yuri Roubinsky
19afaa0203 Fixed a bunch of connection errors in TextureEditorPlugin 2021-06-12 08:01:02 +03:00
jfons
336778ed21 Fix tangents array in SurfaceTool 2021-06-12 00:40:13 +02:00
Rémi Verschelde
530e069bc3
Merge pull request #49312 from RandomShaper/reference_to_ref_count
Rename `Reference` to `RefCounted`
2021-06-11 19:46:25 +02:00
Rémi Verschelde
50d1e0ea99
Merge pull request #47835 from mortarroad/master-lossless-webp
Implement lossless WebP encoding
2021-06-11 19:34:36 +02:00
Pedro J. Estébanez
04688b92ff Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
Morris Tabor
1bc1e94208 Implement lossless WebP encoding 2021-06-11 18:46:04 +02:00
Rémi Verschelde
9e328bb5b7
Core: Move DirAccess and FileAccess to core/io
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
2021-06-11 14:52:39 +02:00
Rémi Verschelde
27cf525713
Merge pull request #42248 from Chaosus/vs_particles_shader
Continuation of work on visual particles system
2021-06-09 11:15:41 +02:00
Yuri Roubinsky
4daca0b580 Removes deleted OrenNayar mode from shaders and materials 2021-06-08 15:50:40 +03:00
K. S. Ernest (iFire) Lee
291e735972 Fix 8 bone weights in glTF2
Don't spam in glTF2 import either.

Clear() in SurfaceTool does not keep 8 weights.
2021-06-07 14:33:44 -07:00
Yuri Roubinsky
f632e36ae5 Continuation of work on visual particles system 2021-06-07 20:33:17 +03:00
Rémi Verschelde
0c7cb98780
Merge pull request #49308 from pycbouh/theme-prevent-type-override
Fix `Theme` overriding existing theme types with empty
2021-06-07 13:29:16 +02:00
Rémi Verschelde
c1c76850cb
Style: Cleanup uses of double spaces between words
Or after punctuation. Tried to leave third-party stuff alone, unless it has
been heavily modified for Godot.
2021-06-07 11:03:08 +02:00
Yuri Roubinsky
b2d2822a39 Adds UVFunc for panning/scaling on UV's to VisualShader's. 2021-06-07 08:31:48 +03:00
TwistedTwigleg
8aa3c2f091 New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.

This work was sponsored by GSoC 2020 and TwistedTwigleg.

Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
2021-06-05 15:19:51 -04:00
Rémi Verschelde
6f7d45d210
Merge pull request #45364 from madmiraal/rename-quat
Rename Quat to Quaternion
2021-06-05 13:32:08 +02:00
andriyDev
9f4bf5ec80 Deleted YSort, moved its functionality directly into Node2D.
YSort now has a compatibility alias to Node2D.
Updated TileMap to use the existing Node2D y_sort_enabled property instead
of its own property.
Updated Node2D doc to include the new y_sort_enabled member.
Updated TileMap doc to remove its mention of cell_y_sort.
Deleted YSort doc.
2021-06-05 00:55:25 -07:00
Marcel Admiraal
8acd13a456 Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
Yuri Sizov
790d6e602b Fix Theme overriding existing theme types with empty 2021-06-04 16:34:49 +03:00
Rémi Verschelde
5dc923d386
Merge pull request #49297 from aaronfranke/anim-type-tr3d
Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D
2021-06-04 14:11:03 +02:00
Rémi Verschelde
875ed4d600
Merge pull request #47336 from Calinou/rename-shader-file-extension
Rename the `.shader` file extension to `.gdshader`
2021-06-04 11:26:14 +02:00
Aaron Franke
125d1a7cd3
Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D 2021-06-03 21:11:54 -04:00
Aaron Franke
08a85352fb
Rename Variant TRANSFORM to TRANSFORM3D
Also _transform to _transform3d
2021-06-03 07:30:01 -04:00
Aaron Franke
de3f6699a5
Rename Transform to Transform3D in core 2021-06-03 07:30:01 -04:00
Paulb23
5c618dd03d Move code folding into CodeEdit and hide line hiding API 2021-06-01 17:07:01 +01:00
Rémi Verschelde
c5f237eaf8
Merge pull request #45393 from Paulb23/code_edit_autocomplete 2021-06-01 17:58:19 +02:00
Paulb23
1c16673798 Move and expose AutoComplete in CodeEdit 2021-06-01 15:38:45 +01:00
Rémi Verschelde
0286495f59
Merge pull request #49024 from groud/restore_tilemap_show_debug
Restore TileMap's debug collision shapes and add navigation.
2021-06-01 12:51:28 +02:00
Rémi Verschelde
59b524ae4c
Merge pull request #49067 from JFonS/fix_gcc_warnings
Fix some warnings raised by GCC-11.1
2021-06-01 10:47:37 +02:00
Yuri Sizov
9cd96ebe0e Prevent Theme resource from emitting changes during bulk operations 2021-05-31 17:40:45 +03:00
Rémi Verschelde
144759303d
Merge pull request #49208 from aaronfranke/tileset-disable-dep-compat
Disable loop with CompatibilityTileData in TileSet when building with deprecated=no
2021-05-31 14:26:13 +02:00
Aaron Franke
dbb5c036c4
Disable loop with CompatibilityTileData when building with deprecated=no 2021-05-30 09:37:03 -04:00
Yuri Roubinsky
f06db8b778 Added Billboard Node to Visual Shaders 2021-05-28 09:24:06 +03:00
Yuri Roubinsky
0b4b1f872c
Merge pull request #49056 from Chaosus/vs_color 2021-05-26 11:07:22 +03:00
Yuri Roubinsky
8f9b91dab1 Implements expandable color ports in visual shaders 2021-05-26 10:45:53 +03:00
Rémi Verschelde
6a64a98039
Merge pull request #48546 from pycbouh/tree-highlight-selected-relationships 2021-05-25 19:42:55 +02:00
Rémi Verschelde
f1abfbbeb1
Merge pull request #48837 from Soupstraw/shader-pi
Added constants PI, TAU and E to the shader language
2021-05-25 18:07:15 +02:00
Yuri Sizov
9c92e9d849 Add highlight to the relationship lines of selected Tree items 2021-05-25 18:56:06 +03:00
jfons
f8e34209af Fix some warnings raised by GCC-11.1 2021-05-25 17:23:53 +02:00
Marcel Admiraal
da5d7db610 Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
Gilles Roudière
3b35733b4c Restore a way to show collsion/navigation on TileMap.
Also remove an unused function.
2021-05-25 11:51:15 +02:00
Rémi Verschelde
9bc2ba3b64
Merge pull request #48955 from Calinou/editor-tweak-property-hints
Tweak dozens of editor property hints for consistency
2021-05-25 11:44:43 +02:00
Joosep Jääger
16567321ba Added constants PI, TAU and E to the shader language 2021-05-25 12:15:08 +03:00
Hugo Locurcio
87f503310b
Tweak dozens of editor property hints for consistency
- Update Viewport MSAA property hints to match the currently
  exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
reduz
789713b008 Support for 2D particles to collide against SDF
-Added SDF collision support for 2D particles
-Changed the SDF generation to be fully signed
2021-05-23 16:43:36 -03:00
Rémi Verschelde
de4c17f716
Merge pull request #48916 from mortarroad/master-convex-hull-ported
Replace QuickHull with Bullet's convex hull computer.
2021-05-22 23:22:48 +02:00
Morris Tabor
d1bc88d426 Replace QuickHull with Bullet's convex hull computer.
The code is based on the current version of thirdparty/vhacd and modified to use Godot's types and code style.

Additional changes:
- extended PagedAllocator to allow leaked objects
- applied patch from https://github.com/bulletphysics/bullet3/pull/3037
2021-05-22 22:35:42 +02:00
K. S. Ernest (iFire) Lee
fc8ea1d828 Update with experimental mesh optimizer.
Normals being optimized has better quality now.

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

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

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
Rémi Verschelde
b2fb119c53
Merge pull request #36263 from Calinou/increase-default-2d-gravity 2021-05-18 10:54:47 +02:00
Rémi Verschelde
66dac8bda0
Merge pull request #47544 from pycbouh/control-expose-theme-type 2021-05-18 10:52:51 +02:00
Rémi Verschelde
8e8cad5bc9
Merge pull request #48549 from kleonc/bitmap_resize_fix
BitMask::create Don't request more memory than needed when size is a multiply of 8
2021-05-17 17:39:24 +02:00
Rémi Verschelde
6c367f8e0d
Merge pull request #48168 from LightningAA/control-to-ctrl-4.0 2021-05-17 17:38:02 +02:00
Yuri Sizov
9eaa139c1f Add theme_custom_type property to Control and Window 2021-05-17 17:20:42 +03:00
Rémi Verschelde
b0a51bf9fe
Merge pull request #48768 from akien-mga/file-access-64-bit-4.0
Make all file access 64-bit (`uint64_t`)
2021-05-17 16:02:12 +02:00
Hugo Locurcio
d211c05111
Use a DynamicFont for the default project theme
This makes font oversampling work out of the box, while also increasing
the supported character set's size. The default font is now larger
as well to better fit today's screen resolutions.

The OpenSans SemiBold font was chosen for two reasons:

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

This is considered a breaking change as it changes the default font's
metrics, which will likely affect how Control nodes are laid out in
scenes (unless a custom font is in use).
2021-05-17 15:19:13 +02:00
Pedro J. Estébanez
469fa47e06
Make all file access 64-bit (uint64_t)
This changes the types of a big number of variables.

General rules:
- Using `uint64_t` in general. We also considered `int64_t` but eventually
  settled on keeping it unsigned, which is also closer to what one would expect
  with `size_t`/`off_t`.
- We only keep `int64_t` for `seek_end` (takes a negative offset from the end)
  and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means
  we only need to guard against passing negative values in `core_bind.cpp`.
- Using `uint32_t` integers for concepts not needing such a huge range, like
  pages, blocks, etc.

In addition:
- Improve usage of integer types in some related places; namely, `DirAccess`,
  core binds.

Note:
- On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with
  version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for
  big files on 32-bit Windows builds made with that toolchain. We might add a
  workaround.

Fixes #44363.
Fixes godotengine/godot-proposals#400.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-17 15:06:19 +02:00
John Wigg
c8e402324e
Fix normals of PrismMesh 2021-05-16 23:01:53 +02:00
Rémi Verschelde
99626d5b57
Merge pull request #48478 from brennengreen/normal-mapping-unpacked-fix
Fix refraction offset by manually unpacking normal mappings
2021-05-14 11:33:22 +02:00
kleonc
8963be2ef4 BitMask::create Don't request more memory than needed when size is a multiply of 8 2021-05-08 13:04:41 +02:00
Lightning_A
97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
Rémi Verschelde
c3f7465b7e
Merge pull request #48535 from groud/tiles_squashed
TileSet and TileMap rework (squashed)
2021-05-07 20:46:06 +02:00
Gilles Roudière
a3dda2df85 Rework the TileSet resource and TileMap nodes:
- Move most properties from TileMap to TileSet,
- Make TileSet more flexible, supporting more feature (several
  collision layers, etc...),
- Fusion both the TileMap and TileSet editor,
- Implement TileSetSources, and thus a new way to index tiles in the TileSet,
- Rework the TileSet and TileMap editors completely,
- Implement an editor zoom widget (and use it in several places)
2021-05-07 18:06:17 +02:00
Brennen Green
31f2d946ad Manually unpacked normal mapping to fix issue with refraction being offset rather than distorted. 2021-05-07 08:38:36 -04:00
Rémi Verschelde
8dc12135e4
Merge pull request #48376 from rafallus/fix_surfacetool_crash_master
Check input mesh is valid in SurfaceTool methods (master)
2021-05-07 00:58:20 +02:00
Hugo Locurcio
4a28f7e44f
Increase the default 2D gravity to 980.0
This makes 2D RigidBody physics feel less floaty out of the box.

This closes https://github.com/godotengine/godot-proposals/issues/98.
2021-05-05 22:49:06 -04:00
Hugo Locurcio
cf1e30a2ed
Tweak CanvasItem/material sampling property hints for readability
The "Anisotropic" term is abbreviated as spelling it out would cause
the PopupMenu to overflow the editor window when using the default
inspector width.
2021-05-06 03:05:37 +02:00
Rémi Verschelde
e144ff0445
Merge pull request #48315 from nekomatata/expose-physics-debug-shape
Expose get_debug_mesh in Shape3D to scripting API
2021-05-05 15:17:36 +02:00
Rémi Verschelde
b5e4d63a0b
Merge pull request #48434 from nekomatata/friction-bounce-greater-than-1
Allow values > 1 for friction and bounce in PhysicsMaterial
2021-05-04 12:28:58 +02:00
PouleyKetchoupp
67987be644 Allow values > 1 for friction and bounce in PhysicsMaterial 2021-05-03 17:48:23 -07:00
jfons
6995b0429c Assorted fixes to UV unwrapping and GPU lightmapper
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for
context in case of git blame/bisect:

* Fix UV2 unwrapping on import, also cleaned up the unwrap cache code.
* Fix saving of RGBA images in EXR format.
* Fixes to the GPU lightmapper:
	- Added padding between atlas elements, avoids bleeding.
	- Remove old SDF generation code.
	- Fix baked attenuation for Omni/Spot lights.
	- Fix baking of material properties onto UV2 (wireframe was
	  wrongly used before).
	- Disable statically baked lights for objects that have a
	  lightmap texture to avoid applying the same light twice.
	- Fix lightmap pairing in RendererSceneCull.
	- Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`.
	- Port autoexposure fix for OIDN from 3.x.
	- Save debug textures as EXR when using floating point format.
2021-05-03 18:10:34 +02:00
rafallus
524d27493b Fix SurfaceTool crash when passing invalid Mesh 2021-05-01 23:02:58 -05:00
Marcel Admiraal
fcf8071ec9 Fix documentation following implementation of particle trails 2021-05-01 13:12:31 +01:00
reduz
90056460ad Implement Particle Trails
-Enable the trails and set the length in seconds
-Provide a mesh with a skeleton and a skin
-Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh
-Works deterministically
-Fixed particle collisions (were broken)
-Not working in 2D yet (that will happen next)
2021-04-30 17:38:02 -03:00
Rafał Mikrut
efcb097674 Prevent setting too big or too small Collision Mask and Layer 2021-04-30 17:19:04 +02:00
PouleyKetchoupp
7352a4c0d9 Expose get_debug_mesh in Shape3D to scripting API
Can be useful for custom drawing of physics shapes without having to add
a collision object node to the tree.
2021-04-29 18:18:39 -07:00
Rémi Verschelde
418fe155f9
Merge pull request #48269 from akien-mga/remove-largetexture
Remove obsolete LargeTexture, it's no longer useful since 3.x
2021-04-29 09:45:06 +02:00
Rémi Verschelde
7e0a42a673
Merge pull request #46688 from QbieShay/fix-particle-rotate-y-4
Fixed rotate_y property of particle shaders
2021-04-28 17:09:17 +02:00
Rémi Verschelde
0e93a1df79
Remove obsolete LargeTexture, it's no longer useful since 3.x
It existed in early Godot releases to allow working around hardware limitations
on max texture sizes (e.g. hardware limits of 1024x1024 pixels).

Nowadays the max texture size supported natively by Godot is 16384x16384, and
even low end mobile hardware should support at least 4096x4096.

The LargeTexture implementation is basically just an array with offsets, sizes
and textures and should be easy to replicate with a custom Texture resource if
needed - solving most of its bugs on the way as the implementation removed here
has various unimplemented or incomplete methods.
2021-04-28 15:51:55 +02:00
Rémi Verschelde
305b2a15bf
Merge pull request #48239 from akien-mga/goodbye-copymem
Core: Drop custom `copymem`/`zeromem` defines
2021-04-28 11:04:05 +02:00
Rémi Verschelde
0582cefcbb
Merge pull request #48241 from akien-mga/tabs-panel-style-unused
Tabs: Remove unused 'panel' stylebox from default theme
2021-04-27 19:33:40 +02:00
Rémi Verschelde
95cfce661b
Merge pull request #48050 from JFonS/occlusion_culling 2021-04-27 19:07:12 +02:00
Rémi Verschelde
cd8d321961
Tabs: Remove unused 'panel' stylebox from default theme
Cf. https://github.com/godotengine/godot/issues/37875#issuecomment-625297308.
2021-04-27 17:36:53 +02:00
Rémi Verschelde
8247667a3e
Core: Drop custom copymem/zeromem defines
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f6639.

There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27 16:26:27 +02:00
Rémi Verschelde
b95a82d46a
Merge pull request #47826 from Chaosus/vs_fix_default_input_overriding
Prevents default values of VSNodeCustom from overriding by a script
2021-04-27 10:42:51 +02:00
Stefan Boronczyk
f15cabcfd2 fix triplanar mapping for AO 2021-04-25 03:32:17 +02:00
Rémi Verschelde
759b876b8a
Merge pull request #46593 from pycbouh/theme-editor-better-edit-ui
Refactor Edit Theme menu in Theme Editor
2021-04-23 23:12:25 +02:00
jfons
4d9d99bb82 Implement occlusion culling
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.

Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
2021-04-23 21:45:23 +02:00
Rémi Verschelde
c36807994d
Merge pull request #47345 from nekomatata/heightmap-draw-triangles
Draw triangles for HeightMapShape debug collision
2021-04-20 17:41:11 +02:00
Rémi Verschelde
fdf041a466
Merge pull request #47347 from nekomatata/heightmap-support
Heightmap collision shape support in Godot Physics
2021-04-20 17:40:28 +02:00
Rémi Verschelde
29775a1714
doc: Sync classref with current source 2021-04-19 12:26:37 +02:00
Rémi Verschelde
8ba06e3161
Merge pull request #47448 from madmiraal/rename-lineedit-cursor
Rename LineEdit getters and setters to match property names
2021-04-19 10:40:29 +02:00
Rémi Verschelde
6269895ecb
Merge pull request #47980 from reduz/split-particle-shader-entry-points
Split particle shader entry points
2021-04-18 23:39:17 +02:00
Yuri Sizov
2524238bb3 Refactor Edit Theme menu in Theme Editor 2021-04-18 17:55:49 +03:00
Yuri Roubinsky
8ae5c6c6ec Fix sky visual shader mode after last rename 2021-04-17 20:59:48 +03:00
reduz
906882ee66 Split particle shader entry points
* Particle shaders now have start() and process()
* Particle collision happens between them.
* The RESTART property is kept, so porting an old shader is still possible.

This fixes the problem of particle collisions not functioning on the first particle frame.
2021-04-17 12:22:55 -03:00
Marcel Admiraal
86822b187e Rename LineEdit caret_* properties getters and setters to match property 2021-04-17 12:41:23 +01:00
Rémi Verschelde
8bbdd43b09
Merge pull request #47950 from AndreaCatania/AndreaCatania-patch-4
Lowers the navigation edge margin merge
2021-04-16 10:23:55 +02:00
Andrea Catania
fd2e652196
Lowers the navigation edge margin merge
Lowers the edge margin merge to avoid merge undesired edges.
2021-04-16 09:56:39 +02:00
reduz
d3b49c416a Refactor GLSL shader compilation
-Used a more consistent set of keywords for the shader
-Remove all harcoded entry points
-Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization.
-Entry point for sky shaders is now sky().
-Entry point for particle shaders is now process().
2021-04-14 11:37:52 -03:00
Yuri Roubinsky
8d3e46098b Prevents default values of VSNodeCustom from overriding by a script 2021-04-12 14:41:08 +03:00
Rémi Verschelde
8b6e3d6375
Merge pull request #46340 from gongpha/various-color-picker
Add Various ColorPicker shapes
2021-04-10 13:29:50 +02:00
Rémi Verschelde
cba3b024b5
Merge pull request #43746 from CaptainProton42/master
Vulkan: Implement triplanar mapping in world space
2021-04-08 21:26:08 +02:00
Kongfa Waroros
6294507acb Add Various ColorPicker shapes 2021-04-06 22:48:03 +07:00
Rémi Verschelde
d83761ba80
Style: Apply clang-tidy's readability-braces-around-statements 2021-04-05 14:09:59 +02:00
Yuri Roubinsky
44af52d62c Prevents TextureUniform in visual shaders from conversion to constant 2021-04-04 17:32:44 +03:00
Rémi Verschelde
cbf5408685
Merge pull request #46273 from Chaosus/vs_comment
Added Comment node to Visual Shaders
2021-04-04 16:04:12 +02:00
Rémi Verschelde
4b6e9f3157
Merge pull request #46991 from madmiraal/rename-invert-reverse
Rename Array.invert() to Array.reverse()
2021-04-01 13:32:22 +02:00
Rémi Verschelde
c2b7c69e2b
Merge pull request #42827 from lyuma/rename_bones_blendshapes
Allow renaming bones and blendshapes.
2021-04-01 00:20:07 +02:00
Rémi Verschelde
c6ff6707a4
Merge pull request #47457 from bruvzg/rtl_spacing
RichTextLabel: fix font extra spacing and style box size usage.
2021-03-29 17:07:38 +02:00
bruvzg
9f4893c70b
Use extra font spacing in the RichTextLabel line height calculation, and stylebox size in the minimum size calculation. 2021-03-29 17:26:53 +03:00
Rémi Verschelde
bc29f4bca1
Merge pull request #47435 from madmiraal/rename-texture-get_data
Rename Texture.get_data() to get_image()
2021-03-29 10:41:22 +02:00
Rémi Verschelde
b2eb838781
doc: Sync classref with current source 2021-03-29 09:51:33 +02:00
Marcel Admiraal
fd30c36985 Rename Texture.get_data() to get_image() 2021-03-28 13:00:46 +01:00
PouleyKetchoupp
c8dd3c7d80 Heightmap collision shape support in Godot Physics 2021-03-25 16:52:41 -07:00
Rémi Verschelde
c6b9ceadf2
Merge pull request #47163 from bruvzg/macos_sandbox_file_dialog
FileDialog: add Back/Forward buttons, add message for inaccessible folders.
2021-03-26 00:00:25 +01:00
Morris Tabor
0fc8318f1a Fix ParticlesMaterial spread 2021-03-25 17:33:44 +01:00
Rémi Verschelde
9343a8a970
Merge pull request #47251 from pycbouh/theme-more-useful-methods
Add utility methods to Theme, improve error messages and documentation
2021-03-25 13:09:27 +01:00
PouleyKetchoupp
806a1a6646 Draw triangles for HeightMapShape debug collision
Helps with ambiguous cases where it's not possible to tell which diagonal is used for collision in quads.
2021-03-24 17:58:54 -07:00
Hugo Locurcio
b191a7547c
Rename the .shader file extension to .gdshader
This lets third-party software recognize Godot shaders more easily,
without relying on guesswork since the `.shader` extension is generic.
2021-03-24 21:33:44 +01:00
Rémi Verschelde
036a50e8b9
Merge pull request #37755 from KoBeWi/check_down
Add disabled theme icons for CheckBox
2021-03-23 13:06:02 +01:00
bruvzg
b202a0dd2a
FileDialog: add Back/Forward buttons, add message for inaccessible folders. 2021-03-23 08:03:41 +02:00
Rémi Verschelde
e0f19287f7
Merge pull request #47226 from fabriceci/improve-rayshape-2D
Bring the Raycast2D improvements to Rayshape2D
2021-03-22 23:56:18 +01:00
Juan Linietsky
97a3a66220 Improved 3D Scene Importer
* Added option for importers to show an Advanced settings dialog
* Created advanced settings dialog for Scene Importer
* Cleaned up importers (remove many old/unused options)
* Added the ability to customize every node, material, mesh and animation individually
* Saving to animations and meshes to files is now a manual process, making it more predictable
* Added the ability for materials to be replaced by external files (or to be made external, up to you).
* When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it.

WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-22 12:16:40 -03:00
Yuri Sizov
9df05745ba Add utility methods to Theme, improve error messages and documentation 2021-03-22 14:49:31 +03:00
fabriceci
f810ff35fa Bring the Raycast2D improvements to Rayshape2D 2021-03-21 14:52:44 +01:00
Marcel Admiraal
755c70b871 Rename Array.invert() to Array.reverse()
Does the same internally for List and Vector<>, which includes all
PackedArray types.
2021-03-21 10:20:08 +00:00
CaptainProton42
856312ca6d Implement FLAG_UV*_USE_WORLD_TRIPLANAR
Implements triplanar mapping in world space for UV1 and UV2
when the respective flags are enabled.
2021-03-19 20:35:20 +01:00
PouleyKetchoupp
7bbd545432 Disable backface collision with ConcavePolygonShape by default
Helps a lot with soft bodies and generally useful to avoid shapes to go
through the ground in certain cases.

Added an option in ConcavePolygonShape to re-enable backface collision
on specific bodies if needed.
2021-03-18 11:30:22 -07:00
Rémi Verschelde
08ca4184f4
Merge pull request #47024 from groud/navigation
Allow Navigation to be more flexible
2021-03-17 09:18:54 +01:00
Aaron Franke
a94cef0ea0
Move SpriteFrames to its own file in the resources folder 2021-03-16 02:00:47 -04:00
Gilles Roudière
ac7073f586 Allow Navigation to be more flexible 2021-03-15 15:58:59 +01:00
Anshul7sp1
91181c2086 Fixes small typos and grammar correction 2021-03-12 19:05:16 +05:30
Gilles Roudière
a9dc53d152 Remove Navigation2D/3D nodes, and move the navigation map to the world resource 2021-03-10 11:23:06 +01:00
Kongfa Waroros
d295d53b4a Add interpolation bar on each channel in ColorPicker 2021-03-09 14:58:19 +07:00
Rémi Verschelde
9a33c1b6a6
Merge pull request #46782 from bruvzg/fix_def_theme_size
Improve bitmap font scaling. Fix default theme font size.
2021-03-08 10:03:12 +01:00
bruvzg
43c7c279d5
Improve bitmap font scaling. Fix default theme font size. 2021-03-08 09:56:40 +02:00
Rémi Verschelde
c487f1e854
Merge pull request #46643 from YeldhamDev/hide_all_the_things
Hide more options of disabled properties
2021-03-07 15:12:15 +01:00
QbieShay
f1bb54d5e5 fixed particle rotate y flag 2021-03-05 11:37:00 +01:00
Rémi Verschelde
6b2577599f
Merge pull request #46665 from nekomatata/fix-crash-convex-shape-2d
Fix errors and crash with empty ConvexPolygonShape2D
2021-03-04 20:19:16 +01:00
PouleyKetchoupp
6fb6090748 Fix errors and crash with empty ConvexPolygonShape2D 2021-03-04 09:46:32 -07:00
Pedro Rodrigues
46218d8c37 Fix crash trying to destroy an ImageTexture object containing a null texture
The problem happened when `ImageTexture::create_from_image` was called
with an empty image. In this situation an RID was allocated despite the
texture being null. The destructor would then crash trying to acess this
null texture.

Fixes #46274
2021-03-03 23:54:27 +00:00
Michael Alexsander
4be282a269 Hide more options of disabled properties 2021-03-03 20:51:35 -03:00
sps1112
cf6bfea93f Add null check for NavigationMesh.create_from_mesh() 2021-03-03 15:59:30 +05:30
Rémi Verschelde
5895cd4c4f
Merge pull request #36202 from YeldhamDev/sprite_region_hide
Hide extra options from various nodes if they're not enabled
2021-03-02 14:15:25 +01:00
Michael Alexsander
70304f8633 Hide extra options from various nodes if they're not enabled 2021-03-02 09:25:09 -03:00
Rémi Verschelde
f49433c91c Fix Animation tracks disabled by default
Was a regression from #45845.
2021-03-02 09:15:01 +01:00
Rémi Verschelde
1eaa89a008
Merge pull request #46539 from Chaosus/vs_fix_return
Removes redundant code from get_input/output_port_type (visual shaders)
2021-03-01 09:44:20 +01:00
Yuri Roubinsky
6f9bdaf656 Fix incorrect switching port type in VisualShaderNodeStep 2021-03-01 08:45:49 +03:00
Yuri Roubinsky
9aca12a1af Removes redundant code from get_input/output/_port_type (visual shaders) 2021-03-01 08:34:39 +03:00
Delf Neumärker
04a4828c5e
Fix crash when loading a scene containing an uncreatable type 2021-02-25 23:58:30 +01:00
PouleyKetchoupp
c4b116cff7 Added option in project settings to draw Shape2D outlines
Disabling collision outlines can be useful for performance when the game
is running and many collision shapes are displayed.
2021-02-25 07:52:50 -07:00
Rémi Verschelde
f3864ec89f
Merge pull request #46357 from kleonc/mesh_data_tool_crash_fix
MeshDataTool::create_from_surface Fail on invalid index data
2021-02-24 13:23:13 +01:00
Rémi Verschelde
a527c6856b
Merge pull request #46045 from bruvzg/text_server_bmp_create
[TextServer] Restores bitmap font dynamic construction functions.
2021-02-24 12:55:36 +01:00
kleonc
8e82cf8174 MeshDataTool::create_from_surface Fail on invalid index data 2021-02-23 21:37:32 +01:00
Yuri Roubinsky
fe3051fcce Added Comment node to Visual Shaders 2021-02-21 12:40:17 +03:00
Rémi Verschelde
f6efa78173
Merge pull request #38565 from nekomatata/export-default-values
Fixed export var default value in PackedScene when script is not loaded in editor
2021-02-21 08:53:58 +01:00
Hugo Locurcio
23a1f616fd
Draw an outline for 2D debug collision shapes
This makes them easier to distinguish, especially when used
in a TileMap.

The default color's opacity has been slightly decreased to account
for the new outline.
2021-02-20 00:00:03 +01:00
Rémi Verschelde
4c4931eeae
Merge pull request #46196 from nmrkr/visual-shader-invalid-forced-connect
Fix crash when calling connect_nodes_forced with invalid params
2021-02-19 15:49:56 +01:00
Delf Neumärker
4a468171e5 Fix crash when calling connect_nodes_forced with invalid params 2021-02-18 22:57:41 +01:00
Delf Neumärker
735f75a16b Fix handling of negative indices in SurfaceTool 2021-02-18 22:43:39 +01:00
Pedro J. Estébanez
8e128726f0 Modernize atomics
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile bool` by the new `SafeFlag`
- Platform-specific implementations no longer needed

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18 17:12:46 +01:00
andybarcia
f455f873c7 Fixes crash when calling VisualShader::set_mode 2021-02-16 14:57:40 +01:00
Rémi Verschelde
2a03886cbf
Merge pull request #46082 from YeldhamDev/styleboxline_margin_fix
Fix StyleBoxLine's incorrect style margin values
2021-02-16 14:00:45 +01:00
Michael Alexsander
ddf05a7c3c Fix StyleBoxLine's incorrect style margin values 2021-02-16 01:36:51 -03:00
Rémi Verschelde
f14008b600
Merge pull request #46069 from bruvzg/fix_font_crash_empty_data
Fix font `draw_*string` crash with empty data.
2021-02-15 22:19:53 +01:00
bruvzg
a354125d7d
Fix TextLine/TextParagraph crash when add_string / set_dropcap is called null font reference. 2021-02-15 22:57:42 +02:00
bruvzg
0fcbc1c6e3
Fix font draw_*string crash with empty data. 2021-02-15 22:41:16 +02:00
Rémi Verschelde
9d511ff924
Merge pull request #45704 from EricEzaM/PR/popup-menu-beautification
Improved PopupMenu visuals. Removed x-y margin, made it 'padding' instead
2021-02-15 13:38:47 +01:00
bruvzg
bee718f1af
[Text Server] Restores bitmap font dynamic construction functions. 2021-02-15 10:46:49 +02:00
bruvzg
f4d095cdd3
[TextServer] Restore character and space extra spacing support. 2021-02-15 10:46:23 +02:00
Eric M
26c29cc0d7 Improved PopupMenu visuals. Removed x-y margin, made it 'padding' instead. 2021-02-15 15:45:25 +10:00
kleonc
7d451c0040 VisualShader::_input_type_changed Fix index out of bounds crash. 2021-02-14 15:26:33 +01:00
bruvzg
d78336c65e
[CTL] Add missing font outline drawing routines and theme constants. 2021-02-14 14:11:44 +02:00
bruvzg
be14f065d1
Fix uninitialized BaseMaterial3D::features variable. 2021-02-14 01:12:30 +02:00
reduz
28537d8c84 Fix LineEdit minimum width
-Changed theme setting name to make more sense of what it does
-Reduced amount of minimum characters, so minimum size is smaller.
2021-02-12 17:04:38 +01:00
reduz
f8d03b98e7 Improve resource load cache
-Added a new method in Resource: reset_state , used for reloading the same resource from disk
-Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type)
-Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-11 15:44:28 -03:00
reduz
1aa2823fa3 Removed _change_notify
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
Rémi Verschelde
e8f73124a7
Merge pull request #45845 from qarmin/cppcheck_scene_2
Initialize class variables with default values in scene/ [2/2]
2021-02-10 20:06:12 +01:00
reduz
8b19ffd810 Make Servers truly Thread Safe
-Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread).
-RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault.
-Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory).
-3D physics server changed to be made multithread friendly.
-Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads.
-Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
2021-02-10 13:21:46 -03:00
Rafał Mikrut
7961a1dea3 Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
reduz
3e2281a347 Improve SDFGI indirect light feedback loop
-Use occlusion for feedback, further reduces light leaking.
-More control on feedback, now its a slider.
2021-02-07 21:30:12 -03:00
reduz
8faf23b52b Simplify Volumetric Fog
-Always use temporal reproject, it just loos way better than any other filter.
-By always using termporal reproject, the shadowmap reduction can be done away with, massively improving performance.
-Disadvantage of temporal reproject is update latency so..
-Made sure a gaussian filter runs in XY after fog, this allows to keep stability and lower latency.
2021-02-06 15:08:21 -03:00
reduz
7997544af5 Added temporal reprojection to Volumetric Fog
-It's an option, just enable it
-Just works, don't have to do anything else.
2021-02-05 10:52:54 -03:00
Rémi Verschelde
2ba66c1457
Merge pull request #45672 from reduz/barrier-optimization
Rewrote how barriers work for faster rendering
2021-02-04 17:19:35 +01:00
Rémi Verschelde
69152af45d doc: Don't bind argument names with p_ prefix
This prefix is used in the C++ codebase, not in the scripting API.
2021-02-04 14:45:06 +01:00
George Marques
3f4d60616e
Make SyntaxHighligher::_clear_highlighting_cache virtual
Since it's meant to be used as a virtual method.
2021-02-04 09:54:09 -03:00
reduz
f20999f6fe Rewrote how barriers work for faster rendering
-Added more finegrained control in RenderingDevice API
-Optimized barriers (use less ones for thee same)
-General optimizations
-Shadows render all together unbarriered
-GI can render together with shadows.
-SDFGI can render together with depth-preoass.
-General fixes
-Added GPU detection
2021-02-04 09:42:28 -03:00
George Marques
bcf1617755
Removed duplicated binding of two methods
They are bound as both regular and virtual methods which makes ClassDB
report the methods twice when querying the API. The non-virtual binding
is removed since both methods only seem to be used as virtual.
2021-02-04 09:30:41 -03:00
Rémi Verschelde
7185a7c3c2
Merge pull request #45496 from Chaosus/fix_particles
Fix particles not properly updated by their lifetime
2021-02-03 15:50:52 +01:00
clayjohn
814b41fef1 Add check for sun in PhysicalSky 2021-02-02 23:06:42 -08:00
Rémi Verschelde
b24c24f64b
Merge pull request #45594 from JFonS/improve_3d_grid
3D editor grid improvements
2021-02-01 23:18:24 +01:00
jfons
73e62dffb9 3D editor grid improvements
This commit adds a view-dependant fade to the 3D viewport grid. It fades out
at steep view angles to hide the solid regions that appear far from the camera.
I also included a fade to hide the grid borders.

I added some improvements to the dynamic grid when the camera is in orthogonal mode.
It properly handles zoom now, and the grid center is now set to the intersection point
between the grid plane and the camera forward ray, keeping the grid
always visible.
2021-02-01 22:19:54 +01:00
Rémi Verschelde
d2e1216504
Merge pull request #37547 from aaronfranke/tau
Use Math_TAU and deg2rad/etc in more places and optimize code
2021-02-01 20:55:25 +01:00
Rémi Verschelde
d811f86102
Merge pull request #45281 from Chaosus/vs_unify
Unified several visual shader nodes
2021-02-01 08:56:03 +01:00
Rémi Verschelde
fb01d057af
doc: Sync classref with current source 2021-01-28 11:26:37 +01:00
Yuri Roubinsky
aefce8000d Fix particles not properly modified by their lifetime 2021-01-27 16:28:15 +03:00
Yuri Roubinsky
64971bcc8a Added missed Button font_hover_pressed_color style 2021-01-27 10:44:53 +03:00
Yuri Roubinsky
6d82898470 Reveals Button "icon_color" style properties to the user 2021-01-26 22:05:59 +03:00
Rémi Verschelde
6cba658934
Merge pull request #44194 from madmiraal/fix-font_selected_color
Change themes font_color_selected to font_selected_color
2021-01-26 00:03:40 +01:00
Rémi Verschelde
d7aea6ff6c
Merge pull request #45447 from pycbouh/graphedit-minimap-active-invisible
Fix minimap capturing events and improve its theme and editor settings
2021-01-25 20:32:46 +01:00
Yuri Sizov
9d9d0f0bc9 Fix minimap capturing events and improve its theme
Add an editor setting for minimap opacity in visual editors
2021-01-25 21:49:07 +03:00
reduz
51d8e32c93 Implement shadow meshes
-When importing, a vertex-only version of the mesh is created.
-This version is used when rendering shadows, and improves performance by reducing bandwidth
-It's automatic, but can optionally be used by users, in case they want to make special versions of geometry for shadow casting.
2021-01-25 15:03:15 -03:00
Marcel Admiraal
8eb39f4e8b Change themes *_color_* to *_*_color
Changed:
font_color_accel -> font_accelerator_color
font_color_bg -> font_unselected_color
font_color_disabled -> font_disabled_color
font_color_fg -> font_selected_color
font_color_hover -> font_hover_color
font_color_hover_pressed -> font_hover_pressed_color
font_color_pressed -> font_pressed_color
font_color_readonly -> font_readonly_color
font_color_selected -> font_selected_color
font_color_shadow -> font_shadow_color
font_color_uneditable -> font_uneditable_color
icon_color_disabled -> icon_disabled_color
icon_color_hover -> icon_hover_color
icon_color_hover_pressed -> icon_hover_pressed_color
icon_color_normal -> icon_normal_color
icon_color_pressed -> icon_pressed_color

Also includes:
font_outline_modulate -> font_outline_color
tab_fg -> tab_selected
tab_bg -> tab_unselected
2021-01-24 06:28:49 +00:00
Rémi Verschelde
d39f6386ce
Merge pull request #45314 from RandomShaper/modernize_rwlock
Modernize RWLock
2021-01-22 14:51:05 +01:00
Rémi Verschelde
76c6007aa6
Cleanup: Remove executable bit from files which don't need it
Drop unused xpmfix.sh script.
2021-01-19 23:36:42 +01:00
Pedro J. Estébanez
8ed259b792 Modernize RWLock
- Based on C++14's `shared_time_mutex`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed
- Simpler for `NO_THREADS`
2021-01-19 11:53:10 +01:00
Yuri Roubinsky
4618e09f3b
Added SDF nodes to visual shader 2021-01-18 15:04:54 +01:00
Yuri Roubinsky
de5a8128d7 Unified several visual shader nodes 2021-01-18 13:32:12 +03:00
Hugo Locurcio
1f9cac1717
Fix typo in theming methods ("botton" -> "bottom") 2021-01-18 04:19:07 +01:00
Yuri Roubinsky
4a85f4cafe Fix replaced visual shader nodes updating 2021-01-15 21:10:32 +03:00
Rémi Verschelde
c7fb7674c8
Merge pull request #44805 from Chaosus/vs_convert
Add convert options between constants and uniforms in visual shaders
2021-01-15 16:58:26 +01:00
Yuri Roubinsky
ef941a6500 Renamed emit_particle to emit_subparticle shader function 2021-01-12 09:41:08 +03:00
K. S. Ernest (iFire) Lee
59b61a1f64 Scale error in mesh optimizer so it uses absolute scale.
Switch to simplify sloppy for another try.

Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
2021-01-11 06:07:54 -08:00
Aaron Franke
1d5042c9e2
Use Math_TAU and deg2rad/rad2deg in more places and optimize code 2021-01-09 03:47:14 -05:00
reduz
cdb216f4e4 Added ability to visualize native shaders 2021-01-06 09:40:09 -03:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Yuri Roubinsky
c98c6eadbe Add convert options between constants and uniforms in visual shaders 2020-12-30 13:07:08 +03:00
Rémi Verschelde
848f5ba05c
Merge pull request #44762 from KoBeWi/offset_is_now_point_not_offset_point
Rename offset to point in remove_point()
2020-12-29 13:37:49 +01:00
Rémi Verschelde
2086acfacc
Merge pull request #44614 from madmiraal/rename-normalmap-normal_map
Consistently use normal_map
2020-12-29 10:39:56 +01:00
Rémi Verschelde
09212fba1e
Fix missed renamings from empty() to is_empty()
Those were missed in #44401 or added by later PRs.
2020-12-29 09:55:07 +01:00
Rémi Verschelde
652bdd573e
Merge pull request #43691 from bruvzg/ctl_dropcap
[Complex Text Layouts] Add drop-cap support to RTL.
2020-12-29 09:14:46 +01:00
Marcel Admiraal
b4a190e0bc Consistently use normal_map 2020-12-29 08:04:19 +00:00
kobewi
4f72a07eaa Rename offset to point in remove_point() 2020-12-28 17:57:55 +01:00
Rémi Verschelde
4ca98c7a35
Merge pull request #44183 from madmiraal/box_shape-size
Use a size Vector for adjusting the size of Rectangles and Boxes
2020-12-28 16:06:50 +01:00
Rémi Verschelde
058f3fe069
Merge pull request #44149 from madmiraal/rename-tangent-orthogonal
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-28 16:00:12 +01:00
Marcel Admiraal
b628912af0 Rename Rect2 and Rect2i grow_margin() to grow_side() 2020-12-28 12:47:33 +00:00
Marcel Admiraal
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Marcel Admiraal
4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
clayjohn
44f8922305 Port ASSAO to Godot to replace SAO 2020-12-21 23:08:59 -08:00
Pedro J. Estébanez
b7367ac426 Add animation reset track feature
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2020-12-20 12:45:08 +01:00
Marcel Admiraal
2df9a8ccad Rename Rect2 and Rect2i clip() to intersection() 2020-12-19 12:59:08 +00:00
reduz
d2302f53d6 Implement automatic LOD (Level of Detail)
-Happens on import by default for all models
-Just works (tm)
-Biasing can be later adjusted per node or per viewport (as well as globally)
-Disabled AABB.get_support test because its broken
2020-12-18 15:48:03 +01:00
Rémi Verschelde
771b99b7f4
Merge pull request #44495 from godotengine/font-typo-44494
Font: Fix typo in DynamicFontData compat code
2020-12-18 14:08:15 +01:00
Rémi Verschelde
a5c47dab5b
Font: Fix typo in DynamicFontData compat code
Fixes #44494.
2020-12-18 12:59:52 +01:00
Rémi Verschelde
c7b53c03ae
SCons: Add explicit dependencies on thirdparty code in cloned env
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.

So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).

This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
2020-12-18 10:29:34 +01:00
Rémi Verschelde
c83d1b2526
Merge pull request #43416 from pycbouh/graph-minimap
Add a minimap to the GraphEdit
2020-12-17 17:34:36 +01:00
Yuri Sizov
8d608cdc40 Remove unused argument in Theme method and expose missing methods 2020-12-17 15:51:08 +03:00
reduz
bf77016c8a Reimplement skeletons and blend shapes
Uses compute shaders, which only once, on demand, and all in parallel.
2020-12-16 14:32:04 -03:00
Marcel Admiraal
f5a3cbda19 Rename Animation::track_remove_key_at_position to track_remove_key_at_time 2020-12-14 18:00:11 +00:00
reduz
77a045e902 Rework Mesh handling on scene importing.
-Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer.
-Integrated MeshOptimizer
-Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
2020-12-13 21:29:51 -03:00
bruvzg
62927383ed
[Complex Text Layouts] Add drop-caps support to TextParagraph and RTL. 2020-12-13 22:20:02 +02:00
bruvzg
c1d261fdb0
[Complex Text Layouts] Add variable fonts support. 2020-12-13 18:43:39 +02:00
bruvzg
6b6f101983
[Complex Text Layouts] Refactor RichTextLabel. 2020-12-11 09:48:49 +02:00
Rémi Verschelde
67259d07db
Merge pull request #44070 from YeldhamDev/popupmenu_separator_font_color
Add "font_color_separator" theme property to 'PopupMenu'
2020-12-10 11:13:07 +01:00
Rémi Verschelde
114f97ff11
Merge pull request #44128 from KoBeWi/🧹
Cleanup unused engine code
2020-12-09 13:01:50 +01:00
Tomasz Chabora
2c048ea164 Cleanup unused engine code 2020-12-09 12:12:36 +01:00
Rémi Verschelde
92c001ef09
Merge pull request #43931 from bruvzg/ctl_comp_font
[Complex Text Layouts] Add compatibility for legacy Font resources.
2020-12-09 11:28:11 +01:00
Rémi Verschelde
0c5d3b838c
Merge pull request #44199 from bruvzg/pvs_fixes_1
PVS-Studio static analyzer fixes
2020-12-09 10:23:21 +01:00
bruvzg
644f739660
Static analyzer fixes:
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
Hugo Locurcio
88f70b0c05
Increase dithering in the PhysicalSkyMaterial shader to combat banding
Banding should now be much less visible when using the default
PhysicalSkyMaterial settings.
2020-12-09 01:40:58 +01:00
Marcel Admiraal
43c9106806 Use box size instead of extents for Shape dimensions 2020-12-08 11:58:21 +00:00
Marcel Admiraal
d5d99aaed6 Use rectangle size instead of extents for Shape dimensions 2020-12-08 11:57:46 +00:00
bruvzg
a458e90179
[Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph.
Fixes oversized editor control height (default editor spacing is negative) and control size changing when text is set.
2020-12-06 20:30:59 +02:00
Marcel Admiraal
a24c38d1a8 Rename Vector2.tangent() to Vector2.orthogonal() 2020-12-06 18:16:06 +00:00
Hugo Locurcio
44d0c74768
Tweak BaseMaterial3D heightmap property hints
- Allow finer adjustments of the heightmap scale.
- Allow increasing the heightmap level detail (at the cost of performance).
2020-12-05 21:43:32 +01:00
Rémi Verschelde
c574b4d086
Merge pull request #44091 from madmiraal/rename-cubemesh-boxmesh
Rename CubeMesh to BoxMesh
2020-12-05 16:48:15 +01:00
Marcel Admiraal
df6b061dbb Rename CubeMesh BoxMesh 2020-12-05 11:48:26 +00:00
Aaron Franke
40b81339d0
Rebind Mesh/ArrayMesh enums 2020-12-04 19:34:50 -05:00
Aaron Franke
47f8ac7864
Rename Particles/ParticlesMaterial "Flags" enum to "ParticleFlags"
"Flags" was a bit too ambiguous, and in 3D it hid GeometryInstance.Flags
2020-12-04 19:34:29 -05:00
Rémi Verschelde
1a001ad964
doc: Sync classref with current source
And fixups:
- Add missing bindings in RenderingServer
- Remove duplicate ArrayMesh enum bindings (they're in Mesh already)
- Remove redundant _unhandled_key_input binding in Control (it's in Node
  already)
2020-12-04 22:28:08 +01:00
Michael Alexsander
383e8919e0 Add "font_color_separator" theme property to 'PopupMenu' 2020-12-03 11:36:03 -03:00
bruvzg
3c3590522f
[Complex Text Layouts] Add compatibility for legacy Font resources. 2020-12-03 10:34:03 +02:00
reduz
70f5972905 Refactored Mesh internals and formats.
-Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES.
-Removed compression, it now always uses the most efficient format.
-Added support for custom arrays (up to 8 custom formats)
-Added support for 8 weights in skeleton data.
-Added a simple optional versioning system for imported assets, to reimport if binary is newer
-Fixes #43979 (I needed to test)

WARNING:

-NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change.
-NOT backwards compatible with 3.x scenes, this will be eventually re-added.
-Skeletons not working any longer, will fix in next PR.
2020-12-02 13:07:59 -03:00
Yuri Roubinsky
dd32d7b7ee Fixed some errors when changing port name in visual shader expressions 2020-12-02 13:27:37 +03:00
Yuri Roubinsky
b74f1abd25 Fix few bugs in visual shader expressions
Fixed few bugs in visual shader expressions
2020-12-01 16:55:52 +03:00
Yuri Sizov
999ce610a2 Add a minimap to the GraphEdit 2020-11-30 16:48:52 +03:00
Yuri Roubinsky
82d64ebd19 Fixed several visual shader inputs
Fixed several inputs in visual shaders
2020-11-29 16:10:05 +03:00
Rémi Verschelde
ef2d1f6d19
Merge pull request #42761 from fire/color-grading-3d
Environment brightness, contrast, saturation restore with 3d LUT.
2020-11-28 23:07:52 +01:00
Yuri Roubinsky
07e752585c Fixed invalid visual shader outputs (TRANSMISSION, ALPHA_SCISSOR) 2020-11-28 20:42:59 +03:00
clayjohn
076908bed9 Environment brightness, contrast, saturation restore with color correction.
Allow gradients and 2d images.

Use shader versions for LUT in tonemap

Co-authored-by: alex-poe <3957610+CptPotato@users.noreply.github.com>
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2020-11-28 07:37:49 -08:00
Rémi Verschelde
a6751e6c58
Merge pull request #41100 from bruvzg/ctl_text_server_interface
[Complex Text Layouts] Implement TextServer interface.
2020-11-28 09:03:15 +01:00
Rémi Verschelde
43f60c94e8
Merge pull request #39056 from rileylyman/tscn_newlines
Skip extra newline in .tscn when renaming dependency
2020-11-27 15:35:15 +01:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Yuri Roubinsky
3e1e01b7ab Added extra warning to VisualShaderNodeTexture + fix warning appearing 2020-11-26 14:53:47 +03:00
Andrii Doroshenko (Xrayez)
0ee88d6705 Describe ImageTexture, Image creation and usage 2020-11-17 16:00:41 +02:00
Rémi Verschelde
99d0df2e33
Merge pull request #38812 from aaronfranke/brace-no-empty-line
Remove all empty lines from the start of blocks defined with braces
2020-11-17 08:59:50 +01:00
Rémi Verschelde
9de18cc946
Merge pull request #43547 from TokageItLab/lowering-s3d-and-camera-min-unit
Lowering the Minimum Unit at Shape3D and Cameras
2020-11-17 07:55:44 +01:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
Tokage
4a2aaabf9f Lowering the Minimum Unit at Shape3D and Cameras 2020-11-17 13:17:37 +09:00
Rémi Verschelde
d105c718fd
Merge pull request #43316 from YeldhamDev/rate_scale_wav_fix
Fix WAV resources ignoring the AudioServer's 'global_rate_scale' value
2020-11-16 15:52:48 +01:00
Rémi Verschelde
fc70f986b9
Merge pull request #42008 from Calinou/theme-rename-node-type
Rename the `type` parameter to `node_type` in Theme and Control
2020-11-16 13:20:24 +01:00
Nick Swoboda
bf8f763524 Improve error messages related to failing to open files 2020-11-12 17:30:56 -08:00
Rémi Verschelde
9d2e8f2f27
Variant: Rename Type::_RID to Type::RID
The underscore prefix was used to avoid the conflict between the `RID` class
name and the matching enum value in `Variant::Type`.

This can be fixed differently by prefixing uses of the `RID` class in `Variant`
with the scope resolution operator, as done already for `AABB`.
2020-11-09 16:29:04 +01:00
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
bruvzg
061f65e410
Fix uninitialised variables in the BaseMaterial3D. 2020-11-06 10:17:11 +02:00
Michael Alexsander
04ebe4e7a4 Fix WAV resources ignoring the AudioServer's 'global_rate_scale' value 2020-11-04 17:03:54 -03:00
Marios Staikopoulos
e5d7c7d5fc Alpha Hash and Alpha2Coverage Implementation 2020-11-02 20:11:20 -08:00
Juan Linietsky
a65481dd35
Update scene/resources/dynamic_font.cpp
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2020-10-28 22:09:37 -03:00
reduz
8ab9b39707 Implement CanvasGroup and CanvasItem clipping
-Allows merging several 2D objects into a single draw operation
-Use current node to clip children nodes
-Further fixes to Vulkan barriers
-Changed font texture generation to white, fixes dark eges when blurred
-Other small misc fixes to backbuffer code.
2020-10-28 18:53:32 -03:00
Hugo Locurcio
c3b246e6af
Rename the type parameter to node_type in Theme and Control
This makes it clearer that it expects a node type as a string
(such as "Label") instead of a type like "TYPE_ARRAY".
This is backwards-compatible since only the name of the parameter
is changed, not its order.
2020-10-27 14:58:52 +01:00
Luke Costello
65eb02b236 Visual Shader Parenthesis fix
missing parenthesis were added to prevent conditional statement from interacting with operations
2020-10-27 03:20:29 -04:00
Rémi Verschelde
8ee44cc60c
Merge pull request #43075 from Xrayez/color-ramp-to-gradient
Fixup `ColorRamp` to `Gradient` renames
2020-10-26 08:44:27 +01:00
Andrii Doroshenko (Xrayez)
8ce2f401dd Fixup ColorRamp to Gradient renames 2020-10-25 18:32:44 +02:00
reduz
84d734da0e Refactored 2D shader and lighting system
-Removed normal/specular properties from nodes
-Create CanvasTexture, which can contain normal/specular channels
-Refactored, optimized and simplified 2D shaders
-Use atlas for light textures.
-Use a shadow atlas for shadow textures.
-Use both items aboves to make light rendering stateless (faster).
-Reorganized uniform sets for more efficiency.
2020-10-24 15:57:25 -03:00
Rémi Verschelde
6b20859984
Merge pull request #42558 from Chaosus/vs_curve
Added visual shader node to easy gather data from a CurveTexture
2020-10-19 14:58:45 +02:00
Juan Linietsky
53d5a252bb
Revert "Replace SAO implementation with MSSAO" 2020-10-18 19:27:51 -03:00
Juan Linietsky
d98261ab8f
Merge pull request #42077 from clayjohn/MSSAO
Replace SAO implementation with MSSAO
2020-10-18 18:34:43 -03:00
Juan Linietsky
e799a2ba45
Merge pull request #42201 from clayjohn/Vulkan-new-glow
Optimize Glow with local memory
2020-10-18 18:32:36 -03:00
clayjohn
366ee46774 Replace SAO implementation with MSSAO 2020-10-18 13:15:51 -07:00
clayjohn
63a34b93aa Optimize Glow with local memory 2020-10-18 11:37:12 -07:00
Rémi Verschelde
d9e5c355e5
Merge pull request #41418 from clayjohn/Vulkan-aerial
Add aerial perspective to fixed fog
2020-10-18 17:32:19 +02:00
reduz
ee06a70ea6 Refactor MethodBind to use variadic templates
Removed make_binders and the old style generated binders.
2020-10-18 12:28:44 +02:00
Yuri Roubinsky
f402e1e675 Added VisualShaderNodeCurve to easy gather data from a CurveTexture 2020-10-18 09:57:15 +03:00
clayjohn
8c21c26fb5 Add aerial perspective to fixed fog 2020-10-17 10:53:07 -07:00
Lyuma
d13568a8d1 Allow renaming bones and blendshapes. 2020-10-15 07:53:18 -07:00
Yuri Roubinsky
f4eef287f9 Adds Metallic to spatial light input of visual shaders 2020-10-10 16:55:36 +03:00
reduz
26f5bd245c Implement GPU Particle Collisions
-Sphere Attractor
-Box Attractor
-Vector Field
-Sphere Collider
-Box Collider
-Baked SDF Collider
-Heightmap Collider
2020-10-09 13:25:47 -03:00
Rémi Verschelde
2e99d0b26f
glTF: Fix parsing image data with mimeType undefined
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.

The logic was documented and refactored to better handle the spec, notably:

- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
  if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
  attempt loading the file with the specified format (even if its extension is
  not the one expected for this format). So we can support bad extensions (PNG
  data with `.jpg` extension) or custom ones (PNG data in `.img` file for
  example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
  `data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
  or `application/gltf-buffer` will fall back to trying both PNG and JPEG
  loaders.

Fully fixes #33796 (and fixes up #42501).
2020-10-05 13:06:50 +02:00
Yuri Roubinsky
2d45f7ac87 Fix typo in VisualShaderNodeSample3D::generate_code 2020-10-04 10:34:58 +03:00
Yuri Roubinsky
e3006d4064 Fix def parameter in Texture visual shader nodes for sky/particles modes 2020-10-03 22:20:45 +03:00
Paulb23
ee4a1c99a7 Switch from recursion to iterative for backfilling colour regions 2020-10-03 14:58:55 +01:00
Yuri Roubinsky
dc713e149f Fix VisualShaderNode::set_output_port_connected 2020-10-02 09:06:13 +03:00
lolligerjoj
ff4af94414 Expose Animation::value_track_interpolate to GDscript 2020-10-01 14:27:09 +02:00
Danil Alexeev
02c0edac60 Improve appearance of [connection] and [editable] sections in .tscn files 2020-09-29 14:01:01 +03:00
Rémi Verschelde
bebf424c80
Merge pull request #42078 from Chaosus/vs_rename_type
Renames Type to OpType in VisualShaderNodeMultiplyAdd
2020-09-29 10:34:22 +02:00
Rémi Verschelde
5e9194086d
Merge pull request #35924 from doot24/fix_#35863
Fixed Gradient.remove_point not allowing fewer than two points.
2020-09-27 09:51:24 +02:00
Hugo Locurcio
feb4002017
Add a property hint to StyleBoxFlat shadow_size for editor usability
This adds a visible range to the slider so it can be dragged more easily.

This closes #42309.
2020-09-24 17:41:40 +02:00
Rémi Verschelde
cadba267b5
Merge pull request #42203 from rcorre/physicsmat_hint
Fix hints on PhysicsMaterial bounce/friction.
2020-09-23 09:06:59 +02:00
Yuri Roubinsky
81a44a4145 Fix expressions nodes in visual shaders 2020-09-22 23:07:55 +03:00
Yuri Roubinsky
07fb960a88 Fix some bugs in visual shader editor 2020-09-21 22:19:20 +03:00
Ryan Roden-Corrent
6c18baee9c
Fix hints on PhysicsMaterial bounce/friction.
These values are only meaningful in the range 0 to 1.
Make sure the editor enforces reasonable values.
Fixes #42202.
2020-09-19 18:44:49 -04:00
Rémi Verschelde
3e78963bb9
Fix typos with codespell
Using codespell 1.17.1.

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

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2020-09-18 13:44:25 +02:00
Yuri Roubinsky
f137f14e1c Renames Type to OpType in VisualShaderNodeMultiplyAdd
To prevent possible conflicts with C# and other languages.
2020-09-15 11:06:18 +03:00
Yuri Roubinsky
ca9b3e929b Fix triplanar texture code generation in visual shaders 2020-09-11 18:23:26 +03:00
Yuri Roubinsky
01191178bf
Merge pull request #41955 from Chaosus/vs_performance_fix3
Improve performance of Add/Remove/Connect/Change nodes in visual shader
2020-09-11 16:24:11 +03:00
Yuri Roubinsky
8dbf3d7c44 Improve performance of Add/Remove/Connect/Change nodes in visual shader 2020-09-11 15:45:18 +03:00
Rémi Verschelde
a2a78a8066
doc: Sync classref with current source
Bind missing enums.
2020-09-11 12:22:10 +02:00
Paulb23
33ab9cd621 Move safe line color into editor 2020-09-10 20:35:28 +01:00
Paulb23
7829fdc1d0 Add folding gutter to code_edit 2020-09-10 20:35:28 +01:00
Paulb23
4d7df24d46 Add main_gutter (breakpoints, bookmarks, execution lines) to code_edit 2020-09-10 20:35:28 +01:00
Paulb23
907f9f2a84 Changed line_edited_from(from) to lines_edit_from(from, to) 2020-09-10 20:35:28 +01:00
Paulb23
1353ed5e44 Added Line numbers to CodeEdit 2020-09-10 20:35:28 +01:00
Paulb23
a0b409cb14 Add and convert editor to use CodeEdit 2020-09-10 20:35:27 +01:00
Yuri Roubinsky
5ba8246cfb Added Texture3D to visual shaders 2020-09-10 07:40:06 +03:00
Juan Linietsky
1ce46f2a3f
Merge pull request #41918 from reduz/implement-3d-textures
Implement 3D textures as import and resource format.
2020-09-09 14:40:22 -03:00
reduz
a674da4eec Implement 3D textures as import and resource format. 2020-09-09 13:50:21 -03:00
Yuri Roubinsky
14a24fa19c Improve performance for Show/Hide port preview in visual shaders 2020-09-09 19:24:55 +03:00
Yuri Roubinsky
ea49d8b9d5 Improve performance of Undo:change node position in visual shader 2020-09-09 11:29:40 +03:00
Yetizone
701493ab33 mesh_library.h: Update header guard to reflect file name 2020-09-08 15:12:31 +03:00
Yuri Roubinsky
e50b2e58b2 Added active boolean to particles mode output in visual shaders 2020-09-07 19:21:22 +03:00
Yuri Roubinsky
dc6685d28f Remakes particles in visual shaders 2020-09-07 13:33:51 +03:00
Yuri Roubinsky
e2aca7e047 Fix some broken visual shader nodes 2020-09-07 12:39:20 +03:00
Rémi Verschelde
753b2bd010
Merge pull request #41767 from lolleko/patch-1
Remove ArrayMesh::surface_remove declaration
2020-09-07 08:33:12 +02:00
reduz
d0bddf53c5 Implement manual particle emission and particle sub emitters. 2020-09-06 10:29:27 -03:00
Yuri Roubinsky
f188c41ffd Cleanup constructor code in visual shader nodes 2020-09-05 16:13:38 +03:00
Lorenz Junglas
9367310e2b
Remove ArrayMesh::surface_remove declaration
Removal was omitted in 449df8f688
2020-09-04 16:27:59 +02:00
Rémi Verschelde
de284f931d
doc: Sync classref with current source 2020-09-04 10:43:11 +02:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Rémi Verschelde
d84954a281
Merge pull request #41459 from Paulb23/nested_color_regions
Fix colour region end key seach and start key order
2020-09-03 11:32:04 +02:00
Yuri Roubinsky
58f0aa44d1
Merge pull request #41724 from Chaosus/vs_fix_particles
Restore Particles functionality in visual shader
2020-09-03 11:18:09 +03:00
Yuri Roubinsky
c291b1d23c Restore Particles functionality in visual shader 2020-09-03 10:22:00 +03:00
Rémi Verschelde
1956c7ad33
Merge pull request #41533 from Chaosus/vs_fix_specular
Fix specular render_mode for visual shaders
2020-09-03 07:36:58 +02:00
Juan Linietsky
f5f27bacdb Re-Implement GPU particles on master.
-No new features yet
-Unlike godot 3.x, sorting happens using GPU
2020-09-02 21:37:11 +02:00
Rémi Verschelde
74dbcf1e4d
Merge pull request #30148 from zaksnet/fix-texture-editor
Adds automatic update for StyleBoxTexture > region_rect
2020-08-31 13:25:28 +02:00
Andrii Doroshenko (Xrayez)
528056a3c5 Make AnimatedTexture.MAX_FRAMES public
The constant is already exposed in GDScript, but not in C++.
This information is useful for implementing animated texture
resource importers via modules.
2020-08-30 23:44:41 +03:00
Zak
7d7727bade Adds automatic update for region_rect
When changing the texture region for a StyleBox, the regions was not updating automatically in the Texture editor.
2020-08-29 19:46:52 +02:00
Yuri Roubinsky
4e2d699745 Fix specular render_mode for visual shaders 2020-08-28 12:50:46 +03:00
Paulb23
6cdcdbc242 Fix color region end key seach and start key order 2020-08-22 19:55:44 +01:00
Juan Linietsky
4e52c75a98
Merge pull request #41345 from clayjohn/VULKAN-sky-fog
Add fog to sky shaders
2020-08-20 09:50:52 -03:00
clayjohn
9d341acf2d Add fog to sky shaders 2020-08-19 22:58:14 -07:00
jjjlalonde@gmail.com
94b09da9a1 Update ResourceLoaderText::load to not update progress if resources are 0
Include check in other progress update statement

Update additional progress update statement
2020-08-16 13:12:21 -07:00
Juan Linietsky
6a5ecfdef1 Restored fog (non volumetric).
Uses a simpler and more intuitive implementation based on density.
Its less flexible than before, but its easier to get nice results.
2020-08-13 22:09:22 -03:00
Juan Linietsky
079ca220e1 Added volumetric fog effect. 2020-08-13 11:28:45 -03:00
Rémi Verschelde
dc90b17691
Merge pull request #41166 from somnathsarkar/gradient-fix
Sort points in a Gradient for color and offset updates.
2020-08-12 12:38:46 +02:00
Somnath Sarkar
d5d832417e Sort points in a Gradient for color and offset updates. 2020-08-12 01:55:41 -04:00
Rémi Verschelde
5ffbc7d678
Merge pull request #40964 from DrRevert/debug-mesh-lines-const
Change Shape3D::get_debug_mesh_lines into const methods
2020-08-11 19:02:19 +02:00
Paulb23
5cf2cf8646 Fix colour region continuation over blank lines, issue 41120 2020-08-08 15:36:46 +01:00
Arkadiusz Marcin Kołek
8e1c9ff1c1 Shape3D::get_debug_mesh_lines const methods 2020-08-02 11:10:43 +02:00
Yuri Roubinsky
4d52456613 Fix small reconnection bug in visual shader 2020-07-31 10:40:05 +03:00
Brian Semrau
69d1c48b73 Fixed shader editor comment highlighting 2020-07-28 15:16:24 -04:00
Yuri Roubinsky
cf03f90fa8
Merge pull request #40785 from Chaosus/vs_uniform_ref
Added UniformRef visual shader node
2020-07-28 16:17:37 +03:00
Yuri Roubinsky
7ddaff47a3 Added UniformRef visual shader node 2020-07-28 14:44:53 +03:00
Yuri Roubinsky
8fefdcf113 Added default value for uniforms in visual shaders 2020-07-27 15:44:22 +03:00
Yuri Roubinsky
167f033782 Optimize code generation for fresnel node in visual shaders 2020-07-27 11:35:53 +03:00
Yuri Roubinsky
5dfef9d8bc Removes redundant code generation in VisualShaderNodeTextureUniform 2020-07-26 04:28:07 +03:00
Tomasz Chabora
e1a1bb0a6e Keep transition value when replacing key 2020-07-23 22:59:04 +02:00
Rémi Verschelde
a5fb445121
Merge pull request #40450 from asmaloney/spelling
Fix spelling & grammar in comments, docs, and messages
2020-07-21 22:14:04 +02:00
Andy Maloney
4dda62f591 Fix spelling & grammar in comments, docs, and messages 2020-07-21 15:17:23 -04:00
Pedro J. Estébanez
80a5df4821 Add DynamicFont::get_available_chars() 2020-07-20 17:44:39 +02:00
Rémi Verschelde
2921827387
Merge pull request #40327 from pkdawson/patch-1
Avoid overflow when calculating visible_cells
2020-07-14 14:16:29 +02:00
Patrick Dawson
9e28df22a0 Avoid overflow when calculating visible_cells 2020-07-13 16:53:58 +02:00
Paulb23
bc4cee4458 Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
2020-07-11 17:09:58 +01:00
Paulb23
156daddaaf Expose Syntax highlighter for editor plugins 2020-07-11 15:40:00 +01:00
Paulb23
2f1080be9b Convert syntax highlighters into a resource 2020-07-11 15:26:58 +01:00
Rémi Verschelde
9678a41b19
Merge pull request #40272 from clayjohn/VULKAN-time-slicing
Add incremental update mode to sky
2020-07-11 10:00:39 +02:00
clayjohn
a54f93c169 Add incremental update mode to sky 2020-07-11 00:10:15 -07:00
Marcel Admiraal
7517821950 Add missing overrides to visual_shader_nodes.h 2020-07-10 21:25:37 +01:00
Rémi Verschelde
dcd11faad3
Merge pull request #40253 from madmiraal/add-override-keywords
Add override keywords.
2020-07-10 21:04:23 +02:00
Yuri Roubinsky
ecb5f7ea23 Added 'fma' function to shader language 2020-07-10 19:58:03 +03:00
Marcel Admiraal
26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
Juan Linietsky
110e650dc8 Change how default fonts are created, fixes #39235
Also fixes file dialog icons.
2020-07-03 21:29:12 -03:00
lordkettune
4313a7bdc8 Fix issues with custom tracks on reimport 2020-07-02 16:08:20 -07:00
Rémi Verschelde
67e4082b1e
Merge pull request #37350 from aaronfranke/force-impulse
Refactor physics force and impulse code to use (force, position) order
2020-07-02 18:39:16 +02:00
Rémi Verschelde
372136fe75 Environment: Refactor code for readability + more
- Makes all boolean setters/getters consistent.
- Fixes bug where `glow_hdr_bleed_scale` was not used.
- Split CameraEffects to their own source file.
- Reorder all Environment method and properties declarations,
  definitions and bindings to be consistent with each other
  and with the order of property bindings.
- Bind missing enum values added with SDFGI.
- Remove unused SDFGI enhance_ssr boolean.
- Sync doc changes after SDFGI merge and other misc changes.
2020-07-01 14:44:45 +02:00
Hugo Locurcio
a31fc59ff3 Write "Aces" tonemapping in uppercase as it's an acronym 2020-06-30 15:21:35 +02:00
Juan Linietsky
201d606b3d Addition of SDFGI for open world global illumination
Move GI to a deferred pass
2020-06-26 11:06:48 -03:00
Hugo Locurcio
9bd2d7a617
Fix default editor/project Button styles after ToolButton removal
Before this fix, all Buttons made with the default project theme
looked flat until hovered.
2020-06-24 17:21:47 +02:00
Hugo Locurcio
31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Yuri Roubinsky
cb9cbf840d Added Texture2DArray support to visual shaders 2020-06-19 18:02:05 +03:00
Rémi Verschelde
78d09a4163
Merge pull request #37903 from Xrayez/shape-2d-draw-bind
Bind Shape2D draw method
2020-06-16 15:15:51 +02:00
Yuri Roubinsky
cc6ca5f1eb Use path instead classname to prevent errors for exported visual shaders 2020-06-15 21:44:03 +03:00
Michael Alexsander
637927f803 Add generic file icon and its modulation to the 'FileDialog' 2020-06-08 10:31:45 -03:00
Rémi Verschelde
c080ec5da2 PackedScene: Prevent crash when root node has parent attribute
The crash happens further down when setting an invalid owner in
`Node::_set_owner_nocheck` but I couldn't figure out how to fix it.

But here the proper fix is to catch the invalid scene file early on
and fail loading it.

Part of #17372.
2020-06-08 13:07:07 +02:00
Marcus Brummer
ffbb211bbe Set "shader_param/" prefix in Shader::has_param() 2020-06-04 17:41:10 +02:00
Phischermen
2fc274d572 Made property hint consistent with other property hints 2020-06-03 13:01:27 -07:00
Rémi Verschelde
7460bc36dd
Merge pull request #39130 from Calinou/dynamicfont-disable-outline-antialiasing
Disable antialiasing on the DynamicFont outline as well when requested
2020-06-03 12:59:15 +02:00
Aaron Franke
ba27deef06
Refactor physics force and impulse code 2020-06-02 23:18:59 -04:00
Andrii Doroshenko (Xrayez)
9bb070b030 Move RayShape2D implementation into its own translation unit 2020-06-01 01:52:07 +03:00
Rémi Verschelde
1620669f4e
Merge pull request #39051 from Xrayez/geometry-split
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-29 12:10:37 +02:00
Hugo Locurcio
2919fc7317
Disable antialiasing on the DynamicFont outline as well when requested
This partially addresses
https://github.com/godotengine/godot-proposals/issues/943.
2020-05-28 22:30:38 +02:00
Andrii Doroshenko (Xrayez)
69d5de632e Split Geometry singleton into Geometry2D and Geometry3D
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Maganty Rushyendra
a4413710f9 Expose get_char_size() from Font instead of BitmapFont
`get_char_size()` is a public virtual function defined in the `Font`
class. Implementations exist for both `BitmapFont` and `Dynamic Font`.
However, it was only exposed to the GDScript API through the Bitmap
Font, and not for Dynamic Font.

This commit exposes the function through `Font` instead.

Fixes #23967
2020-05-27 17:28:23 +08:00
rileylyman
40ce9bfc2d skip extra newline in .tscn when renaming dependency 2020-05-25 14:25:34 -07:00
Dominik 'dreamsComeTrue' Jasiński
08377b3f04 Clarifies 'icon_separation' in TabContainer (instead of 'hseparation')
Fixes: #38911
2020-05-21 21:53:17 +02:00
clayjohn
4408efade3 Add night sky to PhysicalSkyMaterial 2020-05-16 12:59:55 -07:00
Hugo Locurcio
d935a4348d
Remove HQ2X and the Image.expand_2x_hq2x() method
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme
and icons on hiDPI displays, which limited its effective uses.
HQ2X was also used to upscale the project theme when the "Use Hidpi"
project setting was enabled, but results were often less than ideal.
The new StyleBoxFlat and SVG support also make HQ2X less important
to have as a core feature.

This decreases binary sizes slightly (-150 KB on most platforms,
-212 KB on WebAssembly release).

This partially addresses #12419.
2020-05-16 16:10:50 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
a1aaed5a84 Remove redundant void argument lists
Using clang-tidy's `modernize-redundant-void-arg`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-05-14 13:51:45 +02:00
Rémi Verschelde
dcd1151d77 Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1f6f364a56 Port member initialization from constructor to declaration (C++11)
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.

Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
Rémi Verschelde
d3bd219362 doc: Sync classref with current source
Adds API changes from the new GPU lightmapper.
2020-05-12 10:10:50 +02:00
Juan Linietsky
1bea8e1eac New lightmapper
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00
Rémi Verschelde
94721f5ab8 Revert "Renamed plane's d to distance"
This reverts commit ec7b481170.

This was wrong, `d` is not a distance but the `d` constant in the
parametric equation `ax + by + cz = d` describing the plane.
2020-05-10 16:47:11 +02:00
Rémi Verschelde
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde
9cc67b19b8
Merge pull request #38613 from MCrafterzz/plane
Renamed plane's d to distance
2020-05-10 13:06:55 +02:00
Marcel Admiraal
68eaaa6d6b Prevent CapsuleShape2D height from being less than zero. 2020-05-10 11:45:27 +01:00
Marcus Elg
ec7b481170 Renamed plane's d to distance 2020-05-10 12:12:51 +02:00
Marcus Elg
9a7e515d50 Rename Lineshapes d to distance 2020-05-09 15:10:00 +02:00
PouleyKetchoupp
4e14eefd94 Fixed export var default value in PackedScene when script is not loaded in editor 2020-05-08 12:43:23 +02:00
Rémi Verschelde
d7b85fbaa1
Merge pull request #31086 from volzhs/underline
Use underline position and thickness value in font file
2020-05-07 21:18:41 +02:00
Rémi Verschelde
42649565e9
Merge pull request #38475 from Chaosus/vs_quals
Added uniform qualifiers to visual shaders
2020-05-06 07:27:35 +02:00
Yuri Roubinsky
463e4ad0f5 Some fixes for canvas item visual shader inputs 2020-05-05 13:19:36 +03:00
Yuri Roubinsky
082542b525 Added uniform qualifiers to visual shaders 2020-05-05 11:25:48 +03:00
volzhs
9f1de2cfdd Use underline position and thickness value in font file 2020-04-29 21:56:15 +09:00
Aaron Franke
540156b387
[Core] Rename linear_interpolate to lerp 2020-04-29 04:02:49 -04:00
Rémi Verschelde
dfe38fbf8a
Merge pull request #38287 from JiRuifanCR/animatedtexture-oneshot-pause-set-frame
Add set_frame, pause, and oneshot to AnimatedTexture
2020-04-29 09:14:37 +02:00
Revan Ji
f5029e18ca Add set_frame, pause, and oneshot to AnimatedTexture
Add API documentation for said changes.
2020-04-29 00:26:37 +08:00
Rémi Verschelde
d8066aa6a4
Merge pull request #38286 from bojidar-bg/x-expose-cell-size
Expose the cell_size affecting VisibilityNotifier2D precision
2020-04-28 11:19:16 +02:00
Bojidar Marinov
d49ff7aff7
Expose the cell_size affecting VisibilityNotifier2D precision
Refs: #4803
2020-04-28 10:33:45 +03:00
Rémi Verschelde
717f053e37
Merge pull request #38121 from JFonS/add_unwrap_caching
Add caching the lightmap unwrapping on import
2020-04-27 18:51:32 +02:00
Hugo Locurcio
ad55749718
Tweak SSAO property hints to allow setting more precise values
This was requested by an user on Twitter who was working on a
game with a very small-scale world.
2020-04-23 21:46:20 +02:00