Age | Commit message (Collapse) | Author |
|
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.
Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.
For Variant, the float datatype is always 64 bits, and exposed as `float`.
We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.
Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
|
|
|
|
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
|
|
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.
Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.
Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
|
|
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous
operator problems in Variant.
This was added for this commit (and future C++17 uses) in #36457.
|
|
Also changed all relevant properties defined manually to StringName.
|
|
|
|
objects and made them default.
|
|
This is needed because of the new changes to Variant. The reference
counter is increased by adding it to a Variant, which means no GDScript
will be freed (or will be double freed if manually freed somewhere).
|
|
Handle removal of Pool*Array types and other recent changes.
|
|
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
|
|
|
|
|
|
Those keywords were deprecated for 3.1 in #22087.
Also fix token name for `TK_REMOTE`, should be "remote" like the keyword.
|
|
Remove deprecated decimals builtin
|
|
32 bits.
|
|
Optmized data sent during RPC and RSet calls.
|
|
Replaced by 'step_decimals' in 3.2 via #21425.
|
|
- Now is sent the method ID rather the full function name.
- The passed IDs (Node and Method) are compressed so to use less possible space.
- The variant (INT and BOOL) is now encoded and compressed so to use much less data.
- Optimized RPCMode retrieval for GDScript functions.
- Added checksum to assert the methods are the same across peers.
This work has been kindly sponsored by IMVU.
|
|
|
|
|
|
|
|
|
|
Besides being incorrect, it also caused a hard editor crash for purely
static classes or classes with more static functions than methods.
|
|
doc: Drop unused 'category' property from header
|
|
Fix signals Variant arguments incorrectly listed as Nil.
Fixes #12520.
|
|
We already removed it from the online docs with #35132.
Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.
We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
|
|
Busywork but it's good for our completion rate :)
|
|
Disabled re-assigning 'self'
|
|
|
|
|
|
lookup was always done on top level script instead of advancing to subclass each time.
this commit changes the lookup to always be at last found subclass
|
|
Fixes as issue where a subclass calls a base class method that tries to access a constant from the script.
The original code went through every ower class, and for each owner, went through its inheritance tree.
This seems like the wrong order, the modified code goes to each base class, and for each base class goes through the owner tree.
This is more in line with what the parser does, as the current impelemtation allows an access that the parser does not support.
This change should not negatively affect existing code due to the way the parser works
|
|
Fix errors raised when showing parse errors in the editor
|
|
Fixes #26691
|
|
Validate instances of objects before trying to check their type in GDScript
|
|
Fix function arguments hint format in GDScript editor
|
|
#34161: Keep a weak reference to orphan subclasses to reuse on class reload
|
|
Fixes #27582
|
|
|
|
for consistency with the format of the documentation:
"type func_name(arg1: type, arg2: type)"
|
|
|
|
* Add bind_ip property to WebSocketServer defaulting to "*" (listen to everyone)
* Set default for GDscript Language Server to listen only to localhost
Fixes potential security issue with GDScript language server being exposed to the
broad net by default.
Since it is the server which primary usage is to provide utility to the local
editor there is no need to expose it.
|
|
Using codespell 1.16.0.
See ab3bccdb78cc7dffb6ab796053ef63489f05558d for procedure.
|
|
|
|
Needed because otherwise the certain type operations (such as type
casting) used as a function argument might become unresolved on release,
causing a compilation failure.
Fix #28680
|
|
Type match on assignment only if operators have type
|
|
This ensures that a value without type won't be wrongly assigned to a
typed variable when the types mismatch.
|
|
|
|
helper
|