Commit graph

7200 commits

Author SHA1 Message Date
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Rémi Verschelde 5cb9a748d6
Merge pull request #91630 from RandomShaper/enh_mat_sh_update
Let materials' shaders update happen on loader threads
2024-05-13 17:32:11 +02:00
Rémi Verschelde 3585c2e8f9
Merge pull request #91870 from scgm0/fix_disabled_classes
SCons: Fix generation of `disabled_classes.gen.h` after #91624
2024-05-13 12:05:59 +02:00
Pedro J. Estébanez b70afac286 Add an identity check to resource unregistration from cache
This is needed because resources loaded with CACHE_MODE_IGNORE still have path_cache set.
2024-05-13 11:55:50 +02:00
scgm0 973d3a472d
SCons: Fix generation of disabled_classes.gen.h after #91624 2024-05-13 11:25:29 +02:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
Rémi Verschelde 5e28260a10
Merge pull request #91806 from dsnopek/gdextension-shutdown-crash
GDExtension: Prevent crash during shutdown as singletons are deleted
2024-05-11 12:38:30 +02:00
Rémi Verschelde 816f6170fa
Merge pull request #86755 from lawnjelly/aabb_intersect_fix
Fix AABB Ray intersection - return inside
2024-05-11 12:38:08 +02:00
David Snopek 14506a4282 GDExtension: Prevent crash during shutdown as singletons are deleted 2024-05-10 13:17:36 -05:00
Rémi Verschelde e6780b54bb
Merge pull request #91727 from RandomShaper/cmd_queue_prealloc
`CommandQueueMT`: Pre-allocate memory to avoid a bunch of allocations at startup
2024-05-10 09:55:57 +02:00
Rémi Verschelde 6fcdd24468
Merge pull request #91624 from Repiteo/scons/native-generation
SCons: Generate all scripts natively, implement wrapper function
2024-05-10 09:55:51 +02:00
lawnjelly b35264ad95 Fix AABB Ray intersection - return inside
* Separates find_intersects from test_intersects for rays, and wraps the former.
* Changes parameter name to "r_intersection_point".
* Fixes broken old version which returned per axis t.
* Returns whether the ray origin is within the AABB.
* Returns intersection point when origin outside.
* Returns "backtracking" intersection point when inside.
* Returns sensible normal when inside.
* Returns valid results on borders.
* Returns robust results dealing with floating point error.

Co-authored-by: Claire Blackshaw <evilkimau@gmail.com>
2024-05-09 20:41:19 +01:00
Pedro J. Estébanez c0529dc4f2 CommandQueueMT: Pre-allocate memory to avoid a bunch of allocations at startup 2024-05-09 11:51:07 +02:00
Rémi Verschelde c4279fe3e0
Merge pull request #91725 from RandomShaper/cmd_queue_avoid_skip
`CommandQueueMT`: Fix sync command awaiters missing the chance
2024-05-09 02:06:34 +02:00
Pedro J. Estébanez a4014a2f78 CommandQueueMT: Fix sync command awaiters missing the chance 2024-05-08 18:56:58 +02:00
Pedro J. Estébanez 1589433e8f Apply additional fixes to servers' threading 2024-05-08 17:41:40 +02:00
Pedro J. Estébanez 6f0760beb3 CommandQueueMT: Fix command cleanup (revive destructor call + plus handle buffer realloc) 2024-05-08 17:41:40 +02:00
Pedro J. Estébanez b834037841 Object: Add missing lock 2024-05-08 17:41:40 +02:00
Rémi Verschelde a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships b4c6cc7d82
[Core] Add case-insensitive String::containsn 2024-05-08 12:48:01 +02:00
A Thousand Ships a0dbdcc3ab
Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde 17a81260cb
Merge pull request #91684 from Chubercik/embree4_aftermath
Fix `builtin_embree=no` build linking the wrong version of Embree
2024-05-08 09:54:24 +02:00
Rémi Verschelde 63ed5749ac
Merge pull request #91104 from RandomShaper/simple_type_cpp
Redefine `GetSimpleTypeT<>` in terms of `<type_traits>`
2024-05-08 09:54:16 +02:00
Jakub Marcowski 7699d678c4
Fix builtin_embree=no build linking the wrong version of Embree 2024-05-08 00:40:45 +02:00
Thaddeus Crews 34fb3f7730
SCons: Generate all scripts natively 2024-05-07 15:30:45 -05:00
Hugo Locurcio 47ac22486d
Update dependencies in D3D12 SDK installer script
- Add colored console output.
2024-05-07 19:10:58 +02:00
Wilson E. Alvarez d4154dbc55
Add const char * overloads to String class
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-05-07 10:53:00 -04:00
Lyuma 0e5e743258 Bind compatibility GDExtension methods removed in 88418
These functions were likely not used, but we must ensure they are still bound to ensure API stability.
2024-05-07 01:36:36 -07:00
Rémi Verschelde 4b070e8031
Fix various typos with codespell
Using 2.2.7.dev217+g10c2abcf.

Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
Rémi Verschelde a1905b8e7d
Merge pull request #91570 from Naros/preferred_file_name_casing_default
Add default implementation of `ScriptLanguageExtension::preferred_file_name_casing`
2024-05-07 09:04:48 +02:00
Rémi Verschelde e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Pedro J. Estébanez 187e5ef258 Let materials' shaders update happen on loader threads 2024-05-06 19:40:00 +02:00
A Thousand Ships 86de59d60a
[Core] Add LocalVector::has for convenience 2024-05-06 18:03:37 +02:00
Rémi Verschelde 1069d7b7c6
Merge pull request #88343 from Riteo/warped-mouse-float
Handle warped mouse motion as floating point
2024-05-06 15:14:46 +02:00
Chris Cranford fdc5b42646 Add default implementation of ScriptLanguageExtension::preferred_file_name_casing. 2024-05-04 18:50:04 -04:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde 03e6fbb010
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Rémi Verschelde 25fe3d4b46
Merge pull request #81639 from MJacred/is_letter
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +02:00
K. S. Ernest (iFire) Lee f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
MJacred 717513a62d Add is_valid_letter() to TextServer 2024-05-02 21:32:20 +02:00
Radiant 789c6ebdfd Implement amplitude to Input.vibrate_handheld
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
2024-05-02 19:09:42 +03:00
Rémi Verschelde 28a18cf1b8
Merge pull request #88763 from BlueCube3310/image-is-compressed-static
Image: Add static `is_format_compressed` function.
2024-05-02 14:01:18 +02:00
A Thousand Ships 0f5e0d1637
Expose Vector* component-wise and scalar min/max to scripting 2024-05-02 13:02:40 +02:00
A Thousand Ships 308dbb8c63
[Core] Add scalar versions of Vector* min/max/clamp/snap(ped)
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
A Thousand Ships c4e24d2b3b
[GDScript] Correctly report invalid read-only access 2024-05-01 12:28:47 +02:00
Rémi Verschelde 4e30bc71f5
Merge pull request #91376 from clayjohn/DOCS-reflect-vec3
Update the description and parameter name for Vector3 reflect to correct how the plane is constructed
2024-05-01 09:55:27 +02:00
Rémi Verschelde 645be5cdbb
Merge pull request #90760 from RandomShaper/cmd_queue_good_sync
CommandQueueMT: Optimize & fix handling of sync/ret commands
2024-05-01 09:54:54 +02:00
Rémi Verschelde 273a643145
Merge pull request #89647 from AThousandShips/read_only_dict
[Core] Fix property access on read-only `Dictionary`
2024-05-01 09:54:48 +02:00
clayjohn 4d580b15be Update the description and parameter name for Vector3 reflect to correct how the plane is constructed 2024-04-30 13:50:39 -07:00
Rémi Verschelde ef481148b2
Merge pull request #90394 from dsnopek/object-ptrcall-null-unlikely
Use `likely()` in `PtrToArg<T *>` when checking for null `Object *`s
2024-04-30 17:03:16 +02:00
Rémi Verschelde 32070144af
Merge pull request #91100 from bruvzg/x_finks
Add symlink API support for Windows, expose symlink methods.
2024-04-29 13:00:37 +02:00
Rémi Verschelde 947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Rémi Verschelde dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +02:00
Rémi Verschelde 2bf4509353
Merge pull request #91208 from akien-mga/gcc-14-Wtemplate-id-cdtor-warning
Fix GCC 14 `-Wtemplate-id-cdtor` warnings
2024-04-29 10:10:06 +02:00
Rémi Verschelde 7dd31b4082
Merge pull request #91179 from Bromeon/feature/free-property-list-count
GDExtension: provide `free_property_list_func` with length of array
2024-04-29 10:09:53 +02:00
Thaddeus Crews e0e8ce1fc0
SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05:00
bruvzg fc948e87f6 Add symlink API support for Windows, expose symlink methods. 2024-04-28 19:59:34 +03:00
A Thousand Ships 31e7ee63f2
Fix unsafe uses of Callable.is_null()
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
Jan Haller 27a637d287 GDExtension: provide free_property_list_func with length of array 2024-04-27 14:13:17 +02:00
Rémi Verschelde 6118592c6d
Merge pull request #91210 from Faless/fix/core_unztell64
[Core] Use unztell64 in FileAccessZIP to ensure 64 bit return
2024-04-26 15:13:44 +02:00
Rémi Verschelde bd598d5657
Merge pull request #85678 from KoBeWi/editor_walktime
Add separate feature tags for editor runtime
2024-04-26 15:13:16 +02:00
Rémi Verschelde 53ef784519
Merge pull request #84581 from KoBeWi/varray(1,2,3,4,5,6,7,8,9,100);
Make `varray()` variadic
2024-04-26 15:13:09 +02:00
kobewi 3ebb5b84a0 Add separate feature tags for editor runtime 2024-04-26 14:44:38 +02:00
kobewi f647888006 Make varray() variadic 2024-04-26 14:33:11 +02:00
Fabio Alessandrelli efccebd3db [Core] Use unztell64 in FileAccessZIP to ensure 64 bit return 2024-04-26 11:49:54 +02:00
Rémi Verschelde a8ff47b6d6
Fix GCC 14 -Wtemplate-id-cdtor warnings
Fixes #91206.
2024-04-26 11:41:09 +02:00
kobewi 4324d01c8e Allow loading custom ProjectSettings instance 2024-04-26 11:34:37 +02:00
David Snopek 45463f75d6 Fix ptrcalls to static GDExtension methods 2024-04-25 08:20:22 -05:00
Rémi Verschelde de9933444e
Merge pull request #91108 from akien-mga/sync-gamecontrollerdb
Sync controller mappings DB with SDL 2 community repo
2024-04-24 18:55:22 +02:00
Rémi Verschelde dcdaa7d5a9
Merge pull request #90900 from Calinou/file-logging-strip-ansi-escape-codes
Strip ANSI escape codes from file logging
2024-04-24 18:55:10 +02:00
Rémi Verschelde 2e92fb00d4
Merge pull request #90540 from Repiteo/core/type-info-use-type-traits
Core: Use `<type_traits>` where applicable
2024-04-24 18:55:07 +02:00
Rémi Verschelde 00cc0a3e8f
Merge pull request #90091 from ajreckof/Fix-load-subtask-not-being-registered-leading-to-false-progress-values-
Fix load subtask not being registered leading to false progress values.
2024-04-24 18:55:04 +02:00
Rémi Verschelde 1da02fa7be
Sync controller mappings DB with SDL 2 community repo
Synced with mdqinc/SDL_GameControllerDB@5b4efa3a20
2024-04-24 11:55:55 +02:00
Pedro J. Estébanez dee65d1435 Redefine GetSimpleTypeT<> in terms of <type_traits> 2024-04-24 11:43:13 +02:00
Hugo Locurcio 459f14c098
Strip ANSI escape codes from file logging
Text editors cannot display ANSI escape codes, so these should be
stripped from log files to ensure readability.

Since this uses a regex, this works both for `print_rich()`
and manually inserted ANSI escape codes.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-04-24 01:02:47 +02:00
Pedro J. Estébanez 15de869a9c CommandQueueMT: Optimize & fix handling of sync/ret commands 2024-04-23 19:57:12 +02:00
Rémi Verschelde ff9d78c141
Merge pull request #90889 from timothyqiu/compat
Use compatible text resource format when possible
2024-04-23 19:11:46 +02:00
Rémi Verschelde cb1d6140be
Merge pull request #90866 from Repiteo/core/variant-initalizer-lists
Core: Utilize initalizer lists in Variant constructors
2024-04-23 19:11:29 +02:00
Haoyu Qiu 941e5c4820 Use compatible text resource format when possible 2024-04-23 12:04:44 +08:00
Rémi Verschelde e22743298a
Merge pull request #90961 from Lateasusual/gdextension-hot-reloading-borked
GDExtension: Fix missing library path breaking hot reloading
2024-04-22 22:18:34 +02:00
Rémi Verschelde 2980a6b295
Merge pull request #90916 from Naros/expose-classdb-class-get-property-default-value
Expose `ClassDB::class_get_property_default_value` method
2024-04-22 22:18:26 +02:00
A Thousand Ships ec29c3e784
[Core] Fix property access on read-only Dictionary 2024-04-22 13:57:34 +02:00
Rémi Verschelde 659cf339bc
Merge pull request #90931 from aaronfranke/is-ascii-alphabet-char
Rename internal `is_ascii_char` to `is_ascii_alphabet_char`
2024-04-22 12:53:28 +02:00
Rémi Verschelde 61d146c89e
Merge pull request #90748 from aaronfranke/fix-basis-scale-global
Fix incorrect name of internal Basis global scale getter
2024-04-22 12:52:52 +02:00
Rémi Verschelde 4b6629978e
Merge pull request #90701 from permelin/improve-delaunay3d-triangulation
Delaunay3D/LightmapGI: Improve triangulation
2024-04-22 12:52:12 +02:00
Rémi Verschelde 504d01b61e
Merge pull request #90403 from bruvzg/file_resize
[FileAccess] Implement `resize` method.
2024-04-22 12:51:55 +02:00
Rémi Verschelde 0b89b8b64c
Merge pull request #90368 from Naros/expose-classdb-is-enum-bitfield
Expose `ClassDB::is_enum_bitfield` as `ClassDB::is_class_enum_bitfield`
2024-04-22 12:51:51 +02:00
Rémi Verschelde fb3c3ace62
Merge pull request #90153 from rburing/clipper2_electric_boogaloo
Replace Clipper1 library by Clipper2 library
2024-04-22 12:51:46 +02:00
Rémi Verschelde 0cf1557045
Merge pull request #89780 from AThousandShips/import_fix
Fix import and saving related crashes
2024-04-22 12:51:37 +02:00
A Thousand Ships 49ae632b7d
Fix import and saving related crashes
* Don't add empty mesh to result when importing obj files
* Check for null resources in `ResourceSaver`
2024-04-22 12:13:19 +02:00
Chris Clyne 8564e94547 GDExtension: Fix missing library path breaking hot reloading 2024-04-20 21:08:11 +01:00
Ricardo Buring 8a28f816d0 Replace Clipper1 library by Clipper2 library 2024-04-20 13:37:59 +02:00
Aaron Franke b1f5e9fe3a
Rename internal is_ascii_char to is_ascii_alphabet_char 2024-04-20 02:36:41 -07:00
Chris Cranford fdf31011a5 Expose ClassDB::class_get_property_default_value method 2024-04-19 13:51:28 -04:00
Chris Cranford c936ee54ee Expose ClassDB::is_enum_bitfield as ClassDB::is_class_enum_bitfield 2024-04-19 12:46:36 -04:00
Fredia Huya-Kouadio 764de7fe31 Collapse the gdextension arguments into the GDExtensionData struct
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio ede88cf59d Fix loading GDExtension dependencies on Android 2024-04-19 07:55:08 -07:00
Rémi Verschelde e50867ae34
Merge pull request #90776 from Naros/avoid-script-language-not-overridden
Defer call to `set_break_language`
2024-04-19 16:27:33 +02:00
Rémi Verschelde 0b8042180e
Merge pull request #90447 from dsnopek/gdextension-hot-reload-not-classdb-instantiate
Fix GDExtension hot reload for classes not created via `ClassDB::instantiate()`
2024-04-19 16:27:26 +02:00
Thaddeus Crews b95e7fcecd
Core: Integrate initalizer lists for Variant 2024-04-19 08:52:17 -05:00