Commit graph

26998 commits

Author SHA1 Message Date
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
Fabio Alessandrelli
d0613a2243 Fix JS audioContext parameters.
Were not passed along correctly.
`latencyHint` is supposed to be in seconds, not milliseconds.

(cherry picked from commit 57bdb4cc35)
2020-05-25 15:53:18 +02:00
PouleyKetchoupp
719369c71b Fix resource preview in remote inspector
The specific case for object reference seems unnecessary, as `RES res = var`
already does the work. The case where REF is invalid is never hit in the case
of already freed objects.

The assignment `res = *r` was causing the resource to be always invalidated
on the 3.2 branch.

(cherry picked from commit 12685df423)
2020-05-25 11:46:51 +02:00
Rémi Verschelde
2cf6624965 FastLZ: Update to upstream version 0.5.0
Upstream development restarted after 13 years. Changes:

2020-02-02: Version 0.5.0

    Minor speed improvement on the decompressor.
    Prevent memory violation when decompressing corrupted input.

2020-01-10: Version 0.4.0

    Only code & infrastructure clean-up, no new functionality.

(cherry picked from commit 5167c9186a)
2020-05-25 11:46:03 +02:00
Ignacio Etcheverry
0da84b50c0 Mono/C#: Fix values not updated in remote inspector
(cherry picked from commit 51e1614d28)
2020-05-25 11:46:03 +02:00
Rémi Verschelde
11d6c0f20d
Merge pull request #38984 from Calinou/bakedlightmap-configuration-warning
Document known bugs in BakedLightmap
2020-05-25 11:28:16 +02:00
Hugo Locurcio
5fb5fb135a
Document known bugs in BakedLightmap
See #30929.
2020-05-24 21:29:12 +02:00
Rémi Verschelde
7ccb146a55
Merge pull request #38979 from lawnjelly/kessel_unshaded_bug
GLES2 Batching - Builtins prevent baking in unshaded shaders
2020-05-23 13:58:12 +02:00
lawnjelly
b95add2bfd GLES2 Batching - Builtins prevent baking in unshaded shaders
Builtins that should prevent baking colors and vertex positions were incorrectly only active in shaders that were not unshaded. This was a terminology misunderstanding - unshaded materials can still use shaders so should have the same test to prevent baking.
2020-05-23 11:35:33 +01:00
Rémi Verschelde
73b97e8f05
Merge pull request #38963 from neikeq/scons-option-build-cil
[3.2] Add SCons option to not build C# solutions
2020-05-22 18:29:52 +02:00
Rémi Verschelde
d5e380117f
Merge pull request #38952 from bruvzg/win_ink_block_mm_3
[3.2] Block WM_MOUSEMOVE during Windows Ink pen handling.
2020-05-22 14:34:29 +02:00
bruvzg
28aabf4f73
[3.2] Block WM_MOUSEMOVE during Windows Ink pen handling. 2020-05-22 14:05:53 +03:00
Rémi Verschelde
fa9c44bf65
Merge pull request #38890 from Xrayez/save-png-buffer-3.2
[3.2] Add `Image.save_png_to_buffer` method
2020-05-22 09:48:50 +02:00
Ignacio Etcheverry
ce09d0c5e1 Add SCons option to not build C# solutions 2020-05-22 03:12:54 +02:00
Rémi Verschelde
8cf450c16b
Merge pull request #38916 from madmiraal/appveyor-test
[3.2] Enable Appveyor error on warnings.
2020-05-21 14:27:04 +02:00
Marcel Admiraal
aeb1181add Enable Appveyor error on warnings. 2020-05-21 11:28:01 +01:00
Marcel Admiraal
dac3504cc3 Fix C4724: potential mod by 0 warnings. 2020-05-21 11:28:01 +01:00
Andrii Doroshenko (Xrayez)
a3cad44f44 Add Image.save_png_to_buffer method
Backported from da0457fa29.

This commit additionally exposes the method to scripting (4.0).
2020-05-20 15:38:20 +03:00
Rémi Verschelde
b6c551e864
Merge pull request #38875 from bruvzg/tab_drv_sel_32
[Windows, 3.2] Add tablet driver selection.
2020-05-20 13:58:26 +02:00
Rémi Verschelde
c5bb283ede
Merge pull request #38832 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.2) - 6th batch
2020-05-20 13:58:08 +02:00
Hugo Locurcio
a785641196 Allow .res and .tres extensions in the scene CLI positional argument
This closes #35709.

(cherry picked from commit 653334cc8d)
2020-05-20 12:07:08 +02:00
SkyJJ
2197ef0566 Fix Android LineEdit editing bugs
(cherry picked from commit cc473b948f)
2020-05-20 12:07:08 +02:00
Michael Alexsander
3d8cc49ec5 Keep "lock" metadata when changing a Node's type, if applicable
(cherry picked from commit d015e4d6fc)
2020-05-20 11:43:49 +02:00
Ignacio Etcheverry
6dfd80673a Mono/C#: Remove script load error about not a Godot.Object
Any C# file can be loaded as script and at load
time we don't yet know if it's actually meant to
be used as a script. As such, such an check can
result in a lot of false errors.

If the file is really meant to be used as a
script, an error would be printed later when
attempting to instantiate it any way.

(cherry picked from commit 38cd2152e6)
2020-05-20 11:41:01 +02:00
Pedro J. Estébanez
8f90d423b9 Fix too eager GDScriptFunctionState stack cleanup
(cherry picked from commit 1f0548efd4)
2020-05-20 11:40:45 +02:00
bruvzg
e3be0520a1 [Windows] Add quotes only to the command line arguments with special characters.
(cherry picked from commit cac399a829)
2020-05-20 11:39:55 +02:00
Fredia Huya-Kouadio
2c81a82d53 Update the permission string for the Oculus hand tracking to match the latest api update
(cherry picked from commit 6e2988f26a)
2020-05-20 11:37:24 +02:00
Andrea Catania
b0ba122443 Removed const from OAHashMap iterator value
to allows to mutate the value while iterating over it.

(cherry picked from commit 97f9bbcfa3)
2020-05-20 11:35:28 +02:00
bruvzg
9669c437ef macOS signing improvements: allow signed app exporting as ZIP, sign DMG after exporting.
(cherry picked from commit 4bec713b8c)
2020-05-20 11:33:57 +02:00
Marcel Admiraal
a520e03730 Update .appveyor.yml.
- Set options to be the same as travis builds,
  except use warnings=all instead of warnings=extra.
- Fail on warnings as per travis builds.

(cherry picked from commit 106221a733)

Edited to set `werror=no` until we've fixed all warnings.
2020-05-20 11:30:43 +02:00
bruvzg
71b2abbfa3
[Windows, 3.2] Add tablet driver selection. 2020-05-20 09:36:56 +03:00
Rémi Verschelde
f390749439 Fix Visual Studio C4724 warning (potential mod by 0) 2020-05-19 11:09:28 +02:00
Rémi Verschelde
e6a3499bef Fix Visual Studio C4334 warning 2020-05-19 10:19:52 +02:00
Eric Rybicki
c2eea4bde0 Fix certain characters being recognized as special keys in Windows when using the us international layout
(cherry picked from commit e460456e60)
2020-05-19 10:19:52 +02:00
Pedro J. Estébanez
75f6d2ef32 Remove no longer needed patches to jpgd.cpp
(cherry picked from commit abe03ff1f0)
2020-05-19 10:19:52 +02:00
Rémi Verschelde
dcb68e0106 SCons: Improve registration of compilation_db tool, check version
There's a builtin `toolpath` option we can use for that, so no need to hack
around a custom `scons_site` path.

The script requires SCons 3.1.1 or later, so we enable it conditionally.

Follow-up to #32848.

(cherry picked from commit 22c718ab17)
2020-05-18 16:40:33 +02:00
RevoluPowered
9aa4648579 Added compilation database support for clang and gcc
This tool is originally from mongodb.

- Updated CPPSUFFIXES to use scons suffixes
- objective-c files will also be loaded into the compilation database where the compiler / tooling is available to compile the files.

Known limitations:

- This will not work with msvc as your compiler.

(cherry picked from commit 5a6f275b74)
2020-05-18 16:40:33 +02:00
Andrii Doroshenko (Xrayez)
35d95918ae Add custom.py to .gitignore
The default `custom.py` can be created at the root of the Godot
repository to initialize any SCons build options via file which are
specific to user.

(cherry picked from commit a712e14038)
2020-05-18 16:40:33 +02:00