Commit graph

31190 commits

Author SHA1 Message Date
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
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
Fabio Alessandrelli
e2083871eb [HTML5] Port JavaScript inline code to libraries.
The API is implemented in javascript, and generates C functions that can
be called from godot.
This allows much cleaner code replacing all `EM_ASM` calls in our C++
code with plain C function calls.
This also gets rid of few hacks and comes with few optimizations (e.g.
custom cursor shapes should be much faster now).
2020-11-10 11:42:51 +01:00
Fabio Alessandrelli
54cda5c3b8 [HTML5] Update syntax for lto. 2020-11-10 11:42:51 +01:00
Fabio Alessandrelli
05261cceaf Fix gdnative build when WebRTC module is disabled. 2020-11-10 11:42:51 +01:00
Fabio Alessandrelli
25d56e9666 RasterizerDummy fixes. 2020-11-10 11:42:51 +01:00
Tomasz Chabora
cbfbb4538b Register methods for drawing 3D editor overlays 2020-11-10 11:35:34 +01:00
Rémi Verschelde
68067b8d97
Merge pull request #43423 from Calinou/doc-assert-avoid-side-effects
Clarify that code in `assert()` should avoid side effects
2020-11-10 11:31:28 +01:00
Adrian Adeva
74f98de223
Updated gd_glue.cpp to work with the latest changes in the variant refactoring
Without this change the engine dont compile with the mono module enabled.
2020-11-10 11:13:54 +01:00
Rémi Verschelde
32464e569f
Merge pull request #40748 from RandomShaper/improve_packed_fs_api
Improve/fix packed data API
2020-11-10 10:59:34 +01:00
Rémi Verschelde
cb5d5ff413
Merge pull request #43433 from HaSa1002/docs-examples-43356
[Docs] Add C# example for EditorPlugin::forward_canvas_draw_over_viewport
2020-11-10 10:43:37 +01:00
HaSa1002
9dad1c4943 [Docs] Add C# example for EditorPlugin::forward_canvas_draw_over_viewport
Follow up to #43356
2020-11-10 10:24:17 +01:00
Rémi Verschelde
e1a9ec4e19
Merge pull request #43397 from Calinou/fix-filesystem-copy-path-shortcut-conflict
Use Ctrl+Shift+C as the default FileSystem dock Copy Path shortcut
2020-11-10 09:53:48 +01:00
Rémi Verschelde
b51dca64a6
Merge pull request #43383 from vnen/gdnative-string-header
GDNative: Define special char types in string.h
2020-11-10 09:40:26 +01:00
Rémi Verschelde
5d89b1ad43
Merge pull request #43369 from Calinou/allow-svg-project-icon
Allow using SVG images as project icon
2020-11-10 09:37:18 +01:00
Rémi Verschelde
e0285dcc00
Merge pull request #43356 from KoBeWi/editor_art
Add docs for editor viewport drawing methods
2020-11-10 09:34:32 +01:00
Rémi Verschelde
dd851d8f91
Merge pull request #43333 from YeldhamDev/global_rate_scale_min
Disallow setting the AudioServer's 'global_rate_scale' to a value equal or inferior to 0
2020-11-10 09:32:56 +01:00
Rémi Verschelde
8e056ba203
Merge pull request #43417 from akien-mga/variant-default-constructors-docs
Variant: Sync docs with new constructors, fixes to #43403
2020-11-10 08:28:08 +01:00
Rémi Verschelde
0f249f5c0a
Variant: Sync docs with new constructors, fixups after #43403
Change DocData comparators for MethodDoc and ArgumentDoc to get a better
ordering of constructors.
2020-11-09 23:39:53 +01:00
Hugo Locurcio
d6c7073bd7
Clarify that code in assert() should avoid side effects 2020-11-09 21:48:24 +01:00
Rémi Verschelde
efc4d217d6
Merge pull request #43421 from reduz/improve-variant-constructor
Change how no-arg constructor is handled internally in Variant.
2020-11-09 21:17:15 +01:00
reduz
9979abce74 Change how no-arg constructor is handled internally in Variant. 2020-11-09 16:28:15 -03:00
Rémi Verschelde
b4a0661885
Merge pull request #43419 from reduz/document-operators
Make sure operators appear in the docs too
2020-11-09 19:54:34 +01:00
Rémi Verschelde
aa6a1094a5
Merge pull request #43415 from bruvzg/var_ctr_af32
Fix duplicate variant constructor typo.
2020-11-09 19:21:20 +01:00
reduz
11bf2ec6d1 Make sure operators appear in the docs too
Add "operator" and "constructor" qualifiers to make it easier to
see in the docs.
2020-11-09 14:12:01 -03:00
Rémi Verschelde
ed62876683
Merge pull request #40106 from Calinou/improve-3d-selection-box
Improve the 3D editor selection box appearance
2020-11-09 17:46:43 +01:00
Rémi Verschelde
827e5b8bf3
Merge pull request #43412 from akien-mga/variant-rename-_RID-to-RID
Variant: Rename Type::_RID to Type::RID
2020-11-09 17:46:34 +01:00
bruvzg
a4a21654b1
Fix duplicate variant constructor typo. 2020-11-09 18:34:17 +02:00
Rémi Verschelde
fdf84d25f3
Merge pull request #41407 from Calinou/scons-debug-symbols-replace-yes-with-full
Remove `debug_symbols=full` in favor of `debug_symbols=yes`
2020-11-09 16:46:32 +01:00
Rémi Verschelde
9d2e8f2f27
Variant: Rename Type::_RID to Type::RID
The underscore prefix was used to avoid the conflict between the `RID` class
name and the matching enum value in `Variant::Type`.

This can be fixed differently by prefixing uses of the `RID` class in `Variant`
with the scope resolution operator, as done already for `AABB`.
2020-11-09 16:29:04 +01:00
Rémi Verschelde
bd0c40d051
Merge pull request #43413 from akien-mga/ci-warnings-extra
CI: Build with warnings=extra to catch 'em all
2020-11-09 16:28:19 +01:00