Commit graph

6331 commits

Author SHA1 Message Date
Aaron Franke
e9808e3d9a
Add a double-precision editor build to CI 2021-12-09 09:52:48 -06:00
Rémi Verschelde
012b2b5385
Merge pull request #55700 from Razoric480/raz/lsp-extraneous-code 2021-12-09 13:12:49 +01:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Rémi Verschelde
4129c1d140
Merge pull request #55299 from nathanfranke/renames 2021-12-09 10:22:24 +01:00
Rémi Verschelde
1a8741aaca
Merge pull request #49473 from cptchuckles/fix-auto-reload-scripts 2021-12-09 10:06:22 +01:00
Nathan Franke
41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related 2021-12-09 01:38:46 -06:00
PouleyKetchoupp
8682adcb87 Add physics solver settings to project settings
Helps with discovery and setup of physics solver settings, in a specific
project settings section for both 2D and 3D.

Other changes for cleanup:
-Removed unused space parameters in 3D
SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO
SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS
-Added custom solver bias for Shape3D (same as Shape2D)
-Improved documentation for solver settings
2021-12-07 12:08:04 -07:00
Francois Belair
ad01201f34 Remove extraneous return to LSP 2021-12-07 12:37:11 -05:00
Raul Santos
2deabd553f Various fixes to C# documentation 2021-12-07 12:54:24 +01:00
Ignacio Roldán Etcheverry
37302b5c24
Merge pull request #55675 from raulsntos/csharp-basis-quaternion
Rename C# `Quaternion()` -> `GetQuaternion()`
2021-12-07 12:48:55 +01:00
Aaron Franke
6eb7179f1c
Rename "items_count" property to "item_count" 2021-12-06 22:02:27 -06:00
Raul Santos
838f80ed91 Rename C# Quaternion() -> GetQuaternion()
To keep consistency with GDScript, the method `Quaternion()` is renamed
`GetQuaternion()`, and made `internal` so it's not exposed to scripting.
The documentation references are also fixed.

Also, the methods `GetQuaternion()` and `GetRotationQuaternion()` are
moved below `GetEuler()` to follow alphabetic order.
2021-12-06 20:18:40 +01:00
Ignacio Roldán Etcheverry
2f41af7d2d
Merge pull request #55655 from raulsntos/csharp-items-count
Replace deprecated `GetItemCount()` with `ItemsCount`
2021-12-06 19:54:40 +01:00
Raul Santos
4a339dc8fd
C# script reload fixed
Co-authored-by: Michael Bickel <mib@developium.net>
Co-authored-by: Germanrc <german_1995a@hotmail.com>
2021-12-06 19:45:59 +01:00
Rémi Verschelde
be975e5d18
Merge pull request #55624 from Razoric480/raz/cs-lsp-signal 2021-12-06 17:46:25 +01:00
jmb462
81efebb3a1
Fix bad popups offset in editor with single window off
Co-authored-by: Gil Arasa Verge <gilarasaverge@gmail.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2021-12-06 14:29:48 +01:00
Rémi Verschelde
5baf20e638
Merge pull request #34005 from aaronfranke/minmax 2021-12-06 14:01:45 +01:00
Rémi Verschelde
3a7d5a1c64
Merge pull request #55651 from Calinou/remove-more-debug-prints 2021-12-06 10:30:37 +01:00
Raul Santos
3609ca67df
Replace deprecated GetItemCount() with ItemsCount
Replace the deprecated method `GetItemCount()` with the new property
`ItemsCount`.
2021-12-06 02:17:03 +01:00
Ignacio Roldán Etcheverry
97034939fe
Merge pull request #55597 from raulsntos/csharp-source-generators-generics
Fix C# `Godot.SourceGenerators` for generic classes
2021-12-06 00:04:36 +01:00
Hugo Locurcio
89ec3d3bc7
Remove or make verbose some debugging prints
The message about SpatialMaterial conversion was turned into a warning,
as it can potentially interfere with porting projects from Godot 3.x
(if there's a bug in the conversion code).
2021-12-05 23:22:23 +01:00
Rémi Verschelde
49799ab454
Merge pull request #55559 from pycbouh/docs-overridden-cross-linked 2021-12-05 18:37:19 +01:00
Raul Santos
d5d1645e15 Bump Godot.NET.Sdk and SourceGenerators versions
Bump `Godot.NET.Sdk` to version 4.0.0-dev6.
Bump `Godot.SourceGenerators` to version 4.0.0-dev3.
Use floating version 4.0.*-* for package references in Sdk.
2021-12-05 15:56:18 +01:00
Raul Santos
c52f21335c Fix Godot.SourceGenerators for generic classes
Fix invalid C# generated by source generators for generic classes and
add generic classes to the Sample project for testing.
2021-12-05 15:52:25 +01:00
Nathan Franke
de7873c2d8
Auto-Increment Debugger Port
Note: This PR also changes the port of the GDScript Language Server from 6008 to 6005. This opens enough ports above the debug port (6007) for this change to be useful.
2021-12-04 15:25:13 -06:00
Francois Belair
66f1b4bf66 Prevent LSP adding signal func to non GDScripts 2021-12-04 10:58:05 -05:00
Ignacio Roldán Etcheverry
2a9dd654bc
Merge pull request #55563 from raulsntos/csharp-delegates-for-generic-class
Fix C# `get_all_delegates` method for generic classes
2021-12-04 12:38:09 +01:00
cdemirer
6204d956b8 Fix nested ternary-if codegen (#55582) 2021-12-04 10:12:02 +08:00
Raul Santos
d28be4d580 Fix get_all_delegates method for generic classes
If the class is generic, we must get its generic type definition and use
it to retrieve the delegates.
2021-12-04 02:54:33 +01:00
Raul Santos
c3fb5ff359 Fix typo in gdscript_parser 2021-12-03 21:47:27 +01:00
Yuri Sizov
b3992f7e6e Make overridden properties link to parent definition
Co-authored-by: Josh DeGraw <joshmdegraw@gmail.com>
2021-12-03 17:47:22 +03:00
Aaron Franke
24f57886d0
Expose max_axis_index and max_axis_index for Vector2(i)
Some cleanup with Vector3(i)'s methods so that it is consistent with Vector2, for example it returns enums internally (GDScript still gets ints).
2021-12-02 23:45:41 -06:00
Vincent
8263646f68 AudioStreamMP3: expose loop properties to the editor 2021-12-03 03:14:20 +01:00
Rémi Verschelde
1f666a972f
NavigationMeshInstance: Fix typo to 'vertices' 2021-12-03 01:54:15 +01:00
Carlo Cabanilla
75b61ea1f4 Let MultiMeshInstances affect NavigationMeshes 2021-12-02 14:50:49 -08:00
Rémi Verschelde
892a5a72cd
Merge pull request #55474 from akien-mga/copy-operators-no-reference 2021-12-02 17:34:45 +01:00
Rémi Verschelde
213ee89ae8
Merge pull request #55529 from raulsntos/rename-vector-params 2021-12-02 00:01:51 +01:00
Rémi Verschelde
7f7e54656b
Merge pull request #55533 from nekomatata/bullet-query-shape-index 2021-12-01 23:47:57 +01:00
Raul Santos
a367378f9e Rename Vector parameters to be consistent
Renames parameters that were named differently across different
scripting languages or their documentation to use the same name
everywhere.
2021-12-01 21:14:46 +01:00
PouleyKetchoupp
02d40de30d Fix shape index in multiple physics queries with Bullet
Two main changes:

- Better handling of concave shapes to make sure the queries don't
return a triangle index instead of shape index.
Note: A concave shape within a compound shape will always return a shape
index of 0 because of Bullet limitations.

- Extra check for compound shapes in some queries to avoid undefined
behavior, because the shape index can have an uninitialized value with
convex shapes in some cases.
2021-12-01 11:03:41 -07:00
Vincent
2d0068d1cb Fix crash when loading an invalid mp3 file 2021-12-01 14:30:38 +01:00
Rémi Verschelde
7da392bcc5
Don't return reference on copy assignment operators
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this
can lead to confusing code and subtle bugs.

According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++
allows any arbitrary return type, so this is standard compliant.

This could be re-assessed if/when we have an actual need for a behavior more
akin to that of the C++ STL, for now this PR simply changes a handful of
cases which were inconsistent with the rest of the codebase (`void` return
type was already the most common case prior to this commit).
2021-11-30 16:26:29 +01:00
SaracenOne
3eec759e87 Check for nullptr expression in parse_precedence function 2021-11-29 11:29:15 +00:00
Yuri Roubinsky
ce48604eb7 Enchance descriptions of @GlobalScope/@GDScript 2021-11-25 14:24:09 +03:00
Aaron Franke
9851d3c5b2
Move logic for saving project features to ProjectSettings save_custom 2021-11-25 03:08:05 -06:00
Umang Kalra
387a333b94 Fixes variable/singal nodes not renaming in visualscript editor 2021-11-24 23:56:43 +05:30
Lightning_A
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
Rémi Verschelde
3ba2d17d2f
Merge pull request #54949 from Chaosus/fix_warning 2021-11-23 15:15:36 +01:00
Rémi Verschelde
c7007f83d5
Merge pull request #55243 from KoBeWi/some_random_stuff_idk 2021-11-23 13:41:35 +01:00
kobewi
4682f22293 Improve various texts 2021-11-23 12:20:57 +01:00
jitspoe
8f433a1f53 Fix crash when exporting meshes to gltf that have no skin. 2021-11-22 22:40:47 -05:00
Rémi Verschelde
76aa1d0a43
Merge pull request #55151 from Chaosus/control_reset_size 2021-11-22 16:22:57 +01:00
Yuri Roubinsky
eabf8f5edf Added reset_size method to Control and Window classes 2021-11-22 16:55:21 +03:00
JFonS
ea8d0deb4b
Merge pull request #54919 from williamd67/GPULightmapper-improve-noise-to-prevent-artifacts
GPULightmapper: better algorithm to generate rays for indirect lighting
2021-11-22 12:10:09 +01:00
Pawel Lampe
1a15a3adf6 Fix GDScript parser crash on 'dollar mixed with assignment' expression
fixes #53696
2021-11-21 21:18:46 +01:00
Pawel Lampe
4a5d98c987 Fix godot crash on null expression, fixes #53862 2021-11-21 20:58:52 +01:00
Marcel Admiraal
826ea43af6 Fix merge conflict between #42711 and #42374 2021-11-21 07:01:33 +00:00
Rémi Verschelde
bf18965a51
Merge pull request #55126 from akien-mga/wslay-45d22583b 2021-11-20 10:47:20 +01:00
Rémi Verschelde
e97634f56d
Merge pull request #55127 from akien-mga/libwebp-1.2.1 2021-11-20 10:47:00 +01:00
Rémi Verschelde
e6fd2d550e
Merge pull request #55115 from akien-mga/tinyexr-1.0.1 2021-11-20 10:45:56 +01:00
Marcel Admiraal
6b54ac98d7 Add shape data to area overlap data. 2021-11-20 08:06:53 +00:00
Rémi Verschelde
a706ef3272
wslay: Sync with upstream 45d22583b
45d22583b4

Mostly style changes, a couple new methods and fixes.
Tweak file structure a bit.
2021-11-19 15:47:20 +01:00
William Deurwaarder
2ee77f6f05 GPULightmapper: better algorithm to generate rays for indirect lighting
Previous algorithm used an algorithm to generate rays that was not completely
random. This caused artifacts when large lighmap textures were used.

The new algorithm creates better rays and by that prevents artifacts.
2021-11-19 15:29:43 +01:00
Rémi Verschelde
41ce417847
libwebp: Sync with upstream 1.2.1
Changes: https://chromium.googlesource.com/webm/libwebp/+/1.2.1/NEWS
2021-11-19 13:55:13 +01:00
Rémi Verschelde
432ac521ef
miniupnpc: Update to version 2.2.3
Library code and public headers are now properly separated, we can fix include paths
to remove the redundant subfolder.
2021-11-19 12:00:37 +01:00
Rémi Verschelde
46d3effa99
tinyexr: Sync with upstream 1.0.1
Removes miniz as a bundled dependency, relies on our own zlib instead.

Includes a couple commits ahead of `v1.0.1` tag to fix MinGW builds.
2021-11-19 11:25:14 +01:00
Camille Mohr-Daurat
0deccc550c
Merge pull request #42374 from madmiraal/fix-32776
Trigger RigidBodyBullet space override updates when Area properties change.
2021-11-18 12:22:02 -07:00
Camille Mohr-Daurat
756eab200b
Merge pull request #42306 from madmiraal/fix-39947
Update Bullet Area overlaps when Area properties or shapes change.
2021-11-18 12:04:41 -07:00
Camille Mohr-Daurat
b7260e04cc
Merge pull request #44726 from madmiraal/fix-44644
Ignore Bullet collision contact points with distance = 0
2021-11-18 11:16:15 -07:00
Yuri Roubinsky
9536b3b59a Fix randfn in visual scripts 2021-11-17 18:52:44 +03:00
Yuri Roubinsky
a74acca858 Expose randfn to global scope 2021-11-17 14:29:19 +03:00
Hugo Locurcio
8fb7e622a6
Rename built-in SGN() macro to SIGN()
This matches the name of the GDScript function (except it's uppercase
here).
2021-11-16 20:40:49 +01:00
Rémi Verschelde
471e7cbfc7
Merge pull request #54581 from aaronfranke/operator-docs 2021-11-16 14:10:09 +01:00
Rémi Verschelde
6c1bd4d227
Replace Godot docs URL with $DOCS_URL in XML class reference 2021-11-15 13:02:21 +01:00
Stefan Boronczyk
5059d8a46c
Fix mono build after invalid rename of KEY_READ
Follow-up to #51684.
2021-11-15 08:49:37 +01:00
reduz
cd2a499084 Add path to functions that return iporter options
-Allows displaying custom options for specific file format variants
-Added support for scene format import to retrieve custom options

This PR is necessary for #54886 to be implemented properly.
2021-11-14 14:06:10 -03:00
Yuri Roubinsky
3396b25489 Allow using built-in names for variables, push warnings instead 2021-11-13 21:47:24 +03:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
Aaron Franke
2ad3d1bd7a
Make OpenSimplex and VisualScript modules not depend on the editor 2021-11-12 12:03:54 -06:00
Aaron Franke
ae713f8980
Add a minimal template build to CI
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-11-12 09:30:50 -06:00
Rémi Verschelde
88c4380737
Modules: Make sure to include modules_enabled.gen.h where needed 2021-11-12 13:42:58 +01:00
kobewi
3b320cd9fe Show built-in script names in the debugger 2021-11-11 20:47:09 +01:00
bruvzg
74b9892f7a [GDScript] Check string literals for Unicode direction control characters. 2021-11-11 15:41:59 +02:00
Rémi Verschelde
d209369fa3
Merge pull request #54840 from Calinou/mono-move-exception-policy-setting 2021-11-10 18:33:18 +01:00
Hugo Locurcio
a9a45ee7ee
Move Mono unhandled exception setting to be located within a subsection
Settings that aren't within a subsection are difficult to reach when
other settings do have a subsection.

This also adds documentation for the project setting.
2021-11-10 17:31:54 +01:00
PouleyKetchoupp
bfd0d33244 Fix errors in CharacterBody when floor is destroyed or removed
In all physics servers, body_get_direct_state() now silently returns
nullptr when the body has been already freed or is removed from space,
so the client code can detect this state and invalidate the body rid.

In 2D, there is no change in behavior (just no more errors).

In 3D, the Bullet server returned a valid direct body state when the
body was removed from the physics space, but in this case it didn't
make sense to use the information from the body state.
2021-11-10 08:27:33 -07:00
Rémi Verschelde
e8870ddefc
Merge pull request #54676 from Chaosus/gds_restrict_names 2021-11-10 15:20:44 +01:00
Rémi Verschelde
92ae349668
Merge pull request #54358 from Shawak/feature-allow-root-node-paths-without-quote 2021-11-10 15:19:17 +01:00
Silc 'Tokage' Renew
571ea72f35 fix pingpong in math 2021-11-10 14:31:56 +09:00
Rémi Verschelde
06a33e590f
Merge pull request #53819 from TokageItLab/re-implement-ping-pong
Reimplement ping-pong animation and reverse playback
2021-11-09 22:11:04 +01:00
Rémi Verschelde
e3f3fc517a
Merge pull request #54653 from KoBeWi/built_in_scripts_deserved_that
Improve save handling for built-in scripts
2021-11-09 21:46:58 +01:00
Maximilian
c7a8e047cc Allow using $/root node paths
format

fix shadowing

use match instead of comparison

Update gdscript_parser.cpp
2021-11-09 18:46:28 +01:00
Rémi Verschelde
26f82563de
Merge pull request #54798 from Calinou/gdscript-opcode-no-hash 2021-11-09 14:01:34 +01:00
Hugo Locurcio
605784f019
Remove hash symbol in front of opcode error messages in GDScript
The hash symbol creates spurious issue references on GitHub if
the message is posted outside a code block, which means some issues
have a lot more references than originally intended.
2021-11-09 12:20:16 +01:00
Rémi Verschelde
bc6ec58456
Merge pull request #47600 from qarmin/enable_mono_editor 2021-11-09 12:13:11 +01:00
qarmin
071829acc5 Enable mono editor build in CI 2021-11-09 11:02:04 +01:00
Rémi Verschelde
5968653662
Merge pull request #46721 from bruvzg/custom_word_break_punct 2021-11-09 00:13:59 +01:00
Rémi Verschelde
d9a74fd07f
Merge pull request #54372 from bruvzg/text_edit_ui 2021-11-09 00:13:25 +01:00
Rémi Verschelde
236fd3305b
Merge pull request #54473 from briansemrau/no-debug-functions-on-thread 2021-11-08 19:37:48 +01:00
Yuri Roubinsky
95f6f3c756 Prevent identifiers from naming as built-in funcs and global classes 2021-11-08 21:35:31 +03:00
Rémi Verschelde
78ed2c05a2
Merge pull request #54118 from Pineapple/dont-ignore-type-mismatch-in-setter-master 2021-11-08 19:26:27 +01:00
Rémi Verschelde
6c8a1683a5
Merge pull request #54663 from Gallilus/VisualScript-sync-and-improve-variable-anb-property 2021-11-08 13:13:52 +01:00
kobewi
134e4d168b Improve save handling for built-in scripts 2021-11-07 23:51:12 +01:00
Francois Belair
4995a477ff Fix LSP crash when parsing signal symbols.
If the number of parameters was less than the number of class members, the LSP would cause godot to crash because it was using the index for class members instead of the index for signal parameters.

Fixes #54720 .
2021-11-07 12:20:25 -05:00
Yuri Roubinsky
9b0dddd8e5 Fix example in NoiseTexture doc 2021-11-06 19:49:22 +03:00
David Cambré
d763ee8398 VisualScript-sync-and-improve-variable-and-property 2021-11-06 13:03:38 +01:00
Aaron Franke
813466b3c8
Add documentation to operators for math types
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2021-11-04 14:44:55 -05:00
Aaron Franke
744b43b527
Fix Quaternion multiplication operator 2021-11-04 11:24:46 -05:00
kobewi
e393c2a734 Add is_built_in() method to Resource 2021-11-04 12:45:58 +01:00
Hugo Locurcio
c012fbc8b2
Rename PROPERTY_USAGE_NOEDITOR to PROPERTY_USAGE_NO_EDITOR
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
David Cambré
8714e1e961 Fixes copy-paste issue in the visual script editor
Moves copy and paste in their own functions so copy_nodes_request and paste_nodes_request are able to work.
Applies paste offset to the last mouse clicked position.
2021-11-03 20:40:52 +01:00
Rémi Verschelde
a2803f3d86
Merge pull request #54072 from KoBeWi/hrcr_is_ded 2021-11-03 17:31:48 +01:00
Silc 'Tokage' Renew
953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
Rémi Verschelde
81c93caf02
Merge pull request #54471 from rafallus/callable_area_monitor 2021-11-02 23:20:41 +01:00
Rémi Verschelde
5efb11926d
Merge pull request #54346 from mhilbrunner/used-what-instead-of-what 2021-11-02 08:48:58 +01:00
Rémi Verschelde
ce9e90af01
Merge pull request #54494 from lyuma/fix_override_materials
glTF: Fix override materials and non-empty arrays
2021-11-02 08:11:57 +01:00
Lyuma
de93d48901 glTF: Fix override materials and non-empty arrays
Keep track of MeshInstance and GeometryInstance override materials in the GLTFMesh object.
Ensure all arrays are non-empty to conform with "minItems":1 in glTF spec.
2021-11-01 23:22:45 -07:00
rafallus
770e3a8e51 Use Callable in Area monitor callback 2021-11-01 21:53:17 -06:00
Rémi Verschelde
7b83039885
Merge pull request #54490 from q66/ppc 2021-11-01 23:27:21 +01:00
Rémi Verschelde
0fbf53dbc5
Merge pull request #54387 from Calinou/editor-translations-increase-zlib-compression-level 2021-11-01 23:22:55 +01:00
Daniel Kolesa
3a84a64d2f Add support for PowerPC family 2021-11-01 22:25:53 +01:00
Brian Semrau
d3051b2637 GDScript gracefully handle debug functions from separate thread 2021-11-01 12:13:25 -04:00
Rémi Verschelde
1dd742777a
Merge pull request #53452 from aaronfranke/who-let-the-docs-out 2021-10-31 23:18:32 +01:00
Rémi Verschelde
1aef3a42b2
Merge pull request #54448 from CakHuri/treshold-to-threshold
Repair mistyped of 'threshold' on several files.
2021-10-31 18:32:18 +01:00
Rémi Verschelde
16dc607f8a
Merge pull request #54307 from Calinou/add-opengl-renderer-squash
Add OpenGL renderer (squashed)
2021-10-31 18:30:38 +01:00
M. Huri
4052d85d05 Repaired mistyped of 'threshold' on several files. 2021-10-31 22:11:42 +07:00
bruvzg
3f33e1d7d6 Add functions for getting name and font style from dynamic and bitmap fonts.
Add font selection toolbar editor plugin.
2021-10-31 12:40:58 +02:00
Raul Santos
2913c32db5 Ensure C# script properties are added to the end
Ensures that the `get_property_list` and `get_script_property_list`
methods push the script properties to the end of the given list, this
prevents the script property from appearing after the script variables.
2021-10-30 17:11:40 +02:00
Hugo Locurcio
ce97ddbcb1
Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3
- Use lowercase driver names for the `--rendering-driver`
  command line argument.
2021-10-30 02:05:49 +02:00
Aaron Franke
6772ebcea0
Move the docs for constructors and operators out of methods section 2021-10-29 12:34:57 -05:00
Hugo Locurcio
89cf17c96f
Use maximum zlib compression when generating editor translation headers
With comments stripped, this reduces the combined generated translation
size from 28.7 MB to 28.4 MB (-240 KB).
2021-10-29 19:07:48 +02:00
Ignacio Roldán Etcheverry
7d99ccda1d
Merge pull request #54361 from raulsntos/csharp-call-able-callable
Implement Call methods in C# Callable
2021-10-29 17:27:04 +02:00
Fabio Alessandrelli
dae626ad64
Merge pull request #54344 from mhilbrunner/rpc-error-msgs
Websockets: Fix buffer size checks in put_packet(), silent failures/connection hangs
2021-10-29 16:12:34 +02:00
Max Hilbrunner
38126690c7 Websockets: Fix buffer size checks in put_packet()
Also check the error return value of wslay_event_queue_msg()
2021-10-29 15:35:57 +02:00
Raul Santos
21afb63485 Implement Call methods in C# Callable
Implements Callable.Call and Callable.CallDeferred methods in C#
2021-10-28 22:49:17 +02:00
Rémi Verschelde
f7d852b532
Merge pull request #54350 from akien-mga/clang-format-dont-align-operands 2021-10-28 17:10:52 +02:00
Rémi Verschelde
0ae65472e7
clang-format: Enable BreakBeforeTernaryOperators
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
2021-10-28 15:57:41 +02:00
Rémi Verschelde
6b090e325a
Merge pull request #53526 from KoBeWi/super_print 2021-10-28 15:47:52 +02:00
Rémi Verschelde
3a6be64c12
clang-format: Various fixes to comments alignment from clang-format 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 15:43:36 +02:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Max Hilbrunner
626ca50676 Improve GDScript indentation error message 2021-10-28 13:01:53 +02:00
Max Hilbrunner
7a55aac49c Fix Macros -> Mactos typo in WEBSOCKETMACTOS_H 2021-10-28 12:45:00 +02:00
bruvzg
63f3051154 Implement TextServer strip_diacritics function. 2021-10-28 10:12:57 +03:00
bruvzg
44a241b241 ICU: Update to version 70.1 2021-10-28 09:15:28 +03:00
kobewi
de4f29f458 Remove node_hrcr hack 2021-10-28 01:43:34 +02:00
Rémi Verschelde
c2640e2b21
Merge pull request #54254 from mhilbrunner/ticks-msec-64 2021-10-26 14:53:56 +02:00
Max Hilbrunner
5dc02eb8b0 Save all 64 bits of get_ticks_msec() in more cases 2021-10-26 13:58:58 +02:00
Lyuma
cada1a4747 gltf: Fix validation errors due to chunk padding and empty skins.
GLB chunk padding length calculation was backwards and missing for the BIN chunk.
Fixed error caused by "skins":[] when no skins were present.
Finally, encode animations before textures to avoid accessor misalignment due to texture byteLength.
2021-10-25 21:12:43 -07:00
reduz
d03b7fbe09 Refactored Node3D rotation modes
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis

Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25 14:34:00 -03:00
bruvzg
ebbc25e89c Ignore empty Font resources as theme override.
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
Rémi Verschelde
6ccc3e4d87
Merge pull request #54130 from raulsntos/csharp-exports
Keep order for C# exported members
2021-10-24 21:17:58 +02:00
Silc 'Tokage' Renew
653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
Aaron Franke
474d0f58f5
Add support for the RISC-V architecture
Supports RV64GC (RISC-V 64-bit with general-purpose and compressed-instruction extensions)
2021-10-22 12:51:10 -05:00
Rémi Verschelde
beb3875cdf
Merge pull request #53781 from m4gr3d/restrict_project_data_dir_config_master 2021-10-22 19:30:35 +02:00
Raul Santos
c6ecc04114
Keep order for C# exported members 2021-10-22 19:25:01 +02:00
Rémi Verschelde
9f7218eb69
Merge pull request #54088 from madmiraal/remove-unimplemented-methods 2021-10-22 12:59:32 +02:00
Bartłomiej T. Listwon
42cce2891f Don't ignore the type mismatch in setter function 2021-10-22 12:44:33 +02:00
Marcel Admiraal
87a4ba492e Remove unimplemented methods 2021-10-21 18:44:25 +01:00
Rémi Verschelde
133c1eb0af
Merge pull request #52367 from Duroxxigar/improve-nav-error-messages
Improve readability for failing errors in nav area
2021-10-21 19:36:16 +02:00
PouleyKetchoupp
e6f7235ffb Fix SoftDynamicBody3D crash when setting disable mode
Proper logic for changing physics state when disabled and disabled mode
is changed (it was unnecessarily making calls to re-initialize physics).

Extra error handling in soft body implementations to avoid crashes with
invalid mesh.
2021-10-21 08:56:12 -07:00
Rémi Verschelde
b9a59f60c1
Mono: Fix build after #52940
Chose to pass unhandled exceptions to the toaster, we might want to reconsider
if those are already reported somewhere else (e.g. in the Mono panel).
2021-10-20 11:07:20 +02:00
Rémi Verschelde
9471de7e00
Merge pull request #53081 from williamd67/GPULightmapper-first-dilate-than-denoise 2021-10-19 13:23:22 +02:00
Bastiaan Olij
96b707215d Add support for returning the play area from XRInterface 2021-10-19 21:17:04 +11:00
Rémi Verschelde
4387f9645b
Merge pull request #52940 from groud/toast_notification 2021-10-19 09:57:13 +02:00
Rémi Verschelde
723b988fde
Merge pull request #52210 from BastiaanOlij/enhance_xr_trackers 2021-10-19 08:11:32 +02:00
Ignacio Roldán Etcheverry
cad05f012d C#: Fix property set call boxing value when unboxed was expected 2021-10-19 00:33:51 +02:00
ne0fhyk
b5c750fa65 Restrict the project data directory configuration 2021-10-18 14:10:38 -07:00
Rémi Verschelde
297c5c72e9
Merge pull request #53760 from V-Sekai/import-post 2021-10-18 11:32:36 +02:00
Rémi Verschelde
850394bc07
Merge pull request #53946 from BenjaminNavarro/fix_dbg_check 2021-10-18 10:40:55 +02:00
Rémi Verschelde
76d90bb568
Merge pull request #53943 from raulsntos/fixup-53581 2021-10-18 10:38:41 +02:00
Benjamin Navarro
560d9a4cc0 Fix incorrect debug check for setters
the check read the return type of the setter, which doesn't exist and
lead to a segmentation fault. Now we check the first function parameter.
Probably a bad copy/paste of the getter case
2021-10-18 09:01:16 +02:00
Raul Santos
bc47bacc9e Fix marshaling generic Godot.Object in C# 2021-10-18 03:07:47 +02:00
Anutrix
a4b736658e Remove unused imports in .py, SCsub and SConstruct files 2021-10-18 01:50:34 +05:30
opl-
ad14b80e2a Fix name used instead of doc for GDScript signals 2021-10-17 05:54:27 +02:00
Bastiaan Olij
5d1ea92daf Rework XR positional trackers 2021-10-17 12:12:20 +11:00
Rémi Verschelde
a4e1a07d83
Merge pull request #53865 from reduz/implement-blend-shape-tracks 2021-10-16 16:48:10 +02:00
Rémi Verschelde
d6aab5c1bf
SCons: Fix missing mono .gen.cpp sources after #53860 2021-10-16 15:53:14 +02:00
reduz
ae1c016547 Implement Animation Blend Shape Tracks
* New track type BLEND_SHAPE
* Blend shapes are imported via this new track type
* Processing is more optimized (no longer relies on variants)
* Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes)
* Promo: Fixed a small bug in gizmo updating in Node3D that affected performance

Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-16 08:36:05 -03:00
William Deurwaarder
5465ef83cb GPULightmapper: execute dilate also after denoise
Dilate fills gaps that are caused by the rasterization. As dilate is based on
the alpha-channel which is not part of denoise, dilate can be run after denoise
as well. So that colors are not denoised/mixed over seams.
2021-10-16 11:28:37 +02:00
William Deurwaarder
a7599076d2 GPULightmapper: execute dilate before denoise
Dilate fills gaps that are caused by the rasterization. Previously denoise
was done before dilate which caused the gaps to become filled (non-zero). This
resulted that the gaps were not recognized by
dilate  and the background color leaked.

This is fixed by executing dilate before denoise.
2021-10-16 11:28:37 +02:00
Rémi Verschelde
08d1ce718d
Merge pull request #53856 from vnen/gdscript-setter-crash 2021-10-15 21:35:42 +02:00
George Marques
b0725a3b7d
GDScript: Avoid crash if missing setter signature 2021-10-15 15:53:24 -03:00
Raul Santos
035e14c69d Fix hint_string for C# enum arrays 2021-10-15 19:23:40 +02:00
Rémi Verschelde
fe4ca9e4df
Merge pull request #53849 from bruvzg/ts_index_checks 2021-10-15 19:13:58 +02:00
bruvzg
efb1c03243 [TextServer] Add texture index, offsets array size and Unicode char validation. 2021-10-15 18:36:00 +03:00
Rémi Verschelde
f113dc9863
Merge pull request #53627 from raulsntos/fix-list-marshal 2021-10-15 17:35:45 +02:00
Rémi Verschelde
6fb06ec47e
Merge pull request #53581 from raulsntos/mono-marshal-generics 2021-10-15 17:35:21 +02:00
Rémi Verschelde
4a0a91facf
Merge pull request #53576 from raulsntos/fix-mono-to-variant-array 2021-10-15 17:34:43 +02:00
Rémi Verschelde
1efe7093be
Merge pull request #53833 from akien-mga/remove-webm-support 2021-10-15 17:33:06 +02:00
Rémi Verschelde
3f888966c0
Merge pull request #53843 from vnen/gdscript-typed-array-subscript-constant
Fix inferred typed array marked as constant
2021-10-15 16:49:29 +02:00
Rémi Verschelde
d15512c17f
Merge pull request #53844 from williamd67/GPULightmapper-increase-ray-triangle-hit-rate 2021-10-15 16:31:55 +02:00
George Marques
540821a264
GDScript: Fix inferred typed array marked as constant 2021-10-15 10:40:50 -03:00
William Deurwaarder
a3f315c81b GPULightmapper: increase ray triangle hit rate
Currently the method ray_hits_triangle determines triangles not to be hit by
a ray due to an epsilon that is too big. In practice those triangles are hit by
those rays.

This is fixed by introducing a smaller epsilon.
2021-10-15 15:19:43 +02:00
reduz
b3bf90b3ce Add scene Post-Import Plugin support.
* New plugin system to control the whole import workflow
* Can add options and run code at every import step (general, per node, mesh, animation, material etc.)

This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
2021-10-15 09:12:04 -03:00
Rémi Verschelde
ae74e78909
Remove WebM support (and deps libvpx and opus)
We've had many issues with WebM support and specifically the libvpx library
over the years, mostly due to its poor integration in Godot's buildsystem,
but without anyone really interested in improving this state.

With the new GDExtensions in Godot 4.0, we intend to move video decoding to
first-party extensions, and this would likely be done using something like
libvlc to expose more codecs.

Removing the `webm` module means we can remove libsimplewebm, libvpx and
opus, which we were only used for that purpose. Both libvpx and opus were
fairly complex pieces of the buildsystem, so this is a nice cleanup.

This also removes the compile-time dependency on `yasm`.

Fixes lots of compilation or non-working WebM issues which will be linked
in the PR.
2021-10-15 12:09:11 +02:00
Rémi Verschelde
027d1f1551
Merge pull request #53822 from vnen/gdscript-await-issues
Fix a few issues with await in GDScript
2021-10-15 07:26:48 +02:00
George Marques
84abb9a76c
GDScript: Fix typing for await expression
Don't grab the type of the awaited value unless it's constant (which
makes it synchronous) or call (which always use the proper return type).
2021-10-14 20:30:06 -03:00
George Marques
749d89ae38
GDScript: Remove error when coroutine is called without await
In the case the call happens as a statement, since the return value
isn't used in this case.
2021-10-14 20:12:01 -03:00
George Marques
056a54db7b
GDScript: Properly return value with await on non-coroutine
If the keyword `await` is used without a coroutine, it should still
return the value synchronally.
2021-10-14 19:58:10 -03:00
George Marques
d36213bab8
GDScript: Make sure calls don't use return when not needed 2021-10-14 19:55:45 -03:00
K. S. Ernest (iFire) Lee
8f0c056431 Fix specific warnings issues by Clang
Found by `scons dev=yes` on llvm-mingw.
2021-10-14 14:14:26 -07:00
Rémi Verschelde
472ff40f71
Merge pull request #53807 from vnen/dont-share-arrays-and-dicts 2021-10-14 20:42:22 +02:00
George Marques
4c14051b3f
Zero Dictionary and Array variants when changing type with reset
So they don't reference to the old values anymore and instead refer to
a new value.
2021-10-14 11:22:17 -03:00
George Marques
bf322bacdd
Merge pull request #53726 from briansemrau/gd-outer-class
GDScript 2.0: Access outer scope classes
2021-10-14 10:12:52 -03:00
Gilles Roudière
0587e5e018 Implement toast notifications in the editor 2021-10-14 13:30:54 +02:00
Brian Semrau
0ff0f64cd4 GDScript: Access outer scope classes 2021-10-13 22:39:12 -04:00
K. S. Ernest (iFire) Lee
e3d1189916 Restore gltf animation export after split. 2021-10-13 15:18:27 -07:00
reduz
2dc823273e Remove REST transform influence in skeleton bones
* Animations and Skeletons are now pose-only.
* Rest transform is kept as reference (when it exists) and for IK
* Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
2021-10-13 14:51:29 -03:00
Rémi Verschelde
3e86ca5586
Merge pull request #53689 from reduz/remove-animation-transform3d-track 2021-10-13 12:40:33 +02:00
K. S. Ernest (iFire) Lee
b7ceec9d7b Error check GLTFDocumentExtensionConvertImporterMesh::import_post. 2021-10-13 02:55:09 -07:00
Rémi Verschelde
9e05f80dae
Merge pull request #53744 from williamd67/GPULightmapper-prevent-endless-loop 2021-10-13 11:40:37 +02:00
Rémi Verschelde
2c46a1f327
Merge pull request #53743 from williamd67/GPULightmapper-process-rays-to-sky 2021-10-13 11:40:27 +02:00
Rémi Verschelde
2eeb9a8d0e
Merge pull request #53322 from williamd67/GPULightmapper-skip-smoothen-positions-flat-triangle 2021-10-13 11:40:14 +02:00
reduz
ec19ed3723 Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone.
* Added POSITION_3D, ROTATION_3D, SCALE_3D tracks.
* GLTF2, Collada, FBX importers will only import the track types found.
* Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed.
* AnimationPlayer and AnimationTree animate these tracks separately, only when found.
* Removed BakeReset code, is useless with these changes.

This is the first in a series of commits designed to make the animation system in Godot more useful, which includes:

* Better compatibility with Autodesk products
* Better reusability of animations across models (including retargeting).
* Proper animation compression.
* etc.

*Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12 20:08:42 -03:00
William Deurwaarder
f3f64389ca GPULightmapper: prevent loop with max iterations
In case the calculation of the delta contained infinity values (division by
zero), than later the calculation of the next cell failed as the infinity value
was multiplied by zero which resulted in a nan. The nan-value caused that the
next cell was equal to the current cell which resulted in an end-less loop,
which only terminates by the maximum iterations protection.

This is solved by replacing infinity with grid_size which acts as infinity.
2021-10-12 23:43:34 +02:00
William Deurwaarder
fbd95c3e53 GPULightmapper: process rays to sky in all bounces as active
Before this change only rays to the sky (RAY_MISS) in the first bounce were
processed as active rays. This caused artifacts, areas were too light, when
more than one bounce were processed.

Now rays to the sky are processed as active rays for all bounces.
2021-10-12 23:25:45 +02:00
Rémi Verschelde
88463c3eee
Merge pull request #53712 from CakHuri/nullptr
Replace NULL with nullptr
2021-10-12 22:30:43 +02:00
William Deurwaarder
9e58b02252 GPULightmapper: skip smoothen positions for flat triangles
Smoothening positions for flat, non-smoothened, triangles is unnecessary and
caused positions to move outside their  triangle which caused side-effects as
rays from those positions intersected with triangles which could not be
reached from the original triangle.

This is solved by skipping smoothening of positions for flat triangles.
A triangle is determined to be flas as its vertex normals are equal.
2021-10-12 18:23:16 +02:00
Rémi Verschelde
e4288bf728
Merge pull request #53720 from vnen/gdscript-typed-array-custom-class 2021-10-12 16:51:50 +02:00
George Marques
34288b24a6
GDScript: Fix typed array with custom classes 2021-10-12 10:41:04 -03:00
M. Huri
033dc4dbef Replaced NULL with nullptr 2021-10-12 20:20:19 +07:00
George Marques
45f546c1d8
GDScript: Make setter parameter type same as variable type 2021-10-12 09:39:23 -03:00
Rémi Verschelde
b67e68bce3
Merge pull request #53697 from bruvzg/ts_string_names 2021-10-12 12:45:24 +02:00
bruvzg
8e98e71997 Move static feature set and number system StringNames to the singleton.
Remove `hb_` prefix from the custom bitmap font functions to avoid potential conflicts with the HarfBuzz.
Cleanup commented debug code.
Update numbering system data to CLDR 39.
2021-10-12 12:47:18 +03:00
Rémi Verschelde
0fd50ff217
Merge pull request #52736 from aaronfranke/lgtm-mult
Fix some LGTM errors of "Multiplication result converted to larger type"
2021-10-12 08:38:46 +02:00
Aaron Franke
7e51e4cb84
Fix some LGTM errors of "Multiplication result converted to larger type" 2021-10-12 00:17:27 -05:00
M. Huri
b981c111c9 Fixed a typo in csg module 2021-10-12 11:12:19 +07:00
Juan Linietsky
610de0974d
Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" 2021-10-11 19:27:50 -03:00
Rémi Verschelde
9ed4f8367b
Merge pull request #48332 from TokageItLab/implement-ping-pong 2021-10-11 22:55:01 +02:00
Rémi Verschelde
5edfdc53eb
Merge pull request #53681 from Paulb23/rejig-syntax-highligher-bind
Move add_syntax_highlighter bind to ScriptEditorBase
2021-10-11 19:56:43 +02:00
Yuri Roubinsky
188e08307e
Merge pull request #53647 from Chaosus/gds_fix_builtin_functions_autocompletion 2021-10-11 20:29:43 +03:00
Paulb23
3010bca41b Move add_syntax_highlighter bind to ScriptEditorBase 2021-10-11 18:13:31 +01:00
Yuri Roubinsky
e270d1cce3 Fix autocompletion of built-in functions in GDScript 2021-10-11 19:06:17 +03:00
George Marques
a6414b34e9
Merge pull request #53430 from DavidSichma/typed_safe_setter
Made typed member setters safe
2021-10-11 11:16:19 -03:00
George Marques
f930d54140
Merge pull request #53103 from ZuBsPaCe/gdscript-analyze-properties-fix
GDScript: Report property type errors
2021-10-11 11:01:39 -03:00
Yuri Sizov
41e271af6e Remove redundant String operation from GDScript enum exports 2021-10-11 02:11:32 +03:00
Raul Santos
ba4a88eaed Fix C# List<T> marshalling 2021-10-10 11:40:07 +02:00
Tokage
372ba76663 implement ping-pong loop in animation
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
mashumafi
575d4e00b6 Enhance and cleanup stringify for Vector 2021-10-09 06:19:25 +00:00
Rémi Verschelde
5ae569560d
Fix missing argument names in bindings
While at it, tweak some boolean setters to use `p_enabled` for the bool.

Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-09 00:20:10 +02:00
David Sichma
d28f2ee7a5
Only emit typed member setters if safe to do so
Instructions are now only emitted if input type matches expected type.
Otherwise usual setter fallback.
2021-10-08 23:54:55 +02:00
Duroxxigar
54d305eebe Improved readability for failing error conditions 2021-10-08 17:29:25 -04:00
ZuBsPaCe
551ceb590b GDScript: Report property type errors
Inline getters & setters are now FunctionNodes.
Their names are set in the parser, not in the compiler.
GDScript-Analyzer will now run through getter and setter.
Also report wrong type or signature errors regarding getset properties.
Added GDScript tests for getters and setters.
#53102
2021-10-08 22:06:15 +02:00
Raul Santos
0be9664b42 Support marshaling generic Godot.Object
Allows using generic C# types in signals as long as they inherit
from `Godot.Object`.
2021-10-08 20:00:47 +02:00
Raul Santos
1f62d309d8 Support arrays of StringName, NodePath and RID in mono 2021-10-08 18:50:21 +02:00
Max Hilbrunner
5733c13f53
Merge pull request #53536 from Faless/mp/4.x_rpc_config
[Net] Add call_local argument to Node.rpc_config.
2021-10-08 14:15:01 +02:00
George Marques
b010f96c89
Merge pull request #53336 from briansemrau/gdscript-i'm-not-my-own-local-class
[GDScript 2.0] fix script base class self-assignment
2021-10-08 09:10:19 -03:00
Fabio Alessandrelli
54ec66a700 [Net] Rename RPCConfig.sync to call_local.
For consistency with the other user facing changes.
2021-10-08 12:39:09 +02:00
George Marques
3a856b4fcc
GDScript: Use getter return type for the property type
The PropertyInfo hints are more relevant for the inspector. The getter
return type is more reliable and less likely to be incorrect and it is
what's going to be called in the end.
2021-10-07 20:22:19 -03:00
Rémi Verschelde
49e7e049ab
Merge pull request #53422 from KoBeWi/add_LUA_to_Godot 2021-10-07 23:37:37 +02:00