Commit graph

31336 commits

Author SHA1 Message Date
Rémi Verschelde
e69a0b1f7a
Merge pull request #43497 from akien-mga/reparent_crash_with_tracks_renaming_disabled
SceneTree: Fix reparent crash with animation tracks renaming disabled
2020-11-13 15:11:27 +01:00
George Marques
8bcd345782
GDScript: Fix native class not set with inheritance 2020-11-13 10:35:24 -03:00
Rémi Verschelde
d107fd4c9e
SceneTree: Fix reparent crash with animation tracks renaming disabled
This check was there since the first commit in 2014, but a later feature added in 2018
with #17717 did not properly update the code while adding non animation-related code
in `perform_node_renames`.

Fixes #40532.
2020-11-13 13:41:33 +01:00
Nick Swoboda
bf8f763524 Improve error messages related to failing to open files 2020-11-12 17:30:56 -08:00
Tomasz Chabora
b7c612bd54 Release pressed action if event is removed 2020-11-12 16:54:16 +01:00
Rémi Verschelde
f73374629d
Merge pull request #43477 from bruvzg/xvfb_fix
Fix running on Xvfb server.
2020-11-12 15:39:09 +01:00
bruvzg
fed776c64c
Add X11 Atom validity checks. 2020-11-12 16:10:17 +02:00
Rémi Verschelde
a7d610db16
Merge pull request #43408 from rcorre/path-gizmos-4.0
Make Path3D handles visible and consistent with 2D.
2020-11-12 13:12:49 +01:00
Ryan Roden-Corrent
8458ba0aef
Proposal 1246: Make Path3D handles more visible.
Resolves godotengine/godot-proposals#1246.

It is difficult to tell the difference between the handles for adjusting
curves and the points themselves when looking at a Path gizmo.
This re-uses the icons used for Path2D.

Unlike Path2D, this does not use a different icon for smooth vs sharp
points, as using a potentially different material for each point would
prevent batching the points in add_handles (and adding them out-of-order
messes up other logic based on handle indices).

This includes a public API change to allow specifying a texture for a
handle material. This allows spatial gizmo plugins to customize the way
a handle is rendered, if desired, but does not break existing behavior
(as providing no texture uses the default).

The path handle icons were resized as well.  16x16 is the standard icon
size. These icons were 10x10 rather than 16x16, and appeared rather
small in the editor.

To resize, I:

- Opened the original in Inkscape
- Resized the document to 16x16
- Opened the transform dialog
- Scaled by 160% proportionally
- Used Align/Distribute to center on the page
- Saved the document
- Cleaned with `svgcleaner --multipass`
2020-11-12 06:37:56 -05:00
Rémi Verschelde
dca6bac620
Merge pull request #43244 from HaSa1002/docs-mdt
Docs: MeshDataTool: showcase tool in code example
2020-11-12 11:35:25 +01:00
HaSa1002
4f9b993423 Docs: MeshDataTool: showcase tool in code example 2020-11-12 10:56:39 +01:00
Rémi Verschelde
b1db71c9fb
Merge pull request #43220 from YeldhamDev/canvasgroup_codeedit_icons
Add icons for the 'CanvasGroup' and 'CodeEdit' nodes
2020-11-12 10:31:03 +01:00
Rémi Verschelde
0bb51d5353
Merge pull request #43471 from Rubonnek/ipci-not-thread-safe
Document InstancePlaceholder.create_instance not being thread-safe.
2020-11-12 09:23:17 +01:00
Rémi Verschelde
307ea716cc
Merge pull request #43465 from fire/save-screenshot-master
Restore screenshot button.
2020-11-12 08:55:56 +01:00
Wilson E. Alvarez
a6f3ef3ac7
Document InstancePlaceholder.create_instance not being thread-safe. 2020-11-11 21:34:51 -05:00
K. S. Ernest (iFire) Lee
4cff322017 Restore screenshot button. 2020-11-11 14:31:54 -08:00
Rémi Verschelde
a6d4484e57
Merge pull request #43462 from pulawskig/master
Removing unneeded FuncRef code in C#
2020-11-11 22:54:02 +01:00
Rémi Verschelde
8344d27276
Merge pull request #43451 from timothyqiu/move-line-cursor
Keep cursor relative position after move lines up/down in text editor
2020-11-11 22:32:17 +01:00
Grzegorz Puławski
c49810046e Removing unneeded FuncRef code in C# 2020-11-11 21:57:42 +01:00
Rémi Verschelde
2a0debd077
Merge pull request #43457 from reduz/refactor-builtin-methods-again
Refactor variant built-in methods yet again.
2020-11-11 21:27:34 +01:00
Connor Lirot
dd021099ff Fix for linux joypad D-pad zeroing
Some controllers (notably those made by 8bitdo) do not always emit an event to zero out a D-pad axis before flipping direction. For example, when rolling around aggressively the D-pad of an 8bitdo SN30 Pro/Pro+, the following may be observed:

```
ABS_HAT0X : -1
ABS_HAT0Y : -1
ABS_HAT0Y : 0
ABS_HAT0Y : 1
ABS_HAT0X : 1
```

Notable here is that no event for `ABS_HAT0X: 0` is emitted between the events for `ABS_HAT0X: -1` and `ABS_HAT0X: 1`. Consequently, the game engine believes that both the negative _and_ positive x-axis directions of the D-pad are activated simultaneously (i.e `is_joy_button_pressed()` returns `true` for both `JOY_BUTTON_DPAD_LEFT` and `JOY_BUTTON_DPAD_RIGHT`), which should be impossible.

This issue is _not_ reproducible on all controllers. The Xbox One controller in particular will not exhibit this problem (it always emits zeroing out events for an axis before flipping direction).

The fix is to always zero out the opposite direction on the D-pad axis in question when processing an event with a nonzero value. This unfortunately wastes a small number of CPU cycles on controllers that behave nicely.

**I have verified this issue is also reproducible in the stable 3.2 branch**
2020-11-11 13:54:46 -06:00
reduz
635d33dc6c Refactor variant built-in methods yet again.
* Using C-style function pointers now, InternalMethod is gone.
* This ensures much better performance in typed code.
* Renamed builtin_funcs to utility_funcs, to avoid naming confusion
2020-11-11 16:36:36 -03:00
Rémi Verschelde
fb2151089c
Merge pull request #43372 from aaronfranke/clamp-fixes
Minor clamp and float fixes
2020-11-11 13:20:19 +01:00
Rémi Verschelde
acb7d99fce
Merge pull request #43449 from nekomatata/line_edit_window_pos
Expose LineEdit scroll offset to scripts
2020-11-11 13:18:55 +01:00
Aaron Franke
4abf189e36
Allow getting Input axis/vector values by specifying multiple actions
For get_vector, use raw values and handle deadzones appropriately
2020-11-11 06:02:44 -05:00
Aaron Franke
195d58be0f
Add raw strength value for internal use 2020-11-11 05:58:21 -05:00
Haoyu Qiu
87fb2bde0c Keep cursor relative position after multiline move 2020-11-11 18:29:32 +08:00
PouleyKetchoupp
4775db1600 Expose LineEdit scroll offset to scripts 2020-11-11 10:07:31 +01:00
Rémi Verschelde
10fd107599
Merge pull request #43443 from Faless/js/4.0_audio_worklet
[HTML5] Port inline JS code to libraries, AudioWorklet support.
2020-11-11 10:07:28 +01:00
Rémi Verschelde
88d463cabc
Merge pull request #43446 from reduz/create-variant-builtin-funcs
Create Variant built-in functions.
2020-11-11 00:25:41 +01:00
reduz
5288ff538d Create Variant built-in functions.
-Moved Expression to use this, removed its own.
-Eventually GDScript/VisualScript/GDNative need to be moved to this.
-Given the JSON functions were hacked-in, removed them and created a new JSONParser class
-Made sure these functions appear properly in documentation, since they will be removed from GDScript
2020-11-10 19:31:10 -03:00
Aaron Franke
ee79fc627c
Minor clamp and float fixes 2020-11-10 14:30:07 -05:00
Fabio Alessandrelli
179ec3ca0e [HTML5] AudioWorklet API implementation.
Rewrote AudioDriverJavaScript to support multiple processor nodes.
The old (and deprecated) ScriptProcessorNode when threads are not
available, and the new AudioWorklet API when threads are enabled.

The new implementation uses two ring buffers and a shared state to
communicated with the AudioWorklet thread.

The audio.worklet.js JavaScript file is always added to the export
template, but only really used (and downloaded) in the thread build.
2020-11-10 18:56:21 +01:00
Rémi Verschelde
a80ec80b57
Merge pull request #43441 from pWNn1sher/master
Checking for half_image_size[ x & y ] to be non-negative.
2020-11-10 18:10:02 +01:00
Pun1sher
ec6a4c92fe
Checking for half_image_size[ x & y ] to be non-negative.
This make sure that (1x1) , (1 x X) and (X , 1) pixel images using sub-sampling will get correct half_image_size i.e NON-NEGATIVE.
fix : https://github.com/godotengine/godot/issues/42363
2020-11-10 21:23:08 +05:30
Rémi Verschelde
9397a5a272
Merge pull request #43437 from akien-mga/doc-operators
doc: Add template to document Variant operators, fixups to #43419
2020-11-10 15:58:36 +01:00
Rémi Verschelde
1626cfd937
Merge pull request #41230 from naithar/feature/pluggable-ios-modules
[iOS] [4.0] iOS Plugins
2020-11-10 15:43:50 +01:00
Rémi Verschelde
05fe063ea9
Merge pull request #43436 from qarmin/invalid_id
Remove Attempted to free invalid ID error
2020-11-10 15:34:46 +01:00
Rémi Verschelde
64e893deac
doc: Sync classref to add operators after #43419 2020-11-10 15:00:50 +01:00
Rémi Verschelde
34cad0d020
doc: Fixups to #43419 which added operators in the docs
- Escape the method names as e.g. `operator <` is invalid XML.
- Add a hack to merge all String % operator definitions for each Variant type
  as a single one with `Variant` argument type.
- Add support for the new qualifiers in makerst.py.
- Drop unused `doc_merge.py`, seems to date back to when we had all the
  documentation in a single `classes.xml`.
2020-11-10 15:00:07 +01:00
Sergey Minakov
1f2f477e1e iOS Export: support multi-target plugin
Plugins can use 'binary_name.a' or 'binary_name.release.a' and 'binary_name.debug.a' for plugin library.
2020-11-10 16:40:06 +03:00
Sergey Minakov
1f94a59859 iOS Export: export modification to support plugins
Added plugin configuration.
Export options now use plugins that could be enabled/disabled.
Plugin changes are observed at runtime.
2020-11-10 16:40:01 +03:00
Sergey Minakov
70f492082e iOS: change platform code to support plugins 2020-11-10 16:28:36 +03:00
Sergey Minakov
30783d57cc iOS Modules: separate main platform code from modules
Moved previously builtin modules 'GameCenter', 'AppStore', 'iCloud' to separate modules to be represented as plugin.
Modified 'ARKit' and 'Camera' to not be builtin into engine and work as plugin.
Changed platform code so it's not affected by the move.
Modified Xcode project file to remove parameters that doesn't make any effect.
Added basic '.gdip' plugin config file.
2020-11-10 16:28:29 +03:00
Rafał Mikrut
925ae37d8d Remove Attempted to free invalid ID error 2020-11-10 14:22:41 +01:00
Rémi Verschelde
03ae26bb74
Merge pull request #43398 from KoBeWi/add_an_array_to_another_array_but_with_a_method
Add append_array() method to Array class
2020-11-10 13:53:58 +01:00
Rémi Verschelde
0efe6dff5f
Merge pull request #43350 from gvekan/fix-load-autocomplete
Fix completion for built-in load() function
2020-11-10 13:21:37 +01:00
Rémi Verschelde
714dbc368c
Merge pull request #43357 from KoBeWi/editor_art_3d
Register methods for drawing 3D editor overlays
2020-11-10 13:17:12 +01:00
Gustav
0ddd4097a6 Fix completion for built-in load function 2020-11-10 12:00:08 +01:00
Rémi Verschelde
263f731924
Merge pull request #43434 from sneik15/patch-1
Updated gd_glue.cpp to work in the variant refactoring (Mono enabled)
2020-11-10 11:56:18 +01:00