Commit Graph

6302 Commits

Author SHA1 Message Date
Pedro J. Estébanez 4a127cb5fe Improve usability of non-default values in the property inspector
- Provide a visual indication that a (sub)group contains non-default (revertable) values when it's collapsed.
- Add a new option to the inspector's tools menu for expanding only (sub)groups containing properties with non-default values.
2022-07-30 15:25:45 +02:00
Rémi Verschelde b2429aab1f
Merge pull request #49288 from Calinou/doc-improve-collisionobject
Improve CollisionObject2D and CollisionObject3D pickable documentation
2022-07-30 11:59:16 +02:00
Rémi Verschelde 162186cfe8
Merge pull request #63651 from fabriceci/fix-typo-doc-character-body-3d
Fix typos in the CharacterBody3D doc file
2022-07-30 11:20:50 +02:00
Rémi Verschelde 1fca76a852
Merge pull request #63648 from snailrhymer/mesh-classref-fixes
Fix add_surface_from_arrays description in classref
2022-07-30 09:21:34 +02:00
Rémi Verschelde 9094262a6b
Merge pull request #48548 from Calinou/editor-help-add-editor-settings
Add support for documenting most editor settings in the class reference
2022-07-30 00:39:16 +02:00
SnailRhymer a6229bf016 Fix add_surface_from_arrays description in classref
Fix add_surface_from_arrays description in ImporterMesh.xml and ArrayMesh.xml to correctly describe sub-array length requirements.

Also add missing comma in MeshInstance3D.xml, reword slightly.
2022-07-29 22:19:48 +01:00
Rémi Verschelde 15a02c49be
Merge pull request #61647 from KoBeWi/SaverResource 2022-07-29 22:30:51 +02:00
Rémi Verschelde b7639c2995
Merge pull request #63638 from PrecisionRender/improve-shape-cast-docs 2022-07-29 22:29:10 +02:00
fabriceci 4af0a528a7 Fix typos in the CharacterBody3D doc file 2022-07-29 22:11:38 +02:00
Hugo Locurcio 63ce655e75 Add support for documenting most editor settings in the class reference
Settings defined in editor plugins are missing (about 100 of them),
but all other settings (about 200 of them) can now be documented in the
EditorSettings class.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-07-29 22:07:01 +02:00
PrecisionRender 3f546b7d7c Improve `ShapeCast2D` and `ShapeCast3D` docs 2022-07-29 13:26:05 -05: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 ba3734e69a
Merge pull request #63603 from aaronfranke/editor-paths
Move editor paths into the EditorPaths class
2022-07-29 19:31:59 +02:00
Andy Maloney 5036dfb0b6 Add Python PEP 484/526 type hints to doc/tools/doc_status.py
Also removes the first divider string which cleans up the extraneous dashes at the top of the page.
2022-07-29 13:27:48 -04: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
Aaron Franke ac870ab1c8
Move editor paths into the EditorPaths class 2022-07-29 11:07:30 -05: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 cd24fb848e
Merge pull request #63617 from KoBeWi/v3c70r4 2022-07-29 12:45:18 +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
kobewi ee6fd704b5 Fix Vector4 serialization 2022-07-29 12:09:03 +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 7c93373008
Merge pull request #63161 from PrecisionRender/master
Add `ShapeCast3D` node
2022-07-29 08:07:13 +02:00
DeeJayLSP c8f3b02fcf Rename every instance of "OGG" to "Ogg" 2022-07-28 16:41:38 -03: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
PrecisionRender 8cbb9b8b0a Add ShapeCast3D node 2022-07-28 12:08:42 -05: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
Hugo Locurcio e24029edc3
Allow changing mipmap LOD bias when FSR 1.0 scaling is not used
Mipmap LOD bias can be useful to improve the appearance of distant
textures without increasing anisotropic filtering (or in situations
where anisotropic filtering is not effective).

`fsr_mipmap_bias` was renamed to `texture_mipmap_bias` accordingly.
The property hint now allows for greater precision as well.
2022-07-28 17:51:13 +02:00
Jcrespo d9b4ece093 Patch the make_rst.py utility to handle specially operators with '<'
When generating rst files from xml class reference, unknown references
to operators were generated, as something like:

:ref:`operator <<class_Vector2_operator_lt_bool>`

was rendered in html as:

operator ( Vector2 right )

-it just needed escaping.

The small addendum checks for operator names containing '<' and
substitutes it with '\<', escaping at rst level and generating
instead the right rendered html:

operator < ( Vector2 right )

This affected mostly the reference pages of the VectorX family of
classes. If in the future more types need escaping, a more
general solution will be needed.
2022-07-28 12:37:30 +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 1e4b38fc5d
Merge pull request #62414 from Calinou/movie-maker-add-quit-on-end 2022-07-28 01:05:19 +02:00
pattlebass 130e715ab9 HTML5: Add support for `Input.vibrate_handheld()` 2022-07-27 22:54:41 +03:00
Hugo Locurcio aaeb60eafc
Add a Movie Quit On Finish property to AnimationPlayer
This quits the project when an animation is done playing in the
given AnimationPlayer, but only in Movie Maker mode.
When this happens, a message is printed with the absolute path of the
AnimationPlayer node that caused the engine to quit.

This can be used to create videos that stop at a specified time
without having to write any script.

A report is now also printed to the console when the video is done
recording (as long as the engine was exited properly).
This report is unfortunately not always visible in the editor's
Output panel, as it's printed too late.

A method was also added to get the path to the output file from the
scripting API.
2022-07-27 18:50:28 +02:00
kobewi fdf7441015 Split ceil(), floor() and round() method 2022-07-27 16:58:56 +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 4e9640b3ec i18n: Sync classref translations with Weblate
(cherry picked from commit 516d6b6bad)
2022-07-27 16:03:34 +02:00
Rémi Verschelde f66527ddc3 doc: Fix relative paths in `make_rst.py` generated comment
Follow-up to #63495.
2022-07-27 13:52:46 +02:00
Rémi Verschelde cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
Rémi Verschelde 1bb56d9298
Merge pull request #63495 from YuriSizov/docs-improve-autogen-note 2022-07-27 13:24:03 +02:00
Yuri Sizov f3561696da Improve the autogenerated note in RST docs for class reference 2022-07-27 13:43:06 +03:00
Rémi Verschelde 1c57d90e85
Merge pull request #63463 from KoBeWi/Vector5
Add some missing Vector4 methods
2022-07-27 10:45:39 +02:00
Rémi Verschelde 0065fcc947
Merge pull request #63510 from asmaloney/add-missing-type-hints 2022-07-27 10:43:37 +02:00
Hugo Locurcio a151a74a98
Tweak Decal distance fade defaults and add property hints
The new default values are more usable in real world scenarios
when smooth fading of distant decals is desired for performance reasons.

The Decal distance fade property hints were adjusted based on the
GeometryInstance3D visibility range fade property hints. `or_greater`
was also added to allow specifying larger values if needed.
2022-07-27 03:15:46 +02:00
kobewi d7b30b2327 Add Vector4 documentation 2022-07-26 22:37:05 +02:00
Andy Maloney 4b3d6f04a8 Add missing Python type hints in tools/make_rst.py 2022-07-26 16:26:47 -04:00
RedMser 7b834c8bfd Fix unnamed arguments in XML docs 2022-07-26 20:42:38 +02:00
Silc Renew dde235ad82 add position track normalization & post process key value for retarget 2022-07-26 18:48:08 +09:00
bruvzg 94e5ad2019
[RichTextLabel] Fix theme bold / italics / bold italics and mono font size not applied correctly. 2022-07-26 10:45:40 +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
kobewi 7006f7d693 Add some missing Vector4 methods 2022-07-26 02:35:42 +02:00
Juan Linietsky c7255388e1 Remove ThreadWorkPool, replace by WorkerThreadPool
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient.
It can also be better debugged.
2022-07-25 15:39:50 +02:00
Rémi Verschelde 3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection 2022-07-25 11:13:27 +02:00
Rémi Verschelde bd1d2fcd86
Merge pull request #63381 from jynus/master
Solve discrepancy between code and class reference for Plane
2022-07-24 20:03:16 +02:00
Rémi Verschelde 9dc50cd564
Merge pull request #62892 from KoBeWi/hey,group!
Remove outdated line in call_group() description
2022-07-24 19:18:46 +02:00
Jcrespo 1a3d57f319 Solve discrepancy between code and class reference for Plane
On #43310, class reference was automatically updated from source,
causing xml documentation to disagree with parameter naming
description on Plane.intersects_segment().

Weirdly, it also changed the parameter for Plane.is_point_over()
from point to plane, when only the first has sense (and it is
defined on math.Plane as "const Vector3 &p_point"). Manual
mistake?

* Update begin/end to from/to on Plane.intersects_segment(...)
  docs description to match source
* Update Plane bindings to use points instread of plane for
  is_point_over(...)
* Change Plane.is_point_over(plane) to Plane.is_point_over(point)
  AND its description on docs

Fixes godotengine/godot-docs#5976
2022-07-24 18:21:25 +02:00
Aaron Franke 286ae1f7fa
Document what the Z component is used for in BaseMaterial3D UV coords 2022-07-23 20:05:16 -05:00
Fabio Alessandrelli 75f93167f7
Merge pull request #63262 from dsnopek/multiplayer-peer-custom-4.x
[4.x] Allow extending MultiplayerPeerExtension from GDScript
2022-07-24 01:24:22 +02:00
reduz 455c06ecd4 Implement Vector4, Vector4i, Projection
Implement built-in classes Vector4, Vector4i and Projection.

* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.

These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.

**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +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
Rémi Verschelde fe929d4787
Merge pull request #62513 from reduz/shader_preprocessor_remake 2022-07-23 00:02:33 +02:00
Rémi Verschelde 3f504eb9fe
Merge pull request #63313 from python273/fix-xr-doc-links 2022-07-22 23:44:00 +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
Hugo Locurcio f0b896e9a3
Add example usage for `Font.get_string_size()`
The font size is now separated from the font itself, so it makes
sense to have an example for people coming from Godot 3.x.
2022-07-22 22:39:00 +02:00
python273 f78d06c9fe Fix tutorial links in XR classes docs 2022-07-22 15:05:31 +03:00
Rémi Verschelde d2fa9cbdfd
Merge pull request #63141 from reduz/implement-thread-runner 2022-07-22 13:25:31 +02:00
Rémi Verschelde 653f95282c
Merge pull request #62996 from reduz/feature-build-profiles 2022-07-22 12:50:20 +02:00
reduz 67a260d63f Implement a Worker ThreadPool
This PR implements a worked thread pool. It uses a fixed amount of threads in a pool and allows scheduling tasks
that can be run on threads (and then waited for). It satisfies the following use cases:

* HTML5 thread count is fixed (and similar restrictions are known in consoles) so we need to reuse threads.
* Thread spawning is slow in general, so reusing threads is faster anyway.
* This implementation supports recursive waiting for tasks, making it less prone to deadlocks if threads from the pool also run tasks.

After this is approved and merged, subsequent PRs will be needed to replace the ThreadWorkPool usage by this class.
2022-07-22 11:46:48 +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
Yuri Rubinsky ccc56cc6d4 Rename `epsilon` to `tolerance` in the `Plane::has_point` method 2022-07-21 20:15:15 +03: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
bruvzg 8823eae328
Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
David Snopek f8137ce6c1 Allow extending MultiplayerPeerExtension from GDScript 2022-07-20 18:19:05 -05:00
Rémi Verschelde 0f6028378f
Merge pull request #63127 from KoBeWi/raise_from_picture 2022-07-20 22:34:05 +02:00
Rémi Verschelde fa2dcc7ace
Merge pull request #47935 from HaSa1002/doc-loading-run-time 2022-07-20 22:33:49 +02:00
Fabio Alessandrelli ddee5f6050 Add peer visibility to MultiplayerSynchronizer.
MultiplayerSynchronizers can now be configured to limit their visibility
to a subset of the connected peers, if the synchronized node was spawned
by a MultiplayerSpawner (either automatically or via custom spawn) the
given node will also be despawned remotely.

The replication system doesn't have the logic to handle subspawn
directly, but it is possible to handle them appropriately by manually
updating the visibility of the parent before changing the one of the
nested spawns via the "update_visibility" function.

The visibility of each MultiplayerSynchronizer can be controlled by
adding or remove filters via "[add|remove]_visibility_filter(callable)".

To further optimize the network code, visibility filters can be configured
to be automatically updated during idle or physics frame, or set to always
require manual update (via the "update_visibility" function).
2022-07-20 19:08:35 +02:00
Max Hilbrunner 8d15814e6a
Merge pull request #60256 from octetdev2/docs-fix-staked-typo
Fix typo in `TILE_LAYOUT_OFFSET_STACKED` description
2022-07-20 12:18:41 +02:00
Vojtěch Struhár 5a61906330 Filled in MultiMesh instance_count doc. 2022-07-19 22:41:56 +02: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
Rémi Verschelde eea14a0edc
Merge pull request #63005 from Chaosus/image_rotate
Implement `rotate_90/rotate_180` functions to `Image`
2022-07-19 15:21:16 +02:00
Rémi Verschelde 7fd29b5464
Merge pull request #59301 from fire-forge/layout-preset-full-rect 2022-07-19 12:06:00 +02:00
FireForge 97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05: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 2c6707cb02
Merge pull request #63134 from KoBeWi/plugin4screen 2022-07-18 11:21:13 +02:00
kobewi 058c1eac25 Improve docs on how to make main screen plugin 2022-07-18 10:36:17 +02:00
Rémi Verschelde dfc76dc26d i18n: Sync classref translations with Weblate
(cherry picked from commit 7379f2c76a)
2022-07-18 10:29:25 +02:00
Rémi Verschelde 181759e872
Merge pull request #62849 from Calinou/doc-httprequest-timeout 2022-07-18 09:19:58 +02:00
Zak Grumbles 349c750b18 Improve documentation for Camera3D's `current` member
* Added additional information to the camera documentation to explain
  how the 'current' attribute behaves when multiple cameras are in a
  scene.
2022-07-17 11:29:59 +02:00
Bastiaan Olij d139131aab Adding Variable Rate Shading support to Godot
Improve GI renderer and add VRS support
Implement render device has_feature and move subgroup settings to limit_get
2022-07-17 15:42:24 +10:00
Rémi Verschelde 9dfd120a7e
Merge pull request #63077 from Zylann/doc_plane_distance_to
Indicate Plane.distance_to returns a signed distance
2022-07-16 23:10:12 +02:00
snailrhymer c051c84385
Fix typo in VehicleBody3D.xml 2022-07-16 18:06:01 +01:00
Marc Gilleron 45e329c1d2 Indicate Plane.distance_to returns a signed distance 2022-07-16 18:00:31 +01:00
Rémi Verschelde 5a6b13b8bb
Merge pull request #62939 from TokageItLab/implement-rest-fixer
Add Rest Fixer to importer retarget
2022-07-16 16:54:20 +02:00
Silc Renew 9be288edf9 refactor sync in AnimationTree 2022-07-16 21:45:32 +09: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
Yuri Rubinsky 7e66903d56 Implement `rotate_90/rotate_180` functions to `Image` 2022-07-15 11:50:42 +03: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
Hugo Locurcio 21ea1c3835
Rename soft shadow quality project settings for easier searching
`rendering/quality/shadows` is now `rendering/quality/positional_shadow`
to explicitly denote that the settings only affect positional light shadows,
not directional light shadows.

Shadow atlas settings now contain the word "atlas" for easier searching.

Soft shadow quality settings were renamed to contain the word "filter".
This makes the settings appear when searching for "filter" in the
project settings dialog, like in Godot 3.x.
2022-07-13 19:56:02 +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
Rémi Verschelde b942c1ffe3
Merge pull request #62827 from fire-forge/ok-cancel
Add `ok_button_text` to AcceptDialog and `cancel_button_text` to ConfirmationDialog
2022-07-13 14:10:38 +02:00
Rémi Verschelde fcc9dab73b
Merge pull request #62748 from fire-forge/filedialog_filter
Seperate `filter` and `description` arguments in `EditorFileDialog/FileDialog.add_filter()`
2022-07-13 14:07:50 +02:00
bruvzg f63d54126d
Add LabelSettings resource for quick Label theme property override. 2022-07-12 16:05:12 +03:00
Yuri Sizov 42537daeb1
Merge pull request #41833 from dalexeev/splash_delay
Add boot splash minimum display time setting
2022-07-12 15:58:15 +03:00
kobewi 2f777b9a1e Remove unused hints 2022-07-12 00:44:13 +02:00
kobewi 831888aad5 Remove outdated line in call_group() description 2022-07-10 20:02:20 +02:00
Samuele Zolfanelli e27c5acedd Make Image.get_size() return a Vector2i instead of a Vector2 2022-07-09 22:05:58 +02:00
FireForge af19501cc7 Seperate filter and description in FileDialog.add_filter() 2022-07-09 10:51:45 -05:00
FireForge e4067064ce Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog 2022-07-09 10:47:08 -05:00
Hugo Locurcio 5f0cad8cfa
Document the `timeout` property in HTTPRequest 2022-07-08 23:24:45 +02:00
kobewi d2900429e8 Add static methods for creating Image and ImageTexture 2022-07-08 13:40:47 +02:00
Rémi Verschelde eedb729771 AudioStreamPlayer: Clarify that no validation is made on 'bus' name
Supersedes #39605.
Fixes #39585.
2022-07-08 09:33:25 +02:00
Rémi Verschelde 6a34b038d5
Merge pull request #42708 from drentsoft/improved_treeitem_docs_branch 2022-07-08 09:22:27 +02:00
Rémi Verschelde 7d3ff927de
Merge pull request #62075 from Vitika9/gsoc-colorpicker 2022-07-08 09:06:47 +02:00
Derwent Ready (drentsoft) df5a922880 Clarified usage of TreeItem get_next*() and get_prev*() functions. 2022-07-08 08:49:56 +02:00
Rémi Verschelde 6892df6b78
Merge pull request #62751 from jjor2/lightmapgi-typo
Fix small typo in LightmapGI class reference
2022-07-08 07:45:09 +02:00
Rémi Verschelde 1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3 2022-07-07 12:22:49 +02:00
Vitika9 0011d93c81 ColorPicker Refactor 2022-07-06 22:11:43 +05:30
Rémi Verschelde 635d447a69
Merge pull request #62713 from YuriSizov/docs-scripting-annotations 2022-07-06 15:31:19 +02:00
Rémi Verschelde 76d0a99707 i18n: Sync classref translations with Weblate
(cherry picked from commit 417f20f06c)
2022-07-06 15:04:52 +02:00
bruvzg 344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
Rémi Verschelde cf19484746
Merge pull request #62374 from reduz/implement-bitfield-hint
Implement a BitField hint
2022-07-06 09:35:40 +02:00
Hugo Locurcio 983ce7e9f3
Disable Expand by default in VideoStreamPlayer
This ensures videos are always visible as soon as a video file
is specified in the VideoStreamPlayer node. The node will no longer
be resized to 0×0 by default, making the video invisible in the process
(even if the audio can still be heard).
2022-07-06 00:51:27 +02:00
Jadon Orr 1b80d99d78 Fix small typo in LightmapGI class reference 2022-07-05 17:19:47 -04:00
reduz 5ac42cf576 Implement a BitField hint
Allows to specify the binder that an enum must be treated as a bitfield.
2022-07-05 22:13:37 +02:00
Hugo Locurcio aa9403bcda
Clamp VoxelGI extents to reasonable values to avoid breaking baking
This also prevents crashes when resizing a VoxelGI's extents to 0
on any axis.
2022-07-05 18:32:44 +02:00
Rémi Verschelde fd10de5b94
Merge pull request #62726 from jmpelletier/jmpelletier-patch-2 2022-07-05 11:25:01 +02:00
Rémi Verschelde 3a38ee96ce
Merge pull request #62259 from KoBeWi/textpand 2022-07-05 09:52:22 +02:00
Jean-Marc Pelletier 63d5f31561 StyleBox: Document correct methods to draw with a RID 2022-07-05 09:45:11 +02:00
Rémi Verschelde 3770b5be99
Merge pull request #62724 from KoBeWi/xml_explorer 2022-07-05 08:43:55 +02:00
kobewi 415c7dda37 Implement XMLParser.get_current_line() 2022-07-05 01:23:04 +02:00
Hugo Locurcio fa799ec2c6
Document changing the Decal and Light3D projector texture filter modes 2022-07-04 22:17:16 +02:00
Rémi Verschelde 344b42703b
Merge pull request #62212 from hansemro/eraser-detect-4
Add inversion/eraser-end property for tablet pens
2022-07-04 21:48:19 +02:00
Hansem Ro 6dcc9d1131 [macOS, Windows, X11] Add stylus inverted/eraser support to
InputEventMouseMotion event
2022-07-04 10:36:53 -07:00
Yuri Sizov a9098e6147 Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
kobewi 41f6e7c50e Allow to disable TextEdit vertical scroll 2022-07-04 15:02:15 +02: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
MinusKube 336400dc42 Add the ability to drag the code completion scrollbar using the mouse click 2022-07-03 23:47:52 +02:00
Rémi Verschelde 00b3822306 Input: Re-enable input accumulation by default
I turned it off by mistake in #38697.
See also #62664 for details on this boolean's complex history :)
2022-07-03 12:16:16 +02:00
Rémi Verschelde a2459c7d35
Merge pull request #61610 from TokageItLab/importer-retarget-registered-gdhumanoid 2022-07-02 00:17:21 +02:00
Rémi Verschelde 692c2d9215
Merge pull request #50755 from foxydevloper/add-global-position-and-global-rotation
Add global_position and global_rotation to Node3D
2022-07-01 21:50:42 +02:00
Hugo Locurcio e7315fcc45
Clamp Decal's upper/lower fade to positive values
Negative easing values result in broken rendering.
2022-07-01 19:23:57 +02:00
Rémi Verschelde e75bd53fb2
Merge pull request #62439 from timothyqiu/str-format 2022-07-01 18:03:59 +02:00
foxydevloper 8b16a4131f Add global_position and global_rotation to Node3D 2022-07-01 10:27:07 -04:00
kobewi 1a9fc25e00 Restore and improve some ParticlesMaterial docs 2022-07-01 15:09:41 +02:00
Rémi Verschelde daec5bed57
Merge pull request #59089 from KoBeWi/I_am_root
Add `root_subfolder` to FileDialog
2022-07-01 11:53:33 +02:00
Rémi Verschelde 88192269a8
Merge pull request #62477 from lyuma/packedbytearray
Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays.
2022-07-01 09:03:20 +02:00
Lyuma 33fd7c63e1 Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays. 2022-06-30 18:04:33 -07:00
Hugo Locurcio 32973094f5
Add a Bake Mask property to GPUParticlesCollisionSDF3D
This allows not accounting for certain visible meshes during baking
(such as foliage and thin fixtures).

This also adds a clarification about transparent materials always
being excluded in the OccluderInstance3D documentation.
2022-06-30 23:12:40 +02:00
Silc Renew dc43cfc830 implement bone renamer in importer 2022-07-01 03:55:28 +09:00
leogeier 359f7fc51f Exposes methods for adding and removing ResourceFormatLoaders and -Savers in the ClassDB 2022-06-29 21:38:20 +02:00
Rémi Verschelde a7e589df38
Merge pull request #62084 from smix8/path_debug_options_4.x
Add Path2D/3D debug options
2022-06-29 20:36:43 +02:00
Rémi Verschelde 26dd4746a1 i18n: Sync classref translations with Weblate
(cherry picked from commit c93ccb5d1d)
2022-06-29 12:12:48 +02:00
Rémi Verschelde b730d2ee09
Merge pull request #60675 from voylin/Add-BBCode-support-for-printing-output
Adding print_rich() for printing with BBCode
2022-06-28 23:35:53 +02:00
Rémi Verschelde fed5ebb24b
Merge pull request #61196 from V-Sekai/animtree-advance-expressions 2022-06-28 21:40:29 +02:00
kobewi 9d48cd502b Add root_subfolder to FileDialog 2022-06-28 18:56:18 +02:00
SaracenOne 75a8606b83 Add AnimationTree Advance Expressions
Allows specifying an expression as a condition for state machine transitions.

This gives much greater flexibility for creating complex state machines. By directly interfacing with the script code, it is possible to create complex animation advance condition for switching between states.

Ensure assigning AnimationTreeStateMachineTransition base expression node in editor is relative to current AnimationTree node.

Allow setting an expression base node on the AnimationTree itself.

Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-28 09:26:13 -07:00
Danil Alexeev dad9683d11
Add boot splash display time setting
Implements #8867.
2022-06-28 18:54:51 +03:00
Voylin c6291bcd8a Adding print_rich for printing with BBCode 2022-06-29 00:41:29 +09:00
snailrhymer aff30b649e Fix typos and improve clarity in Tween docs 2022-06-28 16:04:44 +02:00
Rémi Verschelde b863c40356
Merge pull request #62468 from V-Sekai/core-const-expressions
Add a const call mode to Object, Variant and Script.
2022-06-28 01:08:24 +02:00
Rémi Verschelde 8fd0b4d1f8
Merge pull request #62449 from Chaosus/wrap_func
Add generalized version of `wrap` function
2022-06-27 23:28:37 +02:00
K. S. Ernest (iFire) Lee 9ddebc0c22 Add a const call mode to Object, Variant and Script.
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script).

This mode ensures only const functions can be called, making it safe to use from the editor.

Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27 13:33:06 -07:00
Hendrik Brucker 99ce0df3b1 Refactor bezier interpolation functions 2022-06-27 19:42:43 +02:00
Yuri Rubinsky 2476c50a66 Add generalized version of `wrap` function 2022-06-27 16:11:21 +03:00
Rémi Verschelde dac79e15f1
Merge pull request #62390 from Calinou/movie-writer-tweak-settings 2022-06-27 12:27:46 +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
Haoyu Qiu 25c7f567dd Improve String.format() documentation 2022-06-27 11:29:44 +08:00
Rémi Verschelde af694245f5
Merge pull request #62221 from ConteZero/drag_and_drop_option
Add an option to drag'n'drop selected text in ``TextEdit``
2022-06-26 16:02:52 +02:00
ConteZero 5d56efcaa4 Add an option to drag'n'drop selected text in TextEdit 2022-06-26 15:22:02 +02:00
smix8 e1a4d1d08c Clarify NavigationAgent radius property
Documents Navigation radius property, especially that it affects avoidance only.
2022-06-26 13:04:02 +02:00
Hugo Locurcio bdb40c6478
Add property hints to MovieWriter settings
- Rename audio mix rate setting as the suffix is now part of the
  property hint. This is also more consistent with existing mix rate
  project settings.
- Improve the MovieWriter class reference.
- Tweak warning message about audio possibly going out of sync.
2022-06-25 20:08:56 +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 dd3de622d8
Merge pull request #62372 from MarcusElg/nosliderrename
Rename @export_range's noslider option to no_slider
2022-06-25 14:03:44 +02:00
Haoyu Qiu c894ae0b6b Make code example in HTTPRequest classref working
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2022-06-24 23:29:52 +08:00
Rémi Verschelde 307dfa9fe9
Merge pull request #62375 from smix8/doc_navmesh_bake_obstruct_limit_4x 2022-06-24 15:02:17 +02:00
Rémi Verschelde fec3a48e53
Merge pull request #59918 from piiertho/enhancement/rename-controll-minimum_size-to-custom_minimum_size 2022-06-24 14:54:53 +02:00
smix8 85cdb1144d Document limits of using meshes to obstruct navigation mesh baking
Recast (the library used for baking) has no concept of a geometry "inside" and this is intentional. ReCast will add navigation mesh to areas as soon as the area inside a source geometry mesh is large enough to fit a navigation mesh polygon with current baking parameters.
2022-06-24 14:32:24 +02:00
Marcus Elg 6c1ac9f3be Rename export_range's noslider option to no_slider 2022-06-24 10:45:34 +02:00
Rémi Verschelde faae24637c
Merge pull request #62300 from smix8/navigation_map_force_update_4.x 2022-06-24 10:13:07 +02:00
Rémi Verschelde 81afea620f
Merge pull request #62353 from smix8/navigation_region_owns_point_4.x
Add NavigationServer region_owns_point() helper function
2022-06-24 09:08:25 +02:00
K. S. Ernest (iFire) Lee 42f7f0894e Restore the openexr grayscale property. 2022-06-23 21:10:59 -07:00
smix8 e57360d8df Add NavigationServer.region_owns_point() helper function
Adds a helper function to check if a world space position is currently owned by a navigation region.
2022-06-23 23:32:05 +02:00
Pierre-Thomas Meisels 5ad1a1b5e7 enhancement: rename exposed property Control::minimum_size to Control::custom_minimum_size 2022-06-23 18:06:10 +02:00
smix8 fdea269805 Add NavigationServer map_force_update() function
Adds map_force_update() function to NavigationServer. This function immediately flushes the Navigationserver command queue and recalculates all navigationmeshes and region connections for a specific map.
2022-06-23 17:32:07 +02:00
Rémi Verschelde 462127eff0
Merge pull request #62312 from smix8/navigation_get_maps_4.x 2022-06-23 16:14:12 +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 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
Rémi Verschelde 1c54057933
Merge pull request #62326 from KoBeWi/userbind 2022-06-23 15:15:41 +02:00