Commit graph

7347 commits

Author SHA1 Message Date
Rémi Verschelde
08f6a46a8d
Merge pull request #70342 from twaritwaikar/fix-vcs-bindings
VCS: Fix GDExtension return types for VCS after Array type hardening
2022-12-20 12:43:15 +01:00
Juan Linietsky
71d21c7ccb Implement basic ASTC support
Implements basic ASTC support:
* Only 4x4 and 8x8 block sizes.
* Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future.

The need for ASTC is mostly for the following use cases:
* Implement a high quality compression option for textures on mobile and M1 Apple hardware.
* For this, the 4x4 is sufficient, since it uses the same size as BPTC.

ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high.
Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing.

Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-20 11:26:30 +01:00
Twarit Waikar
18df2f36e8 VCS: Fix GDExtension return types for VCS after Array type hardening 2022-12-20 15:42:31 +05:30
Rémi Verschelde
5d97889d1a
Merge pull request #61239 from Calinou/tubetrailmesh-add-cap-properties
Add properties to disable top/bottom cap generation in TubeTrailMesh
2022-12-20 10:32:47 +01:00
Rémi Verschelde
923311dea0
Merge pull request #70303 from Calinou/doc-font-outlines-msdf
Document MDSF font outlines may require `msdf_pixel_range` adjustments
2022-12-20 10:32:32 +01:00
Rémi Verschelde
f1f6b35b8c
Merge pull request #70244 from DarkKilauea/nav-fix-abbrev-compat
[4.x] Fix typo and ensure backwards compatibility for changed property names
2022-12-20 10:32:26 +01:00
Yuri Rubinsky
8c478dcec9 Restore weight scale for AStarGrid2D (partially) 2022-12-20 12:22:32 +03:00
Josh Jones
0572346985
Fix typo and ensure backwards compatibility for changed property names
Changes to the name of the `navmesh` and `navpoly` properties on
`NavigationRegion` caused navigation data to be lost on load.
This PR creates uses `_set`/`_get` to handle compatibility with the
older names on load, preserving the data.

Also fixes a typo on `get_vertices_per_polygon` in `NavigationMesh`,
and renames the property to remove the `polygon_` prefix which doesn't
match the setter/getter.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-20 09:57:54 +01:00
Hugo Locurcio
6e330e8a75
Add properties to disable top/bottom cap generation in TubeTrailMesh
This can be used to improve generation and rendering performance,
or for certain special effects such as particle trails.
2022-12-19 17:29:32 +01:00
Hugo Locurcio
fcf54cabba
Document MDSF font outlines may require msdf_pixel_range adjustments 2022-12-19 17:17:45 +01:00
Rémi Verschelde
d124596862
Merge pull request #70263 from reduz/restore-rotation_degrees
Restore 'rotation_degrees' properties.
2022-12-19 16:28:44 +01:00
Rémi Verschelde
adc1096b19
Merge pull request #70219 from bruvzg/msdf_outline_scaling
Scale MSDF font outline with the font size and MSDF source size to match dynamic font behavior.
2022-12-19 16:26:56 +01:00
Rémi Verschelde
845e655cba
Merge pull request #70285 from MuffinManKen/textserver-format_number-default-docs
Update documentation for TextServer.format_number() when language parameter is omitted
2022-12-19 16:26:45 +01:00
Rémi Verschelde
f29f3db419
Merge pull request #59682 from Sauermann/fix-following-viewport-transform
Include the follow-viewport-transform into CanvasLayer transform calculations
2022-12-19 16:26:19 +01:00
Juan Linietsky
80b578b060 Restore 'rotation_degrees' properties.
By popular demand, restoring the helper properties to rotate objects in degrees.
Affected are local and global rotations for:

* Node2D
* Node3D
* Control
2022-12-19 10:59:47 +01:00
Ken Paulson
f1d2194c04 Update documentation for TextServer.format_number() when language parameter is omitted. 2022-12-18 23:11:02 -05:00
Markus Sauermann
2da2220da7 Include the following-viewport-transform into CanvasLayer transforms
The following-viewport-transform was missing from several calculations
2022-12-18 22:44:34 +01:00
Josh Jones
5d8ba2b2d1 Add support for emitting a signal when entering a NavLink 2022-12-17 16:33:41 -08:00
Rémi Verschelde
0bb94df247
Merge pull request #70230 from DarkKilauea/nav-experimental
[4.x] Mark navigation classes and nodes as experimental
2022-12-18 00:31:27 +01:00
smix8
34e7628f5f Fix Navigation API abbreviations inconsistency
Schema for navigation to name user facing API with  "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-17 22:06:22 +01:00
bruvzg
20d9457f9d
Scale MSDF font outline with the font size and MSDF source size to match dynamic font behavior. 2022-12-17 22:47:54 +02:00
Rémi Verschelde
10bc1d8710
Merge pull request #30675 from zaksnet/link-button-link-prop
Add a `uri` property to `LinkButton`
2022-12-17 20:58:15 +01:00
Rémi Verschelde
d25a64ffca
Merge pull request #70204 from Calinou/ios-remove-disable-touch-setting
Remove Disable Touch debug project setting
2022-12-17 20:56:28 +01:00
Rémi Verschelde
a1f481a7d6
Merge pull request #70202 from Calinou/viewport-transparent-background-rename-project-setting
Move transparent background project setting to a subsection
2022-12-17 20:56:19 +01:00
Josh Jones
32371906eb Mark navigation classes and nodes as experimental
The navigation team has some large changes planned for navigation in the 4.x timeframe, so marking these nodes as experimental to give users a heads up that the API may change in breaking ways.
2022-12-17 11:12:00 -08:00
Hugo Locurcio
70f6d42c92
Remove Disable Touch debug project setting
This project setting was only implemented and iOS and likely served
no purpose outside of debugging during development of engine features.

It was also located in a confusing location in the project settings
editor, as it was located below a root category (which appears in bold
and is normally not seen as clickable by users).
2022-12-17 18:47:29 +01:00
Hugo Locurcio
a3eac5fc7c
Move transparent background project setting to a subsection
This prevents the project setting from being located directly within
a root category, which is confusing from an UX perspective in the
project settings editor.
2022-12-17 18:45:21 +01:00
Zak
d73a9b56b0
Add uri property for LinkButton
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-17 15:27:33 +01:00
Rémi Verschelde
7972107c48
Merge pull request #70114 from clayjohn/custom-aabb
Expose GeometryInstance3D.custom_aabb property
2022-12-17 12:27:46 +01:00
Rémi Verschelde
ffed638cbc
Merge pull request #70116 from Calinou/vibrate-handheld-silence-warning
Silence `Input.vibrate_handheld()` warning as it's already documented
2022-12-16 13:47:11 +01:00
Rémi Verschelde
912fd3f0e1
Merge pull request #64563 from timothyqiu/word-wrap
Fix `String::word_wrap()` for long words
2022-12-16 13:47:05 +01:00
Ignacio Roldán Etcheverry
df0cf08878
Merge pull request #69867 from raulsntos/dotnet/color
C#: Synchronize Color with Core
2022-12-16 13:17:03 +01:00
SaracenOne
092dbe52a9 Change auto_advance flag to advance_mode enum and unify with disabled flag.
Expressions and conditions now require auto mode to be set to auto.
Adds a toggle button to the state machine editor for whether new transitions
advance settings should default to auto mode or not.
2022-12-16 07:42:59 +00:00
Haoyu Qiu
207e52c161 Fix String::word_wrap() for long words
- Changes `TextServer.string_get_word_breaks()`
  - Returns pairs of boundary start and end offsets
  - Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Raul Santos
d843a7ab97
C#: Synchronize Color with Core
- Add `Luminance` readonly property.
- Add `LinearToSrgb` and `SrgbToLinear` static methods.
- Add `FromOkHsl` static method.
- Add `FromRgbe9995` static method.
- Add `FromString` static method.
- Expose `FromHtml` static method.
- Expose `HtmlIsValid` static method.
- Add and update some Color documentation.
2022-12-16 03:04:05 +01:00
Hugo Locurcio
4a991887bf
Silence Input.vibrate_handheld() warning as it's already documented
The warning causes messages to be spammed if you are calling this
method in a game that runs on both desktop and mobile platforms,
unless you guard all calls to `Input.vibrate_handheld()` with
`OS.has_feature("mobile") or OS.has_feature("web")`.

Since the limitation is already documented (and is obvious enough
given the method's name), the warning message is redundant.
2022-12-16 01:12:20 +01:00
bruvzg
53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables. 2022-12-15 23:16:02 +02:00
clayjohn
5d51478d70 Expose GeometryInstance3D.custom_aabb property 2022-12-15 10:03:40 -08:00
Yuri Rubinsky
d99ea32999
Merge pull request #70102 from Chaosus/rd_remove_usage_indirect 2022-12-15 16:22:19 +03:00
Rémi Verschelde
346efd29e0
Fix typos with codespell 2022-12-15 12:24:08 +01:00
Yuri Rubinsky
807632a90c Changed STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT type to enum flags 2022-12-15 14:10:37 +03:00
Gilles Roudière
ffec180ccc Remove a confusing TileMap warning 2022-12-15 11:27:38 +01:00
Yuri Rubinsky
ecd2c5d5b9 Improve documentation on heuristics in AStarGrid2D 2022-12-15 09:43:17 +03:00
Rémi Verschelde
db6976eed4
Merge pull request #70028 from clayjohn/PM-GLES3
Added gl_compatibility as an option to the project creation screen
2022-12-14 00:20:52 +01:00
Rémi Verschelde
f3080459d9
Merge pull request #69732 from KoBeWi/rc_undo
Add remote history to EditorUndoRedoManager
2022-12-14 00:19:23 +01:00
Rémi Verschelde
465d4c1d95
Merge pull request #70009 from clayjohn/glow-hq
Remove high quality glow as it is not any higher quality than regular glow
2022-12-13 23:32:15 +01:00
Rémi Verschelde
fc517e6c89
Merge pull request #70003 from clayjohn/GLES3-cc
Various fixes and documentation for CanvasGroup
2022-12-13 23:31:43 +01:00
clayjohn
324f5364e7 Added gl_compatibility as an option to the project creation screen
Last selected option is saved as default for next time
2022-12-13 14:11:07 -08:00
clayjohn
bdd4001ef0 Various fixes and documentation for CanvasGroup
Properly apply custom materials with CanvasGroups in the GLES3 backend

Properly blur backbuffer when using a partial rect in forward_plus and
gl_compatibility renderers

Properly set fit_margin when clear_margin is set

Fix shader error during backbuffer clear in mobile renderer
2022-12-13 10:22:18 -08:00
clayjohn
5b5cd2b98b Remove high quality glow as it is not any higher quality than regular glow 2022-12-13 10:15:45 -08:00
Rémi Verschelde
c7c561ffd5
i18n: Sync classref translations with Weblate (3.5 branch)
(cherry picked from commit f5f0543aec)
2022-12-13 14:38:58 +01:00
Yuri Sizov
29dc73fc6c Improve signal documentation for Area2D/3D 2022-12-12 23:15:14 +03:00
Andrés Botero
3afe5d0c25 Fix docstring for String.get_base_dir 2022-12-12 13:12:25 -05:00
Rémi Verschelde
ec8f52df8f
Merge pull request #69629 from smix8/agent_wild_callback_pointer_4.x
Fix Navigation agent callback wild pointer crash
2022-12-12 13:51:48 +01:00
smix8
194c1c44e0 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.
2022-12-12 13:03:55 +01:00
Rémi Verschelde
f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Rémi Verschelde
a900383e57
Merge pull request #67038 from Calinou/xdg-paths-linux-only
Only support XDG directory path configuration on Linux
2022-12-12 11:43:48 +01:00
Hugo Locurcio
6799d000b1
Only support XDG directory path configuration on Linux
XDG support breaks when running Windows builds via WINE.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-12 11:43:16 +01:00
Rémi Verschelde
ba3a2adb90
Merge pull request #67050 from KoBeWi/syrt
Warn if isometric TileMap is not Y-sorted
2022-12-12 11:40:54 +01:00
Gilles Roudière
be1c9d677d Rename all gdnative occurences to gdextension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
Rémi Verschelde
c0e05e834a
Merge pull request #69714 from flatline-84/editor_scene_post_import_doc_example
updated example documentation for EditorScenePostImport
2022-12-12 08:27:36 +01:00
flatline-84
bd78d464e6 updated example documentation for EditorScenePostImport 2022-12-12 16:06:35 +11:00
Rémi Verschelde
c00b9e5b34
Merge pull request #69905 from Chaosus/rd_dynamic_state_flag
Changed `RD::PipelineDynamicStateFlags` type to enum flags
2022-12-11 15:18:14 +01:00
Rémi Verschelde
1a8785f75d
Merge pull request #69559 from timothyqiu/unique-call
Add note about `GROUP_CALL_UNIQUE` not considering arguments
2022-12-11 15:17:58 +01:00
Yuri Rubinsky
6e48db69a3 Changed RD::PipelineDynamicStateFlags type to enum flags 2022-12-11 15:37:35 +03:00
Rémi Verschelde
21136aaf9a
Merge pull request #67399 from Calinou/rename-precision-double-scons
Rename `float=64` SCons option to `precision=double`
2022-12-10 22:08:18 +01:00
Josh Jones
5769b0e8d8 Enable assigning an owner to navigation regions and links
This allows users of the server APIs to get back the nodes that created certain regions and links.
2022-12-10 12:03:06 -08:00
Hugo Locurcio
063637ec77
Rename float=64 SCons option to precision=double
This avoids confusion with the old `bits=64` option and building
for 64-bit CPUs in general.
2022-12-10 16:43:45 +01:00
Rémi Verschelde
c9ea6caac8
Merge pull request #69831 from Calinou/audio-random-no-repeats-remove-warning
Remove warning when playing random no-repeat sound with only 1 sound in pool
2022-12-10 10:46:24 +01:00
Hugo Locurcio
35d788cff5
Remove warning when playing random no-repeat sound with only 1 sound in pool
This makes setting up sounds for random pitch/volume faster, as you
don't have to change the mode from Random (Avoid Repeats) to Random
anymore if you only care about randomizing pitch/volume but want
to prevent a warning message from appearing on every playback.
2022-12-09 23:06:51 +01:00
Micky
45e991fdc2 Update StringName documentation to match String's 2022-12-09 20:03:40 +01:00
Rémi Verschelde
907298d673
Merge pull request #68747 from rune-scape/rune-stringname-unification
GDScript: Unify StringName and String
2022-12-09 18:06:48 +01:00
Rémi Verschelde
597e0c0fb9
Merge pull request #69353 from YuriSizov/window-be-more-like-your-brother
Copy local theme overrides from `Control` to `Window`
2022-12-09 18:06:34 +01:00
Rémi Verschelde
75e558e271
Merge pull request #69774 from Calinou/backbuffercopy-only-show-rect-when-relevant
Fix BackBufferCopy `rect` property appearing when not relevant in inspector
2022-12-09 06:52:03 +01:00
Hugo Locurcio
080b6ac1ae
Fix BackBufferCopy rect property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
2022-12-08 19:52:48 +01:00
kobewi
f764db1bdd Add remote history to EditorUndoRedoManager 2022-12-08 15:06:29 +01:00
Haoyu Qiu
80ccd46dcd Use capitalized ID in the doc 2022-12-08 09:40:49 +08:00
Yuri Sizov
29cc86fa6c Copy local theme overrides from Control to Window 2022-12-07 20:50:51 +03:00
Rémi Verschelde
0a3f66471e
Merge pull request #69712 from bruvzg/real_size
Rename `window_get_real_size`, add position counterpart.
2022-12-07 14:29:46 +01:00
Rémi Verschelde
39ad411369
Merge pull request #69707 from bruvzg/x11_exfs
[Linux/X11] Split fullscreen mode into `WINDOW_MODE_EXCLUSIVE_FULLSCREEN` and `WINDOW_MODE_FULLSCREEN` to improve multi-window handling.
2022-12-07 14:29:37 +01:00
Rémi Verschelde
a565ddcd09
Merge pull request #69654 from BastiaanOlij/openxr_submit_depth_optional
Make submitting depth buffer in OpenXR optional
2022-12-07 13:25:42 +01:00
Rémi Verschelde
de2d0f156e
Merge pull request #69713 from groud/rename_get_surrounding_tiles
Rename get_surrounding_tiles to get_surrounding_cells
2022-12-07 13:24:57 +01:00
Gilles Roudière
3ea54bb3a1 Rename get_surrounding_tiles to get_surrounding_cells 2022-12-07 11:09:10 +01:00
bruvzg
edf13eb5a6
Rename window_get_real_size to window_get_size_with_decorations, add window_get_position_with_decorations. 2022-12-07 11:07:30 +02:00
Markus Sauermann
e18107a57c Fix Determining Window for Touchscreen
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
bruvzg
ad0f6ff85b
[Linux/X11] Split fullscreen mode into WINDOW_MODE_EXCLUSIVE_FULLSCREEN and WINDOW_MODE_FULLSCREEN to improve multi-window handling. 2022-12-07 09:54:02 +02:00
Bastiaan Olij
484cd90d29 Make submitting depth buffer in OpenXR optional 2022-12-06 22:37:33 +11:00
Rémi Verschelde
05f64399c0
Merge pull request #69628 from Piralein/strong-treatment
fix conversion of csharp attributes in code blocks
2022-12-06 11:00:36 +01:00
Rémi Verschelde
6fd5162124
Merge pull request #55757 from Calinou/light-3d-tweak-shadow-bias
Tweak shadow bias defaults for DirectionalLight3D and OmniLight3D
2022-12-06 10:56:45 +01:00
Rémi Verschelde
ae37045f28
Merge pull request #68838 from Mickeon/doc-peeves-3-strings-&-3-sticks
Overhaul String Documentation
2022-12-06 10:47:21 +01:00
rune-scape
e79be6ce07 Unify String and StringName 2022-12-05 21:46:47 -05:00
Hana
026791027f fix conversion of csharp attributes in code blocks 2022-12-05 22:58:47 +01:00
Hugo Locurcio
e560971bf2
Tweak shadow bias defaults for DirectionalLight3D and OmniLight3D
- Increase DirectionalLight3D normal bias to 2.0 to reduce shadow acne
  at grazing angles.
- Decrease OmniLight3D bias to 0.1 to reduce shadow peter-panning.
2022-12-05 21:53:29 +01:00
Micky
3b71d85f9f Overhaul String Documentation 2022-12-05 20:33:47 +01:00
Rémi Verschelde
65cbcaeaa5
Merge pull request #69594 from Mickeon/doc-peeves-read-a-dictionary
Overhaul Dictionary Documentation
2022-12-05 18:07:43 +01:00
Rémi Verschelde
29e4588f92
Merge pull request #68983 from Mickeon/doc-peeves-colorful
Tweak Color Documentation
2022-12-05 18:07:35 +01:00
Rémi Verschelde
fef6df489f
Merge pull request #68231 from Mickeon/doc-you-cannot-get-rid-of-me
Add missing RID operator descriptions
2022-12-05 18:06:43 +01:00
Rémi Verschelde
b5fd901b07
Merge pull request #69115 from xiongyaohua/curve2d_baking_refactor
Curve2d baking and sampling refactor
2022-12-05 18:06:25 +01:00
Rémi Verschelde
a50e4fed18
Merge pull request #69343 from YuriSizov/core-missing-property-revert-getters
Add missing public `property_*_revert` getters
2022-12-05 18:05:59 +01:00
Micky
b77f93516e Overhaul Dictionary Documentation 2022-12-05 17:17:53 +01:00