Rémi Verschelde
317cd0b19a
Refactor some object type checking code with `cast_to`
...
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
Andrew Jacob
8675ff0a74
Allow C# Vector2/3 slerp values to have any length
2022-02-07 22:58:43 -07:00
Rémi Verschelde
d35269ab21
Merge pull request #57764 from timothyqiu/octant-delete
2022-02-07 18:28:27 +01:00
Rémi Verschelde
05bad19a9a
Merge pull request #57752 from Calinou/doc-csg-nodes-performance
2022-02-07 18:27:58 +01:00
Haoyu Qiu
5d4a141c97
Fix GridMap memory leak
2022-02-08 00:27:01 +08:00
Hugo Locurcio
5268786ac0
Document performance limitations with CSG nodes, link to tutorial
2022-02-07 15:55:02 +01:00
Fabio Alessandrelli
086256431a
[Net] Add type check to GDScriptRPCCallable.
...
It will print an error when using an RPC defined on an object which does
not extend Node.
2022-02-07 13:39:45 +01:00
Fabio Alessandrelli
994638da4f
[Net] Implement GDScript custom RPC callable.
2022-02-07 13:39:10 +01:00
Rémi Verschelde
1694626e03
Merge pull request #57305 from bruvzg/macos_cleanup
2022-02-07 13:36:09 +01:00
Rémi Verschelde
6a56314eab
Merge pull request #57748 from fabriceci/rename-script-template-variable
2022-02-07 13:22:23 +01:00
jfons
dd970482c5
Improvements and fixes to occluders
...
Improvements:
* Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
* Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
* Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.
Fixes:
* Fixed saving of occluder files after bake.
* Fixed a small error where occluders didn't correctly update in the rendering server.
Bonus content:
* Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
* Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-07 13:04:51 +01:00
Rémi Verschelde
bfb75d107c
Merge pull request #57741 from Chaosus/vs_fixes
2022-02-07 12:50:44 +01:00
fabriceci
e81ccaf270
rename jump force to jump velocity
2022-02-07 11:46:30 +01:00
Rémi Verschelde
b024602660
Merge pull request #57725 from jmb462/missing-sname-theme-setters
2022-02-07 11:46:25 +01:00
Yuri Roubinsky
a6e280c5de
Add some more fixes to visual shader
2022-02-07 11:28:42 +03:00
Raul Santos
303f0c8626
Attach mono thread before getting nativeName field
...
In order to access the `nativeName` constant field from a C# class, the
mono scope thread must be attached or the mono domain will be null.
2022-02-07 03:43:34 +01:00
jmb462
a988fad9a0
Add missing SNAME macro optimization to all theme methods call
2022-02-06 23:06:11 +01:00
Rémi Verschelde
eb4b4a317b
Merge pull request #57649 from Faless/net/4.x_ws_queue_hostres
...
[Net] Non-blocking WebSocket hostname resolution.
2022-02-05 18:23:11 +01:00
Jordan Schidlowsky
1ec96bc206
[Net] Non-blocking WebSocket hostname resolution.
...
Hostname is now resolved during poll in WebSocketClient (wslay) to avoid
blocking during connect.
An attempt is still made to find the hostname in the resolver cache.
2022-02-05 02:22:43 +01:00
K. S. Ernest (iFire) Lee
419b342a9a
Faster CVTT by reducing quality.
...
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04 15:15:26 -08:00
Rémi Verschelde
77d08b68b0
Merge pull request #49445 from Calinou/gdscript-highlight-namespace-reserved-keyword
2022-02-04 19:03:28 +01:00
Rémi Verschelde
2885befbe6
Merge pull request #55950 from Faless/mp/4.x_replication_nodes
2022-02-04 19:03:10 +01:00
Rémi Verschelde
61c57491bc
Merge pull request #57625 from akien-mga/core-split-vector2i-own-header
2022-02-04 19:00:39 +01:00
Hugo Locurcio
de45534fed
Highlight "namespace" as a GDScript keyword in the syntax highlighter
...
Like "trait" and "yield", "namespace" is currently not implemented
but is still reserved for future use.
2022-02-04 17:46:13 +01:00
Rémi Verschelde
e223bad86d
Core: Move Vector2i to its own `vector2i.h` header
...
Also reduce interdependencies and clean up a bit.
2022-02-04 16:32:21 +01:00
Rémi Verschelde
8495be9cec
Merge pull request #57621 from akien-mga/core-split-rect2i-own-header
2022-02-04 16:05:30 +01:00
Ignacio Roldán Etcheverry
721c32ee2b
Merge pull request #57618 from Densorius/master
...
Fixed opening new instances of VS 2022 while a instance is already open
2022-02-04 15:05:51 +01:00
Fabio Alessandrelli
d219547c96
[Net] New replication interface, spawner and synchronizer nodes.
...
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).
New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.
New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00
Rémi Verschelde
5f56d385b0
Core: Move Rect2i to its own `rect2i.h` header
...
And take the opportunity to improve interdependencies a bit with forward
declares where possible.
2022-02-04 14:17:30 +01:00
Rémi Verschelde
89eb6d372d
Merge pull request #57591 from vnen/gdscript-enum-fixes
2022-02-04 13:49:15 +01:00
Densorius
93e2d0446f
Fixed opening new instances of VS 2022 while a instance is already open
2022-02-04 10:40:43 +01:00
bruvzg
244db37508
Cleanup and move char functions to the `char_utils.h` header.
2022-02-04 11:35:01 +02:00
Densorius
9ea0508d35
Add Visual Studio 2022 support with fallback to 2019
2022-02-04 00:34:02 +01:00
Rémi Verschelde
f8f19b313d
Merge pull request #57562 from AnilBK/string-add-contains
...
String: Add contains().
2022-02-03 22:21:24 +01:00
Anilforextra
adbe948bda
String: Add contains().
2022-02-04 01:28:02 +05:45
Rémi Verschelde
c47f059776
Merge pull request #57467 from webbuf/modules-initialize
...
Initialized Member Variables in /modules
2022-02-03 20:41:29 +01:00
George Marques
ceafdf347e
GDScript: Treat enum values as int and enum types as dictionary
...
Since enums resolve to a dictionary at runtime, calling dictionary
methods on an enum type is a valid use case. This ensures this is true
by adding test cases. This also makes enum values be treated as ints
when used in operations.
2022-02-03 13:32:34 -03:00
George Marques
b013c0d544
GDScript: Allow tests to run on release builds
...
- Fix compilation issues by disabling warnings on release builds. This
also strips warnings from expected result before the comparison to
avoid false mismatches.
- Add a `#debug-only` flag to tests. Must be the first line of the test
script. Those won't run with release builds. Can be used for test
cases that rely on checks only available on debug builds.
2022-02-03 13:32:33 -03:00
George Marques
ad6e2e82a9
GDScript: Consolidate behavior for assigning enum types
...
This makes sure that assigning values to enum-typed variables are
consistent. Same enum is always valid, different enum is always
invalid (without casting) and assigning `int` creates a warning
if there is no casting.
There are new test cases to ensure this behavior doesn't break in
the future.
2022-02-03 13:32:16 -03:00
zwebb
466661c78f
initialized member variables in header
2022-02-03 11:14:42 -05:00
Rémi Verschelde
45d5aa5d47
Merge pull request #56365 from aaronfranke/default-shape-size
2022-02-03 16:59:07 +01:00
bruvzg
5676b3c022
HarfBuzz: Update to version 3.3.1
2022-02-02 22:29:31 +02:00
bruvzg
215bede6ff
[TextServer] Add function to change font, font size, and OpenType features without invalidating line break points, justification points, or recreating shaped text buffer.
2022-02-02 11:20:44 +02:00
Lisandro Lorea
69e30d91ee
Fix "texture not initialized" error preventing video from playing
...
Closes #57153
2022-02-01 23:55:17 -03:00
bruvzg
33d6d4bdf7
[macOS] Enable Objective-C ARC
2022-02-01 15:58:30 +02:00
Rémi Verschelde
d4e21b7d62
Merge pull request #57358 from akien-mga/signal-bindings-object
2022-02-01 14:24:47 +01:00
Aaron Franke
8cfd264148
Improve the default size for 3D shapes (Box, Capsule, and Cylinder)
2022-02-01 06:43:16 -06:00
Pawel Lampe
a30dd094d3
Fix transforms involved into navmesh baking
...
Within the context of parsing navigation geometry, this commit:
- added missing transform of `MultiMeshInstance`
- changed all transforms to global ones so that they don't need to be
calculated by hand
2022-01-31 23:07:45 +01:00
bruvzg
8e79c5fb8d
Add support for the escaped UTF-16 and UTF-32 Unicode characters in the scripts and expressions.
2022-01-30 20:16:04 +02:00
Rémi Verschelde
2f57a11ed9
Merge pull request #55785 from nathanfranke/clang-tidy
2022-01-29 13:46:38 +01:00
Nathan Franke
8a0a3accee
simplify formatting scripts, add a clang-tidy script, and run clang-tidy
2022-01-29 04:41:03 -06:00
Marcel Admiraal
51834a4589
Be more verbose about why msbuild tools could not be found
2022-01-29 07:16:34 +00:00
Yuri Sizov
49eddd22e0
Update icons and color conversion rules to simplify the palette
2022-01-29 01:03:39 +03:00
Rémi Verschelde
7c3003fcbe
Improve some signal bindings to use specific `Object` subtypes
2022-01-28 15:35:40 +01:00
Rémi Verschelde
e6caaf4c80
Merge pull request #57205 from TechnoPorg/variant-template-cast
...
Allow method binds to take Object subclasses as arguments
2022-01-27 23:46:37 +01:00
Rémi Verschelde
b6d3f44095
Merge pull request #57310 from raulsntos/rename-subsequence
...
Rename C# `IsSubsequenceOfI` to `IsSubsequenceOfN`
2022-01-27 16:54:41 +01:00
Rémi Verschelde
899cd34426
Merge pull request #57281 from Rubonnek/rename-subsequence
2022-01-27 11:03:13 +01:00
Raul Santos
6ecb92a1fc
Rename C# `IsSubsequenceOfI` to `IsSubsequenceOfN`
2022-01-27 03:04:16 +01:00
Wilson E. Alvarez
3eb5e0ac50
Rename String::is_subsequence_ofi to String::is_subsequence_ofn
2022-01-26 18:03:56 -05:00
Bastiaan Olij
98e5cd24db
Improve XRInterface hooks into rendering
2022-01-26 13:55:44 +11:00
cdemirer
28ac4d8b7d
Fix crash with non-constant keys in match statement Dictionary pattern
2022-01-26 04:10:07 +08:00
TechnoPorg
051ef479c9
Allow method binds to take Object subclasses as arguments
...
This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object.
This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary.
A few small changes also had to be made to other files, due to the changes cascading down all the includes.
2022-01-25 09:03:36 -07:00
Paweł Fertyk
12d0ff1a4d
Issue 57130 Fix GLTFDocument.generate_scene if state is null
2022-01-25 00:48:12 +01:00
Rémi Verschelde
bd4d57ede2
BaseButton: Rename `pressed` property to `button_pressed`
...
This fixes a conflict with the `pressed` signal.
The new name is temporary and only intended to solve the conflict for upcoming
alpha builds. Discussions are still ongoing regarding the BaseButton API and
how to rename and refactor more of its properties, signals and methods to have
a clearer API in 4.0.
2022-01-23 22:15:09 +01:00
Lyuma
e8da21dc6b
etcpak: Workaround multiple-of-4 requirement for 3D texture mipmaps.
2022-01-23 11:32:05 -08:00
kobewi
98692d68c3
Minor tweaks and fixes to panning
2022-01-23 13:49:53 +01:00
Igor Kordiukiewicz
6c3b6664b5
String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++
2022-01-23 13:24:04 +01:00
Rémi Verschelde
ce42ab238a
Merge pull request #56931 from lyuma/etcpak_po2
...
Enforce mult-of-4 requirements on etcpak input.
2022-01-23 09:31:35 +01:00
K. S. Ernest (iFire) Lee
b69b526b7c
GDScript cache crashfix.
2022-01-22 17:42:54 -08:00
Lyuma
b1b20f5f91
Pad etcpak input to 4x4 blocks. Fixes #49981
2022-01-22 17:20:17 -08:00
Rémi Verschelde
e363f404a5
Merge pull request #57000 from KoBeWi/UNLIMITED_PANNING
2022-01-23 00:47:52 +01:00
Rémi Verschelde
00f8b56f1f
Merge pull request #57044 from Calinou/doc-csgpolygon3d-points
2022-01-23 00:30:03 +01:00
Rémi Verschelde
e1706be25d
Merge pull request #57052 from KoBeWi/nosort
2022-01-23 00:27:01 +01:00
Rémi Verschelde
b5f524d4c0
Merge pull request #55433 from V-Sekai/prev_operand_nullptr_check
...
Check for nullptr expression in parse_precedence function
2022-01-22 20:31:45 +01:00
Rémi Verschelde
182a36db47
Merge pull request #55214 from Scony/fix-gdscript-crash-2
...
Fix GDScript parser crash on 'dollar mixed with assignment' expression
2022-01-22 20:30:54 +01:00
kobewi
f056cb8ebc
Don't sort printed Dictionary
2022-01-22 13:45:02 +01:00
Hugo Locurcio
69617a893e
Improve CSGPolygon3D documentation
...
- Describe why polygon triangulation usually fails in the error message.
2022-01-21 20:00:34 +01:00
kobewi
74bfe88267
Add ViewPanner to 2D editor
2022-01-21 18:35:06 +01:00
Rémi Verschelde
20dfa0c60b
Merge pull request #56252 from Gallilus/Update-visual-script-property-selector
2022-01-21 10:35:19 +01:00
Rémi Verschelde
cfb986c631
Merge pull request #51452 from omar-polo/fix-macros
2022-01-20 22:50:39 +01:00
Rémi Verschelde
e6170aae39
Merge pull request #55066 from trollodel/less_singletons_in_editornode
2022-01-20 22:29:17 +01:00
Rémi Verschelde
d681d99e12
Merge pull request #52134 from RandomShaper/fix_naming
2022-01-20 22:01:37 +01:00
Omar Polo
bd448e5535
Rename or refactor macros to avoid leading underscores
...
These are not used consistently and some can conflict with
system-specific defines. While here, also delete some unused macros.
2022-01-20 20:29:15 +01:00
trollodel
aa1102fc53
Store panels and docks singletons in their own classes
2022-01-20 20:13:26 +01:00
Pedro J. Estébanez
7b0ed2aa5e
Rename Variant::is_ref() to is_ref_counted()
2022-01-20 18:46:25 +01:00
Rémi Verschelde
65c3f2c049
Merge pull request #56855 from rafallus/gridmap_bake_staticbody
2022-01-20 12:10:34 +01:00
Rémi Verschelde
7057d26343
Merge pull request #56936 from BastiaanOlij/add_tracking_confidence
2022-01-20 12:09:06 +01:00
Bastiaan Olij
173105596e
Adding a tracking confidence state to XRPose
2022-01-20 10:35:50 +11:00
Paulb23
f43f68f605
Convert TextEdit callbacks to Callable
2022-01-19 17:26:22 +00:00
Rémi Verschelde
bc5ba38ff5
Merge pull request #56619 from timothyqiu/left-right-palette
2022-01-18 16:38:09 +01:00
Rémi Verschelde
ce2b5bdfa8
Merge pull request #52969 from bruvzg/locale_detection
2022-01-18 15:43:04 +01:00
bruvzg
40c56ed410
Improve locale detection.
...
Use separate language, script and country lists.
Add locale selection dialog and property hint.
2022-01-18 14:30:00 +02:00
Rémi Verschelde
8898d6dadc
Dictionary: Serialize empty dict as `{}` instead of `{\n}`
...
Also make sure to always convert multiline dictionaries to a single line for
its EditorHelp representation, as multiline values break formatting.
2022-01-18 11:31:21 +01:00
Rémi Verschelde
846c14eee9
Merge pull request #56739 from strank/master
...
GDScript: Fix parsing default parameter values from function calls
2022-01-17 21:38:01 +01:00
David Cambré
3a82f66974
Improve Visual Script editor to suggest the proper visual script nodes.
2022-01-17 20:22:22 +01:00
Rémi Verschelde
4cfade6212
Merge pull request #55995 from Xwdit/enum_fix
...
Fix enum int comparison
2022-01-17 20:20:16 +01:00
Rémi Verschelde
91909ef801
Merge pull request #55625 from cdemirer/fix-type-guessing-and-gdscript-parser-printing
...
Fix `--test gdscript-parser` crash
2022-01-17 20:17:02 +01:00
Rémi Verschelde
12ab19fa26
Merge pull request #55616 from cdemirer/master
...
Fix nested ternary-if codegen
2022-01-17 20:16:26 +01:00
bruvzg
e02a097280
[TextServer] Implement locale and context sensitive case conversion functions.
2022-01-17 14:23:36 +02:00
rafallus
cc46abd73d
Consider gridmap collisions in navigation bake
2022-01-16 18:56:10 -06:00