Commit Graph

49291 Commits

Author SHA1 Message Date
Ignacio Roldán Etcheverry f86c6b6ac4 C#: Replace most conversions between Variant and System.Object
This commit replaces most usages of `ConvertManagedObjectToVariant` and
`ConvertVariantToManagedObjectOfType`, by using the `Godot.Variant`
struct instead of `System.Object`.

The most notable change is to the `GetGodotPropertyDefaultValues` method
that's generated for scripts. The dictionary it returns now stores
`Godot.Variant` values.

Remaining usages are:

- The `DelegateUtils` class, for the serialization of closure display
  classes during assembly reloading by the editor. These display classes
  are compiler generated classes to store values captured by a closure.
  Since it's generated by the compiler, the only way we have to access
  the fields is through reflection. This leads to using `System.Object`.
- Converting parameters when invoking constructors from the engine.
  This will be replaced with source generators in the future.
- Legacy support for old `GetGodotPropertyDefaultValues` return values.
  We need to keep supporting the old version of this generated method
  for some time. Otherwise, if loading a project built with the previous
  version, it could lead to the loss of exported property values.
  Ideally, we should remove this legacy support before a stable release.
2022-12-02 14:47:12 +01:00
Ignacio Roldán Etcheverry 3afeb28560 C#: Remove `ConvertVariantToManagedObject`
Its two usages were:

- The Array `ICollection.CopyTo` implementation.
  It's possible that this class shouldn't be implementing the
  non-generic `ICollection`, but this commit doesn't change that.
  The new implementation stores the elements as boxed `Variant` values.
- The `Variant.Obj` property.
  I'm not sure if this property's existence is justified, but for now
  I rewrote it as a simpler version of `ConvertVariantToManagedObject`.
2022-12-02 03:34:40 +01:00
Ignacio Roldán Etcheverry bcc061edae
Merge pull request #67023 from raulsntos/dotnet/fix-signal-callback-generation
C#: Fix signature of generated signal callbacks
2022-12-02 03:19:49 +01:00
Yuri Sizov bf9cf7d034
Merge pull request #69166 from souplamp/icon-annotation-not-working
Update docs to clarify `@icon` only works with global script classes
2022-12-02 03:04:23 +03:00
Rémi Verschelde 1bd7b0b269
Merge pull request #69430 from Rindbee/fix-clip-contents
Fix child nodes still being drawn when the visible area of a control with `clip_contents` enabled is `0`
2022-12-01 23:55:18 +01:00
Rémi Verschelde d47daf0187
Merge pull request #69344 from DeeJayLSP/update_thorvg
Update thorvg to 0.8.3
2022-12-01 23:51:33 +01:00
Rémi Verschelde 8177e5d7de
Merge pull request #69325 from clayjohn/GLES3-skeletons
Add Skeletons and Blend Shapes to the OpenGL renderer
2022-12-01 23:22:42 +01:00
souplamp 369c7d2422 Update docs to mention `@icon` only works with global script classes
Update the docs to clarify that the `@icon` annotation does not work
when only attaching a script to a node, and clarify that the script itself
must be a globally accessible script type.
2022-12-01 12:52:58 -06:00
Rémi Verschelde 1e3919c409
Merge pull request #69364 from m4gr3d/add_navigation_controls_main
Add navigation control to the node3d editor viewport
2022-12-01 18:11:14 +01:00
Rémi Verschelde a7fcfacaa5
Merge pull request #69427 from TokageItLab/remove-wrong-method-root-pos
Remove unneeded calc in root motion
2022-12-01 18:11:07 +01:00
Rémi Verschelde e5f0a565e2
Merge pull request #67660 from Rindbee/improve-setter-for-Range
Improve validation when setting `max`/`min`/`page` in `Range`
2022-12-01 18:11:01 +01:00
Rémi Verschelde 9ace4949f8
Merge pull request #69443 from KoBeWi/meta_never_dies
Restore metadata to script create dialog
2022-12-01 18:10:37 +01:00
Rémi Verschelde 4821de146e
Merge pull request #69423 from KoBeWi/parenture
Improve parent signature error
2022-12-01 18:10:31 +01:00
Rémi Verschelde 96796c1518
Merge pull request #64427 from touilleMan/gdextension-skip-undefined-field-in-properties
[GDExtension] Skip unset getter/setter/index fields in class property
2022-12-01 18:10:26 +01:00
Rémi Verschelde fc2241d5d8
Merge pull request #64360 from touilleMan/gdextension-correct-rect2-members-offsets-declaration
[GDExtension] Correct Rect2 members offsets declaration in extension_api.json generator
2022-12-01 18:10:05 +01:00
Rémi Verschelde 86273fcf13
Merge pull request #69401 from IceflowRE/rename_theme_cache_names
Rename Tree theme cache separation names
2022-12-01 18:09:52 +01:00
Rémi Verschelde 60750a1b69
Merge pull request #69403 from KoBeWi/gdrequiredvirutalcallnoif
Simplify GDVIRTUAL_REQUIRED_CALL calls
2022-12-01 18:09:43 +01:00
Rémi Verschelde 92b456beab
Merge pull request #68632 from m4gr3d/fix_input_event_screen_drag_routing_main
Fix routing of InputEventScreenDrag events to Control nodes
2022-12-01 18:09:37 +01:00
Rémi Verschelde 2d96f63e09
Merge pull request #68481 from dalexeev/gds-fix-dyn-arg-def-val
GDScript 2.0: Fix shift due to skip of non-constant default argument values
2022-12-01 18:09:25 +01:00
kobewi 06465e388e Fix invalid metadata names in script create dialog 2022-12-01 15:32:41 +01:00
kobewi 563d67a10d Revert "Fix "Script Create" dialog errors with metadata"
This reverts commit bb5198a5ac.
2022-12-01 15:30:16 +01:00
kobewi d1e4146462 Improve parent signature error 2022-12-01 15:16:16 +01:00
Rindbee 7129718dc5 Fix child nodes still being drawn when the visible area of a control with `clip_contents` enabled is `0` 2022-12-01 19:47:33 +08:00
Rémi Verschelde eb555d7559
Merge pull request #69303 from Chaosus/gds_fix_loops
Reset unassigned local variables to null in the loops
2022-12-01 10:21:21 +01:00
Silc Renew c1a29f5ef4 Remove unneeded calc in root motion 2022-12-01 11:11:21 +09:00
Fredia Huya-Kouadio 3ff7dd2aa4 Fix routing of InputEventScreenDrag events to Control nodes 2022-11-30 14:06:41 -08:00
Rémi Verschelde 0ff8742919
Merge pull request #67610 from m4gr3d/add_check_for_min_ndk_target_api_main
Bump the minimum Android target api to 21 (Android Lollipop)
2022-11-30 21:36:55 +01:00
Fredia Huya-Kouadio 2aba13e8fb Updating the minimum Android target api for proper Vulkan support 2022-11-30 11:16:59 -08:00
Rémi Verschelde 0bb1e89fb7
Merge pull request #69408 from TokageItLab/spblend-more-warn
Emphasize the warning about special case blend for animation
2022-11-30 19:11:44 +01:00
Rémi Verschelde f5dbec2f73
Merge pull request #69392 from dsnopek/openxr-quest-fix
Fix OpenXR on the Meta Quest: XR_KHR_loader_init_android is not reported as available (but it works anyway)
2022-11-30 19:08:55 +01:00
Rémi Verschelde b355e29b97
Merge pull request #69397 from KoBeWi/eradicate_folding
Make remote inspector groups not foldable
2022-11-30 19:08:44 +01:00
Rémi Verschelde 4ff610dfaa
Merge pull request #69394 from KoBeWi/layin_layout
Display transform properties of contained controls
2022-11-30 19:08:14 +01:00
Rémi Verschelde fa9d33ac2c
Merge pull request #69393 from DeeJayLSP/update_miniupnpc
Update miniupnpc to 2.2.4
2022-11-30 19:07:27 +01:00
kobewi 9a3960daa5 Simplify GDVIRTUAL_REQUIRED_CALL calls 2022-11-30 18:36:57 +01:00
Ignacio Roldán Etcheverry 6745e199fb
Merge pull request #69278 from rhofour/remove-namespaces
Remove unnecessary namespaces in generated PropertyDefVal files.
2022-11-30 18:31:52 +01:00
Silc Renew 9a3d9c6cae Emphasize the warning about special case blend for animation 2022-12-01 02:13:24 +09:00
Iceflower 908f392af6
Rename theme cache separation names 2022-11-30 16:06:14 +01:00
kobewi 5d2a9a3570 Make remote inspector groups not foldable 2022-11-30 15:31:24 +01:00
kobewi b65a3a52ac Display transform properties of contained controls 2022-11-30 15:08:39 +01:00
DeeJayLSP f592f6ba0c Update miniupnpc to 2.2.4 2022-11-30 10:30:23 -03:00
DeeJayLSP 88b7d5c3c5 Update thorvg to 0.8.3 2022-11-30 09:14:34 -03:00
Rémi Verschelde cd491c6e47
Merge pull request #69376 from zaevi/adjust_dropping_texture
Adjust position and size for dropping texture in canvas editor.
2022-11-30 10:49:15 +01:00
Rémi Verschelde c868e0b4b9
Merge pull request #69269 from red1939/red1939/master
Acknowledge that a CLASS kind of a DataType might not have an identifier
2022-11-30 10:49:09 +01:00
Rémi Verschelde 3afa207f1a
Merge pull request #69377 from bruvzg/mac_app_pass_nt
[macOS] Fix export button incorrectly disabled when using login/app password for notarization.
2022-11-30 10:49:00 +01:00
Rémi Verschelde e51d69dda0
Merge pull request #69365 from timothyqiu/invalid-reference
Fix heap-use-after-free when changing alternative tile ID
2022-11-30 10:48:48 +01:00
Rémi Verschelde 3cf2fc9839
Merge pull request #68070 from Geometror/move_z_index_to_canvasitem
Move z_index, z_as_relative and y_sort_enabled from `Node2D` to `CanvasItem`
2022-11-30 10:38:34 +01:00
Rémi Verschelde 65692ce91c
Merge pull request #65759 from nathanfranke/migrate-project-manager
Print each migrated project path instead of always printing "migrating" when there are none
2022-11-30 10:38:22 +01:00
bruvzg aa117a128e
[macOS] Fix export button incorrectly disabled when using login/app password for notarization. 2022-11-30 10:38:53 +02:00
Zae a1419f3902 Adjust position and size for dropping texture. 2022-11-30 16:28:49 +08:00
Bartosz Bielecki e10b0c5d98 Acknowledge that a CLASS kind of a DataType might not have an identifier 2022-11-30 09:26:50 +01:00