Commit graph

27896 commits

Author SHA1 Message Date
Lyuma d3be8477f0 Avoid reentrant OBJTYPE_RLOCK in ClassDB
Fixes #43020 when a thread uses ClassDB while main thread calls is_parent_class().
2020-11-01 00:50:46 -07:00
Rémi Verschelde a392aa455f
Merge pull request #42694 from Calinou/reflection-atlas-hdr-require-restart
Recommend restarting after changing the reflection atlas size or HDR
2020-10-10 21:33:03 +02:00
Hugo Locurcio ad4e80f2fa
Recommend restarting after changing the reflection atlas size or HDR
This closes #42687.
2020-10-10 17:04:00 +02:00
Rémi Verschelde 0cea2731f7
Merge pull request #40313 from nekomatata/software-skinning-test-3.2
Option for software skinning in MeshInstance
2020-10-08 19:49:35 +02:00
PouleyKetchoupp f9544716f4 Option for software skinning in MeshInstance
Option in MeshInstance to enable software skinning, in order to test
against the current USE_SKELETON_SOFTWARE path which causes problems
with bad performance.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2020-10-08 16:14:55 +02:00
Rémi Verschelde 4040cd350d
Merge pull request #42582 from naithar/feature/3.2-arc-refactor
[3.2] [iOS] Port 4.0 changes
2020-10-07 21:17:01 +02:00
Yuri Roubinsky cc3c671f3b
Merge pull request #42590 from Chaosus/vs_fix_move_undo_3.2
[3.2] Fix undo for moving multiple visual shader nodes
2020-10-06 09:44:06 +03:00
Yuri Roubinsky a65252018c [3.2] Fix undo for moving multiple visual shader nodes 2020-10-06 08:54:58 +03:00
Sergey Minakov 5d1284204d iOS: port ARC support 2020-10-06 00:23:25 +03:00
Sergey Minakov 2bdfec2418 iOS: Refactor platform code
Change project structure to be more like 4.0
Refactor and remove old code as followup after deprecations fix
2020-10-06 00:23:09 +03:00
Aaron Franke b2897f1f7b
Check for global script class information before clearing it
(cherry picked from commit 1ca501d7d4)
2020-10-05 22:09:49 +02:00
K. S. Ernest (iFire) Lee 1f87bca8fb
Better non alphanumeric bone names.
1. _gen_unique_bone_name(Ref<GLTFState> state, const GLTFSkeletonIndex skel_i, const String &p_name) won't return an empty string.

2. String GLTFDocument::_sanitize_bone_name(const String &name) will keep Japanese characters. Like: "全ての親".

3. The sanitize function allows  the bone name to be not just alphanumeric. The only required conditions are the ones in add_bone.

> ERR_FAIL_COND(p_name == "" || p_name.find(":") != -1 || p_name.find("/") != -1);

(cherry picked from commit 7b76f8783f)
2020-10-05 20:46:01 +02:00
Rémi Verschelde 6c03ac6625
Improve format version mismatch error in binary loader
(cherry picked from commit e35bb04c53)
2020-10-05 20:32:31 +02:00
Rémi Verschelde 9529ce41eb
glTF: Fix parsing image data with mimeType undefined
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.

The logic was documented and refactored to better handle the spec, notably:

- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
  if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
  attempt loading the file with the specified format (even if its extension is
  not the one expected for this format). So we can support bad extensions (PNG
  data with `.jpg` extension) or custom ones (PNG data in `.img` file for
  example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
  `data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
  or `application/gltf-buffer` will fall back to trying both PNG and JPEG
  loaders.

Fully fixes #33796 (and fixes up #42501).

(cherry picked from commit 2e99d0b26f)
2020-10-05 14:41:53 +02:00
Rémi Verschelde 177d16c01c
glTF: Fix parsing buffer data with application/gltf-buffer and image/* MIME types
See https://github.com/KhronosGroup/glTF/issues/944 for context on the
application/gltf-buffer MIME type.

The glTF 2.0 spec supports `image/jpeg` and `image/png` which can also be
base64-encoded in buffer URIs.

Fixes #33796.

(cherry picked from commit 34a50310ad)
2020-10-05 14:38:48 +02:00
Rémi Verschelde 68b192b62e
Merge pull request #42565 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.4) - 4th batch
2020-10-05 08:29:10 +02:00
Fabio Alessandrelli 2d5f9c53b0
[HTML5] Scons now expects "emcc" to be in PATH.
No longer parse emscripten/emsdk config to detect emcc/node paths.
Use WhereIs to find "emcc" and "node", look for "node_modules" in "emcc"
path.

(cherry picked from commit 7998745237)
2020-10-04 20:54:56 +02:00
Marcel Admiraal 6c4a02479d
Fix how Line2D obtains the other object's supports
Measure the distance from the line against the rotated object, not the
rotated line, when obtaining the object's supports against a line.

(cherry picked from commit 7e44682c03)
2020-10-04 20:54:35 +02:00
Marcel Admiraal 5d548d12aa
Remove reference to 3D shapes in RigidBody2D.xml contacts description.
(cherry picked from commit e7edbcedc9)
2020-10-04 20:54:16 +02:00
Aaron Franke fcaf17824f
Don't write global script class information if there is none
(cherry picked from commit 3163611f0c)
2020-10-04 20:53:50 +02:00
Anant Ahuja 55d756cbab
Updated NinePatchRect's patch margin descriptions
(cherry picked from commit 00d9432f44)
2020-10-04 20:53:31 +02:00
Marcel Admiraal d9d9be07c2
Check entire basis column for zero size when unscaling Bullet basis.
(cherry picked from commit 5278e07095)
2020-10-04 20:52:38 +02:00
Serhat 09a8dd7b3b
Fixed padding bug of sprintf function
(cherry picked from commit 9f2cdfea82)
2020-10-04 20:51:58 +02:00
Andrii Doroshenko (Xrayez) 1a71792655
Cross-reference GDScript load and ResourceLoader.load in classref
The GDScript `load` mention is moved from the class `ResourceLoader`
description to the `ResourceLoader.load` method description instead,
where it is more likely to be found.

(cherry picked from commit a8404cf56c)
2020-10-04 20:51:40 +02:00
Ryan Roden-Corrent d05a07235c
Fix bound return type on get_priority.
Also adds a description explaining gizmo priority.

Inferred from:
e4363d001a/editor/plugins/spatial_editor_plugin.cpp (L5867-L5880)
e4363d001a/editor/plugins/spatial_editor_plugin.cpp (L6462-L6470)

(cherry picked from commit c6919a13da)
2020-10-04 20:51:19 +02:00
lolligerjoj 0586c856f6
Expose Animation::value_track_interpolate to GDscript
(cherry picked from commit ff4af94414)
2020-10-04 20:50:34 +02:00
Rémi Verschelde 2882284795
Merge pull request #42538 from clayjohn/GLES2-light-texture
Use separate texture unit for light_texture
2020-10-03 23:33:57 +02:00
Rémi Verschelde fbf5c1cea8
Merge pull request #42537 from clayjohn/Sprite3D-wobble
Use full float UVs in Sprite3D
2020-10-03 21:19:37 +02:00
clayjohn 081d016e60 Use separate texture unit for light_texture 2020-10-03 12:15:58 -07:00
clayjohn 89677b5b7f Use full float UVs in Sprite3D 2020-10-03 10:54:14 -07:00
Rémi Verschelde 2a98e975df
Merge pull request #42535 from Paulb23/gdscript_highlighting_3_2_issue_41403
[3.2] Fix gdscript multiline string nested highlighting
2020-10-03 19:03:39 +02:00
Paulb23 2ef8aba8e9 Fix gdscript multiline string nested highlighting 2020-10-03 16:16:34 +01:00
Rémi Verschelde a16a1ead49
Merge pull request #42514 from madmiraal/fix-42494-3.2
[3.2] Remove area or body from area map before emitting signals.
2020-10-02 20:53:15 +02:00
Marcel Admiraal be41b818c4 Remove area or body from map before emitting signals. 2020-10-02 17:01:47 +01:00
Rémi Verschelde 1678016e28
Merge pull request #42510 from Faless/js/3.x_html5_audio_threads
[3.2] [HTML5] Move audio processing to thread when threads are enabled.
2020-10-02 17:19:22 +02:00
Fabio Alessandrelli 61d4b8045c [HTML5] Run Audio process in thread when available
This should fix some of the audio stuttering issues when the HTML5
export is compiled with threads support.
The API should be ported to AudioWorklet to (hopefully) be perfect.
That though, cannot be backported to 3.2 due to extra restriction of
AudioWorklet (which only runs in SecureContext, and needs a polyfill for
Safari).
2020-10-02 16:25:19 +02:00
Fabio Alessandrelli a57bd798cd Add extra suffix for HTML5 thread builds. 2020-10-02 16:25:18 +02:00
Fabio Alessandrelli 0ca7bc374e Add COOP/COEP headers to HTML5 "run" server.
This allow the page to be considered a SecureContext if the address is
localhost (127.0.0.1/::1) and let Firefox (and future Chrome versions)
enable extra features needed for the HTML5 threaded export.
2020-10-02 16:25:18 +02:00
Rémi Verschelde 7ef6aa7342
Merge pull request #42266 from Faless/js/3.0_sync_fs_size_handlers
[3.2] [HTML5] Synchronous main, better persistence, handlers fixes, optional full screen.
2020-10-02 16:23:35 +02:00
Rémi Verschelde de067cf56f
Merge pull request #35202 from xix-xeaon/master
Make fake int mod op (%) actually return int
2020-10-02 12:29:55 +02:00
xix xeaon 975637c60b
Fix mod op (%) implementation in GLES2 2020-10-02 11:43:19 +02:00
Rémi Verschelde 0845fbb51b
Merge pull request #32475 from lawnjelly/hideshadow
Showing and hiding geometry updates shadows (3.2)
2020-10-02 11:39:47 +02:00
Rémi Verschelde 014147e511
Merge pull request #40557 from PoqXert/game-center
iOS Game Center improvements
2020-10-02 10:58:14 +02:00
Rémi Verschelde ea7df14b18
Merge pull request #42495 from akien-mga/3.2-configuration-warnings-fixup
Better validate CollisionShape config. warning after #37226
2020-10-02 10:27:33 +02:00
Rémi Verschelde 10fa15a047
Better validate CollisionShape config. warning after #37226
It could cause a crash when running the test for PlaneShape.
Fixes #42479.
2020-10-02 09:51:45 +02:00
Rémi Verschelde e6a8235682
Merge pull request #40900 from Chaosus/vs_optimization
[3.2] Optimizations for Fresnel and TextureUniform nodes in visual shaders
2020-10-02 09:20:11 +02:00
Yuri Roubinsky ec7228a675 [3.2] Optimizations for Fresnel and Texture nodes in visual shaders 2020-10-02 08:42:06 +03:00
Rémi Verschelde e35687a116
Merge pull request #42478 from bruvzg/macos_dpi_32
[3.2] Fix `get_screen_dpi` on macOS.
2020-10-01 23:03:28 +02:00
bruvzg 610728c9f1
[3.2] Fix get_screen_dpi on macOS for non fractional display scales and update documentation. 2020-10-01 22:55:54 +03:00
Rémi Verschelde fbb417c437
Merge pull request #42472 from akien-mga/3.2-ci-sanitizers-on
CI: Re-enable sanitizers build
2020-10-01 20:49:20 +02:00