Commit graph

5782 commits

Author SHA1 Message Date
Rémi Verschelde
d7aea6ff6c
Merge pull request #45447 from pycbouh/graphedit-minimap-active-invisible
Fix minimap capturing events and improve its theme and editor settings
2021-01-25 20:32:46 +01:00
Yuri Sizov
9d9d0f0bc9 Fix minimap capturing events and improve its theme
Add an editor setting for minimap opacity in visual editors
2021-01-25 21:49:07 +03:00
David Snopek
39e022e01c Support mono devices in WebXR 2021-01-25 08:39:50 -06:00
George Marques
29e5dd06c7
GDNative: Remove print functions
Those are now utilities so the function pointer can be fetched when
needed.
2021-01-25 09:28:32 -03:00
George Marques
030d1d6a17
GDNative: New core API
This API now uses the discovery functions present in Variant instead of
wrapping every built-in function. Users now need to query for function
pointers and use those.
2021-01-25 09:28:02 -03:00
bruvzg
eeced6d6f2
[CTL] Do not break line on the span (e.g. RTL BBCode tag) edges. 2021-01-25 09:45:29 +02:00
K. S. Ernest (iFire) Lee
294c2996e3 Restore gltf node animation export.
Misc style changes.
2021-01-24 19:02:57 -08:00
Aaron Franke
abd06567a7
Make GLTF not depend on CSG or GridMap 2021-01-22 17:20:07 -05:00
Rémi Verschelde
8a6d4dd5ed
Merge pull request #45023 from reduz/optimize-shader-vgpr1
Shader optimizations to reduce VGPR usage and increase occupancy
2021-01-20 00:10:21 +01:00
Rémi Verschelde
76c6007aa6
Cleanup: Remove executable bit from files which don't need it
Drop unused xpmfix.sh script.
2021-01-19 23:36:42 +01:00
reduz
099dee35f4 Added GPU based cluster builder
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
2021-01-19 23:31:06 +01:00
magian1127
da234cdbc6 C # mono supports Unicode code 2021-01-19 21:44:07 +08:00
Sergey Minakov
13a6a83b44 [iOS] Remove plugins from modules. 2021-01-17 14:33:39 +03:00
Fabio Alessandrelli
9a2f848855
Merge pull request #45171 from Calinou/doc-enet-udp-only
Mention that NetworkedMultiplayerENet uses UDP only
2021-01-15 15:52:29 +01:00
Rémi Verschelde
011d201046
Merge pull request #43923 from madmiraal/fix-43588
Fix cast_motion sometimes failing
2021-01-14 20:44:19 +01:00
Fabian Stiewitz
934277bad2 fix gltf not importing files w/o bufferViews or accessors 2021-01-14 19:13:47 +01:00
Hugo Locurcio
7b33498995
Mention that NetworkedMultiplayerENet uses UDP only
This is important to clarify for those doing port forwarding.
2021-01-14 17:15:20 +01:00
Rémi Verschelde
8d4698db36
Merge pull request #45159 from madmiraal/fix-45145
Only remove Bullet's body constraints when removing body from space
2021-01-13 17:15:45 +01:00
Rémi Verschelde
0b409d89d0
Merge pull request #45136 from akien-mga/clang-format-11
CI: Update to clang-format 11 and apply ternary operator changes
2021-01-13 16:10:44 +01:00
Marcel Admiraal
797a7fc6cc Only remove Bullet's body constraints when removing body from space 2021-01-13 13:32:46 +00:00
Marcel Admiraal
3ee860e3d1 Update Mono module to use new execute method. 2021-01-13 09:34:14 +00:00
Aaron Franke
ddd6fb37e8
Update PolyPartition / Triangulator library 2021-01-12 13:46:16 -05:00
Rémi Verschelde
af878716f2
CI: Update to clang-format 11 and apply ternary operator changes 2021-01-12 19:32:53 +01:00
K. S. Ernest (iFire) Lee
59b61a1f64 Scale error in mesh optimizer so it uses absolute scale.
Switch to simplify sloppy for another try.

Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
2021-01-11 06:07:54 -08:00
Rémi Verschelde
51992250e6
Merge pull request #43176 from mateosss/crash-uninit-const
Fix crash by adding nullcheck for uninitialized constants
2021-01-11 14:00:54 +01:00
Rémi Verschelde
6d48943768
Merge pull request #43980 from gvekan/fix-missing-function-hints
Fix missing function hints
2021-01-11 13:54:22 +01:00
Rémi Verschelde
c17413f159
Merge pull request #44104 from nekomatata/coroutine-await-fix
Fix error when calling coroutine with await in _ready
2021-01-11 13:54:04 +01:00
Rémi Verschelde
813bdb4941
Merge pull request #44005 from RandomShaper/gds_needless_check
Remove useless check in GDScript
2021-01-11 13:53:52 +01:00
Rémi Verschelde
3e9a40cdc0
Merge pull request #44604 from lyuma/gdscript_dictionary_crash
GDScript: Fix crash when iterating through empty dictionary.
2021-01-11 13:53:12 +01:00
Rémi Verschelde
8363c44265
Merge pull request #44719 from ThakeeNathees/assert-argument-bug-fixed
GDScript assert message parsing bug fixed
2021-01-11 13:51:44 +01:00
Rémi Verschelde
a2021588ca
Merge pull request #44672 from ThakeeNathees/array-dict-const-fold-bug-fix
Array/Dictionary marked as not safe to const fold
2021-01-11 13:51:31 +01:00
Rémi Verschelde
bcfb698fb4
Merge pull request #44818 from ThakeeNathees/const-crash-fix
GDScript crash at incomplete const bug fix
2021-01-11 13:51:18 +01:00
Rémi Verschelde
aaf6725150
Merge pull request #44889 from ThakeeNathees/builtin-invalid-call-crash-fix
GDScript invalid method call on built-in crash fix
2021-01-11 13:51:07 +01:00
Rémi Verschelde
0dba21a4d1
Merge pull request #45076 from ThakeeNathees/gdscript-operator-precedence-bug-fix
GDScript operator `+` `-` precedence bug fix
2021-01-11 13:50:00 +01:00
Rémi Verschelde
29db5bd25e
Merge pull request #45075 from VedatGunel/reserved-keyword
Change reserved keyword in Regex documentation code
2021-01-11 12:01:54 +01:00
Rémi Verschelde
c3b23f0203
Merge pull request #45054 from dsnopek/webxr-yaxis-master
Invert the Y-axis on thumbsticks and trackpads in WebXR
2021-01-10 20:25:14 +01:00
Thakee Nathees
0889f14af9 GDScript operator + - precedence bug fix
Fix: #43265
2021-01-10 18:33:05 +05:30
Vedat Günel
446a3f8ff2 Change reserved keyword in Regex documentation code 2021-01-10 15:56:51 +03:00
Fabio Alessandrelli
eb5304842a Fix WebXR module.
Some functions and enums were renamed in 4.0 but not updated in the
WebXR code.
2021-01-10 12:04:09 +01:00
David Snopek
7a0d4275a2 Invert the Y-axis on thumbsticks and trackpads in WebXR 2021-01-09 15:02:22 -06:00
Aaron Franke
1d5042c9e2
Use Math_TAU and deg2rad/rad2deg in more places and optimize code 2021-01-09 03:47:14 -05:00
Ignacio Etcheverry
fafdc0b0c1 Add ClassDB tests to look for core API deps on editor API
The ClassDB tests will detect when the core API has dependencies on
the editor API, which is not allowed.

This should prevent or warn early about issues like #44856
2021-01-09 00:18:03 +01:00
Ignacio Etcheverry
da90364adf C#: Fix System.Collections.Generic.List marshalling 2021-01-08 21:51:25 +01:00
NutmegStudio
fba23f5475 make EditorSceneImporterGLTF and GLTFMesh APIType::API_EDITOR 2021-01-08 12:01:53 +07:00
Rémi Verschelde
efdca23f87
Merge pull request #44918 from Chaosus/vs_assign_default_value
Auto-assign default value for variable in visual script on type changing
2021-01-07 16:51:01 +01:00
Rémi Verschelde
cf4c58838f
Merge pull request #44986 from aaronfranke/audiostream
Descriptive error message when using AudioStream(OGG/MP3) incorrectly
2021-01-07 11:42:40 +01:00
Rémi Verschelde
55e876777c
Merge pull request #44832 from nathansmith339/opensimplex-optimization
OpenSimplex data optimization
2021-01-07 10:51:30 +01:00
Aaron Franke
193564d83e
Descriptive error message when using AudioStream(OGG/MP3) incorrectly 2021-01-07 03:24:30 -05:00
nevarek
041fe20f64 Optimize data format for OpenSimplex images
The previous RGBA format included unused RGB data. Using the LA8 format
removes the need to store the extra data.

The Docs have been updated to reflect the format changes.
2021-01-06 19:01:21 -08:00
Rémi Verschelde
a3b76e26f3
doc: Sync classref with current source 2021-01-06 15:23:58 +01:00
Gordon MacPherson
74a72cf85e Preliminary Blender FBX support [4.0]
limitations:
- always has to use generated normal's.
- some animations won't be compatible (yet)

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-01-05 21:58:58 +00:00
Rémi Verschelde
7f98e663d1
Merge pull request #44939 from akien-mga/gltf-external-images
glTF: Fix loading external images as buffer
2021-01-05 20:45:27 +01:00
reduz
446618cf94 Change the light attenuation formulas.
-Much better looking, physically based.
-Almost negligible extra cost.
2021-01-05 14:44:05 -03:00
Rémi Verschelde
e268a8e523
glTF: Fix loading external images as buffer
We should first attempt loading as external files, thus creating a dependency.
Loading as a buffer should only be used as fallback to support manually loading
as PNG or JPEG depending on the defined mimeType.

Fixes #44309, was a regression from #42504.
2021-01-05 16:26:48 +01:00
zero13cool
9f3d7d9709 Changed type to make it work on x32 architecture. 2021-01-05 01:44:52 +00:00
Rémi Verschelde
c13bb0b541
Merge pull request #44154 from dsnopek/webxr-master
Add WebXR support (for Godot 4.0)
2021-01-05 00:19:50 +01:00
David Snopek
a54a2d65e1 Add support for WebXR 2021-01-04 17:02:37 -06:00
Rémi Verschelde
0b49e5de12
Merge pull request #44914 from swarnimarun/master-visualscript-refactor
Fix doc for the VisualScript class after #39649 PR
2021-01-04 21:19:00 +01:00
Swarnim Arun
35b8fc2d85 Fix doc for the VisualScript class. 2021-01-05 00:15:53 +05:30
Yuri Roubinsky
8d240f467d Auto-assign default value for variable in visual script on type changing 2021-01-04 21:10:04 +03:00
Rémi Verschelde
add3a825f0
Merge pull request #39649 from swarnimarun/master-visualscript-refactor
Visual Script Refactor
2021-01-04 15:02:23 +01:00
Rémi Verschelde
215d18814e
doc: Sync classref with current source 2021-01-04 14:33:44 +01:00
Thakee Nathees
01c11ec29b GDScript builtin invalid function call crash fix
Fix: #44852
2021-01-03 18:44:01 +05:30
Rémi Verschelde
3e10962dbb
Merge pull request #44862 from Calinou/opensimplex-no-max-octaves-define
Use `static const int` instead of `#define` for OpenSimplexNoise octaves
2021-01-01 22:26:50 +01:00
Hugo Locurcio
7a65375b7a
Use static const int instead of #define for OpenSimplexNoise octaves
This closes #44860.
2021-01-01 21:32:50 +01:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Swarnim Arun
c6771358aa Refactoring Visual Script
* for bloat from hacks for default function
* for ease of development nodes becoming detached from functions
2021-01-01 22:50:33 +05:30
Marcel Admiraal
026aa4381d Add signal to inform joint that body has exited tree 2020-12-31 16:19:57 +00:00
Thakee Nathees
18f30dda63 GDScript crash at incomplete const bug fix 2020-12-30 23:27:46 +05:30
K. S. Ernest (iFire) Lee
dff1d8d7b0 Expose gltf2 eight weights. 2020-12-29 05:28:00 -08:00
Rémi Verschelde
1dd75f41e5
FBX: Clarify outdated format error
See #44780.
2020-12-29 12:14:30 +01:00
Rémi Verschelde
2086acfacc
Merge pull request #44614 from madmiraal/rename-normalmap-normal_map
Consistently use normal_map
2020-12-29 10:39:56 +01:00
Rémi Verschelde
09212fba1e
Fix missed renamings from empty() to is_empty()
Those were missed in #44401 or added by later PRs.
2020-12-29 09:55:07 +01:00
Marcel Admiraal
b4a190e0bc Consistently use normal_map 2020-12-29 08:04:19 +00:00
Rémi Verschelde
6cebb8c117
Merge pull request #44586 from madmiraal/rename-stepify
Rename Math::stepify to snapped
2020-12-28 21:46:43 +01:00
Rémi Verschelde
44357ddc28
Editor: Fix invalid use of Node::get_viewport() after rename of EditorNode::get_viewport()
Fixes #44761, was a regression from #44524.

The PR passed CI because EditorNode::get_viewport() used to shadow Node::get_viewport()
(which was a bug in itself, fixed by #44524), so once it was renamed the existing code
relying on it fell back to the now available Node::get_viewport().
This might bite some thirdparty modules too.
2020-12-28 19:51:39 +01:00
Rémi Verschelde
a04b9669e8
Merge pull request #42881 from madmiraal/fix-39767
Set Bullet collision shape index to zero when using a single shape or ConcavePolygonShape
2020-12-28 16:16:33 +01:00
Rémi Verschelde
4ca98c7a35
Merge pull request #44183 from madmiraal/box_shape-size
Use a size Vector for adjusting the size of Rectangles and Boxes
2020-12-28 16:06:50 +01:00
Rémi Verschelde
058f3fe069
Merge pull request #44149 from madmiraal/rename-tangent-orthogonal
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-28 16:00:12 +01:00
Rémi Verschelde
9addcb7603
Merge pull request #44751 from madmiraal/rename-rect-grow_margin
Rename Rect2 and Rect2i grow_margin() to grow_side()
2020-12-28 15:56:14 +01:00
Marcel Admiraal
01d0360580 Fix GLTF after camera near and far rename merge 2020-12-28 14:26:19 +00:00
Rémi Verschelde
feb4e5ed2c
Merge pull request #44569 from madmiraal/rename-unselect-deselect
Rename unselect to deselect
2020-12-28 14:53:43 +01:00
Marcel Admiraal
b743a2ef3c Rename Math::stepify to snapped 2020-12-28 13:01:30 +00:00
Marcel Admiraal
b628912af0 Rename Rect2 and Rect2i grow_margin() to grow_side() 2020-12-28 12:47:33 +00:00
Marcel Admiraal
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Adam Scott
4771004664 Add missing "normalized" accessor property to glTF document 2020-12-28 03:09:19 -05:00
Rémi Verschelde
4425f7c2c1
Merge pull request #44515 from eddsanity/master
Fixed #42149: bug where the default C# script template would sometimes produce an invalid class name
2020-12-27 21:40:30 +01:00
Rémi Verschelde
bf9db22352
Merge pull request #44582 from nathanfranke/document-rect-intersection
Update Rect intersection documentation, and rename method on Mono
2020-12-27 20:23:00 +01:00
Rémi Verschelde
d55e335026
Merge pull request #44718 from hoontee/fix-44713
Properly handle empty CSGShapes
2020-12-27 11:37:36 +01:00
Thakee Nathees
ebade0e454 GDScript assert message parsing bug fixed
Fix: #43540
2020-12-27 13:13:50 +05:30
hoontee
24a6aac472 Properly handle empty CSGShapes 2020-12-27 01:10:58 -06:00
Nathan Franke
3fda53c256
Update Rect intersection documentation, and rename method on Mono 2020-12-26 22:16:57 -06:00
Rémi Verschelde
f2968f59e1
Merge pull request #44682 from madmiraal/fix-etc-quality
Fix ETC quality setting
2020-12-26 10:23:06 +01:00
Marcel Admiraal
072b8a1894 Fix ETC quality setting 2020-12-26 07:21:17 +00:00
Marcel Admiraal
709aa8ae2c Ensure flags are applied to CVTT options 2020-12-25 11:28:29 +00:00
Thakee Nathees
16bb01adfb Array/Dictionary marked as not safe to const fold
Fix: #44459
2020-12-25 12:33:55 +05:30
O01eg
1393ededfd
Fix visibility for GCC 2020-12-25 09:56:00 +03:00
Rémi Verschelde
c4c211c3b7
Merge pull request #44605 from madmiraal/rename-control-margin
Rename Control margin to offset
2020-12-23 18:24:00 +01:00
K. S. Ernest (iFire) Lee
58a00b4f3c Update FBX because of changes in the core api. 2020-12-23 08:52:52 -08:00
Rémi Verschelde
35a8ebaa10
Merge pull request #44499 from RevoluPowered/fbx_plugin_port_4.0
[fbx] Port FBX module from 3.2 branch
2020-12-23 17:14:56 +01:00
geekrelief
cc5d8bb5ad Removes the gdnative library when no script (gdns) references it any longer. This enables hot reload for gdnative. 2020-12-23 06:36:01 -08:00
Lyuma
4c4a405887 Fix mistake in GLTFMesh.mesh property 2020-12-23 02:11:13 -08:00
Marcel Admiraal
4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
K. S. Ernest (iFire) Lee
4b4efd2674 Add exporting glTF2.
* Support KHR_texture_transform.
* Support exporting glTF2
* Support exporting instanced scenes
* Extract into a gltf state and gltf document
* Add a tools menu for exporting gltf2
2020-12-22 16:56:28 -08:00
Gordon MacPherson
6607fc7da9 Port FBX module from commit 68013d2393
Ports FBX module from 3.2 branch to 4.0

This is the only time the plugin will be updated from 3.2 and marks the final time we do this, from now on we will backport FBX to 3.2 with fixes.

Changelog:
- fixed crash importing files with buggy format (because of bad newlines in ASCII data, this is yet to be fixed fully)
- fixed const correctness with C++/C version change
- rewrote material handling to be simpler and better
- ports from 3.2 to 4.0 the fbx importer
2020-12-23 00:45:03 +00:00
Rémi Verschelde
8ad0ff8ae5
Merge pull request #44487 from bruvzg/ctl_fixes_2
[CTL] Fix RTL scrolling and tabs selection.
2020-12-23 01:15:29 +01:00
Gordon MacPherson
5b5fdb0adf remove assimp pending fbx upgrade 2020-12-22 21:31:06 +00:00
Lyuma
0d4b750051 Fix crash when iterating through empty dictionary. 2020-12-21 20:15:29 -08:00
Marcel Admiraal
7b293eddfb Rename unselect to deselect 2020-12-21 10:26:41 +00:00
Marcel Admiraal
fdf92ca298 Rename XRPositionalTracker methods
Renames:
- set_type() -> set_tracker_type()
- set_name() -> set_tracker_name()
- get_tracks_orientation() - `is_tracking_orientation()
- get_tracks_position() -> `is_tracking_position()
- get_hand() -> get_tracker_hand()
- set_hand() -> set_tracker_hand()
2020-12-21 06:32:53 +00:00
bruvzg
1adea98d07
Use integer text position in scroll container, TextEdit and canvas editor, to ensure sharp text rendering.
Use integer font align/advance with any font scaling, to ensure sharp text rendering.
2020-12-21 07:49:27 +02:00
Rémi Verschelde
bccbd4be90
Merge pull request #44261 from madmiraal/rename-trackerhand-enums
Rename TrackerHand enums
2020-12-21 00:26:44 +01:00
Marcel Admiraal
2df9a8ccad Rename Rect2 and Rect2i clip() to intersection() 2020-12-19 12:59:08 +00:00
Eyad
be1c161b0b Fixes #42149 and fixes indentation errors to pass clang-format 2020-12-19 13:47:16 +02:00
Rémi Verschelde
33ad8c5048
Merge pull request #43898 from madmiraal/fix-43852
Remove any constraints connected to a Bullet body when removing it
2020-12-19 09:29:45 +01:00
Rémi Verschelde
d54d958a3e
Merge pull request #44493 from Chaosus/vs_fix_init
Fix broken members panel in visual script editor
2020-12-18 13:42:57 +01:00
Yuri Roubinsky
d6bdd042bc Fix broken members panel in visual script editor 2020-12-18 14:16:12 +03:00
Rémi Verschelde
c7b53c03ae
SCons: Add explicit dependencies on thirdparty code in cloned env
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.

So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).

This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
2020-12-18 10:29:34 +01:00
PouleyKetchoupp
2e4ee06b7a Fix error when calling coroutine with await in _ready
The code paths for calling async functions seemed to be missing in some
cases, causing a debug break and false positive error.
2020-12-17 09:01:39 -07:00
Rémi Verschelde
b07a3f503b
Merge pull request #44105 from neikeq/mono-wasm-m2n-hook
Mono: Make Godot provide its own WASM m2n trampolines
2020-12-17 09:58:24 +01:00
Rémi Verschelde
f6820306e0
Merge pull request #44374 from neikeq/mono-wasm-extra-framework-asms
Mono: Add extra WASM framework assemblies on game export
2020-12-17 09:56:46 +01:00
Rémi Verschelde
9e49dbda2a
Merge pull request #44360 from bruvzg/ctl_punct_word_break
Add word breaks on punctuation characters.
2020-12-17 09:02:01 +01:00
Rémi Verschelde
88b8c3ec00
Merge pull request #44424 from briansemrau/gdscript-fix-and
Fix gdscript `and` operator
2020-12-16 14:42:56 +01:00
Brian Semrau
61ac640aa0 Fix gdscript and operator 2020-12-16 07:41:10 -05:00
Jordan Schidlowsky
7d07e20bda fixes crash in disassemlber for opcode OPCODE_ASSIGN_TYPED_NATIVE 2020-12-15 21:44:52 -06:00
Rémi Verschelde
94b15bfb89
Merge pull request #44275 from vnen/variant-function-arg-pointers
Use pointer parameters in Variant function pointers
2020-12-15 20:52:03 +01:00
Rémi Verschelde
abfc528439
Merge pull request #43890 from vnen/gdscript-builtin-functions-refactor
GDScript: Refactor builtin functions
2020-12-15 20:51:38 +01:00
Rémi Verschelde
0415a2d913
Merge pull request #44391 from madmiraal/fix-42285
Remove Generic6DOFJoint precision property
2020-12-15 19:06:25 +01:00
Marcel Admiraal
9bc62bf449 Remove Generic6DOFJoint precision property 2020-12-15 10:14:48 +00:00
Ignacio Etcheverry
2af8a72663 Mono: Don't use -rdynamic when compiling for WASM
`-rdynamic` was causing the emsdk linker to silently fail to
generate the output `.wasm` file (even though exit code was 0).
2020-12-14 21:16:09 +01:00
Ignacio Etcheverry
7439b5595d Mono: Make Godot provide its own WASM m2n trampolines
This depends on a custom Mono patch from this commit:
godotengine/godot-mono-builds@0e312939bd
2020-12-14 21:16:01 +01:00
Ignacio Etcheverry
b98e8b11e6 Mono: Add extra WASM framework assemblies on game export
This is needed with newer Mono versions, at least with Mono 6.12+

Depends on the following commit from our build scripts:
godotengine/godot-mono-builds@9d75cff174
2020-12-14 20:55:29 +01:00
Marcel Admiraal
8509c8c8fc Rename AcceptDialog get_ok() to get_ok_button()
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-14 18:43:52 +00:00
bruvzg
06ae77a320
Add word breaks on punctuation characters. 2020-12-14 11:36:13 +02:00
Rémi Verschelde
a511a26ad8
Merge pull request #44353 from skyace65/PowFix
Pow method doc fix
2020-12-14 07:38:08 +01:00
reduz
77a045e902 Rework Mesh handling on scene importing.
-Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer.
-Integrated MeshOptimizer
-Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
2020-12-13 21:29:51 -03:00
skyace65
4fd20015f3 Pow method doc fix 2020-12-13 17:53:30 -05:00
bruvzg
c1d261fdb0
[Complex Text Layouts] Add variable fonts support. 2020-12-13 18:43:39 +02:00
Rémi Verschelde
2760f5d0b4
Merge pull request #44315 from madmiraal/fix-handles-baseexception
Don't handle BaseException in build scripts
2020-12-12 12:23:07 +01:00
Marcel Admiraal
8ef5e3201c Don't handle BaseException in build scripts 2020-12-12 10:05:42 +00:00
Rémi Verschelde
9263f8eb4b
Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2
We haven't had a proper implementation for COMPRESS_PVRTC2 (which is PVRTC1 2-bpp) in years,
so let's drop it instead of keeping a compress type which doesn't work.

The other enum values were renamed to clarify that our PVRTC2 and PVRTC4 are respectively
PVRTC1 2-bpp and PVRTC1 4-bpp. PVRTC2 2-bpp and 4-bpp are not implemented yet.
2020-12-10 23:14:04 +01:00
George Marques
e4e9231420
Use pointer parameters in Variant function pointers
Instead of references. This is needed because those function pointers
are used in GDNative which needs to work with plain C, which doesn't
support passing parameters by reference.
2020-12-10 18:18:47 -03:00
Rémi Verschelde
1a31274855
PVRTC: Move compress func to modules/pvr, drop obsolete PVRTexTool code
The code we had for PVRTexTool doesn't work as it's not compatible with current
PVRTexTool CLI options, and likely hasn't been for years.

Instead, we have our own vendored pvrtccompressor thirdparty library which all
users have thus de-facto been using. This commit moves the compress code to
`modules/pvr` where it belongs.

There's no proper compress function for PVRTC 2-bit format, that's a bug that
will need to be fixed (currently it's compressed as 4-bit format even if you
use Image::FORMAT_PVRTC2).

Fixes #28669.
2020-12-10 22:08:01 +01:00
Marcel Admiraal
e40ab06599 Rename TrackerHand enums
Renames:
TRACKER_LEFT_HAND -> TRACKER_HAND_LEFT
TRACKER_RIGHT_HAND -> TRACKER_HAND_RIGHT
2020-12-10 10:30:45 +00:00
Rémi Verschelde
cf62289d24
LSP: Fix iterator in enum API dump 2020-12-09 13:34:29 +01:00
bruvzg
644f739660
Static analyzer fixes:
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
Rémi Verschelde
90bdba576a
Merge pull request #43742 from qarmin/editor_modules_default_values
Initialize class/struct variables with default values in platform/ and editor/
2020-12-08 15:53:42 +01:00
Rémi Verschelde
edb3686ee2
Merge pull request #44190 from touilleMan/constify-ScriptLanguage.can_inherit_from_file
Constify ScriptLanguage.can_inherit_from_file
2020-12-08 13:59:46 +01:00
Rémi Verschelde
360cfeedac
Merge pull request #44176 from touilleMan/global_class_naming-for-pluginscript
Add PluginScript support for global class naming/icon path
2020-12-08 13:51:06 +01:00
Emmanuel Leblond
c4c18a2c58
Add PluginScript support for global class naming/icon path 2020-12-08 13:17:22 +01:00
Emmanuel Leblond
a211812932
Constify ScriptLanguage.can_inherit_from_file 2020-12-08 13:06:15 +01:00
Marcel Admiraal
4da4feed18 Use Vector3 instead of 3 floats for CSGBox3D dimensions 2020-12-08 11:58:30 +00:00
Marcel Admiraal
43c9106806 Use box size instead of extents for Shape dimensions 2020-12-08 11:58:21 +00:00
Rémi Verschelde
d94de32579
Merge pull request #44177 from touilleMan/pluginscript-allow-custom-can_inherit_from_file
Allow PluginScript to customize language's can_inherit_from_file attribute
2020-12-08 12:46:02 +01:00
Rémi Verschelde
d94bf9f7b6
Merge pull request #44136 from neikeq/scons-mono-bcl-option
Mono: Add mono_bcl SCons option for a custom BCL location
2020-12-08 09:43:50 +01:00
Rémi Verschelde
a834055c63
Merge pull request #44148 from Calinou/tweak-log-file-names
Tweak log file names for consistency between Mono and non-Mono logs
2020-12-08 09:42:54 +01:00
Emmanuel Leblond
014efeb272
Allow PluginScript to customize language's can_inherit_from_file attribute 2020-12-08 00:56:01 +01:00
Rémi Verschelde
e20011b0da
Merge pull request #44076 from Faless/js/4.x_gdnative
[HTML5] Optional GDNative Support
2020-12-07 15:34:33 +01:00
Rémi Verschelde
44a88244de
Merge pull request #44162 from aaronfranke/arg
Improve some argument names for core types
2020-12-07 13:35:25 +01:00
Rémi Verschelde
d32878bfa8
Merge pull request #43007 from DeleteSystem32/mp3-support
Add MP3 import and playback support
2020-12-07 11:36:03 +01:00
Rémi Verschelde
3c9c2cbb23
Merge pull request #44093 from nekomatata/gdscript-base-class-init
Fix base script not initialized properly in some cases
2020-12-07 11:29:45 +01:00
Rémi Verschelde
93e9c9c470
Merge pull request #43981 from bruvzg/ctl_font_spacing
[Complex Text Layouts] Adds missing Font::SPACING_* to the controls, align glyphs to pixel grid.
2020-12-07 11:08:34 +01:00
Aaron Franke
5465e604bb
Improve argument names for core types 2020-12-07 05:01:33 -05:00
Rémi Verschelde
73eb8d5a20
Merge pull request #44117 from bruvzg/mem_fonts
Load dynamic fonts to memory on all platforms, to avoid locked files.
2020-12-07 10:43:49 +01:00
bruvzg
29e5b900d0
Load dynamic fonts to memory on all platforms, to avoid locked files. 2020-12-07 10:53:15 +02:00
bruvzg
0ef483e9a9
[Complex Text Layouts] Performance optimizations. 2020-12-07 08:53:02 +02:00
Hugo Locurcio
4d81776fc9
Tweak log file names for consistency between Mono and non-Mono logs
- Avoid spaces in Mono log file names.
- Use a `.log` extension for Mono logs, just like non-Mono logs.
- Use periods to separate hours/minutes/seconds for non-Mono logs.
2020-12-06 20:17:02 +01:00
bruvzg
384211af4b
[Complex Text Layouts] Fix bitmap font memory leak. 2020-12-06 20:31:00 +02:00
bruvzg
c3cc9d82b4
[Complex Text Layouts] Align glyph offsets and advances to the pixel grid. 2020-12-06 20:31:00 +02:00
bruvzg
a458e90179
[Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph.
Fixes oversized editor control height (default editor spacing is negative) and control size changing when text is set.
2020-12-06 20:30:59 +02:00
Marcel Admiraal
a24c38d1a8 Rename Vector2.tangent() to Vector2.orthogonal() 2020-12-06 18:16:06 +00:00
PouleyKetchoupp
87d73faa66 Fix base script not initialized properly in some cases
Storing script references to pointer only in result.script_type could
lead to losing the last reference, causing further conversions from
Script* to Ref<Script> to fail.

Now result.script_type_ref is always set first, and then cleared in the
specific case of the script being the owner, to avoid cyclic reference
issues.
2020-12-06 08:20:33 -07:00
Rémi Verschelde
d834789f47
Merge pull request #44106 from neikeq/mono-invoke-no-params-boxing
Don't box params on Native->C# calls with Variant params
2020-12-06 09:41:03 +01:00
Ignacio Etcheverry
a946f84e3d Don't box params on Native->C# calls with Variant params
Godot uses Variant parameters for calls to script methods.
Up until now we were boxing such parameters when marshalling
them for invokation, even if they were value types.

Now Godot allocates the marshalled parameters on the stack,
reducing the GC allocations resulted from boxing.
2020-12-06 01:36:20 +01:00
Ignacio Etcheverry
dd5ace219d Mono: Add mono_bcl SCons option for a custom BCL location
Makes it let's bothersome to work with builds from our
godotengine/godot-mono-builds scripts, as they write the
BCL into an output directory separate from the runtime
(which is good as two runtimes may share the same BCL).
2020-12-06 01:15:20 +01:00
Aaron Franke
1b348b3c17
Remove connect *_compat methods 2020-12-05 17:56:47 -05:00
Rémi Verschelde
c574b4d086
Merge pull request #44091 from madmiraal/rename-cubemesh-boxmesh
Rename CubeMesh to BoxMesh
2020-12-05 16:48:15 +01:00
Rémi Verschelde
83cdc9d7b7
Merge pull request #44109 from neikeq/fix-await-to-signal-many-at-once
C#: Fix multiple awaits to same signal result in connect error
2020-12-05 16:42:19 +01:00
Rémi Verschelde
45ecb21901
Merge pull request #44108 from neikeq/editor-fix-unhandled-exception-rethrown
Fix unhandled exception re-thrown in the editor
2020-12-05 16:41:47 +01:00
Rémi Verschelde
af61ad5e36
Merge pull request #44107 from neikeq/fix-slow-build-log-update
C#: Fix very slow build log update in the editor
2020-12-05 16:41:24 +01:00
Marcel Admiraal
df6b061dbb Rename CubeMesh BoxMesh 2020-12-05 11:48:26 +00:00
Aaron Franke
5ef62e546f
Rename EditorNode3DGizmoPlugin "get_name" to "get_gizmo_name" 2020-12-04 19:34:50 -05:00
Aaron Franke
5dddf4377a
Rename RD texture "type" to "texture_type"
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04 19:34:50 -05:00
Aaron Franke
19bdd01438
Rename RD uniform "type" to "uniform_type"
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04 19:34:50 -05:00
Aaron Franke
40b81339d0
Rebind Mesh/ArrayMesh enums 2020-12-04 19:34:50 -05:00
Fabio Alessandrelli
dd9503dc19 [HTML5] Make GDNative support feature-based.
This is suboptimal as it requires adding an extra compile flag, but
rewriting how feature tags work is beyond the scope of this work.
2020-12-05 01:12:52 +01:00
Fabio Alessandrelli
ca34b5e57a [HTML5] GDNative support via SIDE_MODULE.
Working with emscripten >= 2.0.10
2020-12-05 00:52:43 +01:00
Ignacio Etcheverry
b0eb9061e4 C#: Fix very slow build log update in the editor 2020-12-05 00:43:24 +01:00
Ignacio Etcheverry
bbaf854956 Fix unhandled exception re-thrown in the editor 2020-12-05 00:40:31 +01:00
Ignacio Etcheverry
e2f7037824 C#: Fix multiple awaits to same signal result in connect error
Multiple calls to the same `await ToSignal` were resulting in
"signal already connected to slot" error because the custom
callable comparer was wrong. Comparing only the signal awaiter
handle is the correct way (it's unique for the target).
2020-12-05 00:32:57 +01:00
Fabio Alessandrelli
1167ab96e9 [HTML5] Add function signatures to JS libraries. 2020-12-04 23:21:33 +01:00
Rémi Verschelde
1a001ad964
doc: Sync classref with current source
And fixups:
- Add missing bindings in RenderingServer
- Remove duplicate ArrayMesh enum bindings (they're in Mesh already)
- Remove redundant _unhandled_key_input binding in Control (it's in Node
  already)
2020-12-04 22:28:08 +01:00
Rémi Verschelde
1287ea63c1
Merge pull request #44084 from vnen/float-is-real
Rename TYPE_REAL to TYPE_FLOAT
2020-12-04 14:26:22 +01:00
George Marques
02f60812ed
Rename TYPE_REAL to TYPE_FLOAT
To be consistent with the naming everywhere else.
2020-12-04 09:47:26 -03:00
Sacha Waked
7e2b88a7eb Updated open-simplex to have const noise functions
"open-simplex-noise-in-c" now updated to master and "opensimplex" module refactored accordingly
2020-12-04 11:26:05 +01:00
Vincent
704d6de84c add mp3 import and playback support 2020-12-03 17:51:43 +01:00
Rémi Verschelde
ea7dd1be36
Merge pull request #43328 from gvekan/better-keyword-completion
Add bracket or space to some keyword completions
2020-12-03 17:14:32 +01:00
Rémi Verschelde
9c30c83aee
Merge pull request #44011 from KoBeWi/red_roses_minus_blue_violets
Fix subtracting colors and quats
2020-12-03 14:44:52 +01:00
Tomasz Chabora
4c232e4222 Fix subtracting colors and quats 2020-12-03 14:22:12 +01:00
Rémi Verschelde
9a0610c1ff
Merge pull request #43959 from dalexeev/gds-doc
Several edits to the GDScript docs
2020-12-03 13:32:32 +01:00
Rémi Verschelde
a84ad91280
Merge pull request #43896 from RandomShaper/fix_rel_probe_vis
Put misc. 3D tool visible instances on their own layer
2020-12-03 13:29:16 +01:00
Rémi Verschelde
5861bac21e
Merge pull request #43801 from nekomatata/bullet-ccd-disabled
Fix ccd enabled by default on Bullet bodies
2020-12-03 13:28:48 +01:00
Rémi Verschelde
c6965961c7
Merge pull request #44064 from akien-mga/mono-android-fix-build
Mono: Fix Android build after #36311
2020-12-03 12:52:13 +01:00
Rémi Verschelde
0c06fbe6db
Mono: Fix Android build after #36311 2020-12-03 11:17:03 +01:00
Fabio Alessandrelli
502ff74fee
Merge pull request #43536 from jonbonazza/hmac
feat: HMAC support in Crypto APIs
2020-12-03 11:08:16 +01:00
Gustav
dff3875ae3 Add bracket or space to some keyword completions 2020-12-03 09:44:42 +01:00
Rémi Verschelde
2a0de6d88c
Merge pull request #44044 from Wavesonics/xatlas-options-master
xatlas should be using the options configured here
2020-12-02 20:53:54 +01:00
Adam Brown
9367b1d6c1 xatlas should be using the options configured here
It was using the defaults by mistake
2020-12-02 09:22:35 -08:00
reduz
70f5972905 Refactored Mesh internals and formats.
-Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES.
-Removed compression, it now always uses the most efficient format.
-Added support for custom arrays (up to 8 custom formats)
-Added support for 8 weights in skeleton data.
-Added a simple optional versioning system for imported assets, to reimport if binary is newer
-Fixes #43979 (I needed to test)

WARNING:

-NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change.
-NOT backwards compatible with 3.x scenes, this will be eventually re-added.
-Skeletons not working any longer, will fix in next PR.
2020-12-02 13:07:59 -03:00
Rafał Mikrut
e1811b689b Initialize class/struct variables with default values in platform/ and editor/ 2020-12-02 16:09:11 +01:00
Rémi Verschelde
d1231be1c8
Merge pull request #41095 from ThakeeNathees/GDScript-Documentation
GDScript(2.0) Documentation generation system
2020-12-02 14:15:38 +01:00
George Marques
0019aa940e
Merge pull request #41773 from ThakeeNathees/default-argument-override-buf-fix
GDScript default argument override bug fix
2020-12-02 09:54:47 -03:00
Adam Brown
23c754360a xatlas: Sync with upstream 5571fc7
Fixes #44017 by changing the `normalize()` function to check for non-negative rather than non-zero via an epsilon check.
2020-12-02 00:17:45 -08:00
Thakee Nathees
42bfa16996 Refactor DocData into core and editor (DocTools) parts 2020-12-02 00:48:39 +05:30
Danil Alexeev
bf96056ad0 Several edits to the GDScript docs 2020-12-01 16:05:10 +03:00
Pedro J. Estébanez
86ece881e5 Remove useless check in GDScript
The removed check was adding a protection for the case where a `Reference` has not yet got its reference count initialized and a script is called on it. That would cause the object to be released after the call. The removed code was constructing the `Variant` via the `Object` constructor so it didn't deal with the reference count and so the release was prevented.

However, `Variant` no longer works that way so that check was useless. Now it's just illegal to run GDScript on a Reference whose reference count has not been initialized.
2020-12-01 12:28:52 +01:00
Rémi Verschelde
04bef80b42
Merge pull request #43992 from vnen/variant-internal-object-set
Fix VariantInternal initialization and setting of object
2020-11-30 20:22:15 +01:00
Rémi Verschelde
8f3dde18f1
Merge pull request #43504 from AndreaCatania/gds_fix_2
Implement proper error print, Fixes a crash when no error messages are generated by the analyser.
2020-11-30 19:10:38 +01:00
George Marques
029fd88adb
Fix VariantInternal initialization and setting of object
- Initialize Object pointer to nullptr so it's not used by mistake.
- When setting an Object check if it's a reference so refcounting works
  as intended.
2020-11-30 14:49:52 -03:00
George Marques
a604e72dc9
GDScript: Don't construct ref values in compiler
Values that are passed by reference are not suited for being constructed
at compile time because in this case they would be shared across all the
construction statements.
2020-11-30 09:42:22 -03:00
Gustav
e995d5c378 Fix missing function hints 2020-11-30 09:26:32 +01:00
Thakee Nathees
d0e7d9b62f Documentation generation for GDScript
- ClassDoc added to GDScript and property reflection data were extracted
from parse tree

- GDScript comments are collected from tokenizer for documentation and
applied to the ClassDoc by the GDScript compiler

- private docs were excluded (name with underscore prefix and doesn't
have any doc comments)

- default values (of non exported vars), arguments are extraced from the
parser

- Integrated with GDScript 2.0 and new enums were added.

- merge conflicts fixed
2020-11-29 19:45:36 +05:30
Thakee Nathees
d42b305377 GDScript default argument override bug fix
Fix: #41766
2020-11-28 20:42:57 +05:30
AndreaCatania
40403b02fb Implement proper error print, Fixes a crash when no error messages are generated by the analyser. 2020-11-28 13:47:52 +01:00
Rémi Verschelde
a09846e015
Merge pull request #42109 from EricEzaM/PR/input-and-shortcuts-rework
Shortcuts rework - fixed issues with input propagation and triggering of unwanted shortcuts.
2020-11-28 09:04:25 +01:00
Rémi Verschelde
a6751e6c58
Merge pull request #41100 from bruvzg/ctl_text_server_interface
[Complex Text Layouts] Implement TextServer interface.
2020-11-28 09:03:15 +01:00
Rémi Verschelde
d395f70828
Merge pull request #43500 from AndreaCatania/gds_fixes
Fixes crash when parse_expression returns nullptr.
2020-11-27 16:37:45 +01:00
Marcel Admiraal
356a2b7235 Fix cast_motion sometimes failing
- Fixes Godot physics failing when the cast Shape is inside of, or
already colliding with another Shape.
- Fixes Bullet physics failing when there is no motion.
- Ensures Godot and Bullet physics behave the same.
- Updates the documentation to exclude the caveats for the failures and
differences.
2020-11-27 15:33:00 +00:00
Rémi Verschelde
9f9b269d32
Merge pull request #43914 from ThakeeNathees/range-argument-type-bug-fix
GDScript: range function type check bug fixed
2020-11-27 15:08:02 +01:00
George Marques
cf7a6be1db
Merge pull request #43226 from mateosss/unreachable-prop-crash
Fix crash due to unreachable code in properties
2020-11-27 11:03:20 -03:00
Thakee Nathees
f0613a91be GDScript range function typecheck bug fixed
Fix: #43586
2020-11-27 18:23:35 +05:30
Jon Bonazza
d5925fd522 feat: HMAC support in Crypto APIs 2020-11-26 18:39:56 -08:00
George Marques
fbb806fd68
Unregister GDScriptFunctionState class
This is not user accessible anymore so it does not need to be show in
documentation.
2020-11-26 21:39:54 -03:00
Rémi Verschelde
ed2f84735b
Merge pull request #43895 from vnen/gdscript-operators-fix
GDScript: Improve handling of operators
2020-11-26 21:19:31 +01:00
Pedro J. Estébanez
4eb3286230 Put misc. 3D tool visible instances on their own layer
This makes that visible stuff invisible to ReflectionProbes, whose preview in the editor shouldn't involve them.
2020-11-26 20:11:00 +01:00
Marcel Admiraal
6fe2206ec6 Remove any constraints connected to a Bullet body when removing it 2020-11-26 18:18:41 +00:00
Rémi Verschelde
e5ff2d0ffd
Merge pull request #43894 from vnen/gdscript-some-fixes
Some GDScript fixes
2020-11-26 18:56:42 +01:00
George Marques
0cb185927c
GDScript: Improve handling of operators
- Use the new functions in Variant to determine the validity and resulting
  type of operators.
- Split the operator function in codegen between binary and unary, since
  the unary ones have now a special requirement of having the second
  argument to be the NIL type when requesting info.
2020-11-26 14:41:55 -03:00
George Marques
627ca7f30e
GDScript: Don't clear depended parsers too soon
It can wait until the analyzer itself is destructed, otherwise other
phases might be using freed parsers.
2020-11-26 14:14:29 -03:00
George Marques
817fb3d702
GDScript: Give an error if dependency can't be parsed
Otherwise this may lead to a crash when the dependency is not present.
2020-11-26 12:27:48 -03:00
George Marques
c7b6a7adcc
GDScript: Refactor builtin functions
They are now called "utility functions" to avoid confusion with methods
of builtin types, and be consistent with the naming in Variant.

Core utility functions are now available in GDScript. The ones missing
in core are added specifically to GDScript as helpers for convenience.

Some functions were remove when there are better ways to do, reducing
redundancy and cleaning up the global scope.
2020-11-26 12:05:42 -03:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
bruvzg
07d14f5bb8
[Complex Text Layouts] Implement GDNative interface for TextServer. 2020-11-26 13:55:29 +02:00
bruvzg
200828276e
[Complex Text Layouts] Implement ICU / HarfBuzz based TextServer module. 2020-11-26 13:55:28 +02:00
bruvzg
b9f441e81e
[Complex Text Layouts] Add third-party TextServer dependencies (ICU, HarfBuzz, Graphite). 2020-11-26 13:55:27 +02:00
bruvzg
493da99269
[Complex Text Layouts] Implement TextServer interface. Implement Fallback TextServer. 2020-11-26 13:55:26 +02:00
Jordan Schidlowsky
afa15c5f15 fixes crash for OPCODE_CAST_TO_NATIVE opcode in gdscript disassemlber 2020-11-25 16:26:32 -06:00
PouleyKetchoupp
faca8b77aa Fixed ccd enabled by default on Bullet bodies
It was due to main_shape_changed being called two times for each
added body. The first time it disables ccd, which sets the internal ccd
threshold to be 10000. The second time, it enables ccd again because
the internal threshold is > 0.

Bodies are now consistently set with a ccd threshold of 0 when ccd is
disabled.

This was causing crashing asserts in Bullet when adding bodies in some
scenarios, in btVector3::normalize():
btAssert(!fuzzyZero());

These crashes will still happen with ccd enabled.
2020-11-25 15:02:33 -07:00
Rémi Verschelde
fc28de64c4
Merge pull request #43856 from vnen/gdscript-some-fixes
A couple of GDScript fixes
2020-11-25 17:13:41 +01:00
Rémi Verschelde
a5ee8d881f
Merge pull request #43775 from vnen/gdscript-fix-stack
GDScript: Fix mishandling of stack pointers
2020-11-25 16:25:51 +01:00
George Marques
ed3d8f31df
GDScript: Fix return of cast expression on compilation
It was mistakenly returning the source instead of the result.
2020-11-25 11:37:51 -03:00
George Marques
fb3dc2670a
GDScript: Fix range() being treated as array when optimized out
The call of range() in a for loop is optimized to use int or vectors, to
avoid allocating an array, however the type was set as array still. With
the new typed VM this is an issue as the type mismatch the actual value,
resulting in wrong instructions to be selected.
2020-11-25 11:35:07 -03:00
George Marques
2e528ef382
GDScript: Fix mishandling of stack pointers
- Replace the for loop temporaries by locals. They cause conflicts with
  the stack when being popped, while locals are properly handled in the
  scope.
- Change the interface for the codegen so the for loop list doesn't live
  through the whole block if it's a temporary.
- Keep track of the actual amount of local variables in the stack. Using
  the size of the map is misleading in cases where multiple locals have
  the same name (which is allowed when there's no shadowing).
- Added a few debug checks for temporaries, to avoid them being wrongly
  manipulated in the future. They should not live more than a line of
  code.
- Rearrange some of compiler code to make sure the temporaries don't
  live across blocks.
2020-11-25 11:24:13 -03:00
Rémi Verschelde
d76806d322
Core: Always enable ptrcall, remove PTRCALL_ENABLED define
ptrcall is now also used to optimize calls in GDScript, on top of the existing
use by the GDNative and Mono modules.

It no longer makes sense to make it optional.
2020-11-25 14:08:17 +01:00
Marcel Admiraal
4f654dad13 Fix useless assignement in webrtc/library_godot_webrtc.js 2020-11-25 10:09:53 +00:00
Rémi Verschelde
50db0e66ac
Merge pull request #43747 from Faless/js/4.0_lint
[HTML5] Linting, fixes.
2020-11-23 12:38:17 +01:00
Fabio Alessandrelli
4617a7fa9c [HTML5] Run eslint --fix.
Should I write a poem about this whole new world? ;)
2020-11-23 12:15:18 +01:00
Eric M
efe5c250d5 Implement new shortcuts system.
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
2020-11-23 21:14:26 +10:00
Rémi Verschelde
a248e6f8c3
Merge pull request #43781 from MaxMutantMayer/regex_unit_tests
Move and add new RegEx test cases
2020-11-23 10:07:07 +01:00
Rémi Verschelde
4ed42bfc29
Merge pull request #43725 from vnen/gdscript-typed-vm-2
GDScript: Typed VM Take 2
2020-11-23 09:59:20 +01:00
Maximilian Mayer
7edb50a31c Move and add new RegEx test cases
Test cases for 'RegEx' are moved from 'test_string.h' to own test suite
in 'test_regex.h'. Additionally, new tests are introduced and '_init' is
removed as it isn't implemented/used anywhere.
2020-11-22 22:48:03 +01:00
Hugo Locurcio
1a616726cf
Document that WebM videos don't support the alpha channel 2020-11-22 17:43:07 +01:00
George Marques
5518e2a68e
GDScript: Add faster instruction for validated constructor
Only for built-in types.
2020-11-21 13:30:17 -03:00
George Marques
e0dca3c6b6
GDScript: Add typed iterate instructions 2020-11-21 13:24:50 -03:00
George Marques
52ab64db69
GDScript: Add faster call instructions for builtin methods
Methods from builtin types can be called by using the function pointer
when the argument and base types are known at compile time.
2020-11-21 13:24:50 -03:00
George Marques
d8b22097f2
GDScript: Add faster call instructions for native methods 2020-11-21 13:24:50 -03:00
George Marques
5aeb390cd7
GDScript: Add speficic set/get instructions
When the base type is known at compile-time, we can get a direct
function pointer that is faster than the regular set/get paths.
2020-11-21 13:24:49 -03:00
George Marques
1ad5c926dc
GDScript: Add faster operator for known types
It now uses the direct operator function pointer, which increases
performance in evaluation.
2020-11-21 13:24:49 -03:00
George Marques
c707d6fe71
GDScript: Gather instructions arguments beforehand
Almost all instructions need variant arguments. With this change they
are loaded in an array before each instruction call. This makes the
addressing code be localized to less places, improving compilation
overhead and binary size by a small margin.

This should not affect performance.
2020-11-21 13:24:49 -03:00
George Marques
b6519d0d03
GDScript: Split Function code into multiple files
To improve organization and reduce the size of compilation units.
2020-11-21 13:24:49 -03:00
Fabio Alessandrelli
a82f70ea9f [HTML5] Libraries refactor for linting.
Initial work to make liniting easier.

This includes:
- Rename http_request.js to library_godot_http_request.js.
- Rename externs.js to engine.externs.js.
- New library_godot_runtime.js (GodotRuntime) wraps around emscripten
  functions.
- Refactor of XMLHttpRequest handler in engine/preloader.js.
- Few fixes to bugs spotted by early stage linting.
2020-11-21 14:22:40 +01:00
Rémi Verschelde
a655de89e3
doc: Warn about using Node internal processing
See #43689.

Also 'fixed' some spelling for behavior in publicly visible strings.
(Sorry en_GB, en_CA, en_AU, and more... Silicon Valley won the tech spelling
war.)
2020-11-20 09:52:37 +01:00
Marcel Admiraal
112e2fdfc3 Fix godot_js_websocket_send function unused assignment. 2020-11-17 18:28:39 +00:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
Rémi Verschelde
d7176e9040
Merge pull request #42167 from madmiraal/fix-42108
Remove the unnecessary sync() and the restrictions it imposes on 3D Physics.
2020-11-16 09:32:48 +01:00
Rémi Verschelde
f763a2a3db
Merge pull request #43250 from aaronfranke/strext-lstrip
Add LStrip, RStrip, and HexEncode to C#
2020-11-16 09:15:45 +01:00
Aaron Franke
4b272b18ea
Improve comments in Color documentation 2020-11-13 23:31:19 -05:00
Andrea Catania
98daa0af6b Fixes crash when returns . 2020-11-13 15:09:52 +01:00
George Marques
8bcd345782
GDScript: Fix native class not set with inheritance 2020-11-13 10:35:24 -03:00
Grzegorz Puławski
c49810046e Removing unneeded FuncRef code in C# 2020-11-11 21:57:42 +01: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
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
Aaron Franke
ee79fc627c
Minor clamp and float fixes 2020-11-10 14:30:07 -05: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
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
05261cceaf Fix gdnative build when WebRTC module is disabled. 2020-11-10 11:42:51 +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
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
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
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
reduz
221a2a1742 Refactored variant constructor logic 2020-11-09 08:54:43 -03:00
Aaron Franke
6b54d7dde1
Add HexEncode to C# 2020-11-09 03:25:51 -05:00
Aaron Franke
c89af1d433
Add LStrip and RStrip to C# strings 2020-11-09 03:24:46 -05:00
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
George Marques
82576371ef
GDNative: Define special char types in string.h
Those are standard types in C++ but not in C.

This also removes the wchar header which is not needed anymore and use
stddef.h instead (which is needed for size_t).
2020-11-07 16:09:14 -03:00
reduz
05de7ce6ca Refactored variant setters/getters
-Discern between named, indexed and keyed
-Get direct access to functions for typed GDScript and GDNative bindings
-Small changes to some classes in order to work with the new setget binder
2020-11-07 15:16:15 -03:00
Rémi Verschelde
329d2c1ced
Merge pull request #42947 from Calinou/image-load-bmp-from-buffer
Add `Image.load_bmp_from_buffer()` for run-time BMP image loading
2020-11-07 16:38:09 +01:00
Yuri Roubinsky
156e4043b4 [Mono] Added Shuffle method to Array 2020-11-07 11:26:54 +03:00
reduz
f2397809a8 Refactored Variant Operators.
-Using classes to call and a table
-For typed code (GDS or GDNative), can obtain functions to call prevalidated or ptr.
2020-11-06 12:45:50 -03:00
Yuri Roubinsky
38fb26794b Exposed randi_range to global funcs + renamed rand_range to randf_range 2020-11-06 17:06:26 +03:00
Rémi Verschelde
52c1b5fc41
Merge pull request #43283 from Calinou/color-remove-contrasted
Remove `Color.contrasted()` as its behavior is barely useful
2020-11-06 10:17:12 +01:00
Rémi Verschelde
c35517f07e
Merge pull request #42724 from theoway/error_message_fix_call_recursive
Fixes the misleading message when a non-existing function name is passed to TreeItem.call_recursive()
2020-11-05 00:46:28 +01:00
Rémi Verschelde
424cd00f8b
doc: Sync classref with current source + fixup some bindings
Includes various changes triggered by the refactoring of method bindings.
2020-11-04 15:38:26 +01:00
Rémi Verschelde
bd13e82080
Merge pull request #41516 from Lunatoid/allow-object-new
Fixed ParseError when calling Object.new()
2020-11-03 13:08:48 +01:00
Hugo Locurcio
7adb6b91b3
Remove Color.contrasted() as its behavior is barely useful
Returning the most contrasting color isn't a trivial task, as there
are often many possible choices. It's usually best left for the user
to implement using a script.
2020-11-03 04:46:08 -05:00
Mateo de Mayo
531958b2f0 Fix crash due to unreachable code in properties 2020-10-30 22:21:50 -03:00
Mateo de Mayo
f388177aed Fix crash by adding nullcheck for uninitialized constants 2020-10-29 01:11:19 -03:00
Rémi Verschelde
c11992ed48
Merge pull request #43029 from neikeq/offline-nuget-fallback
C#: Make editor create NuGet fallback folder for Godot packages
2020-10-27 08:07:58 +01:00
Rémi Verschelde
f594f31823
Merge pull request #43088 from neikeq/fix-custom-event-signal-hot-reload
C#: Fix custom event signals crash on hot-reload
2020-10-27 08:07:33 +01:00
bruvzg
b506f9b5aa
Fix uninitialized GridMapEditor::node and InputMapEditor::setting variables. 2020-10-26 22:57:11 +02:00
Rémi Verschelde
825ab3b784
Merge pull request #42817 from akien-mga/vulkan-sdk-1.2.154.0
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
2020-10-26 15:15:19 +01:00
Ignacio Etcheverry
34960cb936 C#: Fix custom event signals crash on hot-reload
Cleanup and re-initialization of event signals before
and after hot-reload should be working correctly now.
2020-10-26 07:00:51 +01:00
Hugo Locurcio
a1d9c67f43
Optimize SVG using svgcleaner --multipass
This decreases the editor binary size by about 8 KB.
2020-10-25 10:02:37 +01:00
Rémi Verschelde
d3dd8fb0f3
Merge pull request #42848 from Tadaboody/bugfix/gridmap_visibility
Setting visibility on GridMaps parent now works. Closes #41374.
2020-10-25 00:33:55 +02:00
Andrii Doroshenko (Xrayez)
650ae413ce GDNative XR: remove redundant config.py
It's not an engine module. This is handled by GDNative's
`SCsub` instead, as done for other subdirectories already.
2020-10-24 23:04:07 +03:00
Yuri Roubinsky
b09e60ef1a
Merge pull request #43026 from Chaosus/color_autocompletion
Shows ColorRect in Color constants autocompletion
2020-10-23 19:18:20 +03:00
Yuri Roubinsky
4c65dc975c Shows ColorRect in Color constants autocompletion 2020-10-23 19:03:50 +03:00
Ignacio Etcheverry
64b5ee7010 C#: Make editor create NuGet fallback folder for Godot packages
Main benefits:
- Projects can be built offline. Previously you needed internet
  access the first time building to download the packages.
- Changes to packages like Godot.NET.Sdk can be easily tested
  before publishing. This was already possible but required
  too many manual steps.
- First time builds are a bit faster, as the Sdk package doesn't
  need to be downloaded. In practice, the package is very small
  so it makes little difference.

Bumped Godot.NET.Sdk to 4.0.0-dev3 in order to enable the
recent changes regarding '.mono/' -> '.godot/mono/'.
2020-10-23 10:54:49 +02:00
Ignacio Etcheverry
f06f91281c C#: Re-work solution build output panel
- Removed item list that displayed multiple build
  configurations launched. Now we only display
  the last build that was launched.
- Display build output next to the issues list.
  Its visibility can be toggled off/on.
  This build output is obtained from the MSBuild
  process rather than the MSBuild logger. As such
  it displays some MSBuild fatal errors that
  previously couldn't be displayed.
- Added a context menu to the issues list with
  the option to copy the issue text.
- Replaced the 'Build Project' button in the panel
  with a popup menu with the options:
  - Build Solution
  - Rebuild Solution
  - Clean Solution
- The bottom panel button was renamed from 'Mono'
  to 'MSBuild' and now display an error/warning icon
  if the last build had issues.
2020-10-23 07:49:39 +02:00
Hugo Locurcio
0209e3790e
Add Image.load_bmp_from_buffer() for run-time BMP image loading
This partially addresses
https://github.com/godotengine/godot-proposals/issues/676.
2020-10-20 23:52:45 +02:00
Rémi Verschelde
ef62e93677
Merge pull request #42943 from vnen/gdscript-local-scope-fix
Fix handling of scope for local GDScript variables
2020-10-20 21:00:57 +02:00
George Marques
96884ef41e
Merge pull request #41983 from ThakeeNathees/array-const-folding-bug-fix
Array/Dictionary Nodes no more reduced to array/dictionary variant
2020-10-20 15:43:07 -03:00
George Marques
11c05642fe
GDScript: Fix handling of scope for local variables 2020-10-20 14:57:31 -03:00
George Marques
48b91b900d
GDScript: Add initialization for the language before debug tests
This ensures that the tests will use a full environment with correct
settings so global classes and autoloads can be properly found.
2020-10-20 10:07:03 -03:00
Yuri Roubinsky
4f4287243c Removed underscore from GraphEdit begin/end_node_move signals 2020-10-20 09:22:40 +03:00
George Marques
5ddfc657ab
Merge pull request #42067 from ThakeeNathees/for-loop-stack-overriden-fix
GDScript: for loop override stack variable bug fix
2020-10-19 20:21:14 -03:00
Marcel Admiraal
7f26ce4486 Set Bullet collision shape index to zero when using a single shape
or ConcavePolygonShape3D.
2020-10-19 11:51:11 +01:00
reduz
ee06a70ea6 Refactor MethodBind to use variadic templates
Removed make_binders and the old style generated binders.
2020-10-18 12:28:44 +02:00
Aaron Franke
029de52001
Add GetStringFromUTF8 and GetStringFromASCII 2020-10-17 04:17:29 -04:00
Umang Kalra
c37f633216 Fixes the misleading error message for call_recursive method for TreeItems 2020-10-17 12:30:36 +05:30
Tomer Keren
fe52c6b0b7 Setting visibility on GridMap now works. Closes #41374.
Continuing the work from f43a0ef327,
It seems the maps visibility was not actually set and a flase value was propogated to the meshes
Trying to set the maps visibility directly (Using `set_visibility` causes the map to no longer to recieve visibility notifications, instead this approach was chosen
2020-10-16 14:04:24 +03:00
Rémi Verschelde
5971a97a0c
Merge pull request #42649 from madmiraal/reapply-41806
Reapply -Avoid adding margin twice along capsule Y axis
2020-10-15 17:20:22 +02:00
Rémi Verschelde
148ad49c93
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
Actually sdk-1.2.154.1 for Vulkan-Loader.

glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the
known-good version for Vulkan-ValidationLayers 1.2.154.0.

COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt,
and `glslang/register_types.cpp` now uses the upstream definition for its
default builtin resource instead of hardcoding it.
2020-10-15 12:29:42 +02:00
Hugo Locurcio
802c1e4df1
Link the Random number generation tutorial in the class reference 2020-10-14 18:03:29 +02:00
Rémi Verschelde
f2002afae7
Merge pull request #42731 from opl-/fix/csharpscript-load-code-duplication
Fix code duplication in CSharpScript
2020-10-13 09:57:38 +02:00
Rémi Verschelde
4efcb4c442
Merge pull request #42592 from madmiraal/fix-42567
Initialise Bullet RigidBody friction to the expected value of 1.0
2020-10-13 09:51:53 +02:00
opl-
e4d20ae373 Fix code duplication in CSharpScript
Removes code duplication between `CSharpScript::reload()` and `CSharpScript::initialize_for_managed_type()`.

Removes a redundant `CSharpScript::update_exports()` call in `CSharpLanguage::reload_assemblies()` as `CSharpScript::reload()` already calls it when appropriate.

Fixes missing update of RPC information in `CSharpScript::initialize_for_managed_type()`.
2020-10-13 06:46:34 +02:00
Tomasz Chabora
aadc8d54a4 Bind missing constant in VisualScriptPropertyGet 2020-10-12 19:39:15 +02:00
Rémi Verschelde
a33fe75050
doc: Sync classref with current source 2020-10-09 15:04:15 +02:00
Rémi Verschelde
1af3cf15c2
Mono: Fix typo in Godot.NET.Sdk.nuspec
Fixes #42666.
2020-10-09 13:37:07 +02:00
Rémi Verschelde
6dc41b3ad2
Merge pull request #42623 from lolleko/incorrect-macos-platform-name-csharp
C# GodotTools: Replace platform Identifier "OSX" with "macOS"
2020-10-09 08:17:06 +02:00
George Marques
fe6109101f
Merge pull request #41881 from ThakeeNathees/crash-on-builtin-constructor
GDScript crash on builtin type constructor fix
2020-10-08 19:35:35 -03:00
Marcel Admiraal
0e12a0c66a Reapply -Avoid adding margin twice along capsule Y axis
Co-authored-by: Andrea Catania <info@andreacatania.com>
2020-10-08 16:22:38 +01:00
Lorenz Junglas
7e2b495435 Adressed Review
Identifier "macOS" => "MacOS"
Platform/SDK name reverted to "osx"
2020-10-08 13:51:19 +02:00
Lorenz Junglas
519f369795 C# GodotTools: Replace platform Identifier "OSX" with "macOS"
Because `Strings OS_OSX::get_name() const` now returns "macOS" (15a9f94346)
The C# GodotTools were still using "OSX" as identifier a few things were borken (e.g. dotnet/msbuild detection).
2020-10-08 13:51:19 +02:00
Andrea Catania
2e8cb8a9e2 Fixed #41040 in an alternative way now that #39726 is reverted 2020-10-08 13:10:48 +02:00
Andrea Catania
1829c67762 Revert "Optimized physics object spawn time and optimized shape usage when the shape is not scaled"
This reverts commit 7709a83493.
2020-10-08 12:22:59 +02:00
Andrea Catania
8827e315d4 Revert "- Enhanced the flush mechanism by flushing only needed thing."
This reverts commit 8d0d6d6921.
2020-10-08 12:16:12 +02:00
Rémi Verschelde
104cfaefcd
Merge pull request #42610 from jak6jak/set_values
Fixed a bug which caused Set Index to not function
2020-10-08 10:23:29 +02:00
Jacob Edie
d76457a7f3 added temp variable because *p_inputs[2] is the same as *p_outputs[0] 2020-10-06 22:12:47 -04:00
Aaron Franke
bea7d61fd9
Improve the Vector2 rotated code in C# 2020-10-06 15:57:47 -04:00
Marcel Admiraal
47431dbb8e Initialise Bullet RigidBody friction to the expected value of 1.0 2020-10-06 09:10:05 +01:00
Rémi Verschelde
3556bc48a1
Merge pull request #42439 from Xrayez/doc-gdscript-load-and-resloader-xref
Cross-reference GDScript `load` and `ResourceLoader.load` in classref
2020-10-04 20:48:07 +02:00
Rémi Verschelde
b5eea37fb0
Merge pull request #42518 from Duroxxigar/update-getter-and-setters
Updated getters and setters names for toplevel
2020-10-03 21:53:35 +02:00
Paulb23
ee4a1c99a7 Switch from recursion to iterative for backfilling colour regions 2020-10-03 14:58:55 +01:00
Duroxxigar
4834e14493 Updated getters and setters names for toplevel 2020-10-02 19:09:01 -04:00
Rémi Verschelde
0d07a935e9
Merge pull request #42503 from naithar/feature/ios-cleanup-arc
[4.0] [iOS] Switch to ARC. Refactoring and cleanup.
2020-10-02 15:18:03 +02:00
Sergey Minakov
3cd1cb53a0 iOS: Refactoring
Enabled ARC for iOS.
Weakify/Strongify macros for objc blocks.
Removed old version checks.
Specific types for ObjC++ modules to exclude unneeded bridging.
Separate DeviceMetrics class for device specific data.
Replaced old/deprecated functionality.
2020-10-02 15:04:51 +03:00
Marcel Admiraal
5278e07095 Check entire basis column for zero size when unscaling Bullet basis. 2020-10-02 10:30:08 +01:00
Rémi Verschelde
a1c27228ae
Merge pull request #42480 from ssw99/sprintf-function-bug-fix
Fix extra padding for numbers with signs
2020-10-02 10:26:15 +02:00
Aaron Franke
439be614f4
Link to demos from within the class reference 2020-10-01 23:57:21 -04:00
Serhat
9f2cdfea82 Fixed padding bug of sprintf function 2020-10-02 00:25:42 +03:00
Rémi Verschelde
39ea52f36f
Merge pull request #41829 from RandomShaper/fix_40353
Avoid warning about harmless unfulfilled yields
2020-10-01 14:17:34 +02:00
Andrii Doroshenko (Xrayez)
a8404cf56c Cross-reference GDScript load and ResourceLoader.load in classref
The GDScript `load` mention is moved from the class `ResourceLoader`
description to the `ResourceLoader.load` method description instead,
where it is more likely to be found.
2020-09-30 23:03:36 +03:00
Eduardo Rodrigues
aca0cede67 Fix error message when exporting a write-only property without a setter 2020-09-29 15:48:56 -03:00
Rémi Verschelde
bd12dc33d9
Merge pull request #38704 from aaronfranke/mono-dotgodot
Rename the ".mono" folder to ".godot/mono"
2020-09-28 14:35:18 +02:00
Rémi Verschelde
e66013a6f1
Merge pull request #42262 from akien-mga/ios-pvrtc-fixes
iOS: Fix multiple issues with PVRTC import, disable ETC1
2020-09-28 10:17:38 +02:00
Pedro J. Estébanez
de4e54dd91 Avoid infinite loop in GDScript at shutdown 2020-09-26 19:21:09 +02:00
Rémi Verschelde
41c735fe50
Style: Fix black formatting after #42332
Somehow it did not run CI checks so we missed that one.

Also pin `black` version to latest upstream release.
2020-09-25 15:49:37 +02:00
Hugo Locurcio
cfd564b385
Enable the copy_mono_root SCons option by default
This closes #41652.
2020-09-25 11:08:01 +02:00
Rémi Verschelde
3e4627ab6f
Merge pull request #42283 from Calinou/doc-print-push-error-warning
Improve documentation related to printing error/warning messages
2020-09-24 15:16:27 +02:00
Rémi Verschelde
fc8904236b
Merge pull request #42070 from Razoric480/ignore-cancel-request
Make LSP ignore $/cancelRequest msgs
2020-09-24 15:15:25 +02:00
Hugo Locurcio
50f3a8e312
Improve documentation related to printing error/warning messages 2020-09-24 14:23:53 +02:00
Rémi Verschelde
a6bb4f70e0
Merge pull request #42293 from ricardoalcantara/fix_basis_csharp
Basis RotationQuat should be public.
2020-09-24 08:16:24 +02:00
Ricardo Alcantara
a676b8ea66 Basis RotationQuat should be public. 2020-09-24 00:59:54 -03:00
Aaron Franke
42e70a77ef
Rename the ".mono" folder to ".godot/mono" 2020-09-23 15:42:29 -04:00
Rémi Verschelde
72aaf81518
Merge pull request #42259 from zaevi/fix-mono-IsAbsPath
Fix C# string.IsAbsPath()
2020-09-23 18:12:27 +02:00
Rémi Verschelde
7b1de6deda
Merge pull request #42126 from Calinou/doc-videoplayer-formats
Improve documentation about VideoPlayer video formats
2020-09-23 15:40:50 +02:00
Hugo Locurcio
1efe57848a
Improve documentation about VideoPlayer video formats
This closes https://github.com/godotengine/godot-docs/issues/4021.
2020-09-23 14:28:16 +02:00
Vasiliy Makarov
313006adb8 iOS: Fix multiple issues with PVRTC import, disable ETC1
Fixes: #28683, #28621, #28596 and maybe others

For iOS we enable pvrtc feature by default for all backends
Etc1 for iOS doesn't have any sense, so it disabled.
Fixed checks in export editor.
Fixed pvrtc encoding procedure.

Edit by Akien: Forward-ported from #38076, this may not make sense as is for
Godot 4.0, but it's important that we have the latest code in sync with 3.2
for when more rendering backends and proper iOS support are added back.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-09-23 11:22:51 +02:00
Rémi Verschelde
6f50571eff
Merge pull request #42195 from extrawurst/patch-1
add iOS Simulator platform
2020-09-23 09:13:41 +02:00
Zae
b5eea5cfd4 Fix C# string.IsAbsPath() 2020-09-23 13:53:35 +08:00
strank
409af31b55 Add a "not in" operator to GDScript. 2020-09-21 17:53:54 -04:00
Rémi Verschelde
0923a1f700
Merge pull request #41426 from madmiraal/fix-bullet-zero-scale
Check and correct for zero scaling when unscaling Bullet basis.
2020-09-20 09:24:50 +02:00
Stephan Dilly
f49199bcc3
add iOS Simulator platform
without this we have to manually drop a `x86_64` builds of gdnative libs into the Xcode project to allow running in `iOS Simulator`
2020-09-19 15:09:36 +02:00
Rémi Verschelde
a332e2f5b2
Merge pull request #41861 from Razoric480/fix-vscript-value-by-type
Add a function to sanitize variant values in visual script
2020-09-18 17:36:01 +02:00
Francois Belair
a598c77058 Add a VScript func to sanitize variant values
Fixes #27611
2020-09-18 11:19:53 -04:00
Rémi Verschelde
cff43e5326
Merge pull request #41930 from RandomShaper/fix_gdscript_leaks
Fix leaks in GDScript
2020-09-18 16:18:57 +02:00
Rémi Verschelde
3e78963bb9
Fix typos with codespell
Using codespell 1.17.1.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2020-09-18 13:44:25 +02:00
Marcel Admiraal
41209efa7f Remove the unnecessary sync() and the restrictions it imposes on 3D Physics. 2020-09-18 10:43:31 +01:00
Thakee Nathees
119936d939 GDScript: for loop override stack variable bug fix
Fix: #42050
2020-09-18 01:22:22 +05:30
Raul Santos
d425cf6fed
Fix ExprMatch stackoverflow 2020-09-16 15:44:52 +02:00
Fabio Alessandrelli
60687ce778 Fix certificate generation with mbedtls 2.16.8 .
When generating certificates with
`Crypto.generate_self_signed_certificate` we generate the PEM in a
buffer via `mbedtls_x509write_crt_pem`.

Since version 2.16.8, mbedtls adds spurious data at the end of the
buffer due to internal optimizations, this breaks our logic when we try
to immediately parse it and return a proper `X509Certificate` object.

This commit updates the code to find the actual PEM length to parse
using `strlen`, takes extra caution always adding the terminator to the
buffer, and slightly improve error messages.
2020-09-15 18:47:51 +02:00
Francois Belair
9c273307d8 Make LSP ignore $/ messages
Fixes #38814
2020-09-15 09:49:26 -04:00
Rémi Verschelde
3a8a0bc5d3
Merge pull request #42061 from madmiraal/fix-41743
Fix Bullet prioritised list of Areas a RigidBody is a member of element shift.
2020-09-15 09:13:15 +02:00
Marcel Admiraal
7e73dd0b2e Fix RigidBodyBullet areasWhereIam element shift. 2020-09-14 18:43:21 +01:00
Danil Alexeev
a4c5790350 Several documentation improvements 2020-09-14 20:02:19 +03:00
Tom Daffin
c15fb42d45 Add mono log message to error for fatal errors 2020-09-13 19:53:06 -06:00
Thakee Nathees
e4d5393ecf GDScript export array/dictionary type infer bug fix
Fix : #41980
2020-09-13 19:36:20 +05:30
Rémi Verschelde
4331bea18c
Merge pull request #42000 from aaronfranke/cs-arr-concat
Add concatenation support and a new constructor to Godot.Collections.Array
2020-09-13 08:12:48 +02:00
Ignacio Etcheverry
1db0395950 C#: Fix csproj not synced on file move/removal from FS dock
When NormalizePath was called with an absolute
path (with drive letter) on Windows, it would
prepend a file path separator to the path, e.g.:
'\C:\Program Files\'.
Apparently this was still accepted as a valid
path by DotNetGlob and it stopped working when
we switched to MSBuildGlob.
2020-09-13 03:46:27 +02:00
Aaron Franke
a4dcd48d16
Add concatenation support and a new ctor to Godot.Collections.Array 2020-09-12 18:15:24 -04:00
Thakee Nathees
3886a2f9f6 Array/Dictinoary no more reduced to array/dictionary variant
Fix: #41377
Fix: #20436
Fix: #41953
2020-09-11 19:46:20 +05:30
Andrii Doroshenko (Xrayez)
174b6e817f Move GDNative String tests to respective module
GDNative-specific tests moved out of main `tests/` folder into
`modules/gdnative/tests`.

Include path for GDNative headers are still hardcoded in `tests/SCsub`,
but made conditional now.

Also fixed test case tag typos.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2020-09-11 14:51:38 +03:00
Marcel Admiraal
3070d0b735 Remove unused Python local variables. 2020-09-11 11:39:15 +01:00
Paulb23
4d7df24d46 Add main_gutter (breakpoints, bookmarks, execution lines) to code_edit 2020-09-10 20:35:28 +01:00
Rémi Verschelde
43930aaa28
Merge pull request #41806 from AndreaCatania/AndreaCatania-patch-4
Avoid adding margin twice along capsule Y axis
2020-09-10 17:47:20 +02:00
Marcel Admiraal
e3d698dae9 Remove unused Python imports. 2020-09-10 11:38:52 +01:00
Pedro J. Estébanez
e25f5e791e Ensure cyclic dependencies between scripts are broken at exit 2020-09-10 01:34:42 +02:00
Pedro J. Estébanez
95828161d4 Prevent cyclic reference between script and its members 2020-09-10 01:26:07 +02:00
reduz
e3eacbc8a6 Make EXR import format support all depths and channel configurations 2020-09-09 16:51:32 -03:00
Rémi Verschelde
d16f5a57c1
stb_vorbis: Increase max alloc buffer size for big Vorbis comments
The previous max worked OK for audio data, but stb_vorbis recently gained support
for Vorbis comments, which can embed up to 2^32-1 bytes of data (e.g. cover art
encoded as base64).

We use 2^30 as max which should be sufficient for most files.

Fixes #41913.
2020-09-09 20:50:41 +02:00
Rémi Verschelde
36e2c39f0c
Merge pull request #41904 from akien-mga/fix-clang6-compat-mutexlock
GDScript: Fix MutexLock usage, fixes Clang 6 compat
2020-09-09 15:58:28 +02:00
Rémi Verschelde
1c881c973b
GDScript: Fix MutexLock usage, fixes Clang 6 compat
Fixes #41852.
2020-09-09 14:56:57 +02:00
Aaron Franke
d0a1399a1b
Change inequality comparison operators to use exact equality 2020-09-08 18:10:58 -04:00
Rémi Verschelde
2410016638
Merge pull request #41709 from ThakeeNathees/dictionary-indexing-bug-fix
Fixed parser error when indexing a dictionary.
2020-09-08 21:38:14 +02:00
Rémi Verschelde
bd34d38bf8
Merge pull request #41888 from neikeq/sln-bom
C#: Use BOM when creating a solution
2020-09-08 20:22:30 +02:00
Ignacio Etcheverry
1c74fa4242 C#: Use BOM when creating a solution
At least on Windows there seems to be issues if
the solution has no BOM and contains a project
with cyrillic chars.
2020-09-08 20:06:07 +02:00
Ignacio Etcheverry
ac471ff563 C#: Fix endless reload loop if project has unicode chars
The assembly modified time wasn't picked properly
as the path was treated as latin-1, so the file
watcher was constantly firing the event.
2020-09-08 19:53:39 +02:00
Thakee Nathees
279a11bbda GDScript crash on builtin type constructor fix
Fix: #41848
2020-09-08 18:33:53 +05:30
Rémi Verschelde
af00bb998e
Merge pull request #41875 from nekomatata/webrtc-doc-turn-server
Fix TURN server example in WebRTC documentation
2020-09-08 13:37:23 +02:00
PouleyKetchoupp
280496a2c3 Fix TURN server example in WebRTC documentation
WebRTC GDNative plugin uses `credential` and not `credentials`.
74f2c78db5/src/WebRTCLibPeerConnection.cpp (L35-L37)
2020-09-08 11:10:57 +02:00
Rémi Verschelde
3c42d5789f
Merge pull request #38308 from bruvzg/sad_security_circus
Adds PCK encryption support (using script encryption key for export).
2020-09-07 17:12:01 +02:00
Pedro J. Estébanez
f76a13dea0 Avoid warning about harmless unfulfilled yields 2020-09-06 22:30:46 +02:00
Rémi Verschelde
c39224a90d
Merge pull request #41813 from madmiraal/add-missing-header-guards
Fix header guards in modules.
2020-09-06 21:07:25 +02:00
Marcel Admiraal
5a376cb061 Fix header guards in modules:
- Add missing header guards to various modules' register_types.h
- Add header guard to basis_universal/texture_basisu.h.
- Ensure header guard encloses entire header in
  webrtc/webrtc_data_channel_js.h.
2020-09-06 16:13:59 +01:00
Rémi Verschelde
859322343c
Merge pull request #41803 from ThakeeNathees/parameter-type-infer-bug-fix
GDScript: parameter infer type bug fix
2020-09-06 15:22:44 +02:00
Andrea Catania
53e42930d9
Avoid adding margin twice along capsule Y axis 2020-09-06 11:33:27 +02:00
Thakee Nathees
89489a3cac GDScript: parameter infer type bug fix
Fix: #41772
2020-09-06 13:26:52 +05:30
Alex de la Mare
8dbd7155b5 Handle csproj "Remove" globs
MSBuild Item returns empty strings if an attribute isn't set (which
caused an IndexOutOfRangeException in NormalizePath).

We were treating Excludes incorrectly, Remove directives provide the
intended behaviour in the auto-including csproj format.
2020-09-06 11:34:04 +10:00
bruvzg
f043eabdd8
Adds PCK encryption support (using script encryption key for export).
Change default encryption mode from ECB to CFB.
2020-09-05 14:53:39 +03:00
bruvzg
82cd97b675
Fix Mono path utils char types. 2020-09-04 22:20:08 +03:00
Rémi Verschelde
605d7b7e82
Merge pull request #41760 from ThakeeNathees/null-dereference-on-gdscript-function-fix
null pointer dereference at GDScriptFunction::call crash fix
2020-09-04 14:45:31 +02:00
Thakee Nathees
75d4511cb5 null pointer dereference at GDScriptFunction::call fix 2020-09-04 15:24:09 +05:30
Rémi Verschelde
5c55c41c9d
Merge pull request #41753 from neikeq/csharp-hide-build-button-if-no-proj
C#: Hide Build button if there's no solution to build
2020-09-04 08:19:53 +02:00
Rémi Verschelde
15efe040f9
Merge pull request #41747 from neikeq/issue-41446
Fix parsing of C# files with spaces in the path
2020-09-04 08:16:56 +02:00
Rémi Verschelde
90601bb659
Merge pull request #41750 from neikeq/issue-41745
C#: Fix Godot failing to find class namespace
2020-09-04 08:15:49 +02:00
Rémi Verschelde
d1b0b1962d
Merge pull request #41748 from neikeq/issue-41712
Fix 'Parameter "assembly" is null' error
2020-09-04 08:13:46 +02:00
Ignacio Etcheverry
173f7d800b C#: Hide Build button if there's no solution to build
Same as we do with the bottom panel. Mainly to
avoid bothering if the project is not using C#.
2020-09-04 02:07:12 +02:00
Ignacio Etcheverry
a0ef3ba5c8 C#: Fix Godot failing to find class namespace 2020-09-04 01:26:05 +02:00
Ignacio Etcheverry
136181bb50 Fix 'Parameter "assembly" is null' error
This error was normally being printed when
trying to open the project assembly while
the project was not yet built.
The error should not be printed. It's the job
of this method's caller to decide whether to
print an error or not if loading failed.
2020-09-04 01:08:44 +02:00
Ignacio Etcheverry
9e8a5e4b5a Fix parsing of C# files with spaces in the path 2020-09-04 01:01:10 +02:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Thakee Nathees
4fc14e8e11 fixed parser error when indexing a dictionary.
Fix: #41707
2020-09-03 18:04:54 +05:30
Marcel Admiraal
f6ad1954f7 Ensure header guards enclose entire header. 2020-09-03 11:29:42 +01:00
Rémi Verschelde
d84954a281
Merge pull request #41459 from Paulb23/nested_color_regions
Fix colour region end key seach and start key order
2020-09-03 11:32:04 +02:00
Ignacio Etcheverry
206501a45e C#: Fix Windows detection for copying MSBuild stub
Previous condition checked only the host
platform. This was a problem as our official
builds are from Linux.
2020-09-03 09:09:04 +02:00
bruvzg
d73609c774
Fix GDScript codegen leak. 2020-09-02 22:42:49 +03:00
Marcel Admiraal
cba4a93a34 Merge python EnvironmentError, IOError and WindowsError into OSError. 2020-09-02 15:58:07 +01:00
Andrii Doroshenko (Xrayez)
0cc05c5a31 Register GDScript test tools as test commands to run via command-line 2020-09-02 01:43:26 +03:00
Lunatoid
07053d0c6a Fixed ParseError when calling Object.new()
Fixes #41462 where calling Object.new() in GDScript gave an error.
I fixed it by adding exclusion when checking if the name is a builtin
type to exclude objects with a comment detailing why.
2020-09-02 00:11:58 +02:00
Andrii Doroshenko (Xrayez)
6b7e50ab34 Move GDScript tests to respective folder under modules 2020-09-02 01:09:32 +03:00
George Marques
635c6a0a18
Add GDScript disassembler 2020-09-01 14:36:30 -03:00
George Marques
745ca3059d
Change GDScript compiler to use codegen abstraction 2020-09-01 14:36:22 -03:00
George Marques
82273ebc01
Add GDScript code generation interface
Implement the abstraction by targeting the current VM.
2020-09-01 14:27:19 -03:00
George Marques
a889084864
GDScript: Don't mark function parameters as constant
They can be reassigned as if it were a local variable.
2020-09-01 09:26:28 -03:00
George Marques
c8e10aa20b
GDScript: Properly set class inheritance for global classes 2020-09-01 09:26:28 -03:00
George Marques
164cc8705b
GDScript: Check for missing exponent when parsing numbers
Also forbid multiple underscores in a row as numeric separator.
2020-09-01 09:26:28 -03:00
George Marques
f8fa5e4738
GDScript: Fix analysis of singleton dependencies
Sometimes a singleton might depend on another before they are fully
compiled so we can't rely on globals in this case.
2020-09-01 09:26:28 -03:00
George Marques
edb4caf24e
GDScript: Allow "extends" to be used inside inner class 2020-09-01 09:26:27 -03:00
George Marques
34dc689ad4
GDScript: Allow "self" to be used in class level 2020-09-01 09:26:27 -03:00
George Marques
1ddb9b1a52
GDScript: Don't try to parse constant scripts that aren't valid
Since it's likely that they won't parse correctly.
2020-09-01 09:26:27 -03:00
Aaron Franke
a6ff389a55
Simplify html_is_valid and allow it to work with 3 and 4 hex digits 2020-09-01 02:07:35 -04:00
Aaron Franke
ecd6a893b4
Change Color HTML conversion from ARGB to RGBA
Also add support for 3 and 4 digit values in C#. Now it actually matches the HTML/CSS spec.
2020-09-01 02:07:35 -04:00
Rémi Verschelde
2cfc5b8680
Merge pull request #40993 from Calinou/doc-collision-layer-mask
Reference the online documentation in collision layer/mask properties
2020-08-31 15:32:44 +02:00
Hugo Locurcio
c4903a603b
Add link titles for all links in the class reference
This makes them display in a nicer way in the editor help.
(The title will display instead of the full URL.)
2020-08-31 14:22:07 +02:00
Rémi Verschelde
db5ea78b7b
Merge pull request #41613 from neikeq/possibly
Fix clang-tidy warnings due to semicolon after mono module macros
2020-08-30 12:04:16 +02:00
Rémi Verschelde
30029e1d7f
Merge pull request #41611 from neikeq/issue-41444
C#: Fix crash on export when incorrectly freeing MonoAssemblyName
2020-08-30 12:02:55 +02:00
Ignacio Etcheverry
8c7553a076 Fix clang-tidy warnings due to semicolon after mono module macros
This also enforces them to end with a semicolon.
2020-08-30 02:17:04 +02:00
Ignacio Etcheverry
99740850a2 C#: Fix InvalidCastException on export 2020-08-30 01:55:21 +02:00
Ignacio Etcheverry
7c7d724453 C#: Fix crash on export when incorrectly freeing MonoAssemblyName 2020-08-30 01:48:43 +02:00
Thaina Yu
5dc3900727
Mono: Improve MSBuildFinder logic on Windows
Support detecting both 32-bit and 64-bit installations of `vswhere.exe`.
2020-08-29 12:55:29 +02:00
Hugo Locurcio
20d0f5bbd7
Cross-reference GDScript built-in rounding methods to ease discovery
This closes #19315.
2020-08-28 17:04:22 +02:00
Rémi Verschelde
46809332dd
Merge pull request #41547 from vnen/gdscript-2-fixes
Some more GDScript fixes
2020-08-28 10:36:09 +02:00
George Marques
5033d5c71c
GDScript: Fix crash when parsing properties 2020-08-26 16:08:19 -03:00
George Marques
b2b45987d0
GDScript: Show error when there's an inheritance cycle 2020-08-26 16:01:08 -03:00
George Marques
4a3fca47e5
GDScript: Add recursion depth limit for completion
To avoid crashes when there's a dependency loop.
2020-08-26 15:38:23 -03:00
George Marques
ff16ba1eaa
GDScript: Fix crash when completing code with signals 2020-08-26 15:13:42 -03:00
George Marques
8ccf88a206
GDScript: Fix issues when deriving from other scripts 2020-08-26 14:50:27 -03:00
Rémi Verschelde
9d8f3496e8
Merge pull request #40443 from SkyLucilfer/PluralsSupport
Added plurals and context support to Translation
2020-08-25 12:11:56 +02:00
Lyuma
0851d6dcdf Fix regression in FBX import caused by Skeleton3D
A change in commit f7fdc87 changed the Skeleton3D "pose" property from PROPERTY_USAGE_EDITOR to PROPERTY_USAGE_NOEDITOR.
This should have had no effect, however it turns out assimp was assigning to the pose property.

This change adjusts the FBX import to only get_bone_rest/set_bone_rest, not set_bone_pose.
2020-08-25 01:17:39 -07:00
George Marques
722be9aaef
GDScript: Don't fail to load constants if they're not a literal
It's still okay as long as it's a constant value. This should already
been validated by the analyzer.
2020-08-24 09:15:33 -03:00
Ignacio Etcheverry
2bd6252e92 C#: Fix 'Parameter toolsPath cannot be null' error 2020-08-24 11:24:08 +02:00
George Marques
ca90c9c9a9
GDScript: Properly resolve external inner classes from preload
This gets the correct parser and class node when resolving from a full
GDScript reference.
2020-08-23 12:55:27 -03:00
George Marques
d36d7e2a1c
GDScript: Use pointer instead of references in cache
They are not supposed to be kept alive and this is cleaner and less
error-prone than unreferencing the elements.
2020-08-23 12:55:27 -03:00
George Marques
58f5c2bab6
Merge pull request #41238 from MarianoGnu/gdscript-export-resource
Fix GdScript Analyzier not detecting Resource subclass correctly
2020-08-23 11:04:52 -03:00
Paulb23
6cdcdbc242 Fix color region end key seach and start key order 2020-08-22 19:55:44 +01:00
Marcel Admiraal
4b14916288 Check and correct for zero scaling when unscaling Bullet basis. 2020-08-22 08:16:13 +01:00
Rémi Verschelde
0559d1001c
Merge pull request #41410 from neikeq/no-bom-on-csproj-creation
C#: Save newly created csproj files without BOM
2020-08-21 02:02:17 +02:00
Rémi Verschelde
ebc194c258
Merge pull request #41409 from neikeq/fix-null-in-msbuild-logger
C#: Fix null exception in our MSBuild logger
2020-08-21 01:58:54 +02:00
Ignacio Etcheverry
b5f6285f34 C#: Save newly created csproj files without BOM 2020-08-21 01:48:56 +02:00
Ignacio Etcheverry
7eed8c5a0c C#: Fix null exception in our MSBuild logger 2020-08-21 01:47:47 +02:00
Ignacio Etcheverry
8bb48ae57a Mono/C#: Fix editor using wrong project assembly path in rare cases
We were removing invalid path characters from the
name in C++ code, but the C# editor code wasn't.
2020-08-21 01:42:47 +02:00
Rémi Verschelde
eb9cbdc369
Merge pull request #41381 from vnen/gdscript-2-fixes
A few more GDScript fixes
2020-08-19 22:17:44 +02:00
George Marques
a880f590e4
GDScript: Make subscript access be properly type checked 2020-08-19 14:35:26 -03:00
George Marques
846856728b
GDScript: Show error when function return type is missing 2020-08-19 14:09:45 -03:00
George Marques
15b16ec0ce
GDScript: Fix signal parameters not respecting commas 2020-08-19 11:32:48 -03:00
George Marques
cd3f51c67c
GDScript: Check duplicate keys in dictionaries and enums 2020-08-19 11:14:16 -03:00
George Marques
f9ad0b30fa
GDScript: Allow preload() to be used with constant expressions 2020-08-19 10:45:00 -03:00
George Marques
a52e457ada
GDScript: Allow keywords to be used in $ notation 2020-08-19 10:19:05 -03:00
SkyJJ
ce3461dc88 Update GDScriptTranslationParserPlugin to use GDSriptParser instead of RegEx. 2020-08-19 03:10:51 +02:00
SkyJJ
396f2eee82 Update POT generation to handle context and plurals 2020-08-19 03:01:52 +02:00
Rémi Verschelde
f568cede8d
Merge pull request #41362 from neikeq/fix-play-issues-after-ide-play-request
C#: Fix editor unable to play game after IDE PlayRequest
2020-08-19 01:33:59 +02:00
Ignacio Etcheverry
6e7da72648 C#: Fix editor unable to play game after IDE PlayRequest
The editor wasn't clearing the debugger agent
settings properly after a processing a play
request from an IDE. This caused consequent play
attempts to fail if not launched from the IDE,
as the game would still attempt and fail to
connect to the debugger.

The concrete cause: Forgetting to clear the
`GODOT_MONO_DEBUGGER_AGENT` environment variable.
2020-08-19 00:14:57 +02:00
Rémi Verschelde
9218f0f1b0
Merge pull request #41352 from Calinou/bmp-loader-error-explanations
Add more error explanations in the BMP image loader
2020-08-18 23:22:43 +02:00
George Marques
35176247af
GDScript: Allow enum values to be set to constant expressions
Also allow them to access previous values wihout referencing the enum.
2020-08-18 17:44:20 -03:00
George Marques
99d4ea8c79
GDScript: Allow supertype objects to be assigned to a subtype variable
It allows `get_node()` to be used with typed variables

This is marked as unsafe to warn the user.
2020-08-18 15:12:51 -03:00
Hugo Locurcio
40485e2479
Add more error explanations in the BMP image loader
This closes #32166 and closes #30629.
2020-08-18 19:41:40 +02:00
George Marques
8bc9b3a2ae
GDScript: Allow implicit type conversion when constructing variants
Incidentally fix error message when no valid constructor is found which
was missing an end parenthesis.
2020-08-18 13:12:18 -03:00
George Marques
8088e9e6ac
GDScript: Add script to cache on reload
This ensures that scripts created without a resource loader are properly
included in the cache (such as builtin scripts) and are not tried to be
loaded from the disk.
2020-08-18 11:21:09 -03:00
George Marques
0f9923e67f
GDScript: Allow empty files to be valid scripts 2020-08-17 21:32:49 -03:00
George Marques
3abb3c0d6e
GDScript: Fix crash when superclass file is non-existent
Incidentally, allow EOF to be an end of statement.
2020-08-17 21:30:39 -03:00
George Marques
fda6f3b600
GDScript: Fix LSP getting wrong union value on unnamed enums 2020-08-17 21:10:30 -03:00
George Marques
d06ce2f11e
GDScript: Fix editor crash when writing @tool annotation 2020-08-17 21:02:49 -03:00
George Marques
f374021d52
GDSript: Prevent crash when completing unary operators 2020-08-17 20:49:04 -03:00
George Marques
9ecd042e78
GDScript: Allow "match" to be used as an identifier
This is needed to call the String.match() function.
2020-08-17 20:14:46 -03:00
George Marques
d45e1befe3
GDScript: Fix wrong argument check for formatting operator 2020-08-17 19:49:54 -03:00
Andrii Doroshenko (Xrayez)
6f426c3360 Port ClassDB tests to use doctest
Extracted the most minimal core initialization functionality from
`setup()` and `setup2()` so that `ClassDB` could be tested properly
(input, audio, rendering, physics etc, are excluded).

Display and rendering servers/singletons are not initialized at all.

Due to the fact that most subsystems are disabled, fixed various crashes in the
process (in order):
- `AcceptDialog` OK/cancel swap behavior (used `DisplayServer` while
  `register_scene_types()`);
- `make_default_theme` which depends on `RenderingServer`;
- `XRServer` singleton access while calling `register_modules_types()`;
- hidden bug in a way joypads are cleaned up (MacOS and Linux only).

Removed manual `ClassDB` init/cleanup calls from `test_validate_testing.h`.

ClassDB tests:

Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2020-08-16 16:41:02 +03:00
Mariano Suligoy
a8c01df647 Fix GdScript Analyzier not detecting Resource subclass correctly 2020-08-13 19:46:57 -03:00
Rémi Verschelde
ef607b0137
Merge pull request #41229 from madmiraal/fix-csg
Don't attempt to insert points into degenerate triangles when creating CSG shapes.
2020-08-13 23:19:49 +02:00
Marcel Admiraal
3521239d96 Don't attempt to insert points into degenerate triangles.
Use a simpler degenerate triangle check that calculates area.
2020-08-13 16:23:14 +01:00
George Marques
adc1f95d97
Merge pull request #41224 from ThakeeNathees/fix-ctrl+click-not-working
Fix: ctrl + click not working on script member
2020-08-13 10:25:46 -03:00
Thakee Nathees
c6dc73f9be Fix: ctrl + click not working 2020-08-13 17:35:17 +05:30
Rémi Verschelde
3b3d82f40f
Merge pull request #41199 from madmiraal/fix-38001
Mark the first shape as inside, not the second shape, when CSG shapes are co-planer.
2020-08-13 10:16:33 +02:00
George Marques
9413446b2d
Merge pull request #41104 from vnen/gdscript-assignment-tidy
Tidy up assignment operator check
2020-08-12 08:54:48 -03:00
Marcel Admiraal
5b1e6e35be Mark the first shape as inside, not the second shape, when CSG shapes are
co-planer.
2020-08-12 08:01:02 +01:00
Rémi Verschelde
cf05486d8e
Merge pull request #41055 from snichols/null-callee-fix
Fix crash with null callee
2020-08-11 15:15:43 +02:00
Rémi Verschelde
3044b8f15a
Merge pull request #40935 from hoontee/master-3
Transform CSGShape collision when necessary
2020-08-11 11:58:36 +02:00
Rémi Verschelde
920f8c86ec
Merge pull request #40919 from hoontee/master-2
Properly handle empty CSGCombiners
2020-08-11 11:57:18 +02:00
Paulb23
5cf2cf8646 Fix colour region continuation over blank lines, issue 41120 2020-08-08 15:36:46 +01:00
George Marques
69c81309cc
Merge pull request #40673 from ThakeeNathees/gdscript-op-eval-validation
GDScript operator evaluation validation bug fix
2020-08-08 10:52:40 -03:00
George Marques
1f14068727
Merge pull request #40951 from bruvzg/gds_cleanup
[GDScript] Add static HashMap cleanup.
2020-08-08 10:44:57 -03:00
George Marques
3aef60591b
GDScript: Tidy up assignment operator check
The operator is already gathered by the parser, no need to do it again
in the analyzer.
2020-08-08 10:37:51 -03:00
George Marques
241e709462
Merge pull request #41062 from ThakeeNathees/unsafe-arithmatic-assignment-bug-fix
GDScript: unsafe arithmetic assignment bug fix
2020-08-06 10:51:48 -03:00
Thakee Nathees
38c7d080e8 GDScript: unsafe arithmetic assignment bug fix
Fix: #41051
2020-08-06 11:12:26 +05:30
Stephen Nichols
fbd07bf3bf Adding error message for empty grouping expression 2020-08-05 14:42:33 -05:00
Stephen Nichols
8a13be50ab Fixing null callee crash. 2020-08-05 14:41:46 -05:00
Andrea Catania
6831da630f
Merge pull request #40989 from madmiraal/fix-40739
Reload Bullet space override modifier even when RigidBody is inactive.
2020-08-05 13:54:25 +02:00
Rafał Mikrut
ac1b2da96e Fixes leak when creating bullet shape 2020-08-05 10:04:04 +02:00
George Marques
9adf6d3441
Merge pull request #40690 from ThakeeNathees/arithmetic-assign-type-check-bug-fix
GDScript arithmetic assignment type check bug fix
2020-08-03 09:26:09 -03:00
Hugo Locurcio
c73c327bab
Reference the online documentation in collision layer/mask properties
See https://github.com/godotengine/godot-docs/pull/3863.
2020-08-03 13:58:51 +02:00
Marcel Admiraal
3a05ca9c2b Reload Bullet space override modifier even when RigidBody is inactive. 2020-08-03 11:39:16 +01:00
unknown
561af0c17d Fixed tiny grammar issues in error messages 2020-08-03 14:03:28 +05:30
bruvzg
ee973f5b90
[GDScript] Add static HashMap cleanup. 2020-08-01 22:08:12 +03:00
hoontee
fc8574fbac Transform CSGShape collision when necessary 2020-08-01 01:45:22 -05:00
hoontee
001b6075cb
Properly handle empty CSGCombiners 2020-07-31 10:11:26 -05:00
Rémi Verschelde
ba853f86af
Merge pull request #40903 from Calinou/doc-json
Improve JSON-related documentation
2020-07-31 10:39:56 +02:00
Hugo Locurcio
930e10ffff Improve JSON-related documentation
This closes https://github.com/godotengine/godot-docs/issues/3848.
2020-07-31 09:56:11 +02:00
Rémi Verschelde
9833f9cc11 doc: Fix typo in BBcode tag 2020-07-30 16:24:37 +02:00
Marcel Admiraal
9be7b30f35 Ensure CSG parent's _make_dirty() is called when entering a tree. 2020-07-30 13:34:37 +01:00
SkyJJ
9cd1ef573c Refix GDScriptTranslationParser leak 2020-07-29 23:17:58 +02:00
Rémi Verschelde
fa6cd2cd77
Merge pull request #40838 from Faless/dtls/enet_refuse_fix
Fix crash in ENet changing refuse_new_connections
2020-07-29 18:06:19 +02:00
Fabio Alessandrelli
e5f3159a23 Fix crash in ENet changing refuse_new_connections
When the host is not started.
2020-07-29 17:53:41 +02:00
Rémi Verschelde
157958c77c
Merge pull request #40823 from Calinou/doc-string-split-regex
Document how to perform advanced string splitting using RegEx
2020-07-29 12:42:15 +02:00
Hugo Locurcio
5f2b6bd476 Document how to perform advanced string splitting using RegEx
This closes https://github.com/godotengine/godot-docs/issues/3607.
2020-07-29 12:12:01 +02:00
Lyuma
68566b7bec GDScript: Fix crash caused by inconsistent get_member 2020-07-29 02:56:03 -07:00
Rémi Verschelde
a6916d1f17
Merge pull request #40678 from aaronfranke/string-float64
Make all String float conversion methods be 64-bit
2020-07-28 01:27:34 +02:00
Rémi Verschelde
932b75e247 doc: Sync classref with current source 2020-07-28 01:08:44 +02:00
Aaron Franke
56e2c6c704
Make all String float conversion methods be 64-bit 2020-07-27 18:38:53 -04:00
Rémi Verschelde
4e825539e5
Merge pull request #40762 from SkyLucilfer/PackedSceneLeak
Fix EditorTranslationParser leak
2020-07-28 00:31:46 +02:00
Rémi Verschelde
5f28ab6566
Merge pull request #40771 from Xrayez/scons-verbose-builders
SCons: Refactor running commands through builders
2020-07-28 00:30:55 +02:00
Rémi Verschelde
3edcccafd9
Merge pull request #40777 from Nhiqill/fix_mono_nested_class_reload
Pop from front to avoid infinite loop with nested classes
2020-07-28 00:26:14 +02:00
Andrii Doroshenko (Xrayez)
d86de6c98e SCons: Refactor running commands through builders
A new `env.Run` method is added which allows to control the verbosity
of builders output automatically depending on whether the "verbose"
option is set. It also allows to optionally run any SCons commands in a
subprocess using the existing `run_in_subprocess` method, unifying
the interface. `Action` objects wrap all builder functions to include a
short build message associated with any action.

Notably, this removes quite verbose output generated by `make_doc_header`
and `make_editor_icons_action` builders.
2020-07-28 00:09:21 +03:00
Rémi Verschelde
c845e20add Revert "Allow Area2D and 3D mouse events without a collision layer"
This reverts commit 7eebb06b55.
2020-07-27 22:45:01 +02:00
Nhiqill
42d1b4f389 Pop from front to avoid infinite loop with nested classes 2020-07-27 16:36:56 -04:00
George Marques
04f46aea8d
GDScript: Fix crash on 'await' completion 2020-07-27 17:17:39 -03:00
SkyJJ
0e54ba0486 Fix EditorTranslationParser leak 2020-07-27 17:02:53 +02:00
Rémi Verschelde
3e87022ecc
Merge pull request #40252 from AndreaCatania/flush
Improved Bullet Physics flush algorithm, Lazy collision filter reload, Shape reload regression fix.
2020-07-27 13:57:47 +02:00
Rémi Verschelde
bd9fc75768
Merge pull request #40706 from akien-mga/style-fix-file_format-macos
Fix code format scripts compat with non-GNU Unices
2020-07-27 13:27:56 +02:00
Rémi Verschelde
c71e189efd Style: Fix code format scripts compat with non-GNU Unices
It's too hard to get compatibility between GNU and BSD sed,
so let's just use perl oneliners.

And improve it to also remove trailing tabs, not just spaces.
2020-07-27 13:11:44 +02:00
Rémi Verschelde
3e99059129
Merge pull request #40714 from ThakeeNathees/Object-type-bug-fix
GDScript: "Object" datatype changed from BUILTIN to NATIVE
2020-07-27 08:50:16 +02:00
Andrea Catania
8d0d6d6921 - Enhanced the flush mechanism by flushing only needed thing.
- Flushing Areas before anything else.
- Make sure to correctly fetch gravity when the integrate_forces function is used
- Lazy reload body when layer and mask changes
- Shapes are reloaded just before the physics step starts.
- Improved some other parts of the code.
- Added override keyword
- Using LocalVector
2020-07-27 08:25:47 +02:00
Rémi Verschelde
dc456059a4
Merge pull request #40595 from neikeq/godot-net-sdk-and-net-standard
C#: Switch games to MSBuild Sdks and .NET Standard
2020-07-26 20:47:35 +02:00
Rémi Verschelde
f940e5e000 CI: Install master version of psf/black
Until https://github.com/psf/black/pull/1328 makes it in a stable release,
we have to use the latest from Git.

Apply new style fixes done by latest black.
2020-07-26 19:48:25 +02:00
Rémi Verschelde
33d423e240
Merge pull request #39898 from Meriipu/master_gdscript
GDScript: Clarified/fixed inaccuracies in the built-in function docs.
2020-07-26 17:12:13 +02:00
Rémi Verschelde
c75f4c06f0
Merge pull request #40647 from Xrayez/blank-tabs-fix
Make unsaved scripts in the script editor more user-friendly
2020-07-26 17:11:31 +02:00
Rémi Verschelde
b2096ba53e
Merge pull request #40670 from vnen/remove-multilevel-call
Remove multilevel calls
2020-07-26 17:09:41 +02:00
Rémi Verschelde
94ff5ee535
Merge pull request #40655 from madmiraal/fix-40636
Ensure Bullet HeightMapShape3D data width and depth are at least 2.
2020-07-26 17:09:02 +02:00
Rémi Verschelde
b35be146da
Merge pull request #40720 from Xrayez/modules-tests
Enable support for C++ modules tests
2020-07-26 17:04:41 +02:00
Andrii Doroshenko (Xrayez)
60f53140b8 Enable support for C++ modules tests
Modules-specific tests can be written under respective module folders.
Each module should have "tests" folder created with the tests implemented
as `doctest` headers, so they can be collected by the buildsystem and
included directly in `tests/test_main.cpp` to be compiled.
2020-07-26 17:41:46 +03:00
Andrii Doroshenko (Xrayez)
7247247522 Make unsaved scripts in the script editor more user-friendly
Unsaved scripts were previously displayed with blank tabs, which are
mostly a result of deleted or improperly moved scripts.

This patch makes sure that those kind of scripts are displayed as
"[unsaved]" now, and ensures that scripts are removed from the list
while deleting scripts from the filesystem dock preventing the unsaved
tabs to appear in the first place (a user is already prompted with
"no undo" warning while deleting any file).

A user is always prompted to save those "[unsaved]" scripts if they
attempt to close them without saving in any case except as described
above.
2020-07-26 16:05:44 +03:00
Rémi Verschelde
5700429e4e
Merge pull request #33760 from nekomatata/script-editor-init-optimization
Optimized ScriptEditor initialization when many scripts are loaded
2020-07-26 14:05:56 +02:00
Thakee Nathees
194c2aa7e2 GDScript: "Object" datatype changed from BUILTIN to NATIVE
Fix: #40656
2020-07-26 08:00:55 +05:30
Thakee Nathees
5ba46ddf8e GDScript arithmetic assignment type check bug fixed
Fix: #40686
2020-07-26 06:46:13 +05:30
Sergey Minakov
66be375eb0 Modules: update modules to be built for iOS
Using 'available' checks to fix deprecation compilation errors
Additional checks for simulator
2020-07-25 21:55:15 +02:00
Meriipu
7f9bfee0ac GDScript: Clarified/fixed inaccuracies in the built-in function docs.
The input to smoothstep is not actually a weight, and the decscription
of smoothstep was pretty hard to understand and easy to misinterpret.

Clarified what it means to be approximately equal.

nearest_po2 does not do what the descriptions says it does. For one,
it returns the same power if the input is a power of 2. Second, it
returns 0 if the input is negative or 0, while the smallest possible
integral power of 2 actually is 1 (2^0 = 1). Due to the implementation
and how it is used in a lot of places, it does not seem wise to change
such a core function however, and I decided it is better to alter the
description of the built-in.

Added a few examples/clarifications/edge-cases.
2020-07-25 20:26:02 +02:00
Ignacio Etcheverry
ced77b1e9b C#: Switch games to MSBuild Sdks and .NET Standard
Godot.NET.Sdk
-------------

Godot uses its own custom MSBuild Sdk for game
projects. This new Sdk adds its own functionality
on top of 'Microsoft.NET.Sdk'.

The new Sdk is resolved from the NuGet package.

All the default boilerplate was moved from game
projects to the Sdk. The default csproj for
game project can now be as simple as:

```
<Project Sdk="Godot.NET.Sdk/4.0.0-dev2">
  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
  </PropertyGroup>
</Project>
```

Source files are included by automatically so
Godot no longer needs to keep the csproj in sync
when creating new source files.

Define constants
----------------

Godot defines a list of constants for conditional
compilation. When exporting games, this list also
included engine 'features' and platform 'bits'.
There were a few problems with that:

- The 'features' constants were only defined when
  exporting games. Not when building the game for
  running in the editor player.
- If the project was built externally by an IDE,
  the constants wouldn't be defined at all.

The new Sdk assigns default values to these
constants when not built from the Godot editor,
i.e.: when built from an IDE or from the command
line. The default define constants are determined
from the system MSBuild is running on.

However, it's not possible for MSBuild to
determine the set of supported engine features.
It's also not possible to determine if a project
is being built to run on a 32-bit or 64-bit
Godot executable.

As such the 'features' and 'bits' constants had
to be removed.
The benefit of checking those at compile time
was questionable, and they can still be checked
at runtime.

The new list of define constants includes:

- GODOT
- GODOT_<PLATFORM>
  Defaults to the platform MSBuild is running on.
- GODOT_<PC/MOBILE/WEB>
- TOOLS
  When building with the 'Debug' configuration
  (editor and editor player).
- GODOT_REAL_T_IS_DOUBLE
  Not defined by default unless $(GodotRealTIsDouble)
  is overriden to be 'true'.

.NET Standard
-------------

The target framework of game projects was changed
to 'netstandard2.1'.
2020-07-25 19:22:01 +02:00
Thakee Nathees
04dfb78d23 GDScript operator evaluation validation bug fix
Fix: #40665
2020-07-24 23:32:29 +05:30
George Marques
2b9d9bc364
Remove multilevel calls
In general they are more confusing to users because they expect
inheritance to fully override parent methods. This behavior can be
enabled by script writers using a simple super() call.
2020-07-24 14:13:58 -03:00
George Marques
e6b44b93c3
GDScript: Allow "new()" to be called in non-static functions 2020-07-24 13:45:23 -03:00
Marcel Admiraal
236857c92a Ensure Bullet HeightMapShape3D data width and depth are at least 2. 2020-07-24 13:40:26 +01:00
Rémi Verschelde
3811fb919e
Merge pull request #40598 from vnen/gdscript-2.0
GDScript 2.0 (again)
2020-07-24 01:04:57 +02:00
mega-bit
0ca96ae2c1 Fix typos in GodotSharp code docs 2020-07-22 22:46:04 +02:00
Rémi Verschelde
9a586defed VisualScript: Fix -Wduplicate-branches warning
When VSDEBUG is a no-op (default), those branches did the same (nothing).
2020-07-22 16:57:28 +02:00
George Marques
a0f54cb95e
Wrap up GDScript 2.0 base implementation 2020-07-22 11:07:51 -03:00
Ignacio Etcheverry
4a30289eee C#: Fix restore not called when building game projects 2020-07-22 14:28:47 +02:00
Aaron Franke
ad96b6314c
Fix XML in Plane.cs 2020-07-21 20:13:51 -04:00
Rémi Verschelde
a5fb445121
Merge pull request #40450 from asmaloney/spelling
Fix spelling & grammar in comments, docs, and messages
2020-07-21 22:14:04 +02:00
Andy Maloney
4dda62f591 Fix spelling & grammar in comments, docs, and messages 2020-07-21 15:17:23 -04:00
Aaron Franke
83e324d670
Update core documentation to match recent C# changes
Also a few minor API changes like adding AABB.abs()

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-07-21 14:44:53 -04:00
George Marques
aa09b4f85d
Reintroduce code completion 2020-07-20 11:38:40 -03:00
George Marques
b6a2628c48
Reenable GDScript LSP server 2020-07-20 11:38:40 -03:00
George Marques
dadfcd8aba
Added support for enums to be used as types in GDScript 2020-07-20 11:38:40 -03:00
George Marques
95c0909290
Add warning checks in GDScript analyzer
Reenable checking those when validating code.
2020-07-20 11:38:40 -03:00
George Marques
9a76ab8b6a
Add new GDScript type checker 2020-07-20 11:38:40 -03:00
George Marques
17cd6347ba
Add better local variable detection in GDScript parser
Also store Variant operator to avoid needing to do it repeatedly in
later compiling stages.
2020-07-20 11:38:39 -03:00
George Marques
7adb0d77cc
Add GDScript cache singleton 2020-07-20 11:38:39 -03:00
George Marques
886732ac2b
Add support for properties 2020-07-20 11:38:39 -03:00
George Marques
34c28eb2b8
Fix comments in beginning of file
Also improve error for unknown characters.
2020-07-20 11:38:39 -03:00
George Marques
5d6e853806
New GDScript tokenizer and parser
Sometimes to fix something you have to break it first.

This get GDScript mostly working with the new tokenizer and parser but
a lot of things isn't working yet. It compiles and it's usable, and that
should be enough for now.

Don't worry: other huge commits will come after this.
2020-07-20 11:38:39 -03:00
Marcel Admiraal
ec92a26d08 Use difference in position to check whether motion in Bullet is too close
to zero.
2020-07-18 13:15:10 +01:00
PouleyKetchoupp
ccff2f2551 Optimized ScriptEditor initialization when many scripts are loaded
This change avoids the editor to freeze for several seconds when a
project with lots of scripts is loaded in the editor.

It focuses on a few heavy operations previously executed on all
previously loaded scripts:
- Initialize script resource (script validation/parsing) only
on focus
- ScriptTextEditor: code editor and edit menu are added to the
scene only on focus
- Add to recent scripts only when opening new scripts
(load/save scene metadata)
2020-07-17 09:02:24 +02:00
Rémi Verschelde
6497a3fb50
Merge pull request #40291 from hinlopen/dialog-size
Resize various dialogs
2020-07-15 12:13:33 +02:00
Rémi Verschelde
9bda8df46c
Merge pull request #40386 from touilleMan/correct-Reference-is_reference-api.json
Correct is_reference attribute in api.json for Reference class
2020-07-15 08:29:36 +02:00
Rémi Verschelde
039f01575c
Merge pull request #40392 from touilleMan/missing-has_default_value-signals-api_json
Add missing has_default_value field for signals in api.json
2020-07-15 08:26:52 +02:00
Emmanuel Leblond
37de4982ca
Add missing has_default_value field for signals in api.json 2020-07-14 23:12:44 +02:00
Emmanuel Leblond
b5c80088ce
Correct is_reference attribute in api.json for Reference class 2020-07-14 18:20:20 +02:00
Rémi Verschelde
9bdcfc4e87
Merge pull request #40374 from Faless/udp/server_abstraction
UDPServer uses single socket, abstract clients.
2020-07-14 16:31:19 +02:00
Stijn Hinlopen
526e060b73 Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
Fabio Alessandrelli
7ec5c917d1 Funnel refuse_new_connections to Godot ENet. 2020-07-14 14:10:18 +02:00
Ryan Roden-Corrent
8dcc39ec91
Include gdscript warning name in LSP message.
My initial attempt changed this in the gdscript code, which resulted in
a duplicate warning name in the builtin editor. We should just append
the warning name in the LSP instead.

This uses parens to match what is shown in the builtin editor.
2020-07-14 07:11:16 -04:00
Ryan Roden-Corrent
d92fa3b547
Revert "Include gdscript warning name in the warning message."
This reverts commit de3ad3b30e.
2020-07-14 06:43:58 -04:00
Rémi Verschelde
861c6c63b6
Merge pull request #40218 from aaronfranke/mono-docs
Add C# XML documentation to core C# math types
2020-07-14 10:17:10 +02:00
Rémi Verschelde
ca5958d180
Merge pull request #38440 from Paulb23/syntax_highlighter_refactor
Syntax highlighter refactor
2020-07-14 09:49:02 +02:00
Rémi Verschelde
41802d8397
Merge pull request #40335 from aaronfranke/formatting-gh-actions
Use GitHub Actions for file formatting and style checks
2020-07-14 08:40:32 +02:00
Aaron Franke
9986439352
Commit other files changed by file_format.sh 2020-07-13 14:14:11 -04:00
volzhs
4e987f5ab9 Fix overlappingObjects vector crash
use clear_overlaps() instead of clearing overlappingObjects directly
2020-07-14 02:34:18 +09:00
Rémi Verschelde
db1eb909fe
Merge pull request #40261 from bruvzg/macos_mono_build
[macOS, Mono] Fix "Wdeprecated-declarations" build error.
2020-07-13 18:04:22 +02:00
Rémi Verschelde
6f0edf5bc9
Merge pull request #40308 from madmiraal/fix-40283
Set isScratchedSpaceOverrideModificator to false when removing a RigidBodyBullet from a space.
2020-07-13 17:59:31 +02:00
Hugo Locurcio
c9b6833d00 Improve the ENet channels documentation in NetworkedMultiplayerENet
This closes https://github.com/godotengine/godot-docs/issues/3598.
2020-07-13 12:12:55 +02:00
Marcel Admiraal
2ea644fda4 Set isScratchedSpaceOverrideModificator to false when removing a
RigidBodyBullet from a space.
2020-07-12 07:46:14 +01:00
Paulb23
bc4cee4458 Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
2020-07-11 17:09:58 +01:00
Paulb23
156daddaaf Expose Syntax highlighter for editor plugins 2020-07-11 15:40:00 +01:00
Paulb23
2f1080be9b Convert syntax highlighters into a resource 2020-07-11 15:26:58 +01:00
Aaron Franke
5fd4fa0b73
Add C# XML documentation to core C# math types 2020-07-11 05:07:24 -04:00
Taylor C. Richberger
91ce8d5fff
remove invalid codeLensProvider value from lsp
codeLensProvider was false, it may not be a boolean like some of the other providers can, only optionally present.
2020-07-11 00:57:32 -06:00
Rémi Verschelde
d0cea291d2
Merge pull request #40193 from KoBeWi/dem_pikks
Allow Area2D and 3D mouse events without collision layer
2020-07-11 00:26:56 +02:00
bruvzg
5d54c015b2
[macOS, Mono] Fix "Wdeprecated-declarations" build error. 2020-07-10 18:45:12 +03:00
Marcel Admiraal
26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
Tomasz Chabora
7eebb06b55 Allow Area2D and 3D mouse events without a collision layer
Co-authored-by: madmiraal <madmiraal@users.noreply.github.com>
2020-07-10 13:23:20 +02:00
Marcel Admiraal
f31b2a1bba Move Bullet physics query flush from Bullet space pre-tick callback to
Bullet physics flush_queries() as is done in Godot physics, and remove
the pre-tick callback.
2020-07-08 11:39:41 +01:00
Rémi Verschelde
bd3a468fc2
Merge pull request #39726 from AndreaCatania/add_body_impr_physics
Optimized physics object spawn time
2020-07-07 12:15:09 +02:00
Rémi Verschelde
480cb25961
Merge pull request #39735 from AndreaCatania/bullet_phy_add_api
Added BulletPhysics APIs to return internal objects.
2020-07-07 12:13:51 +02:00
Aaron Franke
af80bcd2f8
Add sort and has methods to PackedArrays 2020-07-06 22:16:39 -04:00
Rémi Verschelde
b96b0d90d7
Merge pull request #40162 from vnen/autoloads-list
Add a map of autoloads to ProjectSettings
2020-07-07 00:12:59 +02:00
SkyJJ
e9c8bf5e1b Fix GDScriptEditorTranslationParserPlugin instance leak 2020-07-06 22:40:52 +02:00
Rémi Verschelde
b5a73c9e5c
Merge pull request #40157 from madmiraal/fix-39765
Clear a Bullet Area's overlappingObjects vector when removing an area from a space.
2020-07-06 19:16:51 +02:00
George Marques
9654365547
Add a map of autoloads to ProjectSettings
So places that need to look into it can use the list instead of parsing
ProjectSettings details (like checking "*" in path for testing if it's
singleton).
2020-07-06 12:35:51 -03:00
Rémi Verschelde
a535b9160d
Merge pull request #40155 from rcorre/warning-names
Include gdscript warning name in the warning message.
2020-07-06 16:49:54 +02:00
Rémi Verschelde
80582d1f82
Merge pull request #40116 from ThakeeNathees/editor-crash-on-super-constructor
Fix: editor crash on super constructor called
2020-07-06 16:45:37 +02:00
Ryan Roden-Corrent
de3ad3b30e
Include gdscript warning name in the warning message.
Occasionally you want to ignore a warning with a `warning-ignore`
comment, and you have to go into the settings to look up what the
actual name of the warning is. This patch appends the warning name to
the end of the warning so you know what string to use to ignore it,
similar to other linters like pylint.

For example

```
"The signal 'blah' is declared but never emitted.";
```

is now

```
"The signal 'blah' is declared but never emitted. (UNUSED_SIGNAL)";
```
2020-07-06 07:22:34 -04:00
Marcel Admiraal
a615d359e8 Clear a Bullet Area's overlappingObjects vector when removing an area
from a space.
2020-07-06 12:04:15 +01:00
Daniel Doran
c3b16e825c Fix Mono PackedArray Marshalling 2020-07-05 14:54:31 -06:00
Rémi Verschelde
c95fbd50fe
Merge pull request #40102 from SkyLucilfer/PotGenerationFix
Change translation parser plugin API to parse_file()
2020-07-05 22:35:18 +02:00
Rémi Verschelde
347a55d4c2
Merge pull request #40137 from neikeq/fix-clangtidy-warnings-mono
Mono/C#: Fix several clang-tidy warnings and cleanup
2020-07-05 22:32:27 +02:00
Ignacio Etcheverry
2511c43972 Mono/C#: Fix several clang-tidy warnings and cleanup 2020-07-05 19:19:36 +02:00
SkyJJ
cae6f0bda2 Change translation parser plugin API to parse_file() 2020-07-05 12:14:56 +02:00
Thakee Nathees
023b3f2786 Fix: editor crash on super constructor called
Fix: #39909
2020-07-04 16:06:07 +05:30
Rémi Verschelde
c020eea184
Merge pull request #40092 from hinlopen/remove-find-last
Remove String::find_last (same as rfind)
2020-07-04 01:38:01 +02:00
Rémi Verschelde
96644d23a0 doc: Sync classref with current source 2020-07-03 16:09:12 +02:00
Stijn Hinlopen
929b98d24b Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
Rémi Verschelde
488576ade9
Merge pull request #40078 from endlesstravel/fix-print-null-in-array-3
fix crash when pass null in print array in GD.print
2020-07-03 15:22:25 +02:00
Rémi Verschelde
8ff99d2a8e
Merge pull request #39958 from aaronfranke/gridmap-vec3i
Update GridMap to use Vector3i instead of three ints
2020-07-03 13:38:46 +02:00
endlesstravel
d2461bad63 fix crash when pass null in print array in GD.print
fix crash when pass null in print array in GD.print 2

fix crash when pass null in print array in GD.print 3

fix space
2020-07-03 16:55:09 +08:00
Rémi Verschelde
64aa25b2e5
Merge pull request #40050 from naithar/feature/ios-gdnative-master-2
[4.0] Add support of iOS's dynamic libraries to GDNative
2020-07-03 07:48:13 +02:00
Aaron Franke
8a333cdf9f
Update GridMap to use Vector3i instead of three ints 2020-07-02 16:50:55 -04:00
Rémi Verschelde
f9c2f35dd9
Merge pull request #39415 from SkyLucilfer/PotGeneration
Add POT generation feature in Editor
2020-07-02 22:22:46 +02:00
Rémi Verschelde
67e4082b1e
Merge pull request #37350 from aaronfranke/force-impulse
Refactor physics force and impulse code to use (force, position) order
2020-07-02 18:39:16 +02:00
Rémi Verschelde
d121248562
Merge pull request #40049 from hinlopen/remove-pane-drag
Remove unused class PaneDrag
2020-07-02 18:33:36 +02:00
Sergey Minakov
294416c84c GDNative export: do not add fake lookup table if static lib is not used 2020-07-02 17:43:04 +03:00
SkyJJ
efb4609425 Add translation parser plugin support 2020-07-02 14:47:35 +02:00
Stijn Hinlopen
c3d9f12a10 Remove unused class PaneDrag 2020-07-02 13:50:31 +02:00
Sergey Minakov
ad2248a3bd GDNative Editor: Support selecting frameworks for iOS 2020-07-02 13:00:27 +03:00
Sergey Minakov
9086599ae6 GDNative: support dynamic loading of iOS frameworks 2020-07-02 12:55:49 +03:00
Rémi Verschelde
f71e258512
Merge pull request #30424 from raphael10241024/fix_noise
Fix OpenSimplexNoise get_image() swap axes
2020-07-02 11:50:57 +02:00
Rémi Verschelde
5c9ee93f3e
Merge pull request #39788 from bruvzg/macos_apple_silicon
[macOS] Add support for the Apple Silicon (ARM64) build target.
2020-07-01 16:45:23 +02:00
Rémi Verschelde
a8a2769bb6
Merge pull request #38713 from aaronfranke/string-64bit
Make all String integer conversion methods be 64-bit
2020-07-01 16:01:05 +02:00
RaphaelHunter
00cac6e9b6 Fix OpenSimplexNoise get_image() swap axes 2020-07-01 11:40:14 +08:00
G'lek
a5abacd1e7
Change assembly watcher after notification changes
Fixed Mono not building after #39986 was merged due to a constant that got renamed.
2020-06-30 17:41:38 -04:00
Rémi Verschelde
5f2295f2df
Merge pull request #39986 from reduz/app-inout-notification
Add a separate application focus/in notification
2020-06-30 16:58:46 +02:00
Rémi Verschelde
f3c5f12e39
Merge pull request #38920 from paulherman/tga
Expose loading TGA images in Image.
2020-06-30 16:40:28 +02:00
Juan Linietsky
438c380458 Add a separate application focus/in notification out from Window focus notification. 2020-06-30 10:40:06 -03:00
Marcel Admiraal
63f4e92195 Use is_equal_approx() instead of vertex_snap when checking if ray is
colliding with equiplanar CSG faces.
2020-06-29 18:21:15 +01:00
Marcel Admiraal
1a559c9889 Create degenerate triangles when inserting an edge into a CSG face.
They will be deleted when the faces are merged, but their edges are
needed for merging faces.
2020-06-29 17:57:07 +01:00
bruvzg
00299f15b4
[macOS] Add support for the Apple Silicon (ARM64) build target. 2020-06-29 12:33:51 +03:00
Tomasz Chabora
13298ed873 Improve the preload and load descriptions 2020-06-28 20:51:46 +02:00
Mark Kuo
3b05d2c989 VideoStreamGDNative: close file in cleanup
We should close the file handle when we are done.
2020-06-28 10:20:07 +10:00
Rémi Verschelde
87d2397273
Merge pull request #39837 from neikeq/fix-invalid-unbox-long-as-int
Mono/C#: Fix InvalidCast because of attempt to unbox long as int
2020-06-26 07:56:42 +02:00
Rémi Verschelde
aa42bd14ac
Merge pull request #39839 from neikeq/use-/restore-instead-of-/t-restore
Mono/C#: Use /restore instead of /t:restore when building
2020-06-26 07:49:40 +02:00
Ignacio Etcheverry
4b0c78b3ca Mono/C#: Use /restore instead of /t:restore when building
Documentation recommends not to use /t:restore
together with other targets (like /t:build),
as it messes with the environment.
2020-06-25 23:50:05 +02:00
Ignacio Etcheverry
e8d632720f Mono/C#: Fix InvalidCast because of attempt to unbox long as int 2020-06-25 23:37:53 +02:00
Ignacio Etcheverry
f87ae395ee Mono/C#: Fix unhandled exception not being printed
For some reason `mono_unhandled_exception` is not
printing the exception as its comment claims.
Use `mono_print_unhandled_exception` instead.
2020-06-25 23:28:53 +02:00
Rémi Verschelde
23f7f86914 Style: Fix copyright headers 2020-06-25 16:33:44 +02:00
Rémi Verschelde
04795d7f1e
Merge pull request #39739 from MichaelBelousov/fix/long-enum-fix-rider-cast
fix underlying type of enum crashing cast in RiderPathManager
2020-06-24 22:51:07 +02:00
Rémi Verschelde
8f5005b3eb
Merge pull request #39779 from naithar/feature/ios-modules-master
Enable iOS modules and fix missing symbols errors (4.0)
2020-06-24 22:49:39 +02:00
Michael Belousov
9f61f1ed54 Mono: fix bad long casts and wrong underlying enum types in GodotTools 2020-06-24 09:35:13 -04:00
Andrea Catania
a2b5e7971a Added BulletPhysics APIs to return internal objects and fixed a typo. 2020-06-24 09:09:50 +02:00
Andrea Catania
7709a83493 Optimized physics object spawn time and optimized shape usage when the shape is not scaled 2020-06-24 08:54:11 +02:00
Rémi Verschelde
7d60a88888
Merge pull request #39783 from neikeq/messaging-codecompletion-localize-fix
C#: Fix completion request with case insensitive resource path
2020-06-24 01:00:05 +02:00
Ignacio Etcheverry
d569b447ff C#: Fix completion request with case insensitive resource path
Sometimes Visual Studio documents have the root path all in upper case.
Since Godot doesn't support loading resource files with a case insensitive path,
this makes script resource loading to fail when the Godot editor gets code
completion requests from Visual Studio.
This fix allows the resource path part of the path to be case insensitive. It
still doesn't support cases where the rest of the path is also case insensitive.
For that we would need a proper API for comparing paths. However, this fix
should be enough for our current cases.
2020-06-23 20:29:19 +02:00
Sergey Minakov
c3e7aeb279 SCons: Enable iOS modules for ARKit and Camera 2020-06-23 12:48:44 +03:00
Rémi Verschelde
42c4a701dd
Merge pull request #39755 from Faless/crypto/encryption_pr_4.0
Crypto enhancements, AESContext, RSA public key, signature, verification.
2020-06-22 23:31:58 +02:00
Rémi Verschelde
10d2fa4210
Merge pull request #39747 from nekomatata/fix-crash-space-query
Fix crashes with invalid shapes in BulletPhysicsDirectSpaceState queries
2020-06-22 10:46:39 +02:00
PouleyKetchoupp
8b0232bf29 Fix crashes with invalid shapes in BulletPhysicsDirectSpaceState queries 2020-06-22 10:22:11 +02:00
Rémi Verschelde
c59be89273
Merge pull request #34236 from madmiraal/enable-bullet-debug
Enable Bullet DEBUG on debug builds.
2020-06-21 18:41:42 +02:00
Rémi Verschelde
858af3d3b9
Merge pull request #34219 from madmiraal/check-motion-before-bullet-sweep
Check for motion in cast_motion() before doing Bullet convexSweepTest().
2020-06-21 18:05:02 +02:00
Marcel Admiraal
8ffe905c45 Check for motion in cast_motion() before doing Bullet convexSweepTest().
Also ensure that default closest_safe and closest_unsafe values are
defined in cast_motion() and before cast_motion() is called.
2020-06-21 16:20:26 +01:00
Marcel Admiraal
f5b99b578e Check if point's index exists before adding it to the list of points
that need to split faces when avoiding creating degenerate faces
while merging CSG faces.
2020-06-21 14:48:01 +01:00
Hugo Locurcio
31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Rémi Verschelde
a8d302bd4f
Merge pull request #39678 from akien-mga/universae-fenestras
Export: Rename 'Windows Universal' to 'UWP'
2020-06-19 18:54:34 +02:00
Rémi Verschelde
d5c659c992
Merge pull request #39652 from paulloz/generics-getnodesingroup
[mono] Implement generics GetNodesInGroup
2020-06-19 18:52:36 +02:00
Rémi Verschelde
08ef0aab16 Export: Rename 'Windows Universal' to 'UWP'
It's otherwise too easy to be confused between 'Windows Desktop' (Win32)
and 'Windows Universal' (UWP).
2020-06-19 16:31:28 +02:00
Paul Joannon
183dc04d70 [mono] implement generics GetNodesInGroup 2020-06-19 08:49:24 +02:00
Rémi Verschelde
9562fb900e
Merge pull request #39629 from MichaelBelousov/dont-slice-longs-to-mono
Dont slice 64-bit integers marshaled to mono in dynamic contexts
2020-06-19 07:50:34 +02:00
Fabio Alessandrelli
8e3f9aa681 Implement RSA encryption/decryption. 2020-06-18 15:29:39 +02:00
Fabio Alessandrelli
dfcc11fa52 Implement sign and verify in crypto. 2020-06-18 15:29:39 +02:00
Fabio Alessandrelli
788f18086e CryptoKey supports public keys. 2020-06-18 15:29:39 +02:00
Fabio Alessandrelli
f03b7f3d7a Better zeroizing in CryptoKey.
Small code clenup (after PoolByteArray change).
2020-06-18 15:26:01 +02:00
Hugo Locurcio
24a8d43272 Document Mono-specific classes
This fully documents all Mono-specific classes.
2020-06-18 10:32:34 +02:00
Michael Belousov
60fcefba69 return boxed long when marshalling a godot int to mono runtime in dynamic contexts 2020-06-17 17:16:17 -04:00
Rémi Verschelde
d341181f30
Merge pull request #38067 from ThakeeNathees/elif-error-line-fixed
GDScript debugger incorrect error line fixed
2020-06-17 19:17:44 +02:00
Thakee Nathees
9325671faa GDScript debugger incorrect error line fixed
if the first line of an else or an elif throws a runtime error the
debugger shows incorrect line number.
2020-06-17 21:24:01 +05:30
Rémi Verschelde
ba0db95909 DocData: Skip language-specific ClassDoc without methods/constants
Removes the useless `@C#`, `@NativeScript` and `@VisualScript` entries.
2020-06-17 15:09:07 +02:00
Rémi Verschelde
697897cc61
Merge pull request #39275 from ThakeeNathees/shadowed-warning-for-loop-counter
Added shadowed var warning for `for` loop counter
2020-06-16 15:51:31 +02:00
Rémi Verschelde
cb4ca328bf
Merge pull request #39578 from neikeq/visualstudio-support
C#: Add Visual Studio support
2020-06-16 09:31:19 +02:00
Rémi Verschelde
6cefb8d368
Merge pull request #39314 from ThakeeNathees/debugger-incorrect-line-fix
GDScript debugger stepping to incorrect line fix
2020-06-16 09:26:49 +02:00
Rémi Verschelde
df0779acfd
Merge pull request #39315 from ThakeeNathees/ctrl-click-fix-for-subclasses
Fix: Ctrl + Click not working for subclasses
2020-06-16 09:26:15 +02:00
Ignacio Etcheverry
7756351f47 Fix dynamic linking of MSVC Mono with MinGW Godot 2020-06-15 21:29:50 +02:00
Ignacio Etcheverry
54df72dcc6 C#: Add VisualStudio support 2020-06-15 21:29:16 +02:00
Rémi Verschelde
bcef549b3e
Merge pull request #39560 from akien-mga/fix-dds-validation
DDS: Fix loading files without DDSD_CAPS or DDSD_PIXELFORMAT
2020-06-15 19:57:17 +02:00
Rémi Verschelde
e720118a75
Merge pull request #39556 from akien-mga/lsp-fix-39548
GDScript LSP: Fix wrong error checks added in #39385
2020-06-15 14:27:41 +02:00
Rémi Verschelde
0f21249a2d DDS: Fix loading files without DDSD_CAPS or DDSD_PIXELFORMAT
MSDN says:

> When you write .dds files, you should set the DDSD_CAPS and
> DDSD_PIXELFORMAT flags, and for mipmapped textures you should also
> set the DDSD_MIPMAPCOUNT flag. However, when you read a .dds file,
> you should not rely on the DDSD_CAPS, DDSD_PIXELFORMAT, and
> DDSD_MIPMAPCOUNT flags being set because some writers of such a file
> might not set these flags.

https://docs.microsoft.com/en-us/windows/win32/direct3ddds/dds-header

¯\_(ツ)_/¯

Fixes #39516.
2020-06-15 13:10:24 +02:00
Rémi Verschelde
b5dfe45efc
Merge pull request #39183 from bruvzg/gdnative_merge_structs
GDNative: merge API structs, bump version of merged structs.
2020-06-15 12:02:26 +02:00
Rémi Verschelde
786f4ada35 GDScript LSP: Fix wrong error checks added in #39385
Reverts `latest_client_id` back to 0, as I misunderstood how the client
IDs are assigned and, without further testing and debugging, I can't
say if this was a bug or a valid default value.
Similarly, a `latest_client_id` of -1 is no longer raising an error.

Fixes #39548.
2020-06-15 09:51:56 +02:00
Maganty Rushyendra
e5d93f7a66 Fix RegEx example in class doc and correct typo
Fix minor errors to do with `search_all` example in RegEx and
typo in RegExMatch class docs.
2020-06-15 10:25:09 +08:00
bruvzg
c3e615e21b
GDNative: merge API structs, bump version of merged structs. 2020-06-11 18:26:47 +03:00
Maganty Rushyendra
9f10f6779c Enable Unicode support for RegEx class
Build PCRE2 thirdparty library with unicode support. RegEx objects
in Godot can now be used to recognize unicode strings.
2020-06-11 14:49:02 +08:00
Rémi Verschelde
d9f0477dad
Merge pull request #39385 from akien-mga/lsp-crash-notify_client
GDScript LSP: Fix crash in notify_client
2020-06-08 13:26:51 +02:00
Rémi Verschelde
581dcadf40
Merge pull request #39370 from Anutrix/remove-usused-assimp-var
Removed variables in EditorSceneImporterAssimp::import_scene that became unused.
2020-06-08 13:22:20 +02:00
Rémi Verschelde
f6430eec2c
Merge pull request #39152 from abustin/fbx_mesh_compression_fix_master
Respect 'mesh compression' editor import option in Assimp and glTF importers [master]
2020-06-08 13:16:31 +02:00
Rémi Verschelde
e34f33711b GDScript LSP: Fix crash in notify_client
`latest_client_id` now defaults to `-1` (invalid ID) instead of `0`.

Also fix typo in notification `gdscrip_client/changeWorkspace`,
and fix argument names in method binds.

Fixes #39375.
2020-06-08 11:01:45 +02:00
unknown
365c35f30e Removed variables and #include in EditorSceneImporterAssimp::import_scene that became unused after the recent commit ec1bf96(#39363). 2020-06-08 11:59:17 +05:30
Marcus Elg
29abbccc5f Fix fbx import assimp error 2020-06-07 15:11:40 +02:00
Rémi Verschelde
39d84fef89 denoise: Restrict build to 64-bit desktop platforms
One of OIDN's dependencies only supports x86_64 and aarch64.
For now we also exclude potential future Android tools builds,
but this could be re-evaluated in the future.

Fixes #38759.
2020-06-06 21:23:46 +02:00
Rémi Verschelde
c7632208fe
Merge pull request #39297 from Faless/webrtc/local_description_doc
Fix WebRTCPeerConnection set_local_description doc
2020-06-05 11:39:07 +02:00
Rémi Verschelde
36f6103026
Merge pull request #39301 from Calinou/fix-argument-parameter-confusion
Tweak the GDScript error message about passed argument type mismatch
2020-06-05 11:33:53 +02:00
Rémi Verschelde
150ba031de
Merge pull request #39276 from ThakeeNathees/predefined-check-for-loop-counter
Added predefined var check for `for` loop counter
2020-06-05 11:01:55 +02:00
Thakee Nathees
95b0a00d2c Fix: Ctrl + Click not working for subclasses 2020-06-05 12:25:07 +05:30
Thakee Nathees
fc89c5c76d Debugger stepping to incorrect line fix
Fix: #39296
2020-06-05 12:15:37 +05:30
Hugo Locurcio
30053de182
Tweak the GDScript error message about passed argument type mismatch
This makes it less confusing.

This closes https://github.com/godotengine/godot-proposals/issues/670.
2020-06-04 22:31:37 +02:00
Fabio Alessandrelli
39bcbf5690 Fix WebRTCPeerConnection set_local_description doc
ice_candidate_created should be emitted after set_local_description no
matter the type of the description (assuming no error is returned of
course).
2020-06-04 21:10:34 +02:00
Rémi Verschelde
6a7b55805b
Merge pull request #39041 from swarnimarun/patch-1
Fix crashing of VisualScript due to function change
2020-06-04 11:55:12 +02:00
Thakee Nathees
e153772de2 predefined var check for for loop counter 2020-06-04 10:37:22 +05:30
Thakee Nathees
54835a5302 shodowed var warning for for loop counter
Fix: #39268
2020-06-04 10:28:09 +05:30
Rémi Verschelde
7c74312217 SCons: Validate dependencies for linked multimedia modules
This is still a bit hacky and eventually we should rework the way we handle
optional dependencies (especially with regard to builtin/system libs), but
it's a simple first step.

Fixes #39219.
2020-06-03 11:00:10 +02:00
Aaron Franke
25c978730b
Rename String bin_to_int64 to bin_to_int
And also change String static to_int(const char *) to return int64_t
2020-06-03 00:04:15 -04:00
Aaron Franke
e5ae89775a
Remove 32-bit String hex_to_int method 2020-06-03 00:03:34 -04:00
Aaron Franke
bb8aa107fd
Remove 32-bit String to_int method 2020-06-03 00:03:34 -04:00
Aaron Franke
ba27deef06
Refactor physics force and impulse code 2020-06-02 23:18:59 -04:00
NutmegStudio
a77f633161 Fixes building mono release templates 2020-05-30 12:21:24 +07:00
Alex Bustin
9175af6f13 Respect 'mesh compression' editor import option in Assimp (ie. FBX) and glTF importers 2020-05-29 13:06:39 -07:00
George Marques
0f1da72492
Actually set GDScript static reference 2020-05-29 11:01:48 -03:00
Rémi Verschelde
e67339eeca
Merge pull request #39085 from madmiraal/fix-39059
Correct Bullet's default Area angular damp value.
2020-05-29 12:10:47 +02:00
Rémi Verschelde
1620669f4e
Merge pull request #39051 from Xrayez/geometry-split
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-29 12:10:37 +02:00
Rémi Verschelde
a16031beb6 Use translated docs in PropertySelector
And do the dedent and stripping for both translated and
non-translated strings for consistency, and so that we
don't need to do it at the call site.
2020-05-28 12:02:12 +02:00
Andrii Doroshenko (Xrayez)
69d5de632e Split Geometry singleton into Geometry2D and Geometry3D
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Marcel Admiraal
ddcc2a0360 Correct Bullet's default Area angular damp value. 2020-05-27 11:57:48 +01:00
Rémi Verschelde
bd14c6406a
Merge pull request #39064 from bruvzg/gdn_packed_array_ptr
GDNative: Add bindings for the Packed*Array ptr() and ptrw() functions.
2020-05-27 12:55:17 +02:00
Rémi Verschelde
ab460e7a6f
Merge pull request #39074 from vnen/gdscript-assert-message
Fix assert message when no custom message is set
2020-05-27 08:23:17 +02:00
George Marques
f29a2e2606
GDScript: Fix assert message when no custom message is set 2020-05-26 20:40:59 -03:00
bruvzg
9fbc424d4c
GDNative: Add bindings for the Packed*Array ptr() and ptrw() functions. 2020-05-26 17:02:02 +03:00
Maganty Rushyendra
3d03be7a56 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.
2020-05-26 09:19:45 +08:00
Swarnim Arun
5c48631509
Fix crashing of VisualScript due to...
Attempting to move the function node to another function whose data connection is a dependency of the node the specific node being moved to a different function during changes to sequence connections.
By skipping, if the from_node is a function_node during the data connection dependencies scan.
Should fix #37991
2020-05-25 19:49:57 +05:30
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
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
Thakee Nathees
13c372b522 regression: dictionary key no autocomplete fix
Fix: #38998
2020-05-24 16:52:44 +05:30
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
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
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
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
51e1614d28 Mono/C#: Fix values not updated in remote inspector 2020-05-22 00:58:38 +02:00
Paul Herman
7d4b3e6587 Expose loading TGA images in Image. 2020-05-21 16:02:53 +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
59780fd046 xatlas: Sync with upstream 470576d 2020-05-20 13:51:15 +02:00
Rémi Verschelde
cba1f492cc
Merge pull request #38863 from neikeq/csharp-no-false-error-objtype-reload
Mono/C#: Remove script load error about not a Godot.Object
2020-05-19 20:48:59 +02:00
Ignacio Etcheverry
38cd2152e6 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.
2020-05-19 17:51:56 +02:00
Pedro J. Estébanez
1f0548efd4 Fix too eager GDScriptFunctionState stack cleanup 2020-05-19 16:41:14 +02:00
Rémi Verschelde
ca3192d18a Style: Fix unnecessary semicolons that confused clang-format 2020-05-19 11:24:58 +02:00
Rémi Verschelde
38250ef54e
Merge pull request #38826 from bruvzg/gdnative_core_types
Add new (and rename changed) core types to GDNative API.
2020-05-18 16:39:40 +02:00
Rémi Verschelde
56343e13b0
Merge pull request #38723 from neikeq/initial-classdb-test
Added tests for ClassDB
2020-05-18 16:34:36 +02:00
bruvzg
74eecd1d6b
GDNative add new core types. 2020-05-18 15:52:20 +03:00
Rémi Verschelde
c74d65cec8 GLSL: Change shader type specifier from [vertex] to #[vertex]
The added `#` prevents clang-format from misinterpreting the meaning
of this statement and thus messing up the formatting of the next
lines up until the first `layout` statement.

Similarly, a semicolon is now enforced on `versions` defines to
prevent clang-format from messing up formatting and putting them
all on a single line. Note: In its current state the code will
ignore chained statements on a single line separated by a semicolon.

Also removed some extraneous lines missed in previous style changes
or added by mistake with said changes (e.g. after uniform definitions
that clang-format messes up somewhat too, but we live with it).
2020-05-18 10:58:14 +02:00
Ignacio Etcheverry
9fa4b402a7 Added tests for ClassDB 2020-05-16 17:32:58 +02:00
Tan Wang Leng
7b1423a61e 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.
2020-05-16 20:02:55 +08:00
bruvzg
48d133a5fd
Fix GDNative wrapper type sizes (RID, Variant, Packed*Array), add size checking static asserts. 2020-05-16 13:58:42 +03:00
Ignacio Etcheverry
18332a0094 websocket: Fix crash at exit when not running the editor
EditorDebuggerServer::register_protocol_handler must not be called before
editor initialization. Otherwise, if the editor is never initialized,
the added StringName will not be released until static destructors are
called (instead of being release during editor deinitialization).
2020-05-16 04:30:12 +02:00
Oliver Frank
6815bf42b3 Fix incorrect capabilities notification in LSP
(cherry picked from commit 2173d041af)
2020-05-15 23:55:49 +02:00
Oliver Frank
3d09edeaef Improve jsonrpc error reporting
(cherry picked from commit dac8b7b6f4)
2020-05-15 23:55:41 +02:00
Thakee Nathees
c076a2b7e9 break, continue outside of a loop, match statement handled 2020-05-15 03:16:50 +05:30
Rémi Verschelde
00949f0c5f
Merge pull request #38738 from akien-mga/cause-we-never-go-out-of-style
Style: Remove new line at block start, enforce line between functions, enforce braces in if and loop blocks
2020-05-14 23:09:03 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
5046f666a1
Merge pull request #38610 from ThakeeNathees/infer-type-null-error
set parser error when infer type is null
2020-05-14 21:50:48 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
710b34b702 Style: Fix missing/invalid copyright headers 2020-05-14 16:54:54 +02:00
Rémi Verschelde
963a27f8a2
Merge pull request #38611 from ThakeeNathees/shadow-var-warning-bug-fix
shadowed var warning in nested block bug fix
2020-05-14 16:48:56 +02:00
Rémi Verschelde
a1aaed5a84 Remove redundant void argument lists
Using clang-tidy's `modernize-redundant-void-arg`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-05-14 13:51:45 +02:00
Rémi Verschelde
dcd1151d77 Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1a8167867b Modernize remaining uses of 0/NULL instead of nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1f6f364a56 Port member initialization from constructor to declaration (C++11)
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.

Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
Thakee Nathees
687b1941b4 set parser error when infer type is null 2020-05-13 22:12:23 +05:30
Rémi Verschelde
e7c9d81876
Merge pull request #38609 from ThakeeNathees/range-crash-with-non-numeric-const-fix
range() with non-numeric const argument crash fix
2020-05-13 15:42:29 +02:00
Rémi Verschelde
dc649684be
Merge pull request #38708 from ThakeeNathees/init-assign-type-parser-bug-fix
regression: var declaration type info parser bug fix
2020-05-13 15:41:28 +02:00
Thakee Nathees
e7f056dfac regression: static func can't access const fix 2020-05-13 06:07:22 +05:30
Thakee Nathees
e5d735851d regression: var declaration type info parser bug fix 2020-05-13 05:58:27 +05:30
Fabio Alessandrelli
3097c2da96 Add WebSocket debugger, use it for Javascript. 2020-05-12 15:09:13 +02:00
Fabio Alessandrelli
beb87504e0 Remove WebSocket defaults from project settings.
Can be manually set, let's not pollute them further.
Should also be done for WebRTC.
2020-05-12 12:24:26 +02:00
Rémi Verschelde
6d46d2fe27
Merge pull request #38672 from madmiraal/fix-physicsw-warning
Fix 'physicsw' may be used uninitialized warning in csg_shape.cpp
2020-05-11 20:12:15 +02:00
Rémi Verschelde
83b630b8c2 thirdparty: Cleanup after #38386, document provenance and copyright
Also renamed `delaunay.h` to `delaunay_2d.h` to match the class name.
2020-05-11 14:50:06 +02:00
Rémi Verschelde
32133a11b5
Merge pull request #38386 from reduz/new-lightmapper
New GPU lightmapper
2020-05-11 13:45:48 +02:00
Marcel Admiraal
b835cfb551 Fix 'physicsw' may be used uninitialized warning in csg_shape.cpp 2020-05-11 12:40:16 +01:00
Rémi Verschelde
39da96e4d6
Merge pull request #38587 from Faless/js/improvements
DisplayServerJavaScript, improvements to HTML5 build (still dummy renderer).
2020-05-11 11:32:12 +02:00
Rémi Verschelde
dbd90b9478
Merge pull request #38638 from pepegadeveloper123/mono_inherited_scene_bug
Fix inherited C# scene not inheriting parent's fields
2020-05-11 10:19:15 +02:00
Rémi Verschelde
54bb4cb6d6
Merge pull request #38650 from neikeq/dotnet-cli-support
C#: Support for building with the dotnet CLI
2020-05-11 10:16:01 +02:00
Ignacio Etcheverry
dcf1dc4fe0 C#: Support for building with the dotnet CLI
By adding a reference to the 'Microsoft.NETFramework.ReferenceAssemblies' nuget
package, we can build projects targeting .NET Framework with the dotnet CLI.
By referencing this package we also don't need to install Mono on Linux/macOS
or .NET Framework on Windows, as the assemblies are taken from the package.
2020-05-11 08:17:37 +02:00
Ignacio Etcheverry
840255a04b Implement CSharpScript::inherits_script 2020-05-10 21:49:15 +02:00
Juan Linietsky
1bea8e1eac New lightmapper
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00
pepegadeveloper123
4e00d8520d Inherited C# scene not inheriting parent's fields
When a child scene inherits a parent scene with a C# root node, the
parent scene's export variables appear to assume values set in the
parent scene, in the child scene's Inspector. However, when the child
scene is played, the parent scene's export variables assume default
values.
When a node is created, it inherits its parent C# script's fields from
the map CSharpScriptInstance::script->member_info. However this map was
not initialized outside the editor, and this commit ensured it is. This
fixes issues #36480 and #37581.
2020-05-11 03:20:11 +09:00
Fabio Alessandrelli
d2eef39731 Fix Closure compiler build, python style.
Move copyToFS into utils.js library included with '--pre-js'.
2020-05-10 18:22:48 +02:00
Rémi Verschelde
94721f5ab8 Revert "Renamed plane's d to distance"
This reverts commit ec7b481170.

This was wrong, `d` is not a distance but the `d` constant in the
parametric equation `ax + by + cz = d` describing the plane.
2020-05-10 16:47:11 +02:00
Rémi Verschelde
6ab92464bc
Merge pull request #38621 from akien-mga/stylé-comme-jamais
Style: clang-format: Disable if statements and case labels on single line
2020-05-10 15:38:53 +02:00
Ignacio Roldán Etcheverry
54b20a25b9
Merge pull request #38600 from neikeq/no
Switch to nuget Microsoft.Build and rewrite GodotTools messasing protocol
2020-05-10 13:33:03 +02:00
Rémi Verschelde
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde
da898c116c
Merge pull request #37160 from ThakeeNathees/saveing-cyclic-inheritance-crash-fix
Fix: saving gdscript with cyclic inheritance crash the editor
2020-05-10 13:11:40 +02:00
Rémi Verschelde
a128dd97d6
Merge pull request #37020 from aaronfranke/range
Allow using integer vectors for iteration and make range() use them
2020-05-10 13:11:07 +02:00
Rémi Verschelde
4686963ed7
Merge pull request #36937 from ThakeeNathees/statement-end-error-message-fix
Fix: more clearer unexpected statement end error messages
2020-05-10 13:10:55 +02:00
Marcus Elg
ec7b481170 Renamed plane's d to distance 2020-05-10 12:12:51 +02:00
Thakee Nathees
79eee93b9a shadowed var warning in nested block bug fix
Fix: #38552
2020-05-10 10:54:23 +05:30
Thakee Nathees
3e10392d48 range() with non-numeric const argument crash fix 2020-05-10 10:07:23 +05:30
Thakee Nathees
c2ab35bdde fixed: saving gdscript with cyclic inheritance crash the editor
Fix: #9609
2020-05-10 09:07:09 +05:30
Thakee Nathees
5758d87f09 more clearer unexpected statement end error messages 2020-05-10 02:35:27 +05:30
Rémi Verschelde
a4b829410c
Merge pull request #38481 from RandomShaper/improve_yield
Fix object leaks caused by unfulfilled yields
2020-05-09 22:02:52 +02:00
Rémi Verschelde
b61a496aa7
Merge pull request #38357 from ThakeeNathees/dict2inst-crash-fix
fix: dict2inst crash when constructor has arguments
2020-05-09 22:00:04 +02:00
Rémi Verschelde
cf0953fefa
Merge pull request #37598 from ThakeeNathees/GDScript-type-resolve-bug-fix
GDScript class var type resolve bug fixed
2020-05-09 21:59:26 +02:00
Rémi Verschelde
f5371bc6b8
Merge pull request #37033 from ThakeeNathees/python-like-str-escape
python like string escape implemented
2020-05-09 21:53:59 +02:00
Ignacio Etcheverry
3ce09246d1 C#: Rewrite GodotTools messaging protocol 2020-05-09 21:49:40 +02:00
Ignacio Etcheverry
f3bcd5f8dd C#: Use Sdks in GodotTools csprojs and switch to nuget Microsoft.Build 2020-05-09 21:36:31 +02:00
Rémi Verschelde
c04cdc2bf1
Merge pull request #38412 from ThakeeNathees/static-func-var-access
parser error for static func access non-static variables
2020-05-09 21:32:28 +02:00
Ignacio Etcheverry
af4acb5b11 C#/Mono: Check assembly version when loading
Not sure if we should check revision too, but this is good enough for what we want.
This will be needed to load the correct Microsoft.Build when we switch to the nuget version.
2020-05-09 20:54:16 +02:00
Ignacio Etcheverry
4441222194 C#: Remove StringExtensions.Empty() function
Causes issues with some editors as it's confused with `string.Empty`.
Should use `string.IsNullOrEmpty(str)` instead.
2020-05-09 20:48:00 +02:00
Ignacio Roldán Etcheverry
61306eb830
Merge pull request #38596 from neikeq/msbuild-restore
Mono: Use msbuild instead of nuget.exe for restoring
2020-05-09 20:16:52 +02:00
Ignacio Etcheverry
b61ffef0ab Mono: Use msbuild instead of nuget.exe for restoring
- Make GodotTools output directly to the SCons output directory.
- Removed xbuild_fallback from the build system.
2020-05-09 19:45:04 +02:00
Aaron Franke
cf4482e8c4
Change get_completion_identifier_is_function to return a bool
A minor bugfix
2020-05-09 13:45:00 -04:00
Aaron Franke
f7b50992b5
Allow using integer vectors for iteration and make range() use them 2020-05-09 13:43:35 -04:00
Ignacio Etcheverry
e0a001549e Mono: Fix hot-reloading of nested classes 2020-05-09 19:18:28 +02:00
Rémi Verschelde
ae33cf5f45
Merge pull request #36379 from aaronfranke/color-constructors
Add a Color constructor for Color with alpha
2020-05-07 21:16:51 +02:00
Pedro J. Estébanez
46bfe4452f Fix object leaks caused by unfulfilled yields
Now the stack saved in a `GDScriptFunctionState` is cleared as soon as the `yield()` operation is known not to be resumed because either the script, the instance or both are deleted.

This clears problems like leaked objects by eliminating cases of circular references between `GDScriptFunctionState`s preventing them and the objects they refer to in their saved stacks from being released. As an example, this makes using `SceneTreeTimer` safer.

Furthermore, with this change it's now possible to print early warnings about `yield()`s to released script/instances, as now we know they won't be successfully resumed as the condition for that happens. However, this PR doesn't add such messages, to keep the observed behavior the same for the time being.

Also, now a backup of the function name in `GDScriptFunctionState` is used, since the script may not be valid by the time the function name is needed for the resume-after-yield error messages.
2020-05-05 17:54:15 +02:00
Rémi Verschelde
4d50f747d5
Merge pull request #37293 from Janglee123/ctrl-click-improvements
Improved go-to definition (Ctrl + Click)
2020-05-05 16:49:15 +02:00
janglee
be7a353c70 Improved go-to definition (Ctrl + Click)
Co-Authored-By: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
2020-05-05 10:46:12 +05:30
Rémi Verschelde
878adb22b7
Merge pull request #37717 from qarmin/world_fix
Change non-existent World to World3D
2020-05-04 16:37:40 +02:00
Rémi Verschelde
3c200b23fb
Merge pull request #32534 from Xrayez/fix-dict2inst-init
Make `dict2inst` to work with arbitrary `_init` parameters
2020-05-03 09:58:07 +02:00
Rémi Verschelde
1309bfa97a
Merge pull request #38275 from DSteve595/indented-block-line
Mark "Indented block expected" error after function declaration
2020-05-03 09:57:29 +02:00
Thakee Nathees
ce978517e0 parser error for static func access non-static variables
Fix: #38408
2020-05-03 11:45:11 +05:30
Steven Schoen
e6e5ba32cd Mention offending function name in "Indented block expected" error 2020-05-02 17:10:34 -07:00
Hugo Locurcio
596d426151
Remove some C++11 polyfill defines that are no longer needed 2020-05-03 00:42:04 +02:00
Fabio Alessandrelli
d883b90988
Merge pull request #38105 from AndreaCatania/AndreaCatania-patch-2
Removed noisy ERR check from Multiplayer API.
2020-05-01 13:53:55 +02:00
Andrii Doroshenko (Xrayez)
7001d06f9d Make dict2inst to work with arbitrary _init parameters
This is achieved by skipping initializer call while creating an instance
of a GDScript. This is implemented by passing -1 as an argument count
to `_new` and interpreting any value below 0 to mean that the initializer
should not be called during instantiation, because internal members of
an instance are going to be overridden afterwards.
2020-04-30 18:30:04 +03:00
Rémi Verschelde
2175397210 tinyexr: Enable C++11 threaded loading 2020-04-30 15:31:02 +02:00
Thakee Nathees
9f6b20936e fix: dict2inst crash when constructor has arguments 2020-04-30 17:35:53 +05:30
Ignacio Roldán Etcheverry
a6e3c84c68
Merge pull request #38328 from Nannaquin/master
Fix growMargin() not returning modified Rect2/Rect2i in Mono
2020-04-30 03:39:37 +02:00
Aaron Franke
90df1d67cb
Color with alpha constructor 2020-04-29 14:41:12 -04:00
Rémi Verschelde
92d4a0cbd2
Merge pull request #38288 from RandomShaper/imvu/fix_not_freed_gdsfuncstate
Fix leaked objects when game ends with yields in progress
2020-04-29 17:30:28 +02:00
Nannaquin
0ac6f4c40b Fix growMargin() not returning modified Rect2/Rect2i 2020-04-29 11:29:57 -04:00
Rémi Verschelde
39a0cdac5f
Merge pull request #38279 from BigRed-118/assert_mark_as_safe_regression_bug
Fix for marking assert lines as safe bug
2020-04-29 16:24:38 +02:00
Pedro J. Estébanez
c427334393 Fix leaked objects when game ends with yields in progress 2020-04-29 13:55:10 +02:00
Aaron Franke
540156b387
[Core] Rename linear_interpolate to lerp 2020-04-29 04:02:49 -04:00
Aaron Franke
ad3c3e1bbb
[Mono] Rename LinearInterpolate to Lerp 2020-04-29 04:02:24 -04:00
Rémi Verschelde
41af228b76
Merge pull request #36960 from pycbouh/docs-improve-shortcuts
Improve shortcut formatting in docs
2020-04-29 09:40:52 +02:00
Rémi Verschelde
088cf37bf2
Merge pull request #37314 from nekomatata/bullet-fix-damping
Better damping implementation for Bullet rigid bodies
2020-04-28 21:39:05 +02:00
Rémi Verschelde
fdf58a5858 Rename InputFilter back to Input
It changed name as part of the DisplayServer and input refactoring
in #37317, with the rationale that input no longer goes through the
main loop, so the previous Input singleton now only does filtering.

But the gains in consistency are quite limited in the renaming, and
it breaks compatibility for all scripts and tutorials that access
the Input singleton via the scripting language. A temporary option
was suggested to keep the scripting singleton named `Input` even if
its type is `InputFilter`, but that adds inconsistency and breaks C#.

Fixes godotengine/godot-proposals#639.
Fixes #37319.
Fixes #37690.
2020-04-28 15:19:49 +02:00
Rémi Verschelde
39f7a40925
Merge pull request #37163 from madmiraal/fix-csg-normal
Fix CSG vertex normal calculation.
2020-04-28 14:28:31 +02:00
Tom Evans
bd081df519 Fix for marking assert lines as safe bug
Calling _reduce_node_type from GDScriptParser::_parse_block for assert
was using a current class with a scope that didn't include all
functions. Now calling in GDScriptParser::_check_block_types uses the
right class type. We also now check the assert node message. The assert
line was added to the set_errors associated with assert, since before
the error would be reported on the next line
2020-04-27 20:25:54 -05:00
Rémi Verschelde
717f053e37
Merge pull request #38121 from JFonS/add_unwrap_caching
Add caching the lightmap unwrapping on import
2020-04-27 18:51:32 +02:00
PouleyKetchoupp
9353a2bbd1 Better damping implementation for Bullet rigid bodies
Apply old method for linear & angular damping in Bullet, in order to
make it easier to tweak and consistent with Godot Physics.
2020-04-27 18:24:33 +02:00
Rémi Verschelde
f61587b158
Merge pull request #36927 from ThakeeNathees/export-var-type-reduce-implimented
Fix: export var type reduce() implemented
2020-04-27 17:01:04 +02:00
Rémi Verschelde
f7e2ff5223
Merge pull request #38253 from nekomatata/bullet-update-2.90
Update to bullet master (2.90)
2020-04-27 16:44:17 +02:00
Thakee Nathees
cd487201c6 export var type reduce() implemented 2020-04-27 19:26:57 +05:30
PouleyKetchoupp
3e7db60d56 Update to bullet master (2.90) 2020-04-27 11:37:47 +02:00
Rémi Verschelde
7899b3e734
Merge pull request #38150 from neikeq/fix-load-hook-for-reused-assembly
Mono/C#: Fix load hook not called for some assemblies on domain reload
2020-04-25 13:01:11 +02:00
Rémi Verschelde
97f04e42f6
Merge pull request #37172 from theoway/autoCompletionBug
Fixed the auto-completion bug in gdscript_editor
2020-04-24 17:27:04 +02:00
Rémi Verschelde
39f77f95b8
Merge pull request #37265 from BigRed-118/mark_assert_safe
Mark assert lines as safe in gdscript
2020-04-24 17:24:45 +02:00
Rémi Verschelde
514fb5fa8a
Merge pull request #37232 from ThakeeNathees/load()-autocomplete-imlpemented
autocomplete for load() function implemented
2020-04-24 17:24:23 +02:00
Ignacio Etcheverry
f5510262bc Mono/C#: Fix load hook not called for some assemblies on domain reload 2020-04-23 18:55:44 +02:00
Ignacio Etcheverry
81f13f6171 C#: Fix always saving copy of csproj even with no changes
This was a regression from 93d7ec8836 (#38110).
Mono's old implementation of Microsoft.Build hardcodes HasUnsavedChanges to
always return true.
This workaround can be reverted once we switch to official Microsoft.Build.
2020-04-23 16:18:55 +02:00
Rémi Verschelde
8012be867c
Merge pull request #38123 from neikeq/fix-hotreload-twice
Mono/C#: Fix assemblies being reloaded a second time unnecesarily
2020-04-23 11:34:28 +02:00
Ignacio Etcheverry
20b9dbb1d5 C#: Revert marshalling of IDictionary/IEnumerable implementing types
Added marshalling for `System.Collections.Generic.List<T>` and
`System.Collections.Generic.Dictionary<TKey, TValue>`.
2020-04-23 02:26:43 +02:00
Ignacio Etcheverry
c9882e61e2 Mono/C#: Fix assemblies being reloaded a second time unnecesarily 2020-04-23 02:23:25 +02:00
Ignacio Roldán Etcheverry
28f0b15c9d
Merge pull request #38117 from neikeq/export-mono-array-godot-object
Mono/C#: Allow exporting System.Array of type Godot.Object
2020-04-22 17:41:34 +02:00
Ignacio Roldán Etcheverry
3ad9652a5d
Merge pull request #38110 from neikeq/csproj-safer-migration
C#: Save copy of sln and csproj before applying fixes
2020-04-22 17:27:07 +02:00
Ignacio Roldán Etcheverry
90330a04cc
Merge pull request #38115 from neikeq/mono-debug-exported-games
Mono/C#: Allow debugging exported games
2020-04-22 17:26:33 +02:00
Ignacio Etcheverry
0fec3cb5ed Mono/C#: Allow exporting System.Array of type Godot.Object 2020-04-22 17:19:45 +02:00
Ignacio Etcheverry
93d7ec8836 C#: Save copy of sln and csproj before applying fixes 2020-04-22 16:50:43 +02:00
Ignacio Etcheverry
71fc87e101 Mono/C#: Allow debugging exported games
- Include PDB files in exported games.
- Release export templates also allow debugging now.

Right now the only way to enable debugging in exported games is with the  environment variables, which may be cumbersome or not even possible on some platforms.
2020-04-22 16:44:03 +02:00
Rémi Verschelde
6aac75afc2
Merge pull request #37318 from ttencate/fix/argument_nulled_37312
Revert "Allow parameters passed to GDScript functions to be nulled"
2020-04-22 16:09:28 +02:00
JFonS
f7dadc4796 Add caching the lightmap unwrapping on import
This commit adds caching to the lightmap mesh unwraps generated on
import. This speeds up re-imports of meshes that haven't changed and
also makes sure that the unwraps are consistent across imports.

The unwrapping process is not deterministic, so one could end up with
a different mapping every time the scene was imported, breaking any
previously baked lightmaps. The changes in this commit prevent that
from happening.
2020-04-22 15:34:00 +02:00
Andrea Catania
4d8a3839d0
Removed noisy ERR check from Multiplayer API. 2020-04-22 08:12:58 +02:00
Rémi Verschelde
f914276951
Merge pull request #37537 from ThakeeNathees/const-parsing-datatype-bug-fix
GDScript: Fix type inference for const reference to global class
2020-04-21 23:04:46 +02:00
Rémi Verschelde
9716204555
Merge pull request #37712 from stoofin/pattern-bind-warning
Fix unassigned variable warnings for match bindings
2020-04-21 23:04:16 +02:00
Rémi Verschelde
4f03e302a7
Merge pull request #38041 from ThakeeNathees/class-name-check-enhance
GDScript class name existance check enhanced
2020-04-21 16:19:53 +02:00
Rémi Verschelde
a5a9bf6a19
Merge pull request #37955 from ThakeeNathees/lin-unsafe-base-know-index-unkonwn
Line marked unsafe when base known and index unkonwn
2020-04-21 16:19:34 +02:00
Rémi Verschelde
9cad835880
Merge pull request #37954 from ThakeeNathees/autocomplete-indexing-native-types
Autocompleting with indexing for builtin types added
2020-04-21 16:19:07 +02:00
Juan Linietsky
5d4dc2d45c Add ability to bind typed arrays to script API
Note: Only replaced 2 instances to test, Node.get_children and TileMap.get_used_cells
Note: Will do a mass replace on later PRs of whathever I can find, but probably need
a tool to grep through doc.
Warning: Mono will break, needs to be fixed (and so do TypeScript and NativeScript, need to ask respective maintainers)
2020-04-21 10:15:40 +02:00
Juan Linietsky
ae09b55a19 Exposed RenderingDevice to script API
Also added an easier way to load native GLSL shaders.

Extras:

Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.

Note:

The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
2020-04-20 21:21:58 -03:00
Rémi Verschelde
2cd952bd84 Fix handling of PROPERTY_USAGE_SUBGROUP in DocData and editor
Subgroups were added in #37678 but not properly handled everywhere
where PROPERTY_USAGE_GROUP is.
2020-04-20 17:13:06 +02:00
Rémi Verschelde
0ef8bcac4d DocData: Skip unexposed classes
Properly expose classes that we actually want accessible.
2020-04-20 12:51:10 +02:00
Thakee Nathees
62280c3d47 GDScript class name existance check enhanced 2020-04-20 16:20:36 +05:30
Rémi Verschelde
408fab8442 Mono: Fix include for Android support
This was a typo in #37153.

Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2020-04-18 21:28:51 +02:00
qarmin
559bc3ca87 Change non-existent World to World3D 2020-04-18 11:00:51 +02:00
Thakee Nathees
0780ad2800 line unsafe for indexing with known base type & unkown identifier 2020-04-17 16:52:22 +05:30
Thakee Nathees
3c45377c6e autocompleting with indexing for native types added
Fix: #37768
2020-04-17 12:13:57 +05:30
Umang Kalra
b192c7d1ac Fixed the bool _static logic 2020-04-16 21:23:17 +05:30
Nico Mitchell
f7cc2b090c Change MATH_POSMOD return type back to INT 2020-04-14 17:23:35 -04:00
Rémi Verschelde
5e5103f460
Merge pull request #37861 from reduz/implement-decals
Implement decals
2020-04-14 17:13:20 +02:00
Juan Linietsky
5944eb6e7f Implement decals
Also implemented decal atlas, so projectors and other stuff can be added.
Sidenote: Had to make RID hashable, so some unrelated includes changed
in order to include it in hashfuncs.h
2020-04-14 11:13:34 -03:00
Rémi Verschelde
e0eb9a8ae4
Merge pull request #37826 from nekomatata/direct-body-state-sleep
Fix set_sleep_state in Bullet body direct state
2020-04-14 12:53:20 +02:00
PouleyKetchoupp
30b184cb06 Fix set_sleep_state in Bullet body direct state
It was inverted, it should set the body to be active when sleep is disabled.
2020-04-14 11:39:34 +02:00
Nico Mitchell
c2ffaf5b2b Change round return type to float 2020-04-13 13:02:40 -04:00
Rémi Verschelde
cfb00d4ed0
Merge pull request #37817 from ThakeeNathees/disconnect-autocomplete
autocomplete for disconnect implemented
2020-04-13 12:07:25 +02:00
Thakee Nathees
efe90fce01 autocomplete for disconnect, is_connected implemented 2020-04-13 12:35:06 +05:30
Rudigus
42434a0384 Improve error explanations related to UPNP and UPNPDevice 2020-04-13 02:25:39 -03:00
Rémi Verschelde
28bd664de5
Merge pull request #37542 from swarnimarun/patch_vs_02
Update visualscript graph nodes on visual script variable edit
2020-04-12 11:30:15 +02:00
Yuri Sizov
1ea7295bd2 Improve shortcut formatting in docs 2020-04-10 18:42:11 +03:00
Rémi Verschelde
67f7ba2645
Merge pull request #37395 from ThakeeNathees/collon-equal-parser-bug-fix
`:=` fails on some nodes fix: #37357
2020-04-10 12:36:44 +02:00
Rémi Verschelde
d2b85ef642
Merge pull request #37530 from swarnimarun/patch_vs_01
VisualScript support for newly added Variant types
2020-04-10 12:06:38 +02:00
Rémi Verschelde
56bee78b6e
Merge pull request #37629 from lupoDharkael/noise-unref
NoiseTexture: prevent race condition because of Ref::unref()
2020-04-10 11:52:10 +02:00
Rémi Verschelde
d41444b0d8
Merge pull request #37693 from lupoDharkael/remove-hint
Remove obsolete enums
2020-04-10 11:47:44 +02:00
Rémi Verschelde
4f5ad0734b
Merge pull request #37467 from HaSa1002/fix-vsproj
fixed modules not beeing added to vsproj
2020-04-09 15:31:58 +02:00
HaSa1002
0b615bb997 fixed modules not beeing added to vsproj 2020-04-09 15:15:52 +02:00
Stoofin
44281f233d Pattern bind counts as assignment
Fixes #34697
2020-04-09 05:01:40 -07:00
Bastiaan Olij
afc8c6391c Renaming all ARVR nodes to XR 2020-04-09 15:33:01 +10:00
lupoDharkael
5021dcfcd6 Remove obsolete enums 2020-04-08 20:44:01 +02:00
Rémi Verschelde
d89dc5794a
Merge pull request #37644 from JFonS/gizmos_rename
Rename all gizmo classes, using the 4.0 node names.
2020-04-08 10:54:42 +02:00