Commit Graph

28401 Commits

Author SHA1 Message Date
Andrii Doroshenko (Xrayez) 17938fd547 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 18:17:49 +03:00
Rémi Verschelde bfac9b3538
Merge pull request #39015 from ThakeeNathees/dict-key-autocomplete-regression-fix
regression: dictionary key no autocomplete fix
2020-05-25 15:58:08 +02:00
Rémi Verschelde ab3d7f29a8
Merge pull request #39037 from Faless/js/audio_latency
Fix JS audioContext parameters.
2020-05-25 15:51:42 +02:00
Fabio Alessandrelli 57bdb4cc35 Fix JS audioContext parameters.
Were not passed along correctly.
`latencyHint` is supposed to be in seconds, not milliseconds.
2020-05-25 15:33:19 +02:00
Rémi Verschelde 78f554a839
Merge pull request #36922 from Xrayez/modules-search-path
Add `custom_modules` build option to compile external, user-defined C++ modules
2020-05-25 15:02:09 +02:00
Andrii Doroshenko (Xrayez) a96f0e98d7 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.
2020-05-25 15:33:32 +03:00
Rémi Verschelde fee9742b59 Fix build after merge of #37235
It used APIs that were changed after the PR was last rebased.
2020-05-25 13:10:34 +02:00
Rémi Verschelde aea1a0e983
Merge pull request #37235 from Calinou/improve-editor-feature-profiles
Improve the editor feature profiles UX
2020-05-25 12:56:33 +02:00
Rémi Verschelde a55a97119b
Merge pull request #38887 from AndreaCatania/oahash_imp
OAHashMap crash fix and copy feature.
2020-05-25 11:55:06 +02:00
Rémi Verschelde 6adc1830cb
Merge pull request #39023 from KoBeWi/reinventing_the_wheel
Reverse mouse wheel in animation track editor
2020-05-25 11:36:56 +02:00
Rémi Verschelde 79209a856c
Merge pull request #38262 from Xrayez/resurrect-issues
Bring back and improve comments clarifying the new bug report template
2020-05-25 11:35:07 +02:00
Andrea Catania 094a05d44e - Make sure it's impossible to initialize an OAHashMap with 0 capacity (would cause division by 0)
- Added possibility to copy an OAHashMap
- Added unit tests

This code is generously donated by IMVU.
2020-05-25 11:18:02 +02:00
Fabio Alessandrelli e7b11cc2aa
Merge pull request #38978 from nekomatata/remote-inspector-res-preview
Fix resource preview in remote inspector
2020-05-25 08:33:21 +02:00
Rémi Verschelde 34d7e30798
Merge pull request #39019 from Calinou/add-issue-template-config
Add configuration for GitHub issue templates
2020-05-25 08:22:03 +02:00
Tomasz Chabora f4c6bb568e Reverse mouse wheel in animation track editor 2020-05-25 01:30:05 +02:00
Hugo Locurcio f502fa207a
Add configuration for GitHub issue templates
This adds a few links on the issue creation page and disallows
creating blank issues (since all issues must follow the bug report
template).
2020-05-24 23:26:04 +02:00
Rémi Verschelde 3ecdc27f49
Merge pull request #39004 from nekomatata/android-reset-surface
Proper surface reset when resuming app on Android
2020-05-24 22:31:03 +02:00
Rémi Verschelde 926d6c1082
Merge pull request #39007 from nekomatata/android-object-id-long
Use long instead of int for object id in Android java wrapper
2020-05-24 22:30:00 +02:00
PouleyKetchoupp b987677cc0 Proper surface reset when resuming app on Android
Just re-creating the window instead of restarting the app entirely.
2020-05-24 20:42:21 +02:00
PouleyKetchoupp 39f59786fa 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.
2020-05-24 13:26:18 +02:00
Thakee Nathees 13c372b522 regression: dictionary key no autocomplete fix
Fix: #38998
2020-05-24 16:52:44 +05:30
Rémi Verschelde 57d21ebeda
Merge pull request #38396 from nekomatata/unexpose-sort-children
Fix Container sorting not working when overriding _sort_children in gdscript
2020-05-23 20:22:44 +02:00
PouleyKetchoupp 12685df423 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.
2020-05-23 11:52:02 +02:00
Rémi Verschelde 46450979db
Merge pull request #38942 from neikeq/hinjaku-hinjaku
Fix editor ignoring 'single_window_mode' with no main scene
2020-05-22 18:59:38 +02:00
Rémi Verschelde 2a3f650bf6
Merge pull request #38962 from neikeq/4.0-scons-option-build-cil
Add SCons option to not build C# solutions
2020-05-22 18:29:13 +02:00
Ignacio Etcheverry e3a54152e4 Add SCons option to not build C# solutions 2020-05-22 17:44:33 +02:00
Ignacio Etcheverry 6852b29658 Fix editor ignoring 'single_window_mode' with no main scene
Previously the editor would ignore the 'single_window_mode' editor setting if
the edited project didn't have a main scene configured in the project settings.
2020-05-22 17:41:09 +02:00
Rémi Verschelde 3be9c74d8b
Merge pull request #38951 from bruvzg/win_ink_block_mm_4
Block WM_MOUSEMOVE during Windows Ink pen handling.
2020-05-22 14:34:20 +02:00
Rémi Verschelde 90f46a19a4
Merge pull request #38366 from akien-mga/xatlas-470576d
xatlas: Sync with upstream 470576d
2020-05-22 10:17:14 +02:00
Rémi Verschelde a891c71426
Merge pull request #38886 from Xrayez/save-png-to-buffer-bind
Expose `Image.save_png_to_buffer` method
2020-05-22 09:48:23 +02:00
bruvzg b08b027a9a
Block WM_MOUSEMOVE during Windows Ink pen handling. 2020-05-22 10:44:47 +03:00
Rémi Verschelde efe291a206
Merge pull request #38921 from dreamsComeTrue/move-tool-with-arrow-keys
Fix moving 2D node with mouse after using arrow keys
2020-05-22 09:44:19 +02:00
Rémi Verschelde 07ada02cb4
Merge pull request #38943 from neikeq/yakamashi
Mono/C#: Don't try to load project assembly in project manager
2020-05-22 09:16:26 +02:00
Rémi Verschelde bbd2115cb4
Merge pull request #38941 from neikeq/issue-38889
Fix condition in ClassDB tests that should return
2020-05-22 09:13:59 +02:00
Rémi Verschelde 0bbbcc1d2a
Merge pull request #38940 from neikeq/issue-33896
Mono/C#: Fix values not updated in remote inspector
2020-05-22 09:09:19 +02:00
Rémi Verschelde 36a0fe6857
Merge pull request #38936 from dreamsComeTrue/tab-container-icon-separation
Clarifies 'icon_separation' in TabContainer (instead of 'hseparation')
2020-05-22 09:05:23 +02:00
Rémi Verschelde eb00dad00c
Merge pull request #38930 from GuidoRevers/fix_vulkan_win_segmentation_fault
Fix segmentation fault when loading project
2020-05-22 08:58:36 +02:00
Ignacio Etcheverry d7e21ecd63 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.
2020-05-22 02:17:59 +02:00
Ignacio Etcheverry ecd0cccc76 Fix condition in ClassDB tests that should return
Also changed the name of the test macros to be clearer.
2020-05-22 01:52:32 +02:00
Ignacio Etcheverry 51e1614d28 Mono/C#: Fix values not updated in remote inspector 2020-05-22 00:58:38 +02:00
Dominik 'dreamsComeTrue' Jasiński 08377b3f04 Clarifies 'icon_separation' in TabContainer (instead of 'hseparation')
Fixes: #38911
2020-05-21 21:53:17 +02:00
GuidoRevers cf20c0343f Fix segmentation fault when using context_vulkan after memdelete context_vulkan 2020-05-21 20:38:58 +02:00
Dominik 'dreamsComeTrue' Jasiński 03b54f8a35 Fix moving 2D node with mouse after using arrow keys
Fixes: #38894
2020-05-21 14:50:35 +02:00
Rémi Verschelde 9239412027
Merge pull request #38891 from bruvzg/fix_doc_const_order
Docs: Fix order of variant constants.
2020-05-21 14:27:32 +02:00
Rémi Verschelde 78e223569b
Merge pull request #33689 from jbuck3/signal-error
Trigger an error when trying to define a preexisting signal in GDScript
2020-05-21 11:01:23 +02:00
Rémi Verschelde af366c7adf
Merge pull request #35900 from yamgent/unreachable
Fix false positive "Unreachable code" warning for loops
2020-05-21 10:59:59 +02:00
Rémi Verschelde e6ff562a4b
Merge pull request #38907 from cj-dimaggio/rasterizer_dummy_leak
Delete DummyMesh when RasterizerStorageDummy is Freed
2020-05-21 10:55:59 +02:00
CJ DiMaggio 66a294d459 Delete DummyMesh when RasterizerStorageDummy is freed 2020-05-20 21:23:37 -04:00
bruvzg 409562558a
Docs: Fix order of variant constants. 2020-05-20 16:45:42 +03:00
Rémi Verschelde 0b8cb945cf doc: Sync classref with current source 2020-05-20 15:29:37 +02:00