Commit Graph

31394 Commits

Author SHA1 Message Date
Hugo Locurcio 8fefbda818
Add a test suite for Curve 2020-11-13 22:46:05 +01:00
Rémi Verschelde 7d69974540
Merge pull request #43512 from m4gr3d/fix_project_orientation_settings
Remove duplicate Android `orientation` settings.
2020-11-13 22:31:31 +01:00
Fredia Huya-Kouadio 597d9409f3 Remove duplicate Android `orientation` settings. 2020-11-13 12:20:06 -08:00
Nathan Franke 20bca313c0
Fix Android Export jarsigner error with *.import whitelist 2020-11-13 10:30:40 -06:00
Rémi Verschelde de4ae92287
Merge pull request #43501 from Feniks-Gaming/master
In LineEdit Changed "mouse cursor"  to the "caret (text cursor)".
2020-11-13 16:48:40 +01:00
Feniks 59ed3c1aaf Changed mouse cursor to the caret (text cursor) location. 2020-11-13 14:57:18 +00:00
Rémi Verschelde 2c6905f0c9
Merge pull request #43490 from Nickswoboda/update-err-msgs
Improve error messages related to failing to open texture files
2020-11-13 15:52:47 +01:00
Rémi Verschelde 3c5e5ab3df
Merge pull request #43499 from vnen/gdscript-inheritance-native-class
GDScript: Fix native class not set with inheritance
2020-11-13 15:43:28 +01:00
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