Commit Graph

1106 Commits (3be7ec4162493d2fd16b64c443bf502e4a15d9c5)

Author SHA1 Message Date
David Snopek 3be7ec4162 Check that GDExtension is opened by compatible Godot version
(cherry picked from commit fecb2959b4)
2023-09-19 21:27:40 -05:00
DmitriySalnikov dd8e1def67 [SCons] Fixed crashes in several scripts
(cherry picked from commit 0e5975dd26)
2023-09-19 21:23:20 -05:00
David Snopek dcd7a69512 Ensure that PtrToArg specializations for native structs are used
(cherry picked from commit 3cd3f24150)
2023-09-19 21:22:54 -05:00
dependabot[bot] 354ed1e79d Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 5d4ff63930)
2023-09-19 21:22:20 -05:00
A Thousand Ships 014132d4c0 Ensure `const` correctness for wrappers
(cherry picked from commit f651df5e7a)
2023-09-19 21:21:20 -05:00
David Snopek bc980b59ff
Merge pull request #1227 from dsnopek/4.1-cherrypicks-2
Cherry-picks for the godot-cpp 4.1 branch - 2nd batch
2023-09-02 12:38:20 -05:00
A Thousand Ships c3771fb065 Fix formatting of `compatibility_minimum` examples
Without quotes the values is parsed as a float, breaking in various
cases.

(cherry picked from commit b3596a18e1)
2023-09-01 17:08:03 -05:00
Fabio Alessandrelli 63755b2a32 [SCons] Move the GodotCPP build to its own tool.
(cherry picked from commit f8b4f60cb9)
2023-09-01 17:07:53 -05:00
David Snopek ce5dd378d9 Clarify versions and examples in the README
(cherry picked from commit 1588dc8437)
2023-09-01 17:07:41 -05:00
A Thousand Ships c6fe6533f9 Fix link to test project in readme
Also updated format for library paths

(cherry picked from commit e586e11637)
2023-09-01 17:07:30 -05:00
A Thousand Ships 170a691a7e Add remaining component-wise `min/max` functions to `Vector*`
(cherry picked from commit 52eb77efd4)
2023-09-01 17:07:18 -05:00
Rémi Verschelde 738ef9baf8 SCons: Sync `targets.py` fully with upstream Godot
- Reorders existing code to match Godot.
- Adds `NDEBUG` for non-dev builds.
- Adds `-gdwarf-4` for Clang debug symbols.
- Adds strip link flag for GCC/Clang builds without debug symbols.

(cherry picked from commit 600e749d9b)
2023-09-01 17:07:03 -05:00
Adam Scott c7afd0f89a Fix forgotten not operator
(cherry picked from commit f5c8e5190f)
2023-09-01 17:06:51 -05:00
Adam Scott 6789b29b72 Fix Clang deprecated builtins
It seems that Clang and GCC have different interpretations of certain
builtins. So this PR uses std <type_traits> functions just as cowdata.h
does in the godot project.

(cherry picked from commit 5c262844ad)
2023-09-01 17:06:39 -05:00
David Snopek 960c906da1 Add automated tests to verify some previous fixes
(cherry picked from commit d5fab0b9f8)
2023-09-01 17:06:20 -05:00
Marc Gilleron 0f2d3652e5 Added generated version header
(cherry picked from commit c6b2c82570)
2023-09-01 17:06:03 -05:00
David Snopek 28494f0bd5
Merge pull request #1205 from dsnopek/4.1-cherrypicks-1
Cherry-picks for the godot-cpp 4.1 branch - 1st batch
2023-08-11 10:35:12 -05:00
Feiyun Wang 4fb9af7fb2 Statically link mingw/msvc runtime libraries on Windows
Co-authored-by: David Snopek <dsnopek@gmail.com>
(cherry picked from commit a745c2ac47)
2023-08-10 09:10:04 -05:00
Fabio Alessandrelli 6fa6b8b178 [SCons] Merge OSXCross tools into platofrm ones
(cherry picked from commit 6d195137fe)
2023-08-10 09:09:49 -05:00
Fabio Alessandrelli 784c3dc012 [SCons] Add option to generate a compilation database.
(cherry picked from commit 2586ad016e)
2023-08-10 09:09:30 -05:00
Adam Scott 7a9b323931 Add platform macros
(cherry picked from commit 9d9f4279ed)
2023-08-10 09:09:14 -05:00
Marc Gilleron e75ec636db Don't cache `null` forever if a singleton isn't available yet
# Conflicts:
#	binding_generator.py

(cherry picked from commit 548c758677)
2023-08-10 09:08:56 -05:00
David Snopek 5dda0212f6 In generated methods, only construct the method StringName the first time
(cherry picked from commit efc16b49d9)
2023-08-10 09:06:33 -05:00
David Snopek 011965d864 Attempt to fully implement CharString
(cherry picked from commit 4df112cd95)
2023-08-10 09:06:09 -05:00
Yuri Sizov 1009da4d7e gdextension: Sync with upstream commit bd6af8e0ea69167dd0627f3bd54f9105bda0f8b5 (4.1.1-stable) 2023-07-17 20:10:45 +02:00
David Snopek 749b0b9ae0
Merge pull request #1172 from adamscott/add-cache-dir-gitignore
Add lower-case "*.cache" in ".gitignore"
2023-07-14 11:41:03 -05:00
David Snopek 67bd2eac44
Merge pull request #1170 from adamscott/import-env-if-exists
Import `env` if possible
2023-07-14 11:40:52 -05:00
David Snopek a9209ce881
Merge pull request #1175 from bruvzg/msvc_force_utf8
[MSVC] Force UTF-8 encoding.
2023-07-14 06:49:42 -05:00
bruvzg d1aeba771a
[MSVC] Force UTF-8 encoding. 2023-07-11 16:11:51 +03:00
Adam Scott 8155f35b29
Import `env` if possible
This PR make it possible to import `env` and use it instead of creating
one from scratch every time.

Handy because we encourage users to use the godot-cpp SConstruct file as
a base to their projects (see the test project). So, if a project want
to override specific settings, (eg. make a path local to their SConstruct
file, not local to the godot-cpp/SConstruct file), it can do so.
2023-07-11 04:41:55 -04:00
Adam Scott 67501f1ee2
Add lower-case "*.cache" in ".gitignore" 2023-07-09 12:13:34 -04:00
Rémi Verschelde d627942b64
gdextension: Sync with upstream commit 970459615f6b2b4151742ec6d7ef8559f87fd5c5 (4.1-stable) 2023-07-05 16:31:31 +02:00
Rémi Verschelde d2b8ff4e9c
gdextension: Sync with upstream commit cdd2313ba27d0a2600a18e849b4c5d1fd6a6e351 (4.1-rc3) 2023-07-04 13:42:41 +02:00
Rémi Verschelde ff6f5792d2
Merge pull request #1159 from mihe/unused-exports
Remove unused free-standing `initialize_level` and `deinitialize_level`
2023-07-01 00:33:09 +02:00
Mikael Hermansson 4b1072e4da Remove unused free-standing `initialize_level` and `deinitialize_level` 2023-06-30 19:36:46 +02:00
Rémi Verschelde 3e44ad1867
Merge pull request #1157 from Faless/feat/rpc_test
Add RPC tests.
2023-06-30 15:50:03 +02:00
Fabio Alessandrelli 155f2e2a62 Add RPC tests. 2023-06-30 15:07:42 +02:00
Rémi Verschelde 80986f8497
gdextension: Sync with upstream commit 46424488edc341b65467ee7fd3ac423e4d49ad34 (4.1-rc2) 2023-06-30 10:02:54 +02:00
Rémi Verschelde a4784e12b9
gdextension: Sync with upstream commit ada712e06a471da2a2f4646237830bbd7980c114 (4.1-rc1) 2023-06-29 09:51:49 +02:00
Rémi Verschelde bfc9e0bd93
gdextension: Sync with upstream commit ada712e06a471da2a2f4646237830bbd7980c114 (4.1-beta3) 2023-06-21 15:58:41 +02:00
David Snopek 2377f7ec75
Merge pull request #1047 from Kehom/master
Unregister custom classes in reverse registration order
2023-06-20 08:24:56 -05:00
Kehom 20be441026 Unregister custom classes in reverse registration order 2023-06-19 11:04:11 -03:00
Rémi Verschelde 82edc89cfa
Merge pull request #1148 from Bromeon/bugfix/uninit-ptr-signature
GDExtension: `Uninitialized*Ptr` for constructors/converters using placement new
2023-06-19 10:43:58 +02:00
Rémi Verschelde 130644c061
Merge pull request #1138 from dsnopek/editor-plugins-deinitialize
Automatically remove editor plugins when deinitializing GDExtension
2023-06-19 10:43:34 +02:00
Rémi Verschelde ca78bcf558
Merge pull request #1086 from lucasrafael98/fixes/missing-include-audio-frame
Fix: Include method_ptrcall.hpp on simple structs.
2023-06-19 10:43:10 +02:00
Jan Haller 2d4ec829a0 GDExtension: `Uninitialized*Ptr` for constructors/converters using placement new
These methods construct their destination in-place, but the parameters are not declared using the `Uninitialized*Ptr` pointer types.
2023-06-18 23:11:12 +02:00
Rémi Verschelde f56f45156b
Merge pull request #1143 from bruvzg/py_utf8
Force UTF-8 encoding in the binding generator script.
2023-06-16 10:30:08 +02:00
Rémi Verschelde f0065bd801
Merge pull request #1048 from asmaloney/reserved_identifiers
Identifiers containing double underscore are reserved according to the C++ standard
2023-06-16 10:29:45 +02:00
bruvzg f1ad719ffc Force UTF-8 encoding in the binding generator script. 2023-06-16 10:41:23 +03:00
Andy Maloney db2394dbe7 Identifiers containing double underscore are reserved according to the C++ standard
Rename __* to _gde_*

https://timsong-cpp.github.io/cppwp/n3337/global.names

https://en.cppreference.com/w/cpp/language/identifiers

Identifiers appearing as a token or preprocessing token (i.e., not in user-defined-string-literal like operator ""id) (since C++11) of one of the following forms are reserved:
 - identifiers with a double underscore anywhere;
 - identifiers that begin with an underscore followed by an uppercase letter;
 - in the global namespace, identifiers that begin with an underscore.
2023-06-15 20:45:01 -04:00