Age | Commit message (Collapse) | Author |
|
Adds support for generating C# bindings that use the generic `Array<T>`
type instead of the non-generic `Array` type when the registered ClassDB
method specifies the array element type.
|
|
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
|
|
Prevent blank command prompts from spawning when building a mono project
|
|
prevent certain mono actions from displaying empty command prompts.
|
|
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
|
|
|
|
|
|
|
|
Not a full refactor as it still goes through ScriptLanguage so it's hacky,
but at least it can now compile without this.
|
|
|
|
PhysicsServer3DExtension inherits from PhysicsServer3D which is a
singleton class, since singleton classes are generated as static in C#
it would generate invalid C# so for now we'll be
ignoring PhysicsServer3DExtension.
|
|
|
|
|
|
|
|
The specific `_append_xml_*` methods implement the logic that generates
the proper XML documentation for the given BBCode tag and target and
appends it to the output.
|
|
|
|
|
|
|
|
- Outputs errors for missing members or methods when generating the C#
documentation.
- Hardcodes a special case for the `_init` method, in C# we'll reference
the constructor.
- Ignores properties with slashes (since they are not declared in C# and
can't be referenced in the documentation).
|
|
Tries to find the referenced constants in the GlobalScope
if not found in the target class or if no class is specified.
|
|
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
|
|
|
|
|
|
All iOS devices since the iPhone 5S support ARMv8 (64-bit).
The last iOS version supported on ARMv7 devices is 10.x, which is
too old to run Godot 4.0 projects since the minimum supported
iOS version is 11.0.
|
|
Fixed opening new instances of VS 2022 while a instance is already open
|
|
|
|
|
|
|
|
This fixes a conflict with the `pressed` signal.
The new name is temporary and only intended to solve the conflict for upcoming
alpha builds. Discussions are still ongoing regarding the BaseButton API and
how to rename and refactor more of its properties, signals and methods to have
a clearer API in 4.0.
|
|
Happy new year to the wonderful Godot community!
|
|
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
|
|
|
|
Replace the deprecated method `GetItemCount()` with the new property
`ItemsCount`.
|
|
Bump `Godot.NET.Sdk` to version 4.0.0-dev6.
Bump `Godot.SourceGenerators` to version 4.0.0-dev3.
Use floating version 4.0.*-* for package references in Sdk.
|
|
Fix invalid C# generated by source generators for generic classes and
add generic classes to the Sample project for testing.
|
|
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this
can lead to confusing code and subtle bugs.
According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++
allows any arbitrary return type, so this is standard compliant.
This could be re-assessed if/when we have an actual need for a behavior more
akin to that of the C++ STL, for now this PR simply changes a handful of
cases which were inconsistent with the rest of the codebase (`void` return
type was already the most common case prior to this commit).
|
|
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
|
|
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
|
|
|
|
|
|
|
|
Apply suggestions from code review
Merging @akien-mga's suggestion with the matching change to the CS project
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
|
|
Removes the range iterator usage in the autoloads map since `OrderedHashMap`
does not implement range iterators.
|
|
|
|
|
|
|
|
|
|
|
|
Previously there weren't any Callable arguments with a default value,
but d4dd859991205e6cecfa9a0553b89db47c983d0b introduced one.
|
|
Thanks to neikeq for the initial work.
Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
|