Commit graph

6029 commits

Author SHA1 Message Date
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
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
kobewi
a6f0aba43d Remove userdata from Thread.start() 2022-06-23 12:50:28 +02:00
Rémi Verschelde
cf4d39ecc1
Merge pull request #62306 from Calinou/doc-moviewriter
Document the MovieWriter class and associated project settings
2022-06-23 08:01:40 +02:00
Hugo Locurcio
661808a84e
Document the MovieWriter class and associated project settings 2022-06-23 00:31:31 +02:00
Rémi Verschelde
e9ca15b6a6
Merge pull request #62234 from skyace65/AudioEffects
Cleanup audio effect class reference pages
2022-06-22 21:36:38 +02:00
kobewi
0f630f8307 Document most of the Window's members 2022-06-22 20:46:27 +02:00
Max Hilbrunner
ac51d5a1e9
Merge pull request #62053 from skyace65/MaterialDescription
Add a description to ORMMaterial3D and StandardMaterial3D
2022-06-22 19:51:14 +02:00
Rémi Verschelde
3ccff61979
Merge pull request #58544 from Calinou/tileset-source-allow-canvasitemmaterial 2022-06-22 17:02:34 +02:00
smix8
c0fed1d4e8 Add Navigation function to get all navigation maps
Added new function that returns all created navigation map RIDs from the NavigationServer. The function returns both 2D and 3D created navigation maps as technically there is no distinction between them.
2022-06-22 15:33:40 +02:00
Hugo Locurcio
49f94b94c7
makerst: Fix file name not appearing in error message 2022-06-22 12:17:15 +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
Aaron Franke
8f05bd97b5
Add support for saving WebP images 2022-06-21 08:27:51 -05:00
Rémi Verschelde
40c360b870
Merge pull request #62122 from reduz/implement-movie-writer
Implement a Movie Maker mode
2022-06-21 14:24:14 +02:00
reduz
5786516d4d Implement Running Godot as Movie Writer
* Allows running the game in "movie writer" mode.
* It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time).
* If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
* Implements a simple, default MJPEG writer.

This new features has two main use cases, which have high demand:
* Saving game videos in high quality and ensuring the frame rate is *completely* stable, always.
* Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this).

**Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly).

Usage:

$ godot --write-movie movie.avi [scene_file.tscn]

Missing:

* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-21 11:28:47 +02:00
smix8
e12e239ab4 Add Path2D/3D debug options
Add Path2D/3D debug options.
2022-06-20 17:32:05 +02:00
Juan Linietsky
15837ec191
Revert "Disable VRAM compression by default for small textures in Detect 3D" 2022-06-20 15:30:19 +02:00
Rémi Verschelde
21b0c7fc22
Merge pull request #62214 from smix8/navigation_layer_bitmask_helpers_4.x 2022-06-20 15:13:33 +02:00
Rémi Verschelde
3d49e89b9b
Merge pull request #62181 from smix8/navigation_navagent_pathpoint_dist_4.x 2022-06-20 14:54:16 +02:00
Rémi Verschelde
3e6de687b8 Node: Rename child_exited_tree to child_exiting_tree
The name was confusing as this signal is emitted around the same time as
`tree_exiting` and `NOTIFICATION_EXIT_TREE`, i.e. while the child node is
still in tree.

Fixes #59210.
2022-06-20 11:55:19 +02:00
skyace65
c2b5464659 Cleanup audio effect class reference pages 2022-06-19 22:25:00 -04:00
Rémi Verschelde
958254ec3e
Merge pull request #60798 from Calinou/doc-os-cmdline-args 2022-06-19 14:09:13 +02:00
Rémi Verschelde
833b16cdf0
Merge pull request #62142 from Calinou/doc-gui-incremental-search 2022-06-19 14:08:24 +02:00
Rémi Verschelde
f7d2dcc878 i18n: Sync classref translations with Weblate
(cherry picked from commit 5478afdb1e)
2022-06-19 14:00:21 +02:00
smix8
55923ade68 Add navigation layer bitmask helper functions
Adds helper functions to work with the navigation layer bitmask.
2022-06-19 13:47:19 +02:00
smix8
07740302f3 Add NavigationAgent desired path distance
Add NavigationAgent desired path distance
2022-06-18 19:11:49 +02:00
Rémi Verschelde
0daa868ab4
Merge pull request #62023 from Calinou/detect-3d-small-textures-no-vram-compress
Disable VRAM compression by default for small textures in Detect 3D
2022-06-17 21:07:04 +02:00
Rémi Verschelde
d2be5416ef
Merge pull request #58841 from ellenhp/expose_tightness
Expose panning strength parameters
2022-06-17 18:36:58 +02:00
Rémi Verschelde
4463dd9d89
Merge pull request #62132 from timothyqiu/doc-fixes 2022-06-17 15:51:25 +02:00
Ellen Poe
d384d84f45 Audio: Expose 2D/3D panning strength parameters 2022-06-17 13:08:48 +02:00
Rémi Verschelde
a60e2085b6
Merge pull request #62000 from gregcsokas/master 2022-06-17 13:02:19 +02:00
Hugo Locurcio
466bd7ce39
Document incremental search support in ItemList, PopupMenu and Tree 2022-06-17 12:54:09 +02:00
Haoyu Qiu
27dabe1a6d Classref typo fixes and improvements 2022-06-17 15:15:30 +08:00
Rémi Verschelde
2a92176e4c
Merge pull request #62118 from dalexeev/empty-array-any-all-docs
Clarify `all` and `any` documentation for empty arrays
2022-06-16 23:58:20 +02:00
Rémi Verschelde
f5deed4612 i18n: Sync classref translations with Weblate
(cherry picked from commit e047c50068)
2022-06-16 21:07:33 +02:00
Danil Alexeev
8b97fa4dcd
Clarify all and any documentation for empty arrays 2022-06-16 20:50:31 +03:00
gregcsokas
42e619c01e Adding function key support from F17 to F35
OSX supports everything by default,
Linux is also capable of supporting every function key,
Windows as I know support only up to F24
2022-06-16 19:38:21 +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
Rémi Verschelde
2aec92412f
Merge pull request #62066 from bruvzg/cleanup_ts_enums 2022-06-16 16:52:48 +02:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
Yuri Rubinsky
7da2a21425 Make AStar to use 64-bit logic 2022-06-16 16:43:41 +03:00
Rémi Verschelde
1ad6fade00
Merge pull request #58669 from theraot/ASar2Dbidirectional
AStar2D bidirectional
2022-06-16 12:46:51 +02:00
Rémi Verschelde
941575b7b8
Merge pull request #61908 from Calinou/crash-handler-message-tweak-exported-project 2022-06-16 09:59:47 +02:00
Rémi Verschelde
296bbe2483
Merge pull request #61877 from aaronfranke/doc-negative-scale 2022-06-16 09:59:30 +02:00
skyace65
0710259e87 Add a description to ORMMaterial3D and StandardMaterial3D 2022-06-15 22:25:45 -04: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
FireForge
f85eb4164a Expose PopupMenu set/get_item_horizontal_offset()
- Renames setter from set_item_h_offset()
- Adds getter
2022-06-15 02:08:44 -05:00
smix8
245da150e7 Streamline Navigation layer function names.
Streamline Navigation layer function names.
2022-06-15 00:18:48 +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
d2a90d62fd
Merge pull request #62044 from smix8/navigation_navagent_map_change_4.x
Add NavigationAgent2D/3D set_navigation_map() function
2022-06-14 22:54:13 +02:00
smix8
f10ff0efda Add NavigationAgent set_navigation_map() function
Add NavigationAgent set_navigation_map() and get_navigation_map() function.
2022-06-14 21:48:47 +02: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
Rémi Verschelde
64ca195762
Merge pull request #62035 from smix8/navigation_doc_agent_cb_cancel_4.x 2022-06-14 18:24:00 +02:00
Rémi Verschelde
5b759ff160
Merge pull request #62030 from KoBeWi/SetName/GetName 2022-06-14 18:23:39 +02:00
smix8
10c400ca82 Document NavigationServer API navigation agent callbacks
Document NavigationServer API navigation agent callbacks.
2022-06-14 17:06:12 +02:00
kobewi
a3a029d4c6 Change set/get binding to use StringName 2022-06-14 16:27:33 +02:00
kobewi
5553e27fe8 Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Hugo Locurcio
04d5626bc0
Disable VRAM compression by default for small textures in Detect 3D
This is done to prevent reducing texture quality when it doesn't save
much video memory, especially for pixel art.

The size threshold can be adjusted in the project settings.
To get the previous behavior where textures detected to be used in 3D
had their compression mode always set to VRAM, set this to the lowest value
(16).
2022-06-14 13:08:20 +02:00
Rémi Verschelde
1f152b3317
Merge pull request #61945 from KoBeWi/making_move_to_trash_less_trash 2022-06-13 17:40:48 +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
2dde83a226
Merge pull request #61915 from Calinou/doc-lightmapgi 2022-06-13 16:09:31 +02:00
Hugo Locurcio
60029e9eb8
Document LightmapGI, LightmapGIData and LightmapProbe
This documents those 3 classes with 100% completion, while also
documenting the relevant project settings.
2022-06-13 15:46:15 +02:00
Rémi Verschelde
954a19965d
Merge pull request #61983 from skyace65/WorldEnvironment 2022-06-13 15:08:32 +02:00
skyace65
ddbc24f84b Add description for camera effects property in WorldEnvironment 2022-06-13 08:06:13 -04:00
kobewi
1c90b066dd Improve description of move_to_trash() 2022-06-13 12:57:56 +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
e95f4eb5a7
Merge pull request #61819 from bruvzg/button_overrun 2022-06-13 11:02:04 +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
Rémi Verschelde
4953707784
Merge pull request #61916 from Calinou/doc-curvetexture
Document the CurveXYZTexture class, improve CurveTexture documentation
2022-06-12 22:26:33 +02:00