Age | Commit message (Collapse) | Author |
|
- Fix library loading and initialization.
- Add extra methods/parameters in the interface needed by extenstions.
- Add Variant destructors and functions for extracting values and
creating Variants from values.
|
|
They have the wrong type and cause issues with extensions.
|
|
This sends the Godot object instance back to the extension so they can
keep a pointer for function calls.
Incidentally fix argument order on instance bindings callback for free()
|
|
- Fix type size information.
- Validate sizes at compile time (for the current build configuration
only).
- Normalize type names.
- Add extra information.
|
|
Add theme item descriptions to the online documentation
|
|
Implement LSP didSave notification and rename request
|
|
|
|
[Net] Implement RPC channels in MultiplayerAPI.
|
|
Also remove now unused "--no-window" option, and relative OS getter and
setter.
|
|
Implemented initial DAP support
|
|
|
|
Fix thread start with no user data when target has no default argument
|
|
Fix binary resource loading and saving
|
|
This seems to be a pretty old bug, older then originally reported (at
least under certain circumstances).
The IP singleton uses a resolve queue so developers can queue hostnames
for resolution in a separate while keeping the main thread unlocked
(address-resolution OS functions are blocking, and could block for a long
time in case of network disruption).
In most places though, the address resolution function was called with
the mutex locked, causing other functions (querying status, queueing
another hostname, ecc) to block until that resolution ended.
This commit ensures that all calls to OS address resolution are done
with the mutex unlocked.
|
|
One was incorrectly reading the size (potentially causing out-of-buffer
read), the other also potentially causing out-of-buffer write during
encoding.
|
|
Implemented "output" event
Refactored "seq" field generation
Prevent debugging when editor and client are in different projects
Removed unneeded references to peer on the parser
Refactored way to detect project path
Implemented "setBreakpoints" request
Fix double events when terminating from client
Refactored "stopped" event
Implemented "stopped" with breakpoint event
Implemented "stackTrace", "scopes" and "variables" request
Report incoming number of stack dump variables
Implemented proper reporting of scopes and variables from stack frames
Prevent editor from grabbing focus when a DAP session is active
Implemented "next" and "stepIn" requests
Implemented "Source" checksum computing
Switched expected errors from macros to silent guards
Refactored message_id
Respect client settings regarding lines/columns behavior
Refactored nested DAP fields
Implement reporting of "Members" and "Globals" scopes as well
Fix error messages not being shown, and improved wrong path message
|
|
kleonc/astar-get_available_point_id-start-from-zero
Astar::get_available_point_id Return 0 instead of 1 when empty
|
|
Remove obsolete `dectime` method
|
|
|
|
Replaced by "move_toward"
|
|
They could cause a segfault when parsing values with ID "Resource"
as apparently we never set a valid `func` for it.
Fixes crash part of #42115.
|
|
|
|
Variants like dictionaries and arrays can have cyclic references, which
caused `encode_variant` to run an infinite recursion.
Instead of keeping a stack and looking for cyclic references which would
make serialization slower, this commit adds a `MAX_RECURSION_DEPTH`
constant to Variant, and have `encode_variant` keep track of the current
recursion depth, bailing when it's too high since this likely means a
cyclic reference has been encountered.
|
|
|
|
|
|
|
|
Used by ENetMultiplayerPeer and WebSocketServer to generate network IDs,
and exposed to the user for p2p networks (e.g. WebRTCMultiplayerPeer)
and custom MultiplayerPeer implementations.
|
|
|
|
Change Variant bool conversion to uint8_t
|
|
This ensures more portable conversion since not every path assume bool
is 32-bits and there's no loss converting to 8-bits anyway.
|
|
This should fix various issues where retrieving enum values from
scripting languages would result in corrupted values (where 32 bits
were valid, and the other 32 random data).
|
|
|
|
Use Ref<T> references as iterators where relevant
|
|
Use doubles for time everywhere in Timer/SceneTree
|
|
And const when possible.
|
|
Fix dead code in `gdnative_interface.cpp`
|
|
|
|
This pull request fixes dead code found in `gdnative_interface.cpp`
|
|
Follow-up typos found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
|
|
|
Fix various typos
|
|
|
|
Fixes #50833.
|
|
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
|
|
|
Change in PackedByteArray decode api and docs
|
|
Documentation for new PackedByteArray::to_***_array methods
Documentation for to_byte_array method for PackedInt32/Int64/Float32/Float64Array
|
|
Implement Resource UIDs
|
|
* Most resource types now have unique identifiers.
* Applies to text, binary and imported resources.
* File formats reference both by text and UID (when available). UID always has priority.
* Resource UIDs are 64 bits for better compatibility with the engine.
* Can be represented and used textually, example `uuid://dapwmgsmnl28u`.
* A special binary cache file is used and exported, containing the mappings.
Example of how it looks:
```GDScript
[gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"]
[ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"]
```
GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files.
This will be reserved for future PRs.
|
|
|