Age | Commit message (Collapse) | Author |
|
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
|
|
Fix possible crash at NativeScript::get_base_script
|
|
|
|
|
|
The line number is hightlighted to indicate that the line contains only
type-safe code.
|
|
|
|
Network bindings for GDNative
|
|
They provide an interface to implement PacketPeer, StreamPeer, and
NetworkedMultiplayerPeer via GDNative.
|
|
|
|
|
|
|
|
This allows to disable modules based on the environment,
in particular `env[tools]` which tells us if we are
building the editor or not.
|
|
RPCMode refactor, more sync modes (2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The --no-lto option only works on GCC compilers. This breaks LTO builds
on MacOS and iPhone when building the gdnative wrappers.
-fno-lto works on both brands of compilers.
|
|
Fix NativeScript property list order
|
|
This reverts commit b76ee30917c63211ac9e94a21bebbddf518d169f.
|
|
|
|
|
|
Enhance uri utils
|
|
|
|
|
|
|
|
[NativeScript] added global type tag system
|
|
|
|
|
|
|
|
|
|
|
|
There was a percent-prefixed version, which was exposed, and a http-prefixed version which was not (only to GDNative).
This commit keeps the percent-prefixed versions, but with the http-prefixed implementations.
|
|
Regression from d702d7b335c0c9305e75131770c0ea739b70d813 which broke javascript build.
|
|
|
|
It has no practical use case and just generates noise for each alpha, beta, etc.
|
|
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
|
|
|
|
This reflects its usage as an output argument,
consistent with the other godot_variant_new functions
|
|
Fix GDNATIVE_API_INIT() warning about sign mismatch
|
|
|
|
This commit adds new functionality to NativeScript, namely:
- ability to set and get documentation for classes, methods,
signals and properties
- ability to set names and type information to method arguments
- ability to set and get type tags for nativescripts
- ability to register instance binding data management functions
- ability to use instance binding data
|
|
The GDNative C API gets passed to libraries in a struct of function
pointers. To provide stable binary compatibility, each extension not
part of the core API is separated into its own sub-struct.
These structs aren't meant to be changed in order to keep binary
compatibility.
In case of an API extension, the structs include a `next` pointer
which can point to a new struct with additional function pointers.
Godot's build system generates the API structs automatically at
build time, but so far there has no support for the mentioned `next`
pointers.
This commit changes the API struct generation in such a way that code
that used previous headers will compile without problem with the new
headers.
The new extension-extensions (weird name, but that's what it is) get
generated recursively and include the version in the struct-name.
|
|
|
|
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
|
|
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
|