Commit graph

26885 commits

Author SHA1 Message Date
Rémi Verschelde fa0cf25e19 Add shortcut for Pan Mode (G)
And change TileMap Bucket Fill shortcut to (B).

Fixes #8582.

(cherry picked from commit 28b33718b0)
2020-06-04 12:09:39 +02:00
Maganty Rushyendra e34929feaa Update Mono C# warning to reflect latest list of platforms supported
Simple fix for #38627. iOS (#20268) and HTML5 (#20270) removed from list of exceptions
for platforms supported in warning message.

(cherry picked from commit 3d03be7a56)
2020-06-04 12:09:39 +02:00
Fredia Huya-Kouadio bea913a874 Stop ignoring hidden files and directories in the assets directory
(cherry picked from commit bf76d2afcf)
2020-06-04 12:09:39 +02:00
Dominik 'dreamsComeTrue' Jasiński d15e9c2126 Allow scroll_to_line when scroll_active is 'false'
Fix #36134

(cherry picked from commit 8f11a91917)
2020-06-04 12:09:39 +02:00
Gustav 26c617654e Fix ProjectSettings.save_custom documentation
(cherry picked from commit 728c0c1e14)
2020-06-04 12:09:39 +02:00
Hugo Locurcio e226947e21 Improve the text appearance in the script editor warnings panel
- Make the Ignore button's position identical across all warnings
  by moving it to the left.
- Change the Ignore button's text and color to make it more obvious
  that it can be clicked.
- Use the editor font instead of the default project font to match
  the rest of the editor.

(cherry picked from commit 0c0ee427d2)
2020-06-04 12:09:38 +02:00
Marcus Brummer b6c536317b Perform a clean Gradle build if android plugins changed
Fixes #38986

(cherry picked from commit abd66c1bb0)
2020-06-04 11:17:11 +02:00
Rémi Verschelde 1bd51883c0 xatlas: Sync with upstream 470576d
(cherry picked from commit 59780fd046)
2020-06-04 11:15:06 +02:00
Thakee Nathees 25ed0d4366 colorpicker margin bug fixed
(cherry picked from commit 9d224ac429)
2020-06-04 11:14:16 +02:00
Rémi Verschelde e0a7b2ec97 Update AUTHORS and DONORS list
New contributor added to AUTHORS:
@jbuck3

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit 910ddd2817)
2020-06-04 11:08:14 +02:00
Rémi Verschelde 77aa8c0095 Improve documentation of ProjectSettings::setup
Subsequent PRs adding and fixing support for bundled PCKs
did not update the documentation /o\

(cherry picked from commit 0183bfbb0f)
2020-06-04 11:07:54 +02:00
Rémi Verschelde 8d287b051a
Merge pull request #39265 from Chaosus/fix_length_3.2
[3.2] Fix shader's length() function parsing in expressions
2020-06-03 22:28:56 +02:00
Yuri Roubinsky 371d48aea1 [3.2] Fix shader's length() function parsing in expressions 2020-06-03 19:43:47 +03:00
Rémi Verschelde a29318a5bc
Merge pull request #39260 from vnen/get_script_is_type
Allow get_script() to be considered a type
2020-06-03 17:37:18 +02:00
George Marques a0983637cf
GDScript: Allow get_script() to be considered a type 2020-06-03 10:48:43 -03:00
Rémi Verschelde 519fbbfdd4
Merge pull request #39243 from bruvzg/mac_menu_3
[3.2] Fix macOS global menu removal and preserve order.
2020-06-03 10:49:13 +02:00
bruvzg c994eb1daf
[3.2] Fix macOS global menu removal and preserve order. 2020-06-02 16:37:19 +03:00
Rémi Verschelde 5c6d4edc88
Merge pull request #39162 from lawnjelly/light_shadow_mask
3.2 Light2D shadow mask construction fix
2020-06-02 10:35:48 +02:00
lawnjelly bf54fa5a62 Light2D shadow mask construction fix
When using the default setting (layer 1 set only) nothing is stored in the tscn file for a Light2D, hence it relies on the value in the constructor.

The problem is the constructed value is 1 in Light2D, and -1 in RasterizerCanvas::Light. -1 results in all bits being set so all occluders are shown, rather than just those in layer 1.

This PR changes Rasterizer::Canvas constructor to set to 1. An alternative is to have -1 as the value for layer 1 throughout.
2020-05-30 09:29:38 +01:00
Rémi Verschelde f108037cbf
Merge pull request #39086 from madmiraal/fix-39059-3.2
[3.2] Correct Bullet's default Area angular damp value.
2020-05-29 12:10:54 +02:00
Rémi Verschelde b400a02272
Merge pull request #39032 from mrushyendra/issue-38702
Fix usage req. in Viewport so that ViewportTexture can be sampled as HDR
2020-05-29 09:32:21 +02:00
Maganty Rushyendra e51767b3c0 Document usage requirement for Viewport to sample ViewportTexture as HDR
Modified class documentation to specify that `USAGE_3D` or
`USAGE_3D_NO_EFFECTS` is required in order to use HDR in a ViewPort.

Fixes #38702
2020-05-29 08:05:35 +08:00
Rémi Verschelde fc65b0c10d
Merge pull request #39121 from Xrayez/py-modules-order
[3.2] SCons: use `OrderedDict` to ensure insertion order of modules
2020-05-28 17:26:51 +02:00
Andrii Doroshenko (Xrayez) 0138ba59ac SCons: use OrderedDict to ensure insertion order of modules
The insertion order for dictionaries is only a language feature for
Python 3.6/3.7+ implementations, and not prior to that.

This ensures that the engine won't be rebuilt if the order of detected
modules changes in any way, as the `OrderedDict` should guarantee
inerstion order.
2020-05-28 17:13:50 +03:00
Rémi Verschelde 807f1f511b
Merge pull request #39110 from volzhs/godotpayment-consume
Add missing consumePurchase plugin method for GodotPayment
2020-05-28 15:59:50 +02:00
volzhs c86ddd6b61 Add missing consumePurchase plugin method for GodotPayment 2020-05-28 11:51:14 +09:00
Rémi Verschelde f03bc21e09
Merge pull request #39103 from m4gr3d/enable_legacy_external_storage
Enable legacy external storage for Android 10
2020-05-27 22:57:24 +02:00
Rémi Verschelde 2d9132a463
Merge pull request #39098 from m4gr3d/validate_plugins_build_config_3_2
[3.2] Validate that `Use Custom Build` is enabled when `Plugins` are selected
2020-05-27 22:55:14 +02:00
Fredia Huya-Kouadio 2e7e3dcfe4 Enable legacy external storage for Android 10 2020-05-27 13:34:40 -07:00
Fredia Huya-Kouadio 0181e89e43 Validate that Use Custom Build is enabled when Plugins are selected
Remove `GodotPayment` from the default build template
2020-05-27 12:04:31 -07:00
Marcel Admiraal 08fa7cd8d9 Correct Bullet's default Area angular damp value. 2020-05-27 11:53:41 +01:00
Rémi Verschelde 9aeb9ea826
Merge pull request #39081 from m4gr3d/fix_emit_signal_3_2
[3.2] Fix parameters passing when emitting signal
2020-05-27 12:53:35 +02:00
Fredia Huya-Kouadio 3c0b26e29c Fix parameters passing when emitting signal
The issue was caused because we were using variables local to the `for` loop block.
Address [feedback](https://github.com/godotengine/godot/pull/39047#issuecomment-634545849) by @pouleyKetchoupp regarding the use of arrays on stack with dynamic size.
2020-05-27 03:38:38 -07:00
Rémi Verschelde 6abe73f5b8
Merge pull request #39078 from m4gr3d/override_command_line_args_3_2
[3.2] Provide the ability to override the command line arguments
2020-05-27 12:02:26 +02:00
Fredia Huya-Kouadio 06b7f611f8 Provide the ability for clients of the Godot library to add their own command line arguments 2020-05-27 02:12:54 -07:00
Rémi Verschelde 757d8b5672
Merge pull request #39034 from timoschwarzer/google-play-billing-3.2
Re-implement GodotPayment Android plugin using the Google Play Billing library
2020-05-25 22:17:11 +02:00
Timo Schwarzer 8373c0792a
Re-implement GodotPayment Android plugin using the Google Play Billing library 2020-05-25 21:09:45 +02:00
Rémi Verschelde 7c332d9386
Merge pull request #39040 from Xrayez/modules-search-path-3.2
[3.2] Add `custom_modules` build option to compile external user modules
2020-05-25 17:02:27 +02:00
Rémi Verschelde acb83db1d1 doc: Sync classref with current source 2020-05-25 17:00:22 +02:00
Tomasz Chabora 800dceee52 Reverse mouse wheel in animation track editor
(cherry picked from commit f4c6bb568e)
2020-05-25 16:38:02 +02:00
PouleyKetchoupp f4f4b77d23 Use long instead of int for object id in Android java wrapper
Using int for 64-bit values might cause issues with objects not found
in ObjectDB when the id is truncated.

(cherry picked from commit 39f59786fa)
2020-05-25 16:36:34 +02:00
Ignacio Etcheverry f0bc3482d4 Mono/C#: Don't try to load project assembly in project manager
This was causing an error message when launching the manager,
because there is no project assembly to load.

(cherry picked from commit d7e21ecd63)
2020-05-25 16:34:15 +02:00
Dominik 'dreamsComeTrue' Jasiński cf311f3e79 Fix moving 2D node with mouse after using arrow keys
Fixes: #38894
(cherry picked from commit 03b54f8a35)
2020-05-25 16:33:58 +02:00
CJ DiMaggio ad3d643bc2 Delete DummyMesh when RasterizerStorageDummy is freed
(cherry picked from commit 66a294d459)
2020-05-25 16:32:48 +02:00
bruvzg c4e652a6a3 Docs: Fix order of variant constants.
(cherry picked from commit 409562558a)
2020-05-25 16:32:25 +02:00
Paul Joannon 66e00a2670 check the params section exist before erasing it in import_dock
related #38864

(cherry picked from commit b7a6946790)
2020-05-25 16:32:05 +02:00
Tan Wang Leng 48a2fd7a3d gdscript_parser: Fix "unreachable code" false positive for loops
Depending on the conditional statements of the 'for' and 'while' loops,
their body may not even execute once. For example:

    func a():
        var arr = []
        for i in arr:
            return i
        # can be reached, but analysis says cannot
        return -1

    func b():
        var should_loop = false
        while should_loop:
           return 1
        # can be reached, but analysis says cannot
        return 0

The parser will complain that the statements after the comment cannot
be reached, but it is clearly possible for our scenario. This is
because the parser falsely assumes that the loop body will always
execute at least once.

Fix the code to remove this assumption for both of those loops.

(cherry picked from commit 7b1423a61e)
2020-05-25 16:31:07 +02:00
James Buck 9347a6ad6a Trigger an error when trying to define a preexisting signal in GDScript
A class can't have multiple signals with the same name, but previously users
would not be alerted to a conflict while editing the script where it occurred.
Now a helpful error will appear in the editor during script parsing.

(cherry picked from commit 9e44739324)
2020-05-25 16:29:20 +02:00
Andrii Doroshenko (Xrayez) 133997654c Add custom_modules build option to compile external user modules
This patch adds ability to include external, user-defined C++ modules
to be compiled as part of Godot via `custom_modules` build option
which can be passed to `scons`.

```
scons platform=x11 tools=yes custom_modules="../project/modules"
```

Features:

- detects all available modules under `custom_modules` directory the
same way as it does for built-in modules (not recursive);
- works with both relative and absolute paths on the filesystem;
- multiple search paths can be specified as a comma-separated list.

Module custom documentation and editor icons collection and generation
process is adapted to work with absolute paths needed by such modules.
Also fixed doctool bug mixing absolute and relative paths respectively.

Implementation details:

- `env.module_list` is a dictionary now, which holds both module name as
  key and either a relative or absolute path to a module as a value.
- `methods.detect_modules` is run twice: once for built-in modules, and
  second for external modules, all combined later.
- `methods.detect_modules` was not doing what it says on the tin. It is
  split into `detect_modules` which collects a list of available modules
  and `write_modules` which generates `register_types` sources for each.
- whether a module is built-in or external is distinguished by relative
  or absolute paths respectively. `custom_modules` scons converter
  ensures that the path is absolute even if relative path is supplied,
  including expanding user paths and symbolic links.
- treats the parent directory as if it was Godot's base directory, so
  that there's no need to change include paths in cases where custom
  modules are included as dependencies in other modules.

(cherry picked from commit a96f0e98d7)
2020-05-25 17:08:38 +03:00
Thakee Nathees d611bd970d regression: dictionary key no autocomplete fix
Fix: #38998
(cherry picked from commit 13c372b522)
2020-05-25 15:58:25 +02:00