Commit Graph

509 Commits

Author SHA1 Message Date
b087538119 Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00
7a16bb2ee4 Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
6cecb2210e Fix GDNative docs links 2022-01-24 11:29:20 +01:00
c938104a88 Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
949ea2b326 Simplify InputDefault::joy_axis code by using float instead of struct JoyAxis 2022-01-14 15:36:35 +00:00
a627cdafc5 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
22750b1c03 Replace String::find_last with rfind where possible (backward compatible with old API) 2022-01-08 22:40:44 +01:00
717801c9cb Fix docs links in 3.x after docs reorg 2022-01-05 11:54:52 +01:00
796f875870 Revert "Expose Variant operator= to GDNative" 2021-12-02 11:45:11 +01:00
e154ce78cb Merge pull request #54508 from BimDav/variant_operator_assign_gdnative 2021-12-01 17:08:39 +01:00
1d8cef8236 [3.x] Backport some APIs in math structs 2021-11-27 01:19:45 -06:00
4d3690eba5 Remove unimplemented methods 2021-11-18 12:47:36 +00:00
3ac2999f22 Replace Godot docs URL with $DOCS_URL in XML class reference 2021-11-15 17:22:47 +01:00
14c366ddd7 Bump version to 3.5-beta 2021-11-05 16:10:17 +01:00
084b21c4a8 expose Variant operator= to GDNative 2021-11-02 12:11:27 +01:00
1b65550ec7 clang-format: Various fixes to comments alignment from clang-format 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
c7eb3d25e7 doc: Fix style inconsistencies for [b]Note:[/b] paragraphs
(cherry picked from commit 788b3aa27a)
2021-10-06 09:29:32 +02:00
1583c89a45 Fix GDNativeLibrary::get_current_library_path()
Return a const String reference to make sure that when its address
is used as a handle in NativeScriptLanguage::init_library(),
it refers to the heap instead of a temporary object on the stack.
2021-10-03 08:24:49 +02:00
f0b37b1519 doc: Point URLs to 3.4 version of the online docs 2021-08-12 17:08:10 +02:00
a418d09617 Merge pull request #51166 from RandomShaper/fix_can_reset_3.x 2021-08-09 09:19:25 +02:00
f5836b40d4 doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.

(cherry picked from commit 7adf4cc9b5)
2021-08-03 10:20:19 +02:00
d272464e6e Implement inherits_script() for NativeScript and PluginScript
(cherry picked from commit 2dcd064056)
2021-08-02 17:58:04 +02:00
7426b3fa91 Add Script::inherits_script()
Partial cherry-pick of 5d4dc2d45c.

Co-authored-by: Juan Linietsky <reduzio@gmail.com>
2021-08-02 15:18:30 +02:00
a27f4de2ef Update GDNative API version for changes from #50659 2021-07-21 10:30:31 -05:00
5b2dcc5f6b Add get_buffered_amount() to WebRTCDataChannel 2021-07-20 16:52:33 -05:00
9a04e2afeb Revert "Fix gdnative api generation for methods that return enums"
This reverts commit aaacc753a7.
2021-07-13 17:02:59 +02:00
aaacc753a7 Fix gdnative api generation for methods that return enums
(cherry picked from commit 78f55698f2)
2021-07-06 13:36:07 +02:00
5a58516231 Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
6e67b7a93e Check for _language in PluginScript.instance_has
(cherry picked from commit 4b25892501)
2021-06-01 12:53:31 +02:00
a38b447413 Highlight control flow keywords with a different color
This makes them easier to distinguish from other keywords.
2021-05-25 00:31:39 +02:00
53f05c9167 Add GDNative Framework loading and export support. 2021-05-24 12:50:18 +03:00
817ffc01e1 Make all file access 64-bit (uint64_t)
This changes the types of a big number of variables.

General rules:
- Using `uint64_t` in general. We also considered `int64_t` but eventually
  settled on keeping it unsigned, which is also closer to what one would expect
  with `size_t`/`off_t`.
- We only keep `int64_t` for `seek_end` (takes a negative offset from the end)
  and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means
  we only need to guard against passing negative values in `core_bind.cpp`.
- Using `uint32_t` integers for concepts not needing such a huge range, like
  pages, blocks, etc.

In addition:
- Improve usage of integer types in some related places; namely, `DirAccess`,
  core binds.

Note:
- On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with
  version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for
  big files on 32-bit Windows builds made with that toolchain. We might add a
  workaround.

Fixes #44363.
Fixes godotengine/godot-proposals#400.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-16 17:52:31 +02:00
140350d767 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
0c8b5b5c4d Style: Remove redundant void argument lists
Using clang-tidy's `modernize-redundant-void-arg`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2021-05-04 16:40:33 +02:00
a828398655 Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
b5e1e05ef2 Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
3d15f04668 Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
6e600cb3f0 Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
70ae90e0e8 Core: Drop custom copymem/zeromem defines
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f6639.

There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.

Backport of #48239.
2021-04-29 12:34:11 +02:00
c3272997cd doc: Update classref headers with 3.4 version 2021-04-26 13:15:29 +02:00
e554ecd691 Merge pull request #47451 from BastiaanOlij/arvr_positional_tracker_ref
Change ARVRPositionalTracker to a reference (3.x)
2021-04-26 07:45:34 +02:00
575433b997 Fix crash on GDNative API json generator exit.
(cherry picked from commit a4423c82f8)
2021-04-22 17:21:52 +02:00
5228871e26 Only cleanup meta data if GDNative library is reloadable and we're about to unload it
(cherry picked from commit 81131bd844)
2021-04-06 10:03:41 +02:00
f64d9423a5 Fixes #47607 (forgotten statement in GDNative cleanup)
Co-authored-by: geekrelief <geekrelief@gmail.com>
(cherry picked from commit 0fe851da23)
2021-04-05 12:02:56 +02:00
b38a36923a Fix gdnative config file set as null
Fixes #45997.

Setting a GDNativeLibrary config file as null or any other object but a ConfigFile will now cause an error.

(cherry picked from commit 618dd892f5)
2021-03-31 21:32:12 +02:00
2bf0b2996a fixes #46839, ensure library_classes is cleared and free funcs are called
Co-authored-by: toasteater <48371905+toasteater@users.noreply.github.com>
Co-authored-by: Jan Haller <bromeon@gmail.com>
(cherry picked from commit 58fa4973f6)
2021-03-29 16:26:40 +02:00
4cce36e35d Change ARVRPositionalTracker to a reference and better expose it to GDNative 2021-03-29 23:01:04 +11:00
acbd1e8b02 Merge pull request #46781 from BastiaanOlij/gdn_set_interface
Add set_interface for access by GDNative
2021-03-26 11:27:27 +01:00
015973df04 doc: Make all tutorial links point to 3.3 branch of docs 2021-03-26 10:43:43 +01:00
717f3227ec ARVR GDNative enhancements:
- add set_interface function
- add access to depth buffer
- add supplying a depth buffer from an ARVR plugin
2021-03-25 22:37:47 +11:00