Commit graph

6501 commits

Author SHA1 Message Date
David Snopek
55596eaac6 GDExtension: Convert validated_call() to ptrcall() (rather than call()) 2023-10-04 10:53:17 -05:00
Rémi Verschelde
dbd4c79c38
Merge pull request #82682 from dsnopek/gdextension-dont-deprecate-script-category
GDExtension: Don't deprecate old method of getting script category
2023-10-03 17:26:41 +02:00
Jakub Janšta
74c937079c Add type_string() utility 2023-10-02 17:41:20 +02:00
David Snopek
cbf939e121 GDExtension: Don't deprecate old method of getting script category 2023-10-02 09:23:27 -05:00
Rémi Verschelde
98d9119cee
Merge pull request #82603 from kkolyan/82601_fix_reload_loop
Fix inconsistent `last_modified_time` handling in GDExtension
2023-10-02 13:16:47 +02:00
Rémi Verschelde
5fe97c5844
Merge pull request #82441 from akien-mga/web-clarify-get_unique_id
Web: Clarify that `OS.get_unique_id` is not supported
2023-10-02 13:16:31 +02:00
Rémi Verschelde
e95b7e84a4
Merge pull request #80844 from dalexeev/fix-callable-expected-argc
Fix expected argument count for `Callable` call errors
2023-10-02 13:15:53 +02:00
etti
3a39de4e2f Add rotate_toward and angle_difference to GDScript and C# 2023-10-01 22:19:42 +02:00
kkolyan
43f92e4752 Fix inconsistent last_modified_time handling (prevent GDExtension reload spam on Windows 10) 2023-10-01 22:05:57 +04:00
Danil Alexeev
aff767ef07
Fix expected argument count for Callable call errors 2023-09-29 20:00:10 +03:00
风青山
e705aa4550 Fix not refitting upward from leaf nodes.
Previously, the wrong node id (root node id) was used. Dirty leaf nodes
do not actually recalculate aabb.

Additionally, when requesting a new leaf, mark `dirty` as `false` in `clear()`.

Make sure to only mark the leaf as **dirty** when shrinking the border of
the leaf when removing items.

In other cases, the leaf node's aabb will get the correct result immediately.
1. When adding an item, the leaf nodes will be calculated immediately.
2. Removing the item within the border of the leaf node has no effect on the
original aabb.
2023-09-28 20:27:51 +08:00
Yuri Sizov
5f53ec9129 Merge pull request #78995 from Gallilus/master
Allow implementing `get_class_category` in GDExtension
2023-09-27 19:07:50 +02:00
David Cambré
531f56e830 add GDExtensionScriptInstanceGetClassCategory
Change GetClassCategory so it is handled in native directly
2023-09-27 17:45:48 +02:00
Rémi Verschelde
0a10f09ce4
Web: Clarify that OS.get_unique_id is not supported
Remove the base error message in `OS`, we no longer really error out this
way for not implemented methods. Instead, each platform should override them
to provide the context they want.

Fixes #82439.
2023-09-27 15:17:45 +02:00
Rémi Verschelde
ec62b8a3ee
Merge pull request #82436 from Rindbee/fix-axis-being-mixed-up
Fix axis getting mixed up when split leaf
2023-09-27 14:03:51 +02:00
Rémi Verschelde
d616c3ecd0
Merge pull request #82408 from hpvb/fix-import-crash
Fix Image import crash
2023-09-27 14:03:47 +02:00
Rémi Verschelde
737c308dcc
Merge pull request #74588 from puchik/float-variant-nan-inequality
Support numeric/binary hash comparison for floats derived from Variants (as well as existing semantic comparison)
2023-09-27 14:03:34 +02:00
Rémi Verschelde
19057c07bc
Merge pull request #67080 from Mickeon/resource-virtual-local-to-scene-setup
Reimplement Resource.`_setup_local_to_scene` & deprecate signal
2023-09-27 14:03:28 +02:00
风青山
0156860ad5 Fix axis getting mixed up when split leaf 2023-09-27 17:56:12 +08:00
Hein-Pieter van Braam
b5705958e6 Fix import crash
I was trying to import a solid colored metal/roughness texture that
worked in Godot 4.1.1 but failed to load on master. I eventually tracked
it down to this: to_x and to_y can be 0, which then leads them to be -1
later, which then causes ofs to overflow.

Some of these cases were hidden because of the use of Vector so we were
just happily scribbling in ram elsewhere.

Switched to LocalVector as it made debugging a bit easier.
2023-09-26 23:50:50 +02:00
Rémi Verschelde
251fb83d53
Merge pull request #82331 from rburing/gdextension_dump_docs
Optionally include documentation in GDExtension API dump
2023-09-26 22:46:34 +02:00
Ricardo Buring
8ee04c5f87 Optionally include documentation in GDExtension API dump 2023-09-26 21:39:24 +02:00
Rémi Verschelde
da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00
Rémi Verschelde
666a92c7c2
Merge pull request #82244 from SaracenOne/fix_dependency_error_popup
Fix missing dependency warning popup
2023-09-26 13:45:23 +02:00
Rémi Verschelde
017541bcec
Merge pull request #80527 from raulsntos/dotnet/generate-compat-methods-from-classdb
C#: Generate and use compat methods
2023-09-26 13:44:52 +02:00
Rémi Verschelde
3ec673085b
Merge pull request #79523 from aaronfranke/is-conformal
Add `is_conformal` method to Basis and Transform2D
2023-09-26 13:44:41 +02:00
Rémi Verschelde
7e67b496ff
Merge pull request #82332 from Sauermann/fix-struct-type
Fix type of `notification_func`
2023-09-26 08:32:15 +02:00
Rémi Verschelde
7dccb9e039
Merge pull request #80796 from smix8/navgenerator_2d_4.x
Add 2D navigation mesh baking
2023-09-26 08:17:58 +02:00
Rémi Verschelde
55dfbd7761
Merge pull request #80284 from dsnopek/gdextension-hot-reload
Implement reloading of GDExtensions
2023-09-26 08:17:28 +02:00
David Snopek
2733a6f762 Implement reloading of GDExtensions 2023-09-25 22:10:17 -05:00
Saracen
0b0a6109b6 Make notify_dependency_error only defer calls if called from secondary threads. 2023-09-26 03:36:11 +01:00
Saracen
3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
Markus Sauermann
d2bcde0407 Fix type of notification_func 2023-09-25 23:37:13 +02:00
Rémi Verschelde
023b6b30c1
Merge pull request #73813 from groud/improve_y_sort_performances
Greatly improve Y-sort performance on TileMaps
2023-09-25 22:47:22 +02:00
smix8
0ee7e3102b Add 2D navigation mesh baking
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
Gilles Roudière
30b94bb8ab Improve TileMap Y-sorting performance 2023-09-25 18:49:04 +02:00
Rémi Verschelde
9750876d7a
Merge pull request #80962 from YuriSizov/godot-the-editor-engine
Differentiate between core and editor-only singletons
2023-09-25 18:38:17 +02:00
Rémi Verschelde
82f6e9be5e
Merge pull request #82297 from sadikkuzu/master
Fix typo in `heuristic_euclidian` helper in AStarGrid2D
2023-09-25 17:18:55 +02:00
Rémi Verschelde
e4cfd4e26a
Merge pull request #82195 from AThousandShips/radian_fix
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
Rémi Verschelde
d759f91f8d
Merge pull request #81101 from 398utubzyt/dotnet/abstract-class-support
C#: Add abstract class support
2023-09-25 17:18:05 +02:00
Rémi Verschelde
1a0e653d7f
Merge pull request #78573 from dalexeev/editor-create-script-class-name
Editor: Remove unused Class Name field from Create Script dialog
2023-09-25 17:17:46 +02:00
SADIK KUZU
a8ff5f086d Fix typo in heuristic_euclidian helper in AStarGrid2D 2023-09-25 14:33:22 +03:00
A Thousand Ships
e45927b2f2 Replace radians range hint with radians_as_degrees 2023-09-25 08:50:19 +02:00
Rémi Verschelde
0b4959bdf0
Merge pull request #82203 from KoBeWi/shortcuts_under_pressure
Make InputEventShortcut always pressed
2023-09-24 23:36:09 +02:00
Rémi Verschelde
d8c31155a8
Merge pull request #82191 from dsnopek/gdextension-redundant-hash-check
GDExtension: Remove redundant method bind hash check
2023-09-24 23:35:45 +02:00
Rémi Verschelde
40b48b13ee
Merge pull request #78580 from Bromeon/feature/gdextension-stringname-ctor
Add GDExtension function to construct StringName directly from char*
2023-09-24 23:30:04 +02:00
Jan Haller
c770937db5 More precise documentation for GDExtension String constructors (bytes vs. character count) 2023-09-24 20:57:58 +02:00
Jan Haller
43be9fa0c8 Fix platform-dependent hashing for char* and wchar_t*
Since char/wchar_t can be either signed or unsigned, its conversion to uint32_t leads to different values depending on platform.
In particular, the same string represented as char* (Latin-1; StringName direct construction) or uint32_t (UTF-8; constructed
via String) previously resulted in different hashes.
2023-09-24 20:57:57 +02:00
Jan Haller
ed3015e979 GDExtension: construct StringName directly from char*
So far, an indirection via String was necessary, causing at least 2 allocations and copies (String; String inside StringName).
Since StringNames often refer to string literals, this allows them to be directly constructed from C strings.

There are two formats: Latin-1 and UTF-8.

The Latin-1 constructor also provides the `p_is_static` flag: when the source has static storage duration, no copy/allocation will be needed.
However, the extension developer needs to uphold this lifetime guarantee.
2023-09-24 18:18:05 +02:00
Rémi Verschelde
e40b0b3ed8
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@fc4b33c872
2023-09-24 15:51:12 +02:00