Age | Commit message (Collapse) | Author |
|
Quote and escape ConfigFile keys when necessary
|
|
Array::insert consistent with Pool*Array::insert
|
|
Fix crash when dividing by 0 in Vector2/3i
|
|
|
|
Use sorted map for autoloads in ProjectSettings to preserve order.
|
|
Correct null and boolean values being capitalised by the str command
|
|
|
|
Fix segment intersection consistency in Geometry2D
|
|
|
|
Negative indices are supported to pop an element relative from the end.
|
|
Fix LocalVector crash on insert.
|
|
Fix misspelled "overriden"
|
|
Implement Extension Loader
|
|
Implement error return documentation
|
|
|
|
|
|
Segment collision results could be different depending on the direction
when they exactly touch (order of the points in segments). This was due
to the way parallelism was checked, using different logic based on
positive or negative sign of cross products.
Now the results are the same whatever the direction, without changing
the current design, which is that parallel or colinear segments are
not considered colinear.
Fixes inconsistencies with raycasts exactly on edges of convex shapes
depending on the direction.
|
|
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
|
|
* Exposed functions in Engine to register and unregister singletons.
* Added the concept of user singletons, which can be removed (the system ones can't).
|
|
Adds ability to add error return documetation to the binder and class reference.
Usage example:
```C++
void MyClass::_bind_method() {
[..]
BIND_METHOD_ERR_RETURN_DOC("load", ERR_FILE_CANT_OPEN, ERR_FILE_UNRECOGNIZED);
}
```
One function of ConfigFile was changed as example.
|
|
Expose `String.simplify_path`
|
|
|
|
* Exposed as utility functions.
* Not very useful for script, but vital for creating servers using native extensions.
|
|
Implement NativeExtension pointer arguments
|
|
* Allows calling into native extensions directly with a pointer
* Makes it easier to implement some APIs more efficiently
* Appears with a "*" in the documentation for the argument.
* Implementing the pointer handling is entirely up to the implementation, although the extension API provides some hint.
* AudioStream has been implemented as an example, allowing to create NativeExtension based AudioStreams.
|
|
Improve error descriptions
|
|
|
|
Replace HTTP URLs with HTTPS for sites with HTTPS versions
|
|
Adding InputMap action error suggestions for Input singleton (Fix #51634)
|
|
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.
Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
|
|
|
|
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.
Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.
Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
|
|
String: Remove old NO_USE_STDLIB code path
|
|
* Extensions are now scanned and loaded on demand.
* Extensions found are cached into a file that is used to load them (which is also exported).
* Editor will ask to restart when an extension requires core functionality.
* Editor will attempt to load extensions always before importing or loading scenes. This ensures extensions can register the relevant types.
|
|
|
|
Fix initialization of objects in VariantInternal
|
|
|
|
Capsule height and radius setters can modify each other, rather than
using clamping, to avoid cases where values are not set correctly when
loading a scene (depending on the order of properties).
Inspector undo/redo:
Added the possibility to link properties together in the editor, so
they can be undone together, for cases where a property can modify
another one.
Gizmo undo/redo:
Capsule handles pass both radius and height values so they can be undone
together.
|
|
|
|
We're using the standard library in many core classes by now so
this code path no longer makes sense.
|
|
Move the former "spawnables" functions to a dedicated
MultiplayerReplicator class.
Support custom overrides in replicator.
Spawn/despawn messages can now contain a state.
The state can be automatically encoded/decoded by passing the desired
object properties to `spawnable_config`.
You can use script properties to optimize the state representation.
2 Callables can be also specified to completely override the default
implementation for sending and receiving the spawn/despawn event.
(9 bytes overhead, and there's room for improvement here).
When using a custom implementation `spawn` and `despawn` can be called
with any Object, `send_spawn`/`send_despawn` can receive any Variant as
a state, and the path is not required.
Two new functions, `spawn` and `despawn`, convey the implementation
independent method for requesting a spawn/despawn of an Object, while
`send_spawn` and `send_despawn` represent the more low-level send event
for a Variant to be used by the custom implementations.
|
|
String: Fix default decimals truncation in num and num_real
|
|
Some fixes for the extension API
|
|
|
|
Fixes undefined behavior, and fixes the logic for negative powers of ten.
Fixes #51764.
Adds tests to validate the changes and prevent regressions.
Adds docs for `String.num`.
|
|
|
|
- Add MethodBind call (besides ptrcall), since vararg methods don't work
with ptrcall.
- Fix argument name in register constant function to the way it
actually is used in the engine.
- Change the integer constant type to GDNativeInt to keep it consistent.
|
|
This allows users to not need to set it when the call is correct.
|
|
Improve Undo/Redo menu items
|
|
Thanks to neikeq for the initial work.
Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
|