Thaddeus Crews
6c4c61f1b2
Merge pull request #98547 from timothyqiu/loaded-locales-set
...
Fix duplicated entries in `TranslationServer::get_loaded_locales()`
2024-11-11 14:18:40 -06:00
Thaddeus Crews
2ed6d12652
Merge pull request #97363 from reduz/deterministic-gen-suberesources-id
...
Allow passing UID to importer
2024-11-11 14:18:30 -06:00
Thaddeus Crews
c8ff788052
Merge pull request #96590 from reduz/list-directory
...
Provide a reliable way to see original resources in a directory
2024-11-11 14:18:28 -06:00
Thaddeus Crews
d76fbb7a40
Merge pull request #97356 from reduz/pck-file-removal
...
Add ability for PCK patches to remove files
2024-11-11 14:18:27 -06:00
Thaddeus Crews
2430b7f9b4
Merge pull request #97352 from reduz/uids-everywhere
...
Universalize UID support in all resource types
2024-11-11 14:18:25 -06:00
Thaddeus Crews
f233d186ef
Merge pull request #93885 from dalexeev/core-fix-freed-object-booleanization
...
Core: Fix `Freed Object` booleanization
2024-11-11 14:18:18 -06:00
Thaddeus Crews
9be806aef1
Merge pull request #92986 from Repiteo/core/ref-instantiate-integration
...
Core: Integrate Ref `instantiate` where possible
2024-11-11 14:18:15 -06:00
Thaddeus Crews
30d87229ed
Merge pull request #82845 from Hysterelius/master
...
Color: Expose OKHSL properties
2024-11-11 14:18:04 -06:00
Thaddeus Crews
bb3d5ef47c
Merge pull request #99078 from DarkMessiah/fix_callables_compare
...
Fix comparison of callables
2024-11-11 14:17:56 -06:00
Hysterelius
2126df2dfd
Color: Expose OKHSL properties
2024-11-11 20:41:57 +01:00
Stanislav Labzyuk
824ddeea3f
Fix comparison of callables
2024-11-11 17:15:52 +01:00
Juan
2ac562cdf8
Add ability for PCK patches to remove files
...
Co-authored-by: Mikael Hermansson <mikael@hermansson.io>
2024-11-11 16:34:37 +01:00
Juan
d57846087b
Universalize UID support in all resource types
...
Ensures all resource types support UIDs in a project.
This is required to fix:
* Scripts and many other resource types can't be referenced by UID and when refactored the references are lost.
* Path export properties can't use UID for unsupported types.
* Refactoring problems when files are moved outside the editor (this PR effectively fixes it).
* Editor properly refreshing paths if they changed externally while opened (as example, git update).
This needs to be addressed in a subsequent PR, but this one effectively sets the prerequisites.
Resource types that do not support UID will get a .uid file appended to them (this includes .gd, .gdshader, .gdextension, etc. files).
2024-11-11 15:59:56 +01:00
Juan
fe34c45d2a
Allow passing UID to importer
...
This helps, for importers spitting out new resources to the res://
filesystem to actually hash them to generate deterministic UIDs.
This PR also fixes the determinism for translations.
2024-11-11 15:22:42 +01:00
Thaddeus Crews
8d1462c748
CI: Update Linux runners to Ubuntu 24.04
2024-11-10 14:05:27 -06:00
Thaddeus Crews
925b690c98
Core: Integrate `Ref::instantiate` where possible
2024-11-10 12:41:26 -06:00
Thaddeus Crews
c4a52e1ade
Merge pull request #98809 from bruvzg/mac_gde_libs_non_uni
...
[GDExtension] Improve macOS library loading/export.
2024-11-10 12:13:06 -06:00
Thaddeus Crews
63838c936c
Merge pull request #98278 from a-johnston/fuzzy-search-rebase
...
Add fuzzy string matching to quick open search
2024-11-10 12:12:56 -06:00
Thaddeus Crews
155f94adc0
Merge pull request #97370 from RandomShaper/refix_rl_not_found
...
ResourceLoader: Report error if resource type unrecognized
2024-11-10 12:12:51 -06:00
Thaddeus Crews
f3294e59e1
Merge pull request #98891 from Faless/debugger/game_view_settings
...
[Debugger] Better settings configuration for RuntimeNodeSelect and Window quit
2024-11-10 12:12:46 -06:00
Thaddeus Crews
7d31e16686
Merge pull request #86600 from nikitalita/fix-missing-resources
...
Fix `MissingResource` properties being stripped on save
2024-11-10 12:12:44 -06:00
Thaddeus Crews
01ad56da38
Merge pull request #85167 from RandomShaper/good_spinlock
...
Enhance SpinLock
2024-11-10 12:12:36 -06:00
Thaddeus Crews
90ce26a27b
Merge pull request #94889 from rune-scape/no-const-list-erase
...
Remove const_cast in `List::erase`
2024-11-10 12:12:34 -06:00
Thaddeus Crews
323b2d53d7
Merge pull request #98963 from RandomShaper/fix_classdb_deadlock
...
Fix deadlocks related to ClassDB queries about global classes
2024-11-10 12:12:24 -06:00
Silc Lizard (Tokage) Renew
761a20f7a7
Add hint for oneshot & warning when it will be updated continuously
2024-11-11 01:12:45 +09:00
Fabio Alessandrelli
0c620b29cd
[Net] Split Unix/Windows NetSocket implementation
2024-11-10 16:13:50 +01:00
Pedro J. Estébanez
56bdef9f6f
Fix deadlocks related to ClassDB queries about global classes
...
`ClassDB::can_instantiate()` and other reflection methods deadlock if the type is an script global class, when such script indirectly uses a not-yet-registered class. The reason is the `ClassDB` read lock is still held when invoking the `ResourceLoader` to load the class script, which may in turn need to lock for writing (for the class registration).
In particular, this happens with some types related to animation tree, that aren't registered at engine startup, but can happen with others, especially ones from the user. Registration statements are also added for the animation-related types that were lacking them.
2024-11-08 18:15:58 +01:00
rune-scape
a47daa0a44
Avoid const_cast in List::erase by requiring mutable elements
2024-11-08 00:10:08 -08:00
Pedro J. Estébanez
360ed2b00d
Enhance SpinLock
2024-11-08 08:06:07 +01:00
Pedro J. Estébanez
95c6a24795
Add a utility cache line size constant
2024-11-08 08:06:01 +01:00
Thaddeus Crews
671d6e3230
Merge pull request #98150 from hunterloftis/fix-default-import-threaded
...
Fix freeze on non-thread-safe custom importers
2024-11-07 12:36:20 -06:00
Fabio Alessandrelli
7cd850b909
[Debugger] Move quit shortcut configuration to the SceneDebugger
2024-11-07 15:03:17 +01:00
bruvzg
76164c2aa9
[OS] Add functions to determine standard I/O device type.
2024-11-06 13:33:38 +02:00
nikitalita
95d2909474
Fix missing resource properties being dropped on save
2024-11-05 11:53:29 -06:00
Danil Alexeev
e379cc76e5
Core: Fix `Callable.get_bound_arguments{,_count}()` return incorrect data
2024-11-04 22:41:56 +03:00
Thaddeus Crews
bb5f390fb9
Style: Apply `clang-tidy` fixes (superficial)
...
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews
89a311205f
Style: Apply `clang-tidy` fixes
...
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Pedro J. Estébanez
fe21913ee8
ResourceLoader: Report error if resource type unrecognized
...
Co-authored-by: Summersay415 <summersay415@gmail.com>
2024-11-04 09:49:37 +01:00
bruvzg
2d66988f99
[GDExtension] Improve macOS library loading/export.
2024-11-04 09:28:30 +02:00
BlueCube3310
80a9c0d569
Clean up Image
2024-11-01 21:32:16 +01:00
A Thousand Ships
ec650a2f09
[Core,Drivers] Improve use of `Ref.is_null/valid`
...
Use `is_null` over `!is_valid` and vice versa.
2024-11-01 16:50:11 +01:00
Thaddeus Crews
c6c464cf9a
Merge pull request #98679 from Bromeon/qol/rename-static-call
...
Rename `ClassDB::class_call_static_method` -> `class_call_static`
2024-10-31 20:14:44 -05:00
Thaddeus Crews
363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
...
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
Thaddeus Crews
163bf94d04
Merge pull request #98091 from AThousandShips/improve_err_prints_core
...
[Core] Improve error messages with `vformat`
2024-10-31 20:14:36 -05:00
Nazarii
d1dc7afdd5
Fix `capture_cache.animation` was not cached
2024-10-31 19:26:02 +02:00
Jan Haller
a025ceddc0
Rename ClassDB::class_call_static_method -> class_call_static
2024-10-30 19:07:28 +01:00
A Thousand Ships
38f9769bc6
[Core] Improve error messages with `vformat`
2024-10-30 15:55:51 +01:00
Michael Alexsander
16524a8a01
Add "Game" editor for better runtime debugging
2024-10-30 11:42:17 -03:00
Thaddeus Crews
a8931f1aa9
Merge pull request #98652 from stuartcarnie/2d_texture_state_fixes
...
2D: Fix various issues and minor performance optimisations
2024-10-29 19:25:54 -05:00
Thaddeus Crews
b8f626a0e1
Merge pull request #65962 from 4d49/format-object
...
Add `Object` support for `String.format`
2024-10-29 19:25:45 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
...
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Stuart Carnie
0d1d945727
2D: Fix various issues and minor performance optimisations
2024-10-30 08:36:45 +11:00
Mansur Isaev
98c89f17c4
Add `Object` support for `String.format`
2024-10-29 22:27:33 +01:00
Clay John
748f4079e3
Merge pull request #96439 from darksylinc/matias-TheForge-pr03-rebased
...
Add Swappy & Pre-Transformed Swapchain
2024-10-29 12:34:40 -07:00
Matias N. Goldberg
aaa0e2fddf
Add Swappy & Pre-Transformed Swapchain
...
- Adds Swappy for Android for stable frame pacing
- Implements pre-transformed Swapchain so that Godot's compositor is in
charge of rotating the screen instead of Android's compositor
(performance optimization for phones that don't have HW rotator)
============================
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
Changes from original PR:
- Removed "display/window/frame_pacing/android/target_frame_rate" option
to use Engine::get_max_fps instead.
- Target framerate can be changed at runtime using Engine::set_max_fps.
- Swappy is enabled by default.
- Added documentation.
- enable_auto_swap setting is replaced with swappy_mode.
2024-10-28 18:55:37 -03:00
Adam Johnston
3ac043c508
Add fuzzy string matching to quick open search
...
Co-authored-by: sam <samsface@gmail.com>
2024-10-28 11:24:36 -07:00
Haoyu Qiu
f451997666
Fix duplicated entries in `TranslationServer::get_loaded_locales()`
2024-10-26 15:10:43 +08:00
Thaddeus Crews
edad871a2d
Merge pull request #98425 from darksylinc/matias-breadcrumbs-race-fix
...
Fix race conditions in breadcrumbs
2024-10-25 13:04:12 -05:00
Thaddeus Crews
d3298fe738
Merge pull request #98395 from Repiteo/core/char-range-utils-update
...
Core: Update `char_range.inc` to Unicode 16
2024-10-25 13:04:07 -05:00
Thaddeus Crews
02088ab44c
Merge pull request #74714 from dalexeev/expose-bresenham-line
...
Expose `Geometry2D.bresenham_line()` method
2024-10-25 13:04:05 -05:00
Thaddeus Crews
6e9907d483
Merge pull request #92554 from Nazarwadim/implement_a_hash_map
...
Implement array based hash map `AHashMap`
2024-10-25 13:03:45 -05:00
Adam Scott
0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Danil Alexeev
9f0ae21095
Expose `Geometry2D.bresenham_line()` method
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-10-25 10:27:55 +03:00
Clay John
f83a27353f
Merge pull request #98318 from alexkar598/mouse_emulation
...
Fix mouse emulation always sending events to the main window
2024-10-24 20:37:55 -07:00
Clay John
33db590947
Merge pull request #98357 from yeojunh/valid-base-check-num-int64-uint64
...
Core: Fix String::num_int64(), uint64 for valid base check
2024-10-24 19:41:43 -07:00
Clay John
b4ba0f983a
Merge pull request #98363 from dustdfg/rid_in_operator_fix
...
Allow using RID with `in` operator for Arrays and Dictionaries
2024-10-24 19:04:41 -07:00
Clay John
a9e5850681
Merge pull request #98493 from KoBeWi/tfw_you_trade_CLASH_for_a_CRASH
...
Fix InputEvent crash when opening project
2024-10-24 18:38:58 -07:00
nazarii
76208f7155
Implement array based hash map
2024-10-24 21:34:12 +03:00
Thaddeus Crews
d8aa32dccd
Merge pull request #97868 from timothyqiu/po-loader
...
Fix "No loader found" error after editing PO file
2024-10-24 13:22:54 -05:00
kobewi
abb9c0f171
Fix InputEvent crash when opening project
2024-10-24 17:05:05 +02:00
Haoyu Qiu
1b4f6f6bfa
DirAccessPack: Fix file_exists and dir_exists in exported projects
2024-10-24 14:26:36 +08:00
kobewi
5c0f2414cd
Always add decimal when printing float
2024-10-23 15:00:21 +02:00
Matias N. Goldberg
668c9b74e2
Fix race conditions in breadcrumbs
...
Adds "--accurate-breadcrumbs" CLI command
Additionally, leave out breadcrumbs code in non-debug, non-dev builds.
Fix regression introduced in #98388 where command_insert_breadcrumb() is
called even in non-debug builds.
Fixes #98338
2024-10-22 22:08:46 -03:00
Thaddeus Crews
a4ed24acef
Merge pull request #98041 from Hilderin/fix-lost-gdextensions-on-startup
...
Fix loss of gdextension on editor startup
2024-10-21 16:39:30 -05:00
Thaddeus Crews
7dbea98c49
Merge pull request #97005 from Repiteo/core/window-corner-style
...
Core: Add `DisplayServer` flag for sharp corners
2024-10-21 16:39:25 -05:00
Thaddeus Crews
291e4b78e2
Merge pull request #98237 from dustdfg/os_transitive_image_headers_refactor
...
Don't include `core/io/image.h` in `core/os/os.h`
2024-10-21 16:39:15 -05:00
Thaddeus Crews
b6547b0d06
Merge pull request #98236 from timothyqiu/locale-compare-cache-4.x
...
Cache results for `TranslationServer.compare_locales()`
2024-10-21 16:39:14 -05:00
Thaddeus Crews
ecc2eb73fc
Merge pull request #97707 from Sauermann/fix-input-device-clash
...
Fix `InputEvent` device id clash
2024-10-21 16:39:10 -05:00
Thaddeus Crews
5fb22327ee
Merge pull request #97542 from AThousandShips/dict_sort_fix
...
[Core] Fix sorting of `Dictionary` keys
2024-10-21 16:39:05 -05:00
Thaddeus Crews
ab72082fa2
Core: Update `char_range.inc` to Unicode 16
2024-10-21 14:54:19 -05:00
Yevhen Babiichuk (DustDFG)
ee5d90853f
Allow use RID with `in` operator for Arrays and Dictionaries
...
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-21 11:50:41 +03:00
Hilderin
fbd1643176
Fix lost of gdextension on editor startup.
...
Co-authored-by: NetroScript <noreply@enostrion.com>"
2024-10-20 18:39:31 -04:00
Markus Sauermann
916d480686
Fix InputEvent device id clash
...
`InputMap::ALL_DEVICES` and `InputEvent::DEVICE_ID_EMULATION` have the
same value `-1`.
Change value of `InputMap::All_DEVICES` so that it's different from
`InputEvent::DEVICE_ID_EMULATION`. `InputEvent::DEVICE_ID_EMULATION`
is part of the API and can't be changed without potentially breaking
projects.
Gather all special device constants in a single location inside
`InputEvent`.
Add a converter to project settings, that takes care of adjusting
project files during loading.
2024-10-20 21:56:41 +02:00
yeojunh
b3b24ded19
Add checks for valid base in String::num_int64, uint64().
...
- Ensure String::num_int64, uint64 returns an empty string for bases less than 2 or greater than 36.
- Added corresponding test cases to verify the behavior.
- Error messages are printed when invalid bases are encountered. These messages are suppressed in the test output.
2024-10-20 00:22:08 -07:00
alexkar598
fd6138ed7e
Fixes window_id being erased when emulating mouse events from touch events
2024-10-18 15:37:39 -04:00
Thaddeus Crews
f8c4a683d7
Core: Add `DisplayServer` flag for sharp corners
2024-10-18 11:20:21 -05:00
Yevhen Babiichuk (DustDFG)
af6d260c17
Don't include `core/io/image.h` in `core/os/os.h`
...
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot
Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`
^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
A Thousand Ships
79f654ced5
[Core] Fix sorting of `Dictionary` keys
...
`StringName` keys were sorted as `StringName` which is unstable.
2024-10-18 08:47:05 +02:00
Haoyu Qiu
f61fe2799c
Don't pseudolocalize empty strings
2024-10-17 10:30:17 +08:00
Haoyu Qiu
acab2d6c1c
Cache results for `TranslationServer.compare_locales()`
2024-10-16 20:54:56 +08:00
Hunter Loftis
bbb8c1703b
Fix freeze on non-thread-safe custom importers
2024-10-15 11:46:14 -04:00
Thaddeus Crews
a1e768c508
Merge pull request #97295 from BlueCube3310/betsy-bc4
...
Betsy: Implement BC4 compression
2024-10-14 14:09:56 -05:00
bruvzg
0d7027ea4c
Add support for 24-bit color escape sequences, simplify `print_rich` BBCode parsing.
2024-10-13 22:31:57 +03:00
Thaddeus Crews
9d5a7321a5
Merge pull request #95175 from KoBeWi/bruh_can_revert
...
Fix implementation of `property_can_revert()` in various classes
2024-10-10 18:13:16 -05:00
Ricardo Buring
9652695f6f
Restore arc_tolerance value when using Clipper2's InflatePaths
...
This was missed when upgrading from Clipper to Clipper2.
2024-10-09 14:13:23 +02:00
Gergely Kis
257633c354
Make TranslationServer singleton variable inline.
...
This change avoids the problem known as 'Static Initialization Order Fiasco' (SIOF).
See the following PR for more explanation: https://github.com/godotengine/godot/pull/94683
Co-authored-by: Gabor Koncz <gabor.koncz@migeran.com>
2024-10-07 13:47:42 +02:00
Juan
e05d5b8813
Provide a reliable way to see original resources in a directory
...
When exporting a project, resources are often moved, converted or
remapped (source import files are gone, text scenes are converted to binary,
etc).
This new function allows to list a directory and obtain the actual original
resource files.
Example
```GDScript
var resources = ResourceLoader.list_directory("res://images")
print(resources)
```
Result will be something like:
```
["image1.png","image2.png","image3.png"]
```
instead of
```
["image1.png.import","image2.png.import","image3.png.import"]
```
2024-10-07 09:47:22 +02:00
Haoyu Qiu
33d9b40386
Fix "No loader found" error after editing PO file
...
PO files used to be loaded as simple `Translation` resources. We later
added a dedicated `TranslationPO` resource for it. But the loader still
thinks it can only handle `Translation` resources, so it refuses to load
the updated `TranslationPO` resource.
2024-10-06 12:22:20 +08:00
kobewi
b9d25580ce
Fix implementation of property_can_revert() in various classes
2024-10-04 23:02:04 +02:00
bruvzg
794920b1ff
Partially revert 96780, remove warnings from project/editor settings `_get`.
2024-10-04 19:13:03 +03:00
Rémi Verschelde
6c15d59154
Merge pull request #97362 from reduz/make-unique-scene-id-deterministic
...
Make internal unique scene resource ID deterministic
2024-10-04 17:18:10 +02:00
Rémi Verschelde
4dd812f2ed
Merge pull request #97119 from dsnopek/gdextension-object-instance-id
...
GDExtension: Allow directly getting `ObjectID` from `Variant`
2024-10-04 17:18:06 +02:00
Rémi Verschelde
8e6ade8708
Merge pull request #97465 from DarioSamo/lock-free-rid
...
Make `RID_Owner` lock-free for fetching.
2024-10-04 11:21:38 +02:00
Rémi Verschelde
05b519fafb
Merge pull request #96230 from timothyqiu/per-domain-pseudolocalization
...
Move pseudolocalization into `TranslationDomain`
2024-10-04 11:21:18 +02:00
Aaron Franke
a7f6ec0e4c
Add a sort method to Dictionary and HashMap
2024-10-02 14:26:33 -07:00
Rémi Verschelde
86b1514bf5
Merge pull request #97550 from AThousandShips/hash_fix
...
[Core] Add missing `HashMapComparatorDefault` cases
2024-10-02 15:01:09 +02:00
Rémi Verschelde
336d91551d
Merge pull request #97281 from reptofrog/deadzone-new-default
...
Input: Change the default deadzone value for new actions from 0.5 to 0.2
2024-10-02 15:01:02 +02:00
Rémi Verschelde
9ce149c7a3
Merge pull request #93299 from rune-scape/fix-ref
...
Fix RefCounted releasing early and not clearing reference
2024-10-02 15:00:47 +02:00
Rémi Verschelde
79804a8e77
Merge pull request #97647 from KoBeWi/yearly_REPL_pull_request
...
Add expression evaluater to debugger (REPL)
2024-10-01 17:31:31 +02:00
Rémi Verschelde
3b17e3470a
Merge pull request #97532 from kisg/use_loader_library_check
...
GDExtension: Use loader to check if the library exists.
2024-10-01 17:31:14 +02:00
Rémi Verschelde
cf1d910e10
Merge pull request #92237 from timothyqiu/url-fragment
...
String: Parse fragment from URL
2024-10-01 17:30:16 +02:00
kobewi
645abdbb80
Add expression evaluater to debugger (REPL)
...
Co-authored-by: rohanrhu <rohanrhu2@gmail.com>
2024-10-01 15:36:09 +02:00
Roman Morozov
d532eecc81
Changed the default deadzone value for new actions from 0.5 to 0.2
2024-10-01 16:47:44 +04:00
Gergely Kis
8a41b1d90f
GDExtension: Use loader to check if the library exists.
2024-09-29 07:38:45 +02:00
Wenqiang
9a94353fa3
Added support for 'print' command in local (command line -d) debugger
2024-09-28 13:28:07 -07:00
A Thousand Ships
75cb3539b1
[Core] Add missing `HashMapComparatorDefault` cases
...
Added for:
* `AABB`
* `Basis`
* `Color`
* `Plane`
* `Projection`
* `Quaternion`
* `Rect2`
* `Transform2D`
* `Transform3D`
* `Vector4`
Ensures these handles `NaN` correctly
2024-09-28 17:58:49 +02:00
Danil Alexeev
85dfd89653
Add `@export_tool_button` annotation for easily creating inspector buttons
...
Co-authored-by: jordi <creptthrust@gmail.com>
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Co-authored-by: Mack <86566939+Macksaur@users.noreply.github.com>
2024-09-27 22:24:15 +01:00
Rémi Verschelde
83b2ca3107
Merge pull request #95930 from aaronfranke/bind-array-set
...
Bind Array and Packed*Array `get` and `set` functions
2024-09-27 13:53:19 +02:00
Rémi Verschelde
8a9a26ef19
Merge pull request #93311 from dsnopek/gdextension-required-virtuals
...
GDExtension: Mark virtual function as `is_required` in `extension_api.json`
2024-09-27 13:53:16 +02:00
Haoyu Qiu
6516ca6b11
Parse fragment from URL
2024-09-27 19:42:30 +08:00
Aaron Franke
cc9f2b58a0
Bind Array get and set functions
2024-09-26 13:00:17 -07:00
Lukas Tenbrink
e117ed9cd4
Rename Vector4.components -> coord
2024-09-26 14:02:00 +02:00
Rémi Verschelde
a4c1804cab
Merge pull request #97483 from akien-mga/clang-format-19.1.0
...
CI: Update `clang-format` pre-commit hook to 19.1.0
2024-09-26 12:46:04 +02:00
Rémi Verschelde
2912cb9975
Merge pull request #97118 from mihe/patch-exports
...
Add ability to export patch packs
2024-09-26 12:45:42 +02:00
Rémi Verschelde
991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
...
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +02:00
Rémi Verschelde
ef7547384c
Merge pull request #95678 from Hilderin/fix-slow-load-on-large-project-v2
...
Fix slow editor load on large projects (v2)
2024-09-26 12:45:31 +02:00
Rémi Verschelde
9d5b59b2ae
Merge pull request #94864 from rune-scape/add-missing-method-bind
...
Add missing CallableCustomMethodPointer for const methods
2024-09-26 12:45:27 +02:00
Rémi Verschelde
c92a6c7e27
CI: Update `clang-format` pre-commit hook to 19.1.0
2024-09-26 11:46:12 +02:00
Hilderin
21f7c8a25f
Fix slow editor load on large projects (v2)
2024-09-25 17:36:39 -04:00
Juan Linietsky
08947d366f
Make RID_Owner lock-free for fetching.
...
This PR makes RID_Owner lock free for fetching values, this should give a very
significant peformance boost where used.
Some considerations:
* A maximum number of elements to alocate must be given (by default 256k).
* Access to the RID structure is still safe given they are independent from addition/removals.
* RID access was never really thread-safe in the sense that the contents of the data are not protected anyway. Each server needs to implement locking as it sees fit.
2024-09-25 15:05:24 -03:00
Mikael Hermansson
d3be030ea6
Add ability to export patch packs
...
Co-authored-by: Poq Xert <poqxert@poqxert.ru>
2024-09-25 17:07:28 +02:00
Thaddeus Crews
32c83a228d
Style: Add `WARNING:` as new comment admonition
2024-09-25 09:44:42 -05:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
kobewi
7aef30c2a8
Discard additional redo on commiting actions
2024-09-24 15:47:55 +02:00
rune-scape
a84c480049
Add missing CallableCustomMethodPointer for const methods
2024-09-23 11:46:10 -07:00
Rémi Verschelde
4254946de9
Merge pull request #97323 from timothyqiu/drop-unicode-identifier
...
Fix script editor wrongly replaces and quotes non-ASCII letters
2024-09-23 16:14:08 +02:00
Rémi Verschelde
8c273eb14c
Merge pull request #90955 from AThousandShips/print_to_stdout
...
[Core] Add `Engine.print_to_stdout` setting to control printing
2024-09-23 16:13:41 +02:00
Juan
abf9d24520
Make internal unique scene resource ID deterministic
...
Changes the Resource::generate_scene_unique_id() to be deterministic and
seedable.
Fixes #97110
2024-09-23 15:07:00 +02:00
Rémi Verschelde
9c9e704a2b
Merge pull request #97286 from Rynzier/master
...
Clarify PCK path argument in `PCKPacker.pck_start`
2024-09-23 12:28:14 +02:00
Rémi Verschelde
1b19ecb360
Merge pull request #95166 from aaronp64/variant_op_err_return
...
Assign return value on `Variant` operator failure
2024-09-23 12:27:51 +02:00
Rémi Verschelde
510bc3dc6a
Merge pull request #90969 from Naros/expose-resource-and-saver-methods
...
Expose several resource/resource-saver functions
2024-09-23 12:27:40 +02:00
Rynzier
7b7164c80c
Clarify PCK path argument in `PCKPacker.pck_start`
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-09-23 09:42:13 +02:00
Chris Cranford
bc3dcf3d40
Expose several resource/resource-saver functions
2024-09-22 15:27:13 -04:00
Haoyu Qiu
a751c05b15
Fix script editor wrongly replaces and quotes non-ASCII letters
2024-09-23 00:05:16 +08:00
A Thousand Ships
d49ec39d63
[Core] Add `Engine.print_to_stout` setting to control printing
...
Also added notes to the related project settings pointing to the
`Engine` properties.
2024-09-22 12:09:01 +02:00
BlueCube3310
95fd45d9a5
Betsy: Implement BC4 compression
2024-09-22 10:16:37 +02:00
rune-scape
cee0e6667a
Refactor ref-counting code and fix ref counted releasing before aquiring
2024-09-21 11:36:58 -07:00
Haoyu Qiu
cca54ba4db
Move pseudolocalization into TranslationDomain
...
Also adds command-line option `--editor-pseudolocalization`
2024-09-21 18:28:12 +08:00
Rémi Verschelde
dd7cb059f5
Merge pull request #87344 from AThousandShips/signal_connected
...
[Core] Add way to check if a signal has any connections
2024-09-21 11:50:24 +02:00
Rémi Verschelde
621cadcf65
Merge pull request #97168 from Hilderin/fix-reloading-scripts-already-in-use
...
Fix reloading scripts already in use
2024-09-20 21:35:08 +02:00
Hilderin
9638220473
Fix reloading scripts already in use
2024-09-20 12:12:24 -04:00
A Thousand Ships
203d3be200
[Core] Add way to check if a signal has any connections
...
Added to `Object` and `Signal`
2024-09-20 16:39:09 +02:00
Rémi Verschelde
5070db2575
Merge pull request #97208 from kleonc/transform3d_aabb_multiplication_fix_csharp
...
Fix C# `operator *(Transform3D, Aabb)`
2024-09-20 16:06:56 +02:00
Rémi Verschelde
7e62565f1e
Merge pull request #95787 from timothyqiu/domestic
...
Add translation domain
2024-09-20 16:06:23 +02:00
Rémi Verschelde
6bf8a3e3f8
Merge pull request #95449 from SlashScreen/array_functions
...
Add callable support for `find` and `rfind` `Array` methods
2024-09-20 16:06:13 +02:00
kleonc
3bfadeff25
Fix C# operator *(Transform3D, AABB)
2024-09-20 00:18:54 +02:00
aaronp64
714357e55c
Assign return value on Variant operator failure
...
Variant operators for String formatting and "in" could result in errors, which would return from validated_evaluate without assigning r_ret. This would cause scripts using the return value from these operators to get results from previously run code. Updated to return the original String value in the String formatting case, and false for "in" when an error occurs.
2024-09-19 11:22:35 -04:00
Rémi Verschelde
b638967d01
Revert "Return error when no ResourceFormatLoader found."
...
This reverts commit 6df3621b47 .
Fixes #97153 .
2024-09-19 12:41:51 +02:00
Rémi Verschelde
d8a82a8945
Merge pull request #97068 from Mickeon/allow_joy_axis_invalid
...
Allow `JOY_AXIS_INVALID` in InputEventJoypadMotion's `axis`
2024-09-18 17:41:08 +02:00
Rémi Verschelde
57c868483a
Merge pull request #90703 from ZerxZ/core/classdb_get_api_type
...
Expose `ClassDB.class_get_api_type()` method
2024-09-18 17:40:39 +02:00
深淵の鴿子
949d24b388
Expose ClassDB::class_get_api_type method
2024-09-18 15:45:21 +01:00
David Snopek
971e154588
GDExtension: Allow directly getting `ObjectID` from `Variant`
2024-09-17 11:58:55 -05:00
kobewi
41d0971c7e
Fix path error when saving ProjectSettings
2024-09-17 15:05:20 +02:00
Haoyu Qiu
818acb4290
Make editor use translation domains
...
How editor plugins use this feature:
1. Pick a unique translation domain name.
2. `_enter_tree()`: load translations into that translation domain.
3. Call `set_translation_domain()` for its root UI node.
4. `_exit_tree()`: remove that translation domain.
Plugins can also set the translation domain to `godot.editor` for
nested nodes that should use editor translations. `EditorFileDialog`
automatically does this.
2024-09-17 13:09:44 +08:00
Haoyu Qiu
c5d147b9b5
Allow configuring which translation domain Object.tr uses
2024-09-17 13:09:44 +08:00
Haoyu Qiu
68d494e24e
Add translation domain
2024-09-17 13:09:44 +08:00
Clay John
48403b5358
Merge pull request #96959 from RandomShaper/revamp_languages_exit
...
WorkerThreadPool: Revamp interaction with ScriptServer
2024-09-16 16:05:57 -07:00
Pedro J. Estébanez
5d371e3378
WorkerThreadPool: Add safety point between languages finished and pool termination
2024-09-16 18:20:10 +02:00
Pedro J. Estébanez
2a483fa9ba
WorkerThreadPool: Refactor running and exit-requested as runlevels
2024-09-16 18:06:22 +02:00
Pedro J. Estébanez
2640960706
WorkerThreadPool: Improve logic
...
- The main thread function and the collaborative wait functions have a much more similar structure than earlier, which yields (pun intended) better maintainability.
- Also, there are not assertions anymore about the reason for ending a wait being valid, because spurious awakes can happen and so the assert would fail without that indicating an issue.
2024-09-16 18:03:36 +02:00
Rémi Verschelde
a6d84bc0ce
Merge pull request #97059 from Gaktan/fix_weird_msvc_compilation_error
...
Fix weird MSVC compilation error
2024-09-16 13:36:06 +02:00
Rémi Verschelde
46d9db565b
Merge pull request #96904 from RandomShaper/fix_previewer_deadlock
...
ResourceLoader: Fix deadlocks caused by the resource changed feature
2024-09-16 13:35:21 +02:00
Rémi Verschelde
f7daa0fb2f
Merge pull request #96856 from RandomShaper/selfdestruct_correctness
...
Object: Let debug lock handle callee destruction within call chain gracefully
2024-09-16 13:35:06 +02:00
Rémi Verschelde
08c5ce1d9c
Merge pull request #96797 from Repiteo/core/typed-dictionary-bracket-fix
...
Core: Fix `operator[]` for typed dictionaries
2024-09-16 13:35:02 +02:00
Rémi Verschelde
8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
...
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Rémi Verschelde
67c9708eb8
Merge pull request #95915 from BlueCube3310/betsy-bc1
...
Betsy: Add caching and BC1 compression support
2024-09-16 13:34:26 +02:00
Rémi Verschelde
91553f5811
Merge pull request #94246 from theashtronaut/fix-astar-partial-path
...
Fix AStar2D, AStar3D, AStarGrid2D from not returning a path when the destination is disabled/solid even with `allow_partial_path` option
2024-09-16 13:34:22 +02:00
Micky
3ecf346f12
Allow JOY_AXIS_INVALID in InputEventJoypadMotion's `axis`
2024-09-16 12:12:27 +02:00
Gaktan
453f32ae0a
Fix weird MSVC compilation error
...
For some reason, MSVC doesn't appreciate uint8 math with enum constants
2024-09-15 23:13:24 +02:00
Pedro J. Estébanez
e2fd88ed91
Revert "WorkerThreadPool: Enhance lifetime for more flexibility"
...
This reverts commit 2d1dd41ef5 .
2024-09-13 14:39:11 +02:00
Pedro J. Estébanez
e3ddf3d44a
ResourceLoader: Fixup resource changed feature (no. 2)
2024-09-13 11:32:55 +02:00
Rémi Verschelde
b60e16ff62
Merge pull request #96592 from bruvzg/alt_u
...
Add Control+Shift+U (rebindable) action for Unicode input, show hex as it is entered.
2024-09-13 11:21:51 +02:00
Slashscreen
89491f4403
Add callable support for `find` and `rfind` `Array` methods
2024-09-13 00:01:53 -07:00
allison
c46b5af06b
fix astar partial path destination can be solid/disabled
...
* AStar2D, AStar3D and AStarGrid2D will now return a path when allow_partial_path is true even if the destination is a solid/disabled point.
# Conflicts:
# core/math/a_star_grid_2d.cpp
# core/math/a_star_grid_2d.h
2024-09-12 20:09:41 -07:00
Thaddeus Crews
b3d7960df4
Core: Fix `operator[]` for typed dictionaries
2024-09-12 11:10:17 -05:00
A Thousand Ships
df29cc696f
[Core] Optionally delete `Ref` `nullptr` comparisons
...
Adds an optional (default false) compile option to enable comparing
`Ref` to `nullptr` to ensure correct use, as well as future expandsion
for more general dev checks (enabled with `dev_mode`)
2024-09-12 11:26:49 +02:00
bruvzg
b776f55bcb
Add Control+Shift+U (rebindabe) action for Unicode input, show hex as it is entered.
2024-09-12 11:47:24 +03:00
Rémi Verschelde
60ffa9645a
Merge pull request #96864 from KoBeWi/dictionerrory
...
Fix `Dictionary.merge()` type validation
2024-09-12 09:25:42 +02:00
Rémi Verschelde
f8fbb860f5
Merge pull request #95840 from raulsntos/char_metadata
...
Add metadata for `char16_t` and `char32_t`
2024-09-12 09:25:19 +02:00
Rémi Verschelde
23e51c3cb5
Merge pull request #92888 from Hilderin/fix-unable-to-use-resourceLoader-in-c#-after-threaded-load
...
Fix inability to use ResourceLoader in C# after threaded load in GDScript
2024-09-12 09:25:05 +02:00
Rémi Verschelde
cd9da3344f
Merge pull request #95292 from aaronp64/is_parent_class_perf
...
Improve `ClassDB::_is_parent_class` performance
2024-09-12 09:17:39 +02:00
Pedro J. Estébanez
10e2318bde
Object: Let debug lock handle callee destruction within call chain gracefully
...
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-09-12 08:51:24 +02:00
Raul Santos
aaffab8afb
Add metadata for `char16_t` and `char32_t`
...
We don't seem to expose any API that uses `char16_t` yet, but I added it anyway since we make the type info for it.
I didn't add anything for `wchar_t` because we are not making a type info so maybe we don't have a need for it yet, it could be added in the future.
To prevent breaking compatibility with the C# bindings, we ignore the `char32_t` metadata and still use `System.Int64`.
2024-09-12 02:15:55 +02:00
Hilderin
27d1fb63e1
Fix Unable to use ResourceLoader in C# after threaded load in GDScript #92798
2024-09-11 19:03:55 -04:00
BlueCube3310
606eedb0c9
Betsy: Add caching and BC1 compression support
2024-09-11 23:48:29 +02:00
David Snopek
c2af6bcb59
GDExtension: Mark virtual function as `is_required` in `extension_api.json`
...
Co-authored-by: Jovan Gerodetti <jovan.gerodetti@titannano.de>
2024-09-11 16:48:14 -05:00
kobewi
48d5b8a8b8
Fix Dictionary.merge() type validation
2024-09-11 17:22:49 +02:00
Rémi Verschelde
d8e5d61f22
Merge pull request #96787 from raulsntos/gdextension/remove-get-rid-func
...
Remove `get_rid_func` from `GDExtensionClassCreationInfo4`
2024-09-11 12:35:10 +02:00
Rémi Verschelde
658b8a8704
Merge pull request #96760 from RandomShaper/wtp_langs_exit_thread
...
Make use of languages' thread enter/exit more correct
2024-09-11 12:35:07 +02:00
Rémi Verschelde
3cad849b1f
Merge pull request #96586 from rune-scape/fix-empty-stringname-hash
...
StringName: Fix empty hash
2024-09-11 12:34:56 +02:00
Rémi Verschelde
0d3d4e67f3
Merge pull request #96501 from scgm0/Allow-class-names-to-be-unicode
...
GDExtension: Allow class names to be unicode
2024-09-11 12:34:49 +02:00
Rémi Verschelde
d1caac5e75
Merge pull request #93856 from timothyqiu/expression-period
...
Fix parsing of `4.` in Expression
2024-09-11 12:34:39 +02:00
Pedro J. Estébanez
c8acf561ef
Make languages' thread enter/exit more resilient
2024-09-10 17:22:32 +02:00
Raul Santos
9e57674550
Remove `get_rid_func` from `GDExtensionClassCreationInfo4`
2024-09-10 12:35:24 +02:00
Pedro J. Estébanez
2d1dd41ef5
WorkerThreadPool: Enhance lifetime for more flexibility
2024-09-10 11:08:51 +02:00
bruvzg
3009073b39
[Resource Loader] Do not check property type for non registered properties.
2024-09-10 11:27:16 +03:00
rune-scape
0dde931bc9
StringName: Fix empty hash
...
+Fixed compat hashes
2024-09-09 13:30:02 -07:00
scgm0
3badff1f53
Allow class names to be unicode
2024-09-07 05:46:28 +08:00
Rémi Verschelde
effbc07976
Merge pull request #96617 from RandomShaper/res_loader_pending
...
ResourceLoader: Add last resort life-time insurance for tokens
2024-09-06 22:38:41 +02:00
Rémi Verschelde
8aae31b879
Merge pull request #94434 from bruvzg/nonblock_pipes
...
Add support for non-blocking IO mode to `OS.execute_with_pipe`.
2024-09-06 22:38:21 +02:00
Rémi Verschelde
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
...
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Pedro J. Estébanez
97197ff5e9
ResourceLoader: Fixup resource changed feature
...
This is a complement to: https://github.com/godotengine/godot/pull/96593
2024-09-06 18:31:51 +02:00
Pedro J. Estébanez
ccd470d33c
ResourceLoader: Add last resort life-time insurance for tokens
2024-09-06 14:00:10 +02:00
bruvzg
10f3c1f587
Add support for non-blocking IO mode to `OS.execute_with_pipe`.
2024-09-06 14:16:39 +03:00
Rémi Verschelde
05d985496c
Merge pull request #96593 from RandomShaper/res_changed_multiverse
...
ResourceLoader: Add thread-aware resource changed mechanism
2024-09-06 11:11:13 +02:00
Rémi Verschelde
58b3481eaf
Merge pull request #89649 from dalexeev/core-bind-and-doc-iter-virtual-methods
...
Core: Bind and document iterator API virtual methods
2024-09-06 11:10:58 +02:00
Pedro J. Estébanez
74b9c38d58
ResourceLoader: Add thread-aware resource changed mechanism
2024-09-06 08:57:09 +02:00
Rémi Verschelde
a8e3feb788
Merge pull request #96244 from Repiteo/scons/msvc-__cplusplus
...
SCons: Pass `/Zc:__cplusplus` in MSVC builds
2024-09-05 19:42:51 +02:00
Rémi Verschelde
38447c545e
Merge pull request #93319 from 10Drenth/astar_jump_performance_improvement
...
Improve `AStarGrid2D` performance when jumping is enabled
2024-09-05 19:42:44 +02:00
Thaddeus Crews
4c84cb6ae8
SCons: Pass `/Zc:__cplusplus` in MSVC builds
2024-09-05 11:44:57 -05:00
Martijn
202e197717
Improve AStarGrid2D performance when jumping is enabled
2024-09-05 18:12:43 +02:00
Rémi Verschelde
4629f7d040
Merge pull request #96496 from aXu-AP/lerp-transform
...
Add support for Transform2D/3D in `lerp()`
2024-09-05 17:44:11 +02:00
Pedro J. Estébanez
c450f4d667
ResourceLoader: Simplify handling of unregistered tasks
2024-09-05 09:54:03 +02:00
Ryan
8835f326b1
Expose get_rpc_config and get_node_rpc_config
...
add documentation
Update doc/classes/Node.xml
change name of get_node_rpc_config to get_rpc_config
Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
Rémi Verschelde
cb21a207b3
Merge pull request #96555 from dalexeev/doc-theme-items-deprecated-experimental
...
Docs: Add missing deprecated/experimental tag support for theme items
2024-09-04 18:55:49 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
Danil Alexeev
2dd043d1f6
Docs: Add missing deprecated/experimental tag support for theme items
2024-09-04 17:49:05 +03:00
Rémi Verschelde
906a4e9db9
Merge pull request #96525 from bruvzg/rem_gl_renderer_incl
...
Store GLES over GL status in the OS to avoid direct renderer includes in the editor.
2024-09-04 11:16:48 +02:00
Rémi Verschelde
69ca549ef9
Merge pull request #92570 from rune-scape/rune-stringname-bits
...
StringName: `operator==` compares in-place
2024-09-04 11:16:32 +02:00
rune-scape
6abd17265b
StringName: operator== compares in-place
2024-09-03 17:31:08 -07:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde
d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
...
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
aXu-AP
7218dd6a3a
Add support for Transform2D/3D in lerp()
...
Implements godotengine/godot-proposals#10579
2024-09-03 16:59:15 +03:00
bruvzg
d4e78b8db5
Store GLES over GL status in the OS to avoid direct renderer includes in the editor.
2024-09-03 16:11:59 +03:00
Rémi Verschelde
262c8da104
Merge pull request #95887 from bruvzg/sysinfo_drv
...
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-03 11:43:12 +02:00
Rémi Verschelde
866099684c
Merge pull request #92667 from Hilderin/fix-addon-requires-editor-restart
...
Fix Addon requires editor restart to become functional
2024-09-03 11:42:52 +02:00
Hilderin
7dd235905e
Fix Addon requires editor restart to become functional
2024-09-02 16:54:45 -04:00
Rémi Verschelde
88197d4a51
Merge pull request #96462 from RandomShaper/opt_comp_loc
...
TranslationServer: Add fast path for comparison of equal locales
2024-09-02 12:14:01 +02:00
Rémi Verschelde
04f1977199
Merge pull request #96406 from Bromeon/bugfix/bool-in-header
...
Fix `bool` type appearing in GDExtension header
2024-09-02 12:13:42 +02:00
Pedro J. Estébanez
cfb7443e26
TranslationServer: Add fast path for comparison of equal locales
2024-09-02 10:50:14 +02:00
bruvzg
c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-01 18:22:40 +03:00
BlueCube3310
205a10e0ae
Reduce code duplication in FileAccess
2024-09-01 12:39:32 +02:00
Jan Haller
82b2a58f4c
Fix `bool` type appearing in GDExtension header
2024-08-31 22:40:48 +02:00
A Thousand Ships
194bdde947
Cleanup of raw `nullptr` checks with `Ref`
...
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Rémi Verschelde
52d1b0be4a
Merge pull request #96328 from object71/fix-animation-snap-96159
...
Add `modf` function and fix animation editor snap behavior
2024-08-30 23:38:02 +02:00
Rémi Verschelde
4c0ce657d5
Merge pull request #96322 from RandomShaper/wtp_info
...
WorkerThreadPool: Print info about thread count at startup
2024-08-30 23:37:58 +02:00
Danil Alexeev
49bcdf78a7
Core: Сheck `r_error` after calling `callp()`
2024-08-30 21:09:30 +03:00
Hristo Iliev
fcc8518bce
Add modf function and fix snap behavior
...
Fixes #96159
2024-08-30 17:49:57 +03:00
Pedro J. Estébanez
db4672f83f
WorkerThreadPool: Print info about thread count at startup
2024-08-30 13:04:46 +02:00
Rémi Verschelde
a5830f6eb9
Merge pull request #96317 from Chaosus/objectdb_write_path_instead_of_name_at_cleanup
...
Write path instead of name at verbose output of leaked instances
2024-08-30 11:43:13 +02:00
Rémi Verschelde
acc48797e1
Merge pull request #96303 from MBCX/huf-decompress-x64-only
...
zstd: Make sure `huf_decompress` is only applied to 64-bit x86.
2024-08-30 09:59:55 +02:00
Rémi Verschelde
909629d9f9
Merge pull request #96166 from AThousandShips/more_lock_raii
...
Use `MutexLock` in more places
2024-08-30 09:59:19 +02:00
Rémi Verschelde
f0ee0bdd37
Merge pull request #93972 from Hilderin/fix-editor-needs-restart-after-adding-gdextensions
...
Fix editor needs restart after adding GDExtensions
2024-08-30 09:59:05 +02:00
Rémi Verschelde
4c6bac15a3
Merge pull request #92656 from fire/vsk-json-to-native-4.3
...
Ability to convert native engine types to JSON and back.
2024-08-30 09:58:57 +02:00
Chaosus
75055a8278
Write path instead of name at verbose output of leaked instances
2024-08-30 10:58:50 +03:00
Rémi Verschelde
d5385491f6
Merge pull request #86183 from demolke/extras
...
Import/export GLTF extras to `node->meta` and back
2024-08-30 09:58:47 +02:00
MBCX
6b13236956
Make sure huf_decompress is only applied to 64-bit x86.
2024-08-29 17:12:09 -04:00
rune-scape
154049ce17
StringName Dictionary keys
...
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
K. S. Ernest (iFire) Lee
71bdbcdfb1
Ability to convert native engine types to JSON and back.
...
Implements support for all engine types in JSON encoding/decoding
Co-Authored-By: Juan <reduzio@gmail.com>
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-08-29 10:57:15 -07:00
demolke
c409e6d722
Import/export GLTF extras to node->meta
...
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.
- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
David Snopek
6d0a57c9fd
Fix loading GDExtensions in exported games
2024-08-29 09:50:56 -05:00
A Thousand Ships
e33fdb4296
Use `MutexLock` in more places
2024-08-29 14:12:59 +02:00
Hilderin
ef6f873938
Fix editor needs restart after adding GDExtensions
2024-08-29 06:15:32 -04:00
Rémi Verschelde
cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
...
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +02:00
Alula
346cbc7f1f
Add support for compiling with VS clang-cl toolset
2024-08-28 13:30:44 -05:00
Rémi Verschelde
622393c115
Merge pull request #95317 from esainane/when-i-am-64
...
binder_common: Fix uninitialized marshalling for `PtrToArg<char32_t>`
2024-08-28 17:15:05 +02:00
Rémi Verschelde
e439154407
Merge pull request #96225 from RandomShaper/wtp_fix_yield
...
WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocks
2024-08-28 15:46:57 +02:00
Rémi Verschelde
9f05ca9fc5
Merge pull request #96218 from RandomShaper/res_loader_user_case
...
ResourceLoader: Handle another case of user tokens
2024-08-28 15:46:53 +02:00
Rémi Verschelde
8c5d1b42ab
Merge pull request #92530 from Naros/expose-resource-cache-get-ref
...
Expose `get_cached_ref` from `ResourceCache`
2024-08-28 15:46:35 +02:00
Pedro J. Estébanez
5dade0e08b
WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocks
2024-08-28 15:26:08 +02:00
Pedro J. Estébanez
0441c67de6
ResourceLoader: Handle another case of user tokens
2024-08-28 13:53:39 +02:00
Rémi Verschelde
de7d4b6f5b
Merge pull request #94920 from gongpha/bring-back-print-verbose-when-loading-resources
...
Fix ResourceLoader is not printing a resource path on loading when `verbose_stdout` is enabled
2024-08-28 00:12:38 +02:00
Rémi Verschelde
56ffcabae1
Merge pull request #94792 from akien-mga/core-remove-poolallocator
...
Core: Remove unused PoolAllocator
2024-08-28 00:12:20 +02:00
Rémi Verschelde
71accb9008
Merge pull request #94679 from rune-scape/remove-unused-initialize_ref
...
Remove unused `initialize_ref`
2024-08-28 00:12:16 +02:00
Rémi Verschelde
3e8d051a4a
Merge pull request #94068 from dalexeev/core-remove-is-gpl-reversed
...
Core: Remove unused method `_is_gpl_reversed()`
2024-08-28 00:11:58 +02:00
Rémi Verschelde
330fca1ffd
Merge pull request #93985 from alvinhochun/windows-gpu-pref
...
Respect integrated GPU preference in Windows Settings
2024-08-28 00:11:45 +02:00
Rémi Verschelde
2fadd095a7
Merge pull request #93893 from Togira123/fix-rand-weighted-return-value
...
Fix `rand_weighted` incorrectly returning -1
2024-08-28 00:11:35 +02:00
Rémi Verschelde
1e6b6eaf49
Merge pull request #92123 from timothyqiu/estimate-end
...
Change param name of AStar's `_estimate_cost` method
2024-08-28 00:10:47 +02:00
Rémi Verschelde
9c7cf5440c
Merge pull request #91868 from Chaosus/astargrid_get_point_positions_in_region
...
Add a method to retrieve all points within a region to `AStarGrid2D`
2024-08-28 00:10:42 +02:00
Kongfa Waroros
bfb5570c03
Fix ResourceLoader is not verbosely printing a resource path on loading
2024-08-28 03:37:51 +07:00
Rémi Verschelde
012ccbc301
Merge pull request #95048 from KoBeWi/keep_the_party_going
...
Add `keep_screen_on` editor setting
2024-08-27 22:27:35 +02:00
Rémi Verschelde
8ae2c3a000
Merge pull request #93605 from RadiantUwU/thread-barriers
...
Add optional count argument to `Semaphore::post`
2024-08-27 22:27:21 +02:00
Rémi Verschelde
6e3320446a
Merge pull request #92799 from BlueCube3310/image-detech-signed
...
Image: Add a method for detecting signed values
2024-08-27 22:27:18 +02:00
Danil Alexeev
be5068d44b
Core: Bind and document iterator API virtual methods
2024-08-27 21:57:22 +03:00
Rémi Verschelde
142d33211c
Merge pull request #96173 from Repiteo/core/fix-unreachable-code
...
Core: Fix unreachable code
2024-08-27 17:52:47 +02:00
Rémi Verschelde
431c5839fe
Merge pull request #96168 from CreatedBySeb/remove-user-prefix
...
Remove confusing USER prefix from script-logged errors
2024-08-27 17:52:40 +02:00
Thaddeus Crews
231f3323d3
Core: Fix unreachable code
2024-08-27 10:26:06 -05:00
Radiant
6311ee5bd5
Add optional count argument to Sempahore::post
...
Co-authored-by: RandomShaper <RandomShaper@users.noreply.github.com>
Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Mickeon <Mickeon@users.noreply.github.com>
2024-08-27 18:18:01 +03:00
Rémi Verschelde
9dfc41568a
Merge pull request #95984 from timothyqiu/what-identifier
...
Add `String.is_valid_unicode_identifier()`
2024-08-27 16:55:06 +02:00
Sébastien Dunne Fulmer
c3ed8a842c
Remove confusing USER prefix from script-logged errors
2024-08-27 15:00:48 +01:00
Danil Alexeev
2d8f6c1b1d
GDScript: Fix message when calling non-tool function in tool mode
2024-08-27 12:30:15 +03:00
BlueCube3310
76c8211653
Image: Add a method for detecting signed values
2024-08-27 09:23:17 +02:00
Haoyu Qiu
8bf4ecc026
Add `String.is_valid_unicode_identifier()`
...
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Rémi Verschelde
2e825c7d9c
Merge pull request #93141 from RadiantUwU/add_static_classdb_calls
...
Implement `ClassDB::class_call_static_method`
2024-08-26 23:28:36 +02:00
Rémi Verschelde
c7702b350a
Merge pull request #92548 from AThousandShips/string_cleaning
...
[Core] Optimize some `String` methods
2024-08-26 23:28:24 +02:00
Rémi Verschelde
ac5a528620
Merge pull request #84944 from KoBeWi/legacy_of_ancient_godots
...
Fix some legacy code
2024-08-26 23:28:14 +02:00
Rémi Verschelde
8019cdb444
Merge pull request #94137 from Craig-Stoneham/master
...
Improve template class conditionals with constexpr (code style)
2024-08-26 22:45:17 +02:00
Rémi Verschelde
ce44c91223
Merge pull request #93739 from AThousandShips/lock_unlock
...
[Core] Allow locking/unlocking of `MutexLock`
2024-08-26 22:45:13 +02:00
Rémi Verschelde
0f16336be0
Merge pull request #93526 from m4gr3d/add_apksigner_util
...
[Android Editor] Add support for exporting platform binaries
2024-08-26 22:45:09 +02:00
Rémi Verschelde
b78da13e2a
Merge pull request #93064 from Hilderin/fix-fileSystem-dock-wont-show-any-file-folders
...
Fix FileSystem dock won't show any file folders (v2)
2024-08-26 22:45:04 +02:00
Rémi Verschelde
8dad1ba482
Merge pull request #92933 from TokageItLab/match-concatenating
...
Match the coding style for concatenating String
2024-08-26 22:44:59 +02:00
Fredia Huya-Kouadio
794ea99240
Update the storage access handler logic to support accessing / retrieving contents with the `assets:/` prefix
2024-08-26 11:16:37 -07:00
Pedro J. Estébanez
9cbc3f1419
Change warning muting so it affects all levels, but locally
2024-08-26 13:13:29 +02:00
A Thousand Ships
723f5500f4
[Core] Allow locking/unlocking of `MutexLock`
2024-08-26 12:38:03 +02:00
Rémi Verschelde
0ba0be27c7
Merge pull request #94169 from RandomShaper/wtp_rl_prize
...
Batch of fixes for `WorkerThreadPool` and `ResourceLoader`
2024-08-26 10:51:25 +02:00
Rémi Verschelde
04f6321ecc
Merge pull request #91166 from raulsntos/gdextension/loader
...
GDExtension: Implement `GDExtensionLoader` concept
2024-08-26 10:51:21 +02:00
Rémi Verschelde
b4f268fae8
Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner
...
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-26 10:51:17 +02:00
Craig-Stoneham
604df4fc83
Improve Template Class Conditionals (Code Style)
...
Refactored the following template classes by replacing runtime checks with compile-time checks using if constexpr for improved code clarity and maintainability:
- RID_Alloc
- SortArray
- PagedAllocator
Changes made:
- Updated conditional checks for THREAD_SAFE in the RID_Alloc class.
- Updated conditional checks for Validate in the SortArray class.
- Updated conditional checks for thread_safe in the PagedAllocator class.
2024-08-25 18:10:51 +01:00
Matias N. Goldberg
59d0422dcd
Disable extra memory tracking by default
...
PR #90993 added several debugging utilities.
Among them, advanced memory tracking through the use of custom
allocators and VK_EXT_device_memory_report.
However as issue #95967 reveals, it is dangerous to leave it on by
default because drivers (or even the Vulkan loader) can too easily
accidentally break custom allocators by allocating memory through std
malloc but then request us to deallocate it (or viceversa).
This PR fixes the following problems:
- Adds --extra-gpu-memory-tracking cmd line argument
- Adds missing enum entries to
RenderingContextDriverVulkan::VkTrackedObjectType
- Adds RenderingDevice::get_driver_and_device_memory_report
- GDScript users can easily check via print(
RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
)
- Uses get_driver_and_device_memory_report on device lost for appending
further info.
Fixes #95967
2024-08-24 20:52:39 -03:00
Radiant
02fc4bbc2a
Implement `ClassDB::class_call_static_method`
2024-08-23 02:56:29 +03:00
Raul Santos
4dd6e8eca5
GDExtension: Implement `GDExtensionLoader` concept
...
- Implements the concept of GDExtension loaders that can be used to customize how GDExtensions are loaded and initialized.
- Moves the parsing of `.gdextension` config files to the new `GDExtensionLibraryLoader`.
- `GDExtensionManager` is now meant to be the main way to load/unload extensions and can optionally take a `GDExtensionLoader`.
- `EditorFileSystem` avoids unloading extensions if the file still exists, this should prevent unloading extensions that are outside the user project.
2024-08-22 05:29:11 +02:00
Rémi Verschelde
568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
...
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Rémi Verschelde
39b77ea04e
Merge pull request #95790 from aaronfranke/rect-aabb-support
...
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +02:00
Rémi Verschelde
091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
...
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
Matias N. Goldberg
364f916f3f
Add debug utilities for Vulkan
...
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
- Debug-only Breadcrumb info for debugging GPU crashes and device lost
- Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks
Functionality marked as "debug-only" is only available in debug or dev
builds.
Misc fixes:
- Early break optimization in RenderingDevice::uniform_set_create
============================
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
Pedro J. Estébanez
f4d76853b9
WorkerThreadPool (plus friends): Overhaul unlock allowance zones
...
This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.
2024-08-21 12:22:52 +02:00
Pedro J. Estébanez
df23858488
ResourceLoader: Fix edge cases in the management of user tokens
...
1. Make handling of user tokens atomic:
Loads started with the external-facing API used to perform a two-step setup of the user token. Between both, the mutex was unlocked without its reference count having been increased. A non-user-initiated load could therefore destroy the load task when it unreferenced the token.
Those stages now happen atomically so in the one hand, the described race condition can't happen so the load task life insurance doesn't have a gap anymore and, on the other hand, the ugliness that the call to load could return `ERR_BUSY` if happening while other thread was between both steps is gone.
The code has been refactored so the user token concerns are still outside the inner load start function, which is agnostic to that for a cleaner implementation.
2. Clear ambiguity between load operations running on `WorkerThreadPool`:
The two cases are: single-loaded thread directly started by a user pool task and a load started by the system as part of a multi-threaded load.
Since ensuring all the code dealing with this distinction would make it very complex, and error-prone, a different measure is applied instead: just take one of the cases out of the dicotomy. We now ensure every load happening on a pool thread has been initiated by the system.
The way of achieving that is that a single-threaded user-started load initiated from a pool thread, is run as another task.
2024-08-21 12:22:52 +02:00
Pedro J. Estébanez
5c970db2e4
ResourceLoader: Optimize remap check by deferring until a non-mutex zone
2024-08-21 12:19:43 +02:00
Pedro J. Estébanez
28619e26cf
ResourceLoader: Enhance deadlock prevention
...
Benefits:
- Simpler code. The main load function is renamed so it's apparent that it's not just a thread entry point anymore.
- Cache and thread modes of the original task are honored. A beautiful consequence of this is that, unlike formerly, re-issued loads can use the resource cache, which makes this mechanism much more performant.
- The newly added getter for caller task id in WorkerThreadPool allows to remove the custom tracking of that in ResourceLoader.
- The check to replace a cached resource and the replacement itself happen atomically. That fixes deadlock prevention leading to multiple resource instances of the same one on disk. As a side effect, it also makes the regular check for replace load mode more robust.
2024-08-21 12:19:43 +02:00
Pedro J. Estébanez
bd0959ebdd
ResourceLoader: Properly push & pop TLS state on recursive load tasks
2024-08-21 12:19:43 +02:00
Rémi Verschelde
5ca419e32c
Merge pull request #94801 from gamelessone/fix-cond-var
...
Fix use-after-free of `ConditionVariable` in `ResourceLoader`
2024-08-21 11:14:22 +02:00
Rémi Verschelde
4b8946102b
Merge pull request #91535 from BlueCube3310/betsy-bc6h
...
Add Betsy to speed up BC6 compression
2024-08-21 06:38:03 +02:00
Hilderin
1b0c5cbc01
Fix FileSystem dock won't show any file folders (v2)
2024-08-20 21:23:13 -04:00
aaronp64
7593e55527
Improve Editor Inspector/Theme item lookup performance
...
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab
- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call
These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
Daylily-Zeleen
3d575801ce
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-20 20:19:02 +08:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS
2024-08-20 12:11:06 +02:00
Rémi Verschelde
6a9ecdcf0c
Merge pull request #91818 from rburing/fti_multimesh
...
Physics interpolation: `MultiMesh`
2024-08-20 10:01:46 +02:00
Aaron Franke
7db24a9ad5
Simplify and fix Rect2/AABB get_support function
2024-08-19 23:55:31 -07:00
Rémi Verschelde
af919a845f
Merge pull request #94683 from kisg/string_name_fix
...
StringName: Use inline static field definitions
2024-08-19 16:05:16 +02:00
Rémi Verschelde
6a829d5a86
Merge pull request #95508 from Summersay415/loaded-when-not
...
Return error when no ResourceFormatLoader found
2024-08-19 14:34:17 +02:00
Rémi Verschelde
86212c1fe4
Merge pull request #94666 from RandomShaper/fix_tangled_obj_clear_crash
...
Avoid potential crash on signal disconnection
2024-08-19 14:33:44 +02:00
Pedro J. Estébanez
e9407d4877
ResourceLoader: Revert workaround resource loading crashes due to buggy TLS
...
This reverts commit 41c0785636 .
2024-08-19 12:22:31 +02:00
Pedro J. Estébanez
32b7f835d8
Avoid potential crash on signal disconnection
2024-08-19 12:18:04 +02:00
Rémi Verschelde
ab2b06b8b1
Merge pull request #95730 from voidedWarranties/fix_reload_scripts_bind
...
Fix virtual binding for `ScriptLanguageExtension::_reload_scripts`
2024-08-19 12:09:39 +02:00
Rémi Verschelde
4afcbb1c8b
Merge pull request #92546 from AThousandShips/faster_replace
...
[Core] Optimize `String::replace` methods
2024-08-19 12:08:45 +02:00
Rémi Verschelde
f4037d6f6c
Merge pull request #92496 from clayjohn/HDR-2D-sRGB
...
Ensure MovieWriter output is in gamma space when using HDR 2D
2024-08-19 12:08:40 +02:00
Ricardo Buring
1728f80e7c
Fixed Timestep Interpolation: MultiMesh
...
Adds fixed timestep interpolation to multimeshes.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-08-18 17:14:59 +02:00
mosquito chang
b32395ade9
Fix `InputMap::event_get_index` to handle unmatched events correctly
2024-08-18 14:46:34 +02:00
BlueCube3310
394ea653aa
Add Betsy to speed up BC6 compression
2024-08-18 11:14:05 +02:00
voidedWarranties
d65ea6fb9c
Fix virtual binding for `ScriptLanguageExtension::_reload_scripts`
2024-08-17 21:09:32 -07:00
Rémi Verschelde
49e5fbfbd2
Merge pull request #95184 from jsjtxietian/shader-include-relative
...
Fix `String::simplify_path` handling of relative paths to parent dir (`../`), fixes relative shader includes
2024-08-17 00:46:11 +02:00
Rémi Verschelde
82adfebcf8
Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
...
Android memory cleanup and optimizations
2024-08-16 23:45:39 +02:00
Fredia Huya-Kouadio
a57a99f5bc
Memory cleanup and optimizations
...
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects
- Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables
- Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use
- Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations
- Disable showing the boot logo for Android XR projects
- Delete locale references of jni strings
2024-08-16 09:27:41 -07:00
Rémi Verschelde
803dfcc3cb
Merge pull request #95613 from timothyqiu/split-empty
...
Fix `split_floats` behavior when spaces are used as separators
2024-08-16 14:36:40 +02:00
Rémi Verschelde
f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
...
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde
1d4303c1fe
Merge pull request #95502 from bruvzg/net_ext_detect
...
[.NET] Move search in files extension list definition to be after Scene level module init.
2024-08-16 14:35:12 +02:00
Rémi Verschelde
69db19f058
Merge pull request #94826 from Naros/classdb-expose-property-getter-setter
...
Expose ClassDB methods `get_property_setter` / `get_property_getter`
2024-08-16 14:32:32 +02:00
Rémi Verschelde
6042c66663
Merge pull request #94720 from noidexe/fix-gamepad-triggers
...
Fix gamepad triggers not working on web exports
2024-08-16 14:32:27 +02:00
Haoyu Qiu
f483c3aafa
Fix split_floats behavior when spaces are used as separators
2024-08-16 17:30:44 +08:00
Rémi Verschelde
ae2044dccb
Merge pull request #95477 from RandomShaper/res_load_dev_bugs
...
ResourceLoader: Use better error handling for possible engine bugs
2024-08-16 10:36:33 +02:00