Commit graph

9 commits

Author SHA1 Message Date
Andrii Doroshenko (Xrayez) 23c1b39570 Make EditorVCSInterface proxy functions virtual in C++
Allows to implement VCS plugins via C++ modules without affecting
the existing script instance mechanism.
2021-07-06 22:20:03 +03:00
Rémi Verschelde b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
reduz 127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
reduz ee06a70ea6 Refactor MethodBind to use variadic templates
Removed make_binders and the old style generated binders.
2020-10-18 12:28:44 +02:00
Rémi Verschelde 0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
merumelu 94fc676019 Editor: fix typo in VCS plugin method names 2019-11-19 15:11:03 +01:00
Twarit 444ba61aac Add copyright headers to vcs integration 2019-09-04 16:47:26 +05:30
Twarit 97959a53df Add an overridable VCS Interface for the editor
The VCS interface can be thought of like a proxy system, where any call
to the API is redirected to the actual implementation of the VCS API
which may be existing in the form of a GDNative plugin which is marked
as a singleton and is not marked reloadable. If the implementation
doesn't exist in the file system, it only returns the default responses which contain
mostly empty containers of the data type that every API call returns.

EditorVCSInterface is used like a Godot object with a script attached to it. The script
is the implementation of the API and the object is the interface to the
script, which returns default responses if the script doesn't exist or
if the script doesn't define a function that handles that particular API call.

The entire system has been implemented using Object::call() and its
ability to switch to the script instance to handle the API call if the
script exists. Look for VersionControlEditorPlugin::_initialize() for
the essential API setup.
2019-09-03 20:01:14 +05:30