Commit Graph

4216 Commits

Author SHA1 Message Date
e94161dada SCons: Add explicit dependencies on thirdparty code in cloned env
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.

So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).

This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.

(cherry picked from commit c7b53c03ae)
2021-04-29 16:57:00 +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
1db31d0afa Fixes #48178: WebXR broken when built with Emscripten 2.0.13 or later
(cherry picked from commit b77925d246)
2021-04-29 12:30:36 +02:00
41a016c1e8 Fix CSG Path Polygon cache being removed after connect
fixes #30229

(cherry picked from commit bab36f1273)
2021-04-29 12:29:28 +02:00
a68c88adfd Update CSGMesh3D's documentation to explain how vertex normals are used 2021-04-27 18:37:19 +01:00
2d57df60f7 Merge pull request #48144 from Faless/crypto/3.3_encryption_stable 2021-04-27 13:46:49 +02:00
c3272997cd doc: Update classref headers with 3.4 version 2021-04-26 13:15:29 +02:00
cfccf77edb Fix CSGMesh undo not refreshing gizmo
(cherry picked from commit 4311c2f66e)
2021-04-26 12:52:15 +02:00
1f54a75310 Make LSP update the filesystem of changed scripts
This updates global classes and exposes base member variables.
Fixes #39713

(cherry picked from commit b16bb33a5b)
2021-04-26 12:20:28 +02:00
137f71fd75 Merge pull request #48173 from madmiraal/fix-empty-csgshape-error-3.x
[3.x] Fix new `CSGMesh` errors
2021-04-26 12:20:08 +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
decdf4fcbc Fix empty CSGShape error 2021-04-25 08:01:14 +01:00
dcd5433b3b Implement RSA encryption/decryption. 2021-04-24 00:04:56 +02:00
09b9e65688 Implement sign and verify in crypto. 2021-04-24 00:04:56 +02:00
09af27fa39 CryptoKey supports public keys. 2021-04-24 00:04:56 +02:00
a486783d3d Better zeroizing in CryptoKey. 2021-04-24 00:04:56 +02:00
4d7f642fb3 Improve some argument names for core types 2021-04-23 15:34:24 +02:00
a2c68d9da7 lightmapper: Disable build if raycast module can't build
We need to propagate the hacky checks from the raycast config to the
lightmapper config, as the failure of a `can_build()` check is not notified to
other modules (which might even be checked further depending on the processing
order in SConstruct).

A more thorough fix would be to change SConstruct to do two loops on modules:
one to check `can_build()` and disable modules which can't build, then another
one to rechecked `can_build()` with the new lineup and do further config.
But there would be more risk for regressions than with this ad hoc hack.

Similar story for the `platform/x11/detect.py` change... oh my eyes :(
2021-04-22 19:12:37 +02:00
b1898c77fb Merge pull request #48073 from akien-mga/3.x-unbundle-embree
embree: Allow building against system library on Linux
2021-04-22 18:06:49 +02:00
2a00a6bfca fbx: Fix include for zlib that broke unbundling
It's possible to link against system zlib on Linux, so we should use system paths.

(cherry picked from commit 93b7406138)
2021-04-22 17:22:18 +02:00
575433b997 Fix crash on GDNative API json generator exit.
(cherry picked from commit a4423c82f8)
2021-04-22 17:21:52 +02:00
b266cc2315 embree: Allow building against system library on Linux 2021-04-22 17:06:28 +02:00
2db2d1153d CPU lightmapper environment energy fixes.
* Better handling of the scene's environment energy in the lightmapper
  bakes.
* Fixed a bug where ProceduralSky::get_panorama() returned a reference
  instead of a copy.
* Removed includes to Embree's internal header files.
2021-04-22 16:26:04 +02:00
f0d1bedc74 Print a warning when trying to seek in VideoPlayer
Seeking isn't implemented in built-in video formats and can only
be supported in GDNative-provided video formats.

(cherry picked from commit ea46639e22)
2021-04-20 20:16:42 +02:00
83494c30fe C#: Fix double casting in wasm m2n trampolines
The trampolines were casting double to `size_t` (likely a copy-paste
mistake), so the value was getting truncated.
2021-04-17 05:24:00 +02:00
cd4906ee0b Document secure wss:// caveats for WebSocketClient
See https://github.com/godotengine/godot/issues/37739.

(cherry picked from commit a56e37545b)
2021-04-12 00:23:44 +02:00
5cf5e7e3d3 Fix crash on importing empty .fbx file for 3.x 2021-04-08 02:52:15 -07:00
ed44e2806f doc: Fix markup issues in classref 2021-04-07 11:52:44 +02:00
6a7ee81610 Always dynamically allocate PropertyTable
- `Texture::~Texture` expects `props` to be dynamically allocated.

- `GetPropertyTable` returned a pointer to an existing `PropertyTable`
  but is expected to return a newly, dynamically allocated one.

- `PropertyTable::PropertyTable()` suggests that an empty `element`
  property is valid.

fix #46876
fix #45573

(cherry picked from commit 09bda3f140)
2021-04-07 11:26:19 +02:00
1e28e234c5 Check for the use of an empty shape in Bullet Kinematic collisions
(cherry picked from commit ff9a6c4e39)
2021-04-06 22:37:35 +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
4e8e887748 Implement LSP didDeleteFiles to clear diagnostics
Fixes #43133
2021-04-01 13:41:53 -04: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
596169d7df class reference proofreading
(cherry picked from commit 8455e901f3)
2021-03-26 09:49:07 +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
7f8fe58825 Make LSP parser aware of variables in sub-blocks
Fixes #43164 and Fixes godotengine/godot-vscode-plugin#207
2021-03-24 16:52:38 -04:00
92daf26043 SCons: Don't pass -msse2 to MSVC for Embree
This is a flag only supported by GCC/Clang.
2021-03-24 13:13:18 +01:00
1aba997d75 doc: Sync classref with 3.3 version bump 2021-03-23 13:40:34 +01:00
44855c40da FBX Import: Normalize rotation quaternions
fix #47174

(cherry picked from commit 72d3bfc88c)
2021-03-23 13:16:09 +01:00
b4455ffd75 Add mutex protecting script bindings map from getting corrupted 2021-03-22 20:26:44 -04:00
2c93256432 FBX Import: Check bone map access for valid cluster target node id
fix #47184

(cherry picked from commit d03f4cefea)
2021-03-20 23:09:02 +01:00
a0f56b5459 Mono: Fix Android build after #46900
(cherry picked from commit 2274d4eebc)
2021-03-18 17:58:49 +01:00
cacf96962d Added mono_unhandled_exception call to unhandled_exception hook
(cherry picked from commit 6061ff7ba1)
2021-03-17 15:17:02 +01:00
33628c482f miniupnpc: Update to version 2.2.2
(cherry picked from commit 69486b1059)
2021-03-17 15:16:59 +01:00
e6b291b152 Mono: Bump Godot.NET.Sdk to 3.3.0
Using only 3.3 results in a build warning.

Follow-up to #47055.
2021-03-17 14:46:26 +01:00