Commit graph

6148 commits

Author SHA1 Message Date
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
Rémi Verschelde
6090f90743
Merge pull request #53545 from vnen/gdscript-release 2021-10-07 23:28:34 +02:00
George Marques
082f624ef4
GDScript: Fix method ptrcall on release 2021-10-07 15:08:21 -03:00
kobewi
31012fd060 Change print_line() to use any number of Variants 2021-10-07 16:28:22 +02:00
Hugo Locurcio
bcf4a56c74
Replace references to VisualServer in code comments with RenderingServer
VisualServer no longer exists in the `master` branch.
2021-10-07 15:49:41 +02:00
Rémi Verschelde
6eb2094d4d
Merge pull request #53494 from mhilbrunner/stop-drop-and-dont-lie
Fix outdated no_call_local, use call_remote
2021-10-07 08:29:25 +02:00
George Marques
dfe3a2fad0
GDScript: Set status on parsing steps beforehand
To avoid potential dependency cycles. If any happens it will not get
into infinite recursion anymore and errors will cascade later on.
2021-10-06 21:24:27 -03:00
Max Hilbrunner
44b68f08b4 Fix outdated no_call_local, use call_remote 2021-10-06 23:51:57 +02:00
Rémi Verschelde
164dc11e04
Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmo
Implement Skeleton Editor Gizmo
2021-10-06 21:11:20 +02:00
Rémi Verschelde
98b81ad35c
Merge pull request #53479 from vnen/gdscript-subscript-object-self 2021-10-06 19:48:23 +02:00
Rémi Verschelde
ba0a103e29
Merge pull request #53478 from vnen/gdscript-avoid-hard-inference 2021-10-06 19:31:56 +02:00
Silc Renew
f2e9867e9f Implemented SkeletonEditorGizmo
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-10-07 01:07:46 +09:00
George Marques
1f55bd190c
GDScript: Allow subscript on self and object types 2021-10-06 12:01:34 -03:00
George Marques
6bdb28f5e4
GDScript: Avoid hard errors on inferred types
Since inference isn't always correct, they are now treated as unsafe
instead of errors.

This also removes inferred type when a variable is reassigned. Since
it's not aware of branching, the types might become invalid in a later
context.
2021-10-06 11:42:19 -03:00
George Marques
d6c799006a
GDScript: Make all warnings enabled in test generation
The test generation doesn't initialize the language (since it's already
initialized in main), but it still needs the warning enabled so it
matches the actual tests.
2021-10-06 11:39:00 -03:00
Infinixius
547ed239c0
Fix small typos regarding WebSocketPeer 2021-10-06 09:12:05 -04:00
Rémi Verschelde
862994a8ef
doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
Rémi Verschelde
a7ba227631
Merge pull request #52711 from m4gr3d/provide_getter_for_project_data_dir_master 2021-10-05 21:02:27 +02:00
Rémi Verschelde
788b3aa27a
doc: Fix style inconsistencies for [b]Note:[/b] paragraphs
And fix up formatting not supported by makerst.
2021-10-05 19:13:20 +02:00
kobewi
9e5fdbc79d Fix LUA-style assignment in Dictionary 2021-10-05 12:17:13 +02:00
Rémi Verschelde
b1c6826b9f
Merge pull request #52963 from Pineapple/WIN32_LEAN_AND_MEAN_master 2021-10-05 12:03:05 +02:00
Brian Semrau
c18a27a9cd GDScript fix wrong base class assignment 2021-10-04 20:38:08 -04:00
George Marques
7725ebf3d2
GDScript: Use path cache when checking preloaded scripts
The path itself might not always be set in some cases, especially when
the script is just created and is already in the resource cache. Using
get_path() in this case gets the correct resource path.

This also adds a null check for safety in case the path is incorrect or
missing, to avoid a crash in the engine.
2021-10-04 20:48:39 -03:00
kobewi
6397eaa27e Fix some leftover references to idle_frame 2021-10-04 20:57:31 +02:00
Rémi Verschelde
7fe0f4a426
Merge pull request #52914 from vnen/gdscript-assign-member-with-op 2021-10-04 20:26:19 +02:00
Rémi Verschelde
48768663d6
Merge pull request #53399 from V-Sekai/extension-game-convert 2021-10-04 20:11:38 +02:00
George Marques
84956fee4b
GDScript: Fix member assignment with operation
It was wrongly updating the assigned value with the result of the
operation.
2021-10-04 14:09:54 -03:00
K. S. Ernest (iFire) Lee
fc1634806a Enable GLTFDocumentExtensionConvertImporterMesh only in games. 2021-10-04 09:47:34 -07:00
Rémi Verschelde
bb201c5887
Merge pull request #53303 from akien-mga/53295-gdscript-completion-quote-style 2021-10-04 17:17:27 +02:00
Rémi Verschelde
4a4995524c
Merge pull request #53338 from briansemrau/gdscript-handle-for-with-null-list 2021-10-04 17:11:43 +02:00
Rémi Verschelde
1fc771bfc6
Merge pull request #53366 from KoBeWi/your_argument_is_null_and_void 2021-10-04 17:11:31 +02:00
Rémi Verschelde
b85dfd990e
GDScript completion: Handle quote style ad-hoc to remove editor dependency
`core` and `scene` shouldn't depend on `editor`, so they can't query this style
setting in `get_argument_options`. But we can handle it after the fact in
GDScript's completion code.

Also cleans up a couple extra unused invalid includes in `core`.
2021-10-04 16:16:05 +02:00
Rémi Verschelde
2a09e11986
Merge pull request #52802 from V-Sekai/gltf-extensions 2021-10-04 15:52:24 +02:00
Haoyu Qiu
f3816898fa Fix crash when pinned SoftBody point is out of range 2021-10-04 16:42:53 +08:00
K. S. Ernest (iFire) Lee
1463fc889b GLTF for game templates.
Convert GLTF Document to use ImporterMeshInstance3D.

Add a GLTFDocument extension list and an extension for converting the importer mesh instance 3d to mesh instance 3d.

Use GLTF module when the editor tools are disabled.

Modified the render server to be less restrictive on matching blend arrays and have more logging.

Misc bugs with multimesh.

Always index the meshes.
2021-10-03 12:37:52 -07:00
kobewi
cb28469281 Allow void as return type for constructors 2021-10-03 21:16:54 +02:00
Rémi Verschelde
66ab3ce954
Merge pull request #46555 from gongpha/line-ptr-more-than-size-bmp
Check if the line pointer goes away from the image buffer's EOF in the BMP importer
2021-10-03 17:41:43 +02:00
Brian Semrau
dc046e5cbe GDScript Check for null list in for loop 2021-10-02 13:53:56 -04:00
Fabio Alessandrelli
366e374f76
Merge pull request #53290 from Faless/mp/4.x_opts_names
[Net] Rename RPC constants and annotation arguments.
2021-10-01 21:35:08 +02:00
Rémi Verschelde
5305124665
Merge pull request #53308 from Razoric480/fix-lsp-issues 2021-10-01 21:25:54 +02:00
Camille Mohr-Daurat
fdd25d7c84
Merge pull request #53311 from nekomatata/soft-body-remove-mesh-reference
Remove scene code in physics servers
2021-10-01 09:56:49 -07:00
Fabio Alessandrelli
24a949ea11 [Net] Rename RPC constants and annotation arguments.
any -> any_peer
sync -> call_local
ordered -> unreliable_ordered

Multiplayer.RPC_MODE_ANY -> RPC_MODE_ANY_PEER
Multiplayer.TRANSFER_MODE_ORDERED -> TRANSFER_MODE_UNRELIABLE_ORDERED
2021-10-01 18:14:38 +02:00
PouleyKetchoupp
b8eeb34b4e Remove scene code in physics servers
Replaced Mesh with mesh RID in Godot Physics 3D and Bullet.
2021-10-01 08:42:47 -07:00
Francois Belair
572979d011 Fix empty line hover; fix open non-res:// script 2021-10-01 11:26:26 -04:00
bruvzg
daa613333e [Text Server] Add support for user defined punctuation list, used for word breaking. 2021-10-01 16:45:16 +03:00
bruvzg
0c0b5c84b0 Implement TextServer GDExtension interface, remove TextServer GDNative interface. 2021-10-01 15:13:29 +03:00
Rémi Verschelde
06c1b40b84
Merge pull request #38397 from Calinou/doc-range-backwards-example 2021-10-01 11:58:30 +02:00
Lightning_A
c63b18507d Use range iterators for Map 2021-09-30 15:09:12 -06:00
Hugo Locurcio
810d8f06b7
Add an example on iterating an array backwards
This closes https://github.com/godotengine/godot-docs/issues/3472.
2021-09-30 20:29:57 +02:00
Max Hilbrunner
94b27eb934
Merge pull request #47670 from Calinou/doc-upnp-non-blocking
Document how to set up UPnP in a non-blocking manner
2021-09-30 20:12:00 +02:00
Rémi Verschelde
7e8385ff78
Merge pull request #53245 from JFonS/occ_fixes2
Occlusion culling fixes
2021-09-30 19:58:05 +02:00
Juan Linietsky
c370b4c4d0
Merge pull request #52544 from JFonS/lod_fixes
Auto LOD fixes and improvements
2021-09-30 14:49:11 -03:00
Rémi Verschelde
d2b8560d7a
Revert "GdScript: Use reduced constant expression result when doing binary operations. Fixes #50293"
This reverts commit 6207708607.

It broke a GDScript test (which didn't exist back when the PR was made,
so was missed prior to the merge).

It choked on:
```
prints("a", test_instance.a, test_instance.a == Named.VALUE_A)
```
With:
```
Invalid operands "VALUE_A (enum value)" and "int" for "==" operator.
```
2021-09-30 18:57:59 +02:00
Rémi Verschelde
7f8e50801e
Merge pull request #51818 from MarianoGnu/gdscript2-enum-fixes 2021-09-30 18:35:49 +02:00
Hugo Locurcio
f4bebc272c
Document how to set up UPnP in a non-blocking manner 2021-09-30 18:28:12 +02:00
Hugo Locurcio
570cdc128f
Rename Node's filename property to scene_file_path for clarity 2021-09-30 16:50:25 +02:00
Max Hilbrunner
ac7505e277
Merge pull request #53227 from Calinou/rename-getornull
Rename RID's `getornull()` to `get_or_null()`
2021-09-30 12:56:01 +02:00
Manuele Finocchiaro
b55fd934ee
Compile bullet with threasafe switch on
(cherry picked from commit 6f81c213a6)
2021-09-30 10:46:02 +02:00
Rémi Verschelde
71f8b809b2
bullet: Sync with upstream 3.17
Stop include Bullet headers using `-isystem` for GCC/Clang as it misleads
SCons into not properly rebuilding all files when headers change.

This means we also need to make sure Bullet builds without warning, and
current version fares fairly well, there were just a couple to fix (patch
included).

Increase minimum version for distro packages to 2.90 (this was never released
as the "next" version after 2.89 was 3.05... but that covers it too).

Fixes #43868.

(cherry picked from commit b7901c773c)
2021-09-30 10:45:40 +02:00
jfons
3f6ed10a5d Occlusion culling fixes
Fixes some issues found by UBSAN and other misc things:
* Fixed memory leak on exit.
* Properly align ray packet buffer to 64 bytes.
* Added some compiler flags from Embree's build system.
* Fixed ray masks.
2021-09-30 02:01:36 +02:00
Hugo Locurcio
ba65730cbf
Rename RID's getornull() to get_or_null() 2021-09-29 23:58:02 +02:00
Rémi Verschelde
e1f7e4ef8f
Merge pull request #53221 from bruvzg/fix_fb_text_server
[Fallback TextServer] Fix char to glyph conversion.
2021-09-29 23:01:50 +02:00
Lyuma
5ffda27ea9 gltf export: Fix export of skeletons, skins and blend shapes.
Create GLTFSkeleton at the same time we create GLTFNode objects.
Create GLTFSkin at the same time we export MeshInstance3D
Fixes export of blend shape arrays for meshes with multiple surfaces.
Fixes array indexing issues in export of glTF morph target animations.

Converts BoneAttachment3D nodes during normal node creation: this avoids
special cases during mesh export, and especially exporting skeletons or meshes
which are children of BoneAttachment3D.

Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2021-09-29 13:07:52 -07:00
bruvzg
3c005948ca [Fallback TextServer] Fix char to glyph conversion. 2021-09-29 19:06:54 +03:00
Rémi Verschelde
2fc31fdfca
Merge pull request #53217 from Faless/ext/fix_pointer_info 2021-09-29 17:41:58 +02:00
Rémi Verschelde
27d4e2f09f
Merge pull request #53216 from vnen/gdscript-builtin-type-not-id 2021-09-29 17:04:24 +02:00
George Marques
72c07708e8
GDScript: Don't allow builtin type names as identifiers 2021-09-29 11:23:16 -03:00
Fabio Alessandrelli
0276c2e74a Fix const pointers types in docs and extension API.
The GDVIRTUAL_NATIVE_PTR did not declare the correct GDNativeConstPtr
template, resulting in "void*" being used as it's type info in both the
documentation and the extension API dump.
2021-09-29 16:04:20 +02:00
George Marques
991f4d8527
GDScript: Fix assignment with operation for properties 2021-09-29 10:54:16 -03:00
Rémi Verschelde
c1f59139b4
Merge pull request #53092 from Razoric480/lsp-report-_init 2021-09-29 15:47:31 +02:00
Francois Belair
7468dd65a5 Make LSP report _init instead of Object::new 2021-09-29 08:42:01 -04:00
Rémi Verschelde
ea0a9e6ed3
Merge pull request #52800 from akien-mga/gdscript-remove-exp_range 2021-09-29 13:33:59 +02:00
Rémi Verschelde
ad635567b1
Merge pull request #53189 from AnilBK/use-class-specific-funcs 2021-09-29 07:40:52 +02:00
Rémi Verschelde
1bf0e875d8
Merge pull request #53106 from ganondev/cs-rpc-attribute-names 2021-09-29 07:06:49 +02:00
Anilforextra
fc9767abb1 Use functions defined in the their classes. 2021-09-29 09:36:34 +05:45
Camille Mohr-Daurat
341b532d5e
Merge pull request #52754 from nekomatata/dynamic-body-modes
Clarify RigidDynamicBody modes
2021-09-28 17:11:17 -07:00
Edward Auttonberry
c86ab40389 Update C# RPC attributes to share new Any/Auth naming convention
Update attribute class references in mono cache
2021-09-28 17:43:40 -04:00
Rémi Verschelde
96766516ec
Merge pull request #53166 from JFonS/force_embree_opt 2021-09-28 16:32:13 +02:00
jfons
b197fc2079 Force optimized builds for thirdparty Embree files 2021-09-28 14:35:21 +02:00
Fabio Alessandrelli
d18cbdf5e4
Merge pull request #52481 from Faless/net/4.x_native_peers
[Net] Extension system for network peers, webrtc.
2021-09-28 12:57:45 +02:00
Rémi Verschelde
a56e8f8afc
Merge pull request #53160 from BastiaanOlij/improve_xr_server_cleanup 2021-09-28 08:44:54 +02:00
Bastiaan Olij
0623d3676b Improve unregistering XR interfaces so we don't get crashes in GDExtensions by destroying the XRServer too early 2021-09-28 12:25:15 +10:00
jitspoe
1da948a688 CSGPolygon fixes and features: Angle simplification, UV tiling distance, interval type. 2021-09-27 21:24:19 -04:00
Rémi Verschelde
5503059f3b
Merge pull request #53145 from bruvzg/fix_trim_width_reset
Fix trim overrun width not being reset.
2021-09-27 23:46:19 +02:00
bruvzg
11a49c2f29 Fix trim overrun width not being reset. 2021-09-27 21:51:18 +03:00
Pedro J. Estébanez
0fa574c051 Fix check for freed object during cast 2021-09-27 19:35:26 +02:00
Camille Mohr-Daurat
27417c065d
Merge pull request #53118 from BimDav/physicsbody_to_kinematic
Reload kinematic shapes when changing PhysicsBody mode to Kinematic
2021-09-27 08:53:36 -07:00
jfons
9e1810695c Auto LOD fixes and improvements
* Fixed LODs for shadow meshes.
* Added a merging step before simplification. This helps with tesselated
  meshes that were previously left untouched. The angle difference at
  wich edges ar considered "hard" can be tweaked as an import setting.
* LODs will now start with the highest decimation possible and keep
  doubling (approximately) the number of triangles from there. This
  makes sure that very low triangle counts are included when possible.
* Given more weight to normal preservation.
* Modified MeshOptimizer to report distance-based error instead of
  including attributes in the reported metrics.
* Added attribute transference between the original mesh and the
  various LODs. Right now only normals are taken into account,
  but it could be expanded to other attributes in the future.
2021-09-27 17:04:56 +02:00
Rémi Verschelde
281d0bd59e
Merge pull request #53109 from aaronfranke/fix-gltf-light 2021-09-27 16:18:35 +02:00
Pedro J. Estébanez
ee238b2a4d Fix inverted error messages about null object 2021-09-27 13:58:46 +02:00
Rémi Verschelde
1ae922a829
Merge pull request #53122 from AnilBK/whats-segement-can-i-render-it 2021-09-27 13:53:51 +02:00
Anilforextra
d090925d98 Fix Typo: Segement. 2021-09-27 17:05:23 +05:45
Fabio Alessandrelli
e96e268e3b [ENet] Fix server not correctly relaying peer disconnects. 2021-09-27 11:40:21 +02:00
BimDav
3540e716f9 init_kinematic_utilities from the start for kinematic bodies 2021-09-27 09:58:26 +02:00
BimDav
112985c5bc Reload kinematic shapes when changing PhysicsBody mode to Kinematic to prevent a crash when calling test_body_motion. Call reload_kinematic_shapes from init_kinematic_utilities as they are always called together. 2021-09-27 09:44:09 +02:00
Aaron Franke
f3e76a5397
Fix GLTF light import 2021-09-26 21:57:25 -05:00
Francois Belair
044daf9b8d Remove duplicate WorkspaceEdit from LSP 2021-09-25 15:17:19 -04:00
Rémi Verschelde
14dcb97556
Merge pull request #50378 from Razoric480/apply-edit-40 2021-09-25 20:43:17 +02:00
Rémi Verschelde
9013771b53
Merge pull request #51518 from Calinou/doc-network-android-permission 2021-09-25 15:36:18 +02:00
Hugo Locurcio
7a62bd1e44
Document Android permission requirements for network access where needed 2021-09-25 12:32:46 +02:00
Rémi Verschelde
0abe464162
Merge pull request #52849 from KoBeWi/know_no_binds 2021-09-25 00:10:56 +02:00
Fabio Alessandrelli
2d810e8cd9 [Net/Docs] Update extensions documentation. 2021-09-24 21:23:43 +02:00
Fabio Alessandrelli
ead6d10715 [Net/GDNative] Remove GDNative network bits. 2021-09-24 21:23:43 +02:00
Fabio Alessandrelli
6cb81543d4 [Net] Expose WebRTC classes to extensions. 2021-09-24 21:23:43 +02:00
Fabio Alessandrelli
25226329be [Net] MultiplayerPeer cleanup, defaults. 2021-09-24 18:40:39 +02:00
kobewi
7bf5fc709e Remove binds from Signal.connect 2021-09-24 17:07:33 +02:00
Bartłomiej T. Listwon
425ed0ffe0 Add missing WIN32_LEAN_AND_MEAN 2021-09-23 10:35:00 +02:00
bruvzg
1fd3d6c15f Bitmap Font: Remove deprecated vertical kerning callback. 2021-09-22 18:09:50 +03:00
Rémi Verschelde
8afa14e9b7
Merge pull request #51104 from bruvzg/improve_invalid_non_graph_char_detection 2021-09-22 14:07:25 +02:00
Rémi Verschelde
a09547450a
Merge pull request #52934 from akien-mga/etcpak-7c3cb6f
etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021)
2021-09-22 13:48:16 +02:00
bruvzg
a58a7cdc9f Improve invalid non-graphic glyph detection. 2021-09-22 14:37:16 +03:00
Rémi Verschelde
3691cb0ca4
etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021)
Adds a new `useHeuristics` compression mode for ETC2.
Upstream defaults to enable it so we do the same.
2021-09-22 13:17:07 +02:00
Rémi Verschelde
fd641ac85c
Vulkan: Update volk and Vulkan SDK components to 1.2.190 2021-09-22 12:56:15 +02:00
Rémi Verschelde
ba57252bd8
Merge pull request #52878 from AnilBK/add-get-center 2021-09-21 21:30:30 +02:00
Rémi Verschelde
679f70c1e1
Merge pull request #52906 from vnen/gdscript-show-error-on-yield 2021-09-21 20:36:39 +02:00
Rémi Verschelde
b3b4860d2e
Merge pull request #52905 from vnen/gdscript-single-line-declaration 2021-09-21 20:35:36 +02:00
George Marques
262d6c6bef
GDScript: Show specific error when "yield" is used
To help people porting code, it gives a hint to use "await" instead of a
generic error.
2021-09-21 14:38:14 -03:00
George Marques
e5ebc9710d
GDScript: Allow classes declaration to be done in single line
Incidentally, allow multiple statements in single line functions when
using semicolon as a terminator.
2021-09-21 14:14:46 -03:00
George Marques
bab0afc821
GDScript: Allow multiple lines in signal parameters declaration 2021-09-21 13:40:39 -03:00
Rémi Verschelde
db028ac700
Merge pull request #52898 from vnen/gdscript-assigment-conversion-fix
GDScript: Remove conversion assign mistakenly done when unneeded
2021-09-21 17:43:11 +02:00
Anilforextra
90908cd67d Add Get Center Method for Rect2/Rect2i and AABB. 2021-09-21 21:14:17 +05:45
Rémi Verschelde
61ce8b206e
Merge pull request #52877 from Calinou/add-print-verbose
Add `print_verbose()` built-in function to print in verbose mode only
2021-09-21 17:00:58 +02:00
George Marques
5107f9190b
GDScript: Remove conversion assign mistakenly done when unneeded 2021-09-21 11:58:57 -03:00
Hugo Locurcio
650b1db4b8
Add print_verbose() built-in function to print in verbose mode only
This can be used as a shorthand for:

    if OS.is_stdout_verbose():
        print("...")

Unlike `print_debug()`, this works in release builds too and can
be toggled off in debug builds.
2021-09-21 15:59:49 +02:00
Yuri Roubinsky
26e3b3908d
Merge pull request #52852 from Chaosus/gds_fix_constants
Prevent local constant default value from incorrect overriding by a global constant in GDScript autocompletion
2021-09-21 16:44:46 +03:00
Rémi Verschelde
b458feba24
Merge pull request #51655 from RevoluPowered/improve-gdscript-code-editor-performance
Improve GDScript Editor performance
2021-09-21 15:18:17 +02:00
Bastiaan Olij
c527078634 Change to using doubles in XR classes 2021-09-21 22:46:31 +10:00
Rémi Verschelde
82c12060b2
Merge pull request #52718 from Calinou/gdscript-add-integration-tests-2 2021-09-21 14:13:24 +02:00
Gordon MacPherson
1881b3adc5
Improve GDScript Editor and Improve latency
Improvements:
- GDScript Highlighter is faster by 25% as keys are smaller (hashes instead of strings)
- Removes message queue from _apply_settings_change to allow resize to work correctly
- Some performance fixes are pending still

Note: this resolves the code editor behaving badly when resizing in debug builds
2021-09-21 13:56:47 +02:00
bruvzg
c931906af7 Add flag to connected grapheme. Apply RTL displacement FX only to the whole connected grapheme. Pass more glyph info to the custom RTL FX. 2021-09-21 13:51:38 +03:00
Yuri Roubinsky
05331a5bb9 Prevent local constant default value from incorrect override by a global 2021-09-21 08:40:50 +03:00
Aaron Franke
d54f2ad7ca
Don't generate empty doc sections and reduce code duplication 2021-09-20 20:59:33 -05:00
Rémi Verschelde
a92c58ed3e
Merge pull request #52330 from johnjdonna/add_support_hostname_language_server
LSP: Add support for custom host setting
2021-09-20 13:53:34 +02:00
Rémi Verschelde
65e91798a5
Merge pull request #52856 from e8newallm/52816
Corrected GLTFDocument::save_scene from processing a nullptr
2021-09-20 13:22:11 +02:00
Matthew Newall
ca55dfc00c Corrected GLTFDocument::save_scene from processing a nullptr
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-09-20 11:38:39 +00:00
Rémi Verschelde
b1dafd9c16
Merge pull request #52618 from williamd67/GPULightmapper-bounce-improvement
GPULightmapper exclude back-face triangles while calculating bounces
2021-09-20 13:21:16 +02:00
Rémi Verschelde
62aed73d88
Merge pull request #52545 from JFonS/occ_fixes
Occlusion culling fixes
2021-09-20 13:20:03 +02:00
John J. Donna II
be6da39b8a
LSP: Add support for custom host setting
You can now configure host in the `language_server` settings in the editor
settings.
2021-09-20 13:09:51 +02:00
bruvzg
3061e3859d HarfBuzz: Update to version 3.0.0 2021-09-20 09:52:45 +03:00
Aaron Franke
388732bc19
Fix some minor issues in C# XML doc comments 2021-09-18 11:38:22 -05:00
Rémi Verschelde
c77e1e2852
Merge pull request #52666 from magian1127/temp1 2021-09-18 15:02:02 +02:00
Magian
9932fbfb1e C#, replace the current Xform method with a * operator. 2021-09-18 20:36:15 +08:00
Yuri Roubinsky
dfae75d0c5 Fix incorrect call of _center_on_node in VisualScript editor 2021-09-18 10:58:28 +03:00
Rémi Verschelde
ae3b26da7b
GDScript: Remove reference to remove @export_exp_range
It was removed in 75688772b3 to be replaced
by `@export_range` with an `"exp"` hint string.
2021-09-17 22:54:43 +02:00
Rémi Verschelde
424ddcba37
Merge pull request #52792 from vnen/gdscript-subscript-missing-index 2021-09-17 20:16:29 +02:00
Rémi Verschelde
7762e8b1c1
Merge pull request #52788 from vnen/gdscript-compare-with-null 2021-09-17 19:35:55 +02:00
George Marques
651319de11
GDScript: Properly catch error when missing index in subscript 2021-09-17 14:31:51 -03:00
George Marques
455e142d37
Allow comparing equality between builtin types and null 2021-09-17 12:33:52 -03:00
George Marques
b8fdeb6467
Merge pull request #51671 from RandomShaper/fix_gdscript_crash
Fix some GDScript bugs
2021-09-17 12:29:40 -03:00
Rémi Verschelde
4d61cb9c35
Merge pull request #52785 from vnen/gdscript-fix-inference-eagerness 2021-09-17 17:20:33 +02:00
George Marques
4e69341c01
GDScript: Avoid inferred types from giving hard errors 2021-09-17 11:52:30 -03:00
Rémi Verschelde
949c268a68
Merge pull request #52655 from Chaosus/toggle_scripts_panel 2021-09-17 13:54:54 +02:00
Rémi Verschelde
ab544a20de
Merge pull request #51835 from magian1127/patch1 2021-09-17 12:25:56 +02:00
PouleyKetchoupp
ed1ba5093f Clarify RigidDynamicBody modes
RigidDynamicBody modes are replaced with several properties to make their
usage clearer:
-lock_rotation: disable body's rotation (instead of MODE_LOCKED)
-freeze: no gravity or forces (instead of MODE_STATIC and MODE_KINEMATIC)
-freeze_mode: Static (can be only teleported) or Kinematic (can be animated)

Also renamed MODE_DYNAMIC_LOCKED to MODE_DYNAMIC_LINEAR in the physics
servers.
2021-09-16 16:03:48 -07:00
Camille Mohr-Daurat
1852afb6b0
Merge pull request #52679 from nekomatata/world-boundary-shape
Rename WorldMarginShape to WorldBoundaryShape
2021-09-15 16:02:40 -07:00
Max Hilbrunner
4dee269f01
Merge pull request #52656 from akien-mga/rename-vseditor-singleton
Rename VisualScriptEditor singleton to VisualScriptCustomNodes
2021-09-15 22:51:45 +02:00
ne0fhyk
69f890ff11 Provide a getter for the project data directory. 2021-09-15 12:52:03 -07:00
Hugo Locurcio
c6ca09dc6f
Add more integration tests to the GDScript test suite
This also fixes a typo in the `bitwise_float_right_operand.gd` test.
2021-09-15 19:57:39 +02:00
Rémi Verschelde
77e8e2f9f5
Merge pull request #52370 from bruvzg/realloc_paren_stack 2021-09-15 18:11:16 +02:00
Rémi Verschelde
a4187c9235
Merge pull request #52706 from vnen/gdscript-ternary-operator-crash
GDScript: Show error when missing expression after ternary else
2021-09-15 17:20:52 +02:00
Rémi Verschelde
ed11d03b56
Merge pull request #52705 from vnen/gdscript-error-unary-no-arg
GDScript: Show error on unary operators without argument
2021-09-15 16:43:38 +02:00
George Marques
107af38fd1
GDScript: Show error when missing expression after ternary else 2021-09-15 11:43:36 -03:00
George Marques
a5c299630d
Merge pull request #50456 from Blackiris/fix-extends-parent-relative
Fix extends with relative path to parent script
2021-09-15 11:12:24 -03:00
George Marques
d49046938a
GDScript: Show error on unary operators without argument 2021-09-15 11:08:59 -03:00
George Marques
5a612d61b9
Merge pull request #49765 from Blackiris/fix-assignment-with-operator-on-type-member
Fix assignment with operator on type member
2021-09-15 10:56:20 -03:00
Rémi Verschelde
c23823ac54
Merge pull request #52582 from jmb462/Prevent-non-explicit-inferring-parameter-from-null 2021-09-15 15:50:42 +02:00
George Marques
5d31ce4b16
GDScript: Allow string keys on Lua-style dictionaries
Which is useful when the key isn't a valid identifier, such as keys with
spaces or numeric keys.
2021-09-15 09:56:24 -03:00
Rémi Verschelde
32f8f74d83
Merge pull request #48029 from Calinou/gdscript-add-integration-tests
Add dozens of new integration tests to the GDScript test suite
2021-09-15 14:00:41 +02:00
Rémi Verschelde
13eff7de69
Merge pull request #52273 from aaronfranke/gltf-renames 2021-09-15 13:10:24 +02:00
Yuri Roubinsky
1dda47c280 Added status bar and toggle scripts panel button to EditorHelp/VScripts 2021-09-15 11:35:03 +03:00
Rémi Verschelde
453aff4902
TextServer: Fix build with freetype disabled
Also remove RTR calls as we don't translate internal error messages.
2021-09-15 10:11:31 +02:00
PouleyKetchoupp
2ca94e51e4 Clean convex hull decomposition code
Remove unnecessary conversion between triangle data and vertex data
whenever possible.
2021-09-14 17:14:06 -07:00
William Deurwaarder
7c19684ee9 GPULightmapper exclude back-face triangles while calculating bounces
Edges that are at the edge of a plane, may get behind the scene and will hit
back-face triangles which where included in the lighting calculations. This
caused leaking of light at the edge of planes.

In case a ray hits back-face triangle, it is skipped in the bounce calculations.
2021-09-14 22:29:31 +02:00
Rémi Verschelde
1c7aec9d9c
Merge pull request #51094 from RandomShaper/error_cast_freed_object
Complain if casting a freed object in a debug session
2021-09-14 21:48:10 +02:00
Pedro J. Estébanez
ddc7d7ee66 Complain if casting a freed object in a debug session
The idea is to give the user a chance to realize a mistake that will cause a crash in a release build (or with no debugger attached).
2021-09-14 21:07:00 +02:00
PouleyKetchoupp
bb75aec8bc Rename WorldMarginShape to WorldBoundaryShape 2021-09-14 11:16:31 -07:00
Hugo Locurcio
c0083c0f90
Add dozens of new integration tests to the GDScript test suite
This also ignores `.out` files in the file format static checks.
2021-09-14 18:42:08 +02:00
JFonS
a9b600bac0
Merge pull request #52630 from JFonS/ebr_packets
Upgrade Embree and enable ray packets
2021-09-14 17:39:42 +02:00
Rémi Verschelde
de8d38014e
Merge pull request #52633 from lewiji/mono-build-solution-shortcut-4.0 2021-09-14 16:21:19 +02:00
Rémi Verschelde
3cc01b2824
Merge pull request #52226 from Faless/debugger/4.x_start_options 2021-09-14 16:20:02 +02:00
Rémi Verschelde
e13d8eda1b
Merge pull request #52266 from AndreaCatania/coll 2021-09-14 14:34:22 +02:00
Lewis James
913aa270c0 Add editor keyboard shortcut for Mono Build solution button
Apply suggestions from code review

Merging @akien-mga's suggestion with the matching change to the CS project

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-09-14 13:13:00 +01:00
Rémi Verschelde
7774ec1634
Merge pull request #52222 from Gallilus/Fix-VisualScriptPropertySet-value-property-hint 2021-09-14 12:49:11 +02:00
Rémi Verschelde
f1dca7760c
Rename VisualScriptEditor singleton to VisualScriptCustomNodes
Follow-up to #51916, fixes inconsistency between singleton name and class
as documented in https://github.com/godotengine/godot/issues/52162#issuecomment-918979753.
2021-09-14 11:31:01 +02:00