- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.
- okla
431c032d8c
This mentions that internally, the inverse camera projection is used
to perform projections.
(cherry picked from commit fbec10179ad2a058a5f6d2689dba9db813bdc83f)
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on ....
Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.
- smix8
3977eb9107
Exposes get_rid() function for scripting.
Adds configuration warning when obstacle is used with not intended static body parent.
(cherry picked from commit 001d89223f1377717d2b3d5ec453ff8dd3604182)
Expand on the format of the output array for collide_and_get_contacts and collide_with_motion_and_get_contacts, and describe how the contact point pairs can be used to calculate collision normals and depths.
(cherry picked from commit bdf086c781f2f5d1bf5f4f11f0b29a94a629a0ec)
Exposes the "interpolated" flag on nodes via a property, physics_interpolation_mode.
Mode can be INHERIT, OFF and ON. This makes it easy to turn off interpolation for nodes in the editor, versus via code. - lawnjelly
0ab077fcef
Allow AStar/AStar2D zero point weight.
Limit was set to 1 which seemed like an arbitrary value as lower values down to zero can be useful for common gameplay navigation elements like teleports.
Adds the is_process_running function to the native OS class and exposes it to script.
This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.
Documentation is updated to reflect new API function. - mdavisprog
53fb0440d3
I did change it a bit.
Users happening across any of the Container pages may not already know the intent of Containers, or which others are available. This commit adds a link to the existing "GUI containers" page in their tutorials sections.
(cherry picked from commit 3b941ed98cfb1f72c35684f1d4d458dacd482c63)
This feature makes it possible to workaround problems such as:
- long baking time due to heavy synchronization when parsing geometry
from mesh instances
- crash when freeing `NavigationMeshInstance` while baking
- errors when actively baking node tree is being detached from the
scene tree
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).
The docs specify that Array.remove does nothing if the index does not
exist. Array.erase does not have a similar phrase, so it's unclear if
erase will print an error, or silently do nothing.
(cherry picked from commit f84e2db35e2f6eceb4f8c3a1e8e9de7adf6f4c30)
This allows for lower field of view (or higher zoom) in orthogonal
and frustum camera modes.
The property hint also allows setting the size with greater precision.
This makes the following error message less likely to be printed
when performing many concurrent HTTP requests:
Condition ' resolving == IP::RESOLVER_INVALID_ID ' is true. returned: ERR_BUG
This is already done in `Node.add_child()` documentation, but
this copies the note in `Node.owner` for good measure.
(cherry picked from commit be1acf3b92b8b7104fe4d1fab9fbd2a28400ff95)
For this reason, this PR binds the mesh merging functionality.
It also slightly modifies the calling from RoomManager to use a Vector of Node *, in order to allow binding of the function. - lawnjelly - cf1b3fdd55