Commit graph

3145 commits

Author SHA1 Message Date
Jonathan Nicholl
15d057c521 Add is_zero_approx methods to Vector2, 3, and 4 2022-09-02 00:29:50 -04:00
Rémi Verschelde
d63c6fc463 Merge pull request #60185 from Calinou/environment-fog-and-sky-affect 2022-09-01 23:52:34 +02:00
Rémi Verschelde
005aac2dbe Merge pull request #65187 from JohanAR/vector_to_size 2022-09-01 23:50:59 +02:00
Rémi Verschelde
5263fd5343 Merge pull request #64198 from Geometror/add-bitmap-tests 2022-09-01 23:46:38 +02:00
Rémi Verschelde
2e0cffdb6f Merge pull request #63479 from DarkKilauea/nav-link 2022-09-01 23:44:22 +02:00
kobewi
73929bef73 Rework oriented containers 2022-09-01 22:13:46 +02:00
Johan Aires Rastén
b7e2d45233 Replace Vector2(i) with Size2(i) for methods returning a size 2022-09-01 20:04:17 +02:00
Hugo Locurcio
699e9f7966
Add Environment properties to control fog rendering on background sky
Values lower than 1.0 can be used to make the fog rendering not fully
obstruct the sky. This can be desired when using fog as a purely
atmospheric effect, without intending to use fog for open world fog
fading.

When set to 0.0, fog rendering behavior will be similar to Godot 3.x
where sky rendering was never affected by fog.
2022-09-01 19:07:39 +02:00
Hendrik Brucker
ea0472fecf Refactor BitMap and add tests
Co-authored-by: Resul Çelik <resul_celik@hotmail.com>
2022-09-01 18:39:17 +02:00
Micky
8949386382 Rename AnimatedTexture oneshot to one_shot
AnimatedTexture.`oneshot` -> `one_shot`

For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-01 15:38:06 +02:00
Yuri Sizov
15fd025f90 Add dumb and manual theme caching systems to Window 2022-09-01 16:05:02 +03:00
kobewi
7adc8376ed Change Array arguments to TypedArray 2022-09-01 13:13:19 +02:00
Yuri Rubinsky
8191b3c110 Rename uniform to parameter across the engine 2022-09-01 11:42:57 +03:00
Rémi Verschelde
89f0886425
Merge pull request #65073 from bruvzg/trim_spaces
[TextServer] Add support for trimming edge spaces on line break.
2022-09-01 08:16:52 +02:00
Rémi Verschelde
e67c967cbc
Merge pull request #63751 from clayjohn/physical_light_units
Implement Physical Light Units in Vulkan Renderers
2022-09-01 08:08:38 +02:00
bruvzg
7aad14a4b6
[TextServer] Add support for trimming edge spaces on line break. 2022-09-01 08:11:55 +03:00
clayjohn
385ee5c70b Implement Physical Light Units as an optional setting.
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value.

In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-31 12:14:46 -07:00
Patrick
323ff657c0 Fix LinearDepth calculation for GLES3
This change will calculate the depth ndc differently for GLES3 and Vulkan as described in here:
stable:
https://docs.godotengine.org/en/stable/tutorials/shaders/advanced_postprocessing.html
godot 4 with vulkan:
https://docs.godotengine.org/en/latest/tutorials/shaders/advanced_postprocessing.html
2022-08-31 21:00:13 +02:00
Rémi Verschelde
4daa0274ca
Merge pull request #65092 from groud/inherited_scenes_tilesets 2022-08-31 12:07:18 +02:00
Gilles Roudière
b69f804c1a Fixes inherited scenes not working in TileSet scenes collection sources 2022-08-31 10:12:04 +02:00
Hugo Locurcio
ae18928748
Rename Curve/Curve2D/Curve3D/Gradient interpolate() to sample()
"sampling" is a more accurate term than "interpolating" for what's
happening when using that function.
2022-08-30 22:08:38 +02:00
Rémi Verschelde
e27b61d291
Merge pull request #65042 from YuriSizov/editor-docks-tabbar-bg 2022-08-30 18:53:54 +02:00
Rémi Verschelde
ae349d8227
Merge pull request #64377 from Mickeon/rename-canvas-redraw
Rename `CanvasItem.update()` to `queue_redraw()`
2022-08-30 14:47:41 +02:00
Rémi Verschelde
889c522a19
Merge pull request #64410 from MewPurPur/rename-notification-instanced 2022-08-30 12:01:58 +02:00
Rémi Verschelde
432b25d364
Merge pull request #65066 from aaronfranke/str-path-join 2022-08-30 10:01:11 +02:00
Aaron Franke
10a56981dc
Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
Yuri Sizov
8b196be855 Add background to TabContainer's tabbar and editor docks 2022-08-29 23:43:32 +03:00
Micky
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Hugo Locurcio
64717d64cd
Improve documentation for BaseMaterial3D's alpha scissor threshold 2022-08-29 14:54:06 +02:00
Rémi Verschelde
e60086f98b
Merge pull request #64119 from YuriSizov/theme-init-database 2022-08-29 14:02:21 +02:00
Rémi Verschelde
583c0c4897
Merge pull request #64980 from TokageItLab/fix-animedit-draw-and-find-key 2022-08-29 12:29:24 +02:00
Haoyu Qiu
385a5b44aa Improve documentation for get_animation() 2022-08-29 14:54:57 +08:00
Silc Renew
77cf519cf0 Fixed AnimationTrackEditor redraw/deselect timing and find key compearation 2022-08-29 10:44:00 +09:00
Rémi Verschelde
011dbda2ea
Merge pull request #64999 from Chaosus/fix_packed_scene_crash 2022-08-28 21:21:53 +02:00
Yuri Rubinsky
a33903d23f Prevent crash at loading some scenes 2022-08-28 21:56:04 +03:00
Pedro J. Estébanez
2b73bf1ed1 Make local-to-scene resources behavior consistent in child scenes 2022-08-28 20:17:16 +02:00
Rémi Verschelde
c9972e3981
Merge pull request #64526 from Rindbee/improve-packed-scene-instantiate
Improve PackedScene instantiate
2022-08-28 17:12:26 +02:00
Rindbee
d6c0959cb1 Improve PackedScene instantiate
Make `resource_local_to_scene` behave as described in the documentation. (If I understand correctly, the following **instance** refers to **the instance of the sub-scene**.)
2e24b76535/doc/classes/Resource.xml (L70-L72)

If the resources of the sub-scene are modified in the main scene, the modified resources will be recorded in the `tscn` file of the main scene. And the root node of the sub-scene will be set twice.
1. In the main scene, when encountering a sub-scene, the sub-scene will be initialized first;
2. Then use the resources in the main scene to reset the root node of the sub-scene.

This may make `resource_local_to_scene` not work as expected. The resources cannot be shared between the sub-scene root node and other ordinary nodes in the sub-scene.

Yes, if the resources have `resource_local_to_scene` enabled, this patch treats the modified resources of the sub-scene root node as resources in the sub-scene, not in the main scene. Although the modifications are recorded in the `tscn` file of the main scene.
2022-08-28 20:39:09 +08:00
Patrick Exner
55bbcc54e7 Implement custom non-trivial shader functions 2022-08-27 22:59:12 +02:00
Silc Renew
787ab45394 Add optimization for Animation::ValueTrack 2022-08-27 22:59:33 +09:00
Josh Jones
3dd59013f4 Added node for Navigation links 2022-08-26 22:05:15 -07:00
Silc Renew
931fb4dc11 Add linear/cubic angle interpolation to Animation interpolation type 2022-08-27 07:58:22 +09:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Yuri Sizov
6320a0fc18 Add ThemeDB, expose previously static Theme methods 2022-08-26 19:23:05 +03:00
Micky
59e11934d8 Rename str2var to str_to_var and similar
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.

- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`

- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
Rémi Verschelde
7013c68619
Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0 2022-08-26 11:59:07 +02:00
Rémi Verschelde
354123a207
Merge pull request #64243 from bruvzg/multiline_textmesh 2022-08-26 11:45:25 +02:00
Rémi Verschelde
d6267c2d2c
Merge pull request #64305 from bruvzg/ts_reset_data 2022-08-26 11:44:24 +02:00
Rémi Verschelde
5bf2b3926c
Merge pull request #64879 from TokageItLab/cubic-to-cubicintime
Replace `Cubic` to `CubicInTime` in the animation track interpolation type
2022-08-26 09:45:24 +02:00
Micky
723bf85145 Rename ParticlesMaterial to ParticleProcessMaterial
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00
Silc Renew
d96cc7450a Make Cubic to CubicInTime and reduce items in the track intrp type 2022-08-26 06:49:09 +09:00
Rémi Verschelde
33bf609d79
Merge pull request #64820 from Chaosus/shader_fix_varyings 2022-08-25 18:02:38 +02:00
Yuri Rubinsky
d4a10e7e04 Allow using integer varyings with flat interpolation modifier 2022-08-25 13:21:02 +03:00
Rémi Verschelde
a0113a98e4
Merge pull request #64801 from clayjohn/plane-quad
Remove QuadMesh and add orientation parameter to PlaneMesh
2022-08-25 07:38:30 +02:00
clayjohn
861c5bff0e Remove QuadMesh and add orientation parameter to PlaneMesh 2022-08-24 18:51:18 -07:00
Rémi Verschelde
ca5c3d6df9 Fix ParticlesMaterial build after #61238 2022-08-25 00:52:37 +02:00
Rémi Verschelde
56752e32a6
Merge pull request #61238 from Calinou/particlesmaterial-add-fade-on-contact-collision-mode
Add "Hide on Contact" collision mode to ParticlesMaterial
2022-08-25 00:01:47 +02:00
Yuri Sizov
c78cbb523f Extract editor color map and simplify SVG color conversion 2022-08-24 15:59:14 +03:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
kobewi
1abdffe7a0 Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
Rémi Verschelde
6277448f42
Merge pull request #64647 from TokageItLab/auto-tangent 2022-08-23 18:17:15 +02:00
Rémi Verschelde
5c5bc21195
Merge pull request #63854 from TokageItLab/auto-bone-mapping 2022-08-23 18:16:15 +02:00
Rémi Verschelde
481070812e
Merge pull request #64640 from aaronfranke/skeleton-cleanup 2022-08-23 13:44:54 +02:00
Silc Renew
9327296e73 Add bezier preset and refactor bezier editor
Co-authored-by: Razoric480 <razoric480@gmail.com>
2022-08-23 19:14:03 +09:00
Silc Renew
c7e4eeb8a4 Add simple auto mapping to BoneMapper
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2022-08-23 16:43:33 +09:00
bruvzg
bcc3643989
Add font LCD sub-pixel anti-aliasing support. 2022-08-23 08:47:21 +03:00
kobewi
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
Rémi Verschelde
cb62c91c12
Merge pull request #58600 from Calinou/material-triplanar-sharpness-clamp 2022-08-22 22:21:33 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property 2022-08-22 21:39:48 +02:00
Rémi Verschelde
5bc8702855
Merge pull request #64132 from TokageItLab/fix-optimizer 2022-08-22 20:39:06 +02:00
Rémi Verschelde
7b4927bb5f
Merge pull request #60309 from The-O-King/oct 2022-08-22 19:29:21 +02:00
Rémi Verschelde
43ff5dd890
Merge pull request #64642 from aaronfranke/mesh-cleanup 2022-08-22 17:36:33 +02:00
Yuri Sizov
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
Rémi Verschelde
944bfc6d00
Merge pull request #63602 from TokageItLab/cubic-interp-time 2022-08-22 17:32:47 +02:00
Rémi Verschelde
fdc36ad082
Merge pull request #64553 from RedMser/fix-property-validation-refactor 2022-08-22 16:54:47 +02:00
Aaron Franke
8893b2bdb4
Clean up mesh include code and comments 2022-08-20 13:24:40 -05:00
Aaron Franke
7be49cb5e0
Clean up include guards in 3D skeleton modification code 2022-08-19 19:18:47 -05:00
clayjohn
bbbcdd725a Remove requirement to have vertex positions when creating a mesh. Meshes can now be constructed from an index buffer alone 2022-08-19 14:50:12 -06:00
Hugo Locurcio
17ad6df56d
Add "Hide on Contact" collision mode to ParticlesMaterial
This can be used to make particles disappear when colliding, rather
than bouncing around or sticking to surfaces.

This is useful for rain particles which should not be able to go
through floors/ceilings, but shouldn't stick to surfaces either.
2022-08-19 22:32:19 +02:00
Yuri Sizov
96ba6e8cf9
Merge pull request #64595 from mhilbrunner/ergo-proxy
Unexpose ProxyTexture
2022-08-19 20:42:27 +03:00
Yuri Sizov
7895a66cf2
Merge pull request #64334 from YuriSizov/core-bind-property-revert-methods
Make `property_*_revert` methods multilevel and expose them for scripting
2022-08-19 20:41:41 +03:00
Silc Renew
dded7c72c1 Make cubic_interpolate() consider key time in animation 2022-08-19 14:48:37 +09:00
Max Hilbrunner
92bdeb7eb5 Unexpose ProxyTexture 2022-08-19 03:01:47 +02:00
Max Hilbrunner
420a8c888e
Merge pull request #63950 from bruvzg/menu_bar3
Implement MenuBar control to wrap Popup menus or native menu, use native menu for editor.
2022-08-19 01:24:24 +02:00
Clay John
17ca5b913c
Merge pull request #64156 from bruvzg/sys_msdf
Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files.
2022-08-18 14:58:57 -06:00
Clay John
547e64d226
Merge pull request #63999 from QbieShay/qbie/vs-qol
Quality of life visual shaders updates
2022-08-18 14:47:23 -06:00
bruvzg
8c56a7416b
Implement MenuBar control to wrap PopupMenus or native menu, use native menu for editor. 2022-08-18 22:25:44 +03:00
RedMser
c25b8f2876 Remove unintentional PROPERTY_USAGE_INTERNAL
The flag only matters for property definition,
but was also used in _validate_property a lot.
2022-08-18 16:25:00 +02:00
RedMser
83f2723893 Fix some property validation not been refactored 2022-08-18 16:24:15 +02:00
Yuri Sizov
980f5f32f4 Make property_*_revert methods multilevel and expose them for scripting 2022-08-18 00:03:53 +03:00
VolTer
2599710793 Rename NOTIFICATION_INSTANCED to NOTIFICATION_SCENE_INSTANTIATED 2022-08-16 12:41:10 +02:00
danboo
14ddeb8e44 break out of font search loop after first match
The documentation for the font_names property indicates:

   Array of font family names to search, first matching font found is used.
2022-08-15 20:58:48 -08:00
Yuri Sizov
fff0e7b8e2 Clarify the Line2D, Curve2D/3D documentation and fix parameter names 2022-08-15 21:38:14 +03:00
Yuri Rubinsky
22df2c527b Implement coloring for disabled branches in the shader editor 2022-08-14 13:57:26 +03:00
Omar El Sheikh
78881b3cc3 Octahedral Normal/Tangent Compression
Implementation of Octahedral normal compression into Godot 4.0
2022-08-13 08:09:32 -07:00
QbieShay
ecbeb8de1b Improve visual shader defaults for quality of life
- multiply part of addmultiply defaults to 1
- curvetexture's repeat is turned off
- vectors into float takes first component instead of average
2022-08-12 19:39:56 +02:00
bruvzg
c6e1432cc0
[Font] Set TextServer font data pointer when it's null, to prevent TS from reading old, non-existing data. 2022-08-12 11:35:13 +03:00
kobewi
e06cd2742f Add missing properties to default theme 2022-08-11 14:15:04 +02:00
bruvzg
8384815365
Add line breaking support to the TextMesh. 2022-08-10 23:53:48 +03:00
bruvzg
bf1cc6326a
Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files. 2022-08-09 14:21:09 +03:00