Rémi Verschelde
cae7599498
Merge pull request #87741 from akien-mga/sync-gamecontrollerdb
...
Sync controller mappings DB with SDL2 community repo
2024-01-30 17:48:22 +01:00
Rémi Verschelde
3dfedd69ea
Merge pull request #87711 from matthew1006/threaded-loading-progress-fix
...
Fix `ResourceLoader.load_threaded_get_status` returning `[0]` constantly in exported projects.
2024-01-30 17:48:11 +01:00
Rémi Verschelde
10445d80d8
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@232c738ce0
2024-01-30 15:14:27 +01:00
lawnjelly
4577dfdb67
Shadow volume culling and tighter shadow caster culling
...
Existing shadow caster culling takes no account of the camera.
This PR adds the highly encapsulated class RenderingLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
2024-01-30 08:38:31 +00:00
Rémi Verschelde
b65c495d6e
Merge pull request #86845 from RandomShaper/no_load_regress
...
Avoid regressing in progress reporting in resource load
2024-01-29 21:33:00 +01:00
Matthew Edwards
7565d1f3ab
Push p_original_path into load_paths_stack and sub_tasks instead of p_path.
2024-01-29 17:27:57 +00:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
...
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
074b4eb770
Merge pull request #87627 from RandomShaper/one_more_undef
...
Undefine yet another macro from Windows headers
2024-01-29 13:17:45 +01:00
Rémi Verschelde
c1dbaa73a6
Merge pull request #87393 from stuartcarnie/bugfix
...
Use `os_unfair_lock` on Apple platforms
2024-01-29 13:17:00 +01:00
Rémi Verschelde
269145f48a
Merge pull request #87300 from Calinou/math-normalize-error-show-value
...
Display values in vector/quaternion math function errors
2024-01-29 13:16:51 +01:00
Rémi Verschelde
07d290e67e
Merge pull request #83747 from Riteo/gdext-doc
...
GDExtension: Add an interface for loading extra documentation
2024-01-29 13:15:57 +01:00
Rémi Verschelde
f220d46cdc
Merge pull request #80231 from romlok/input-key-location
...
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this->
expressions
2024-01-29 09:59:18 +01:00
Hugo Locurcio
0437db0106
Display values in vector/quaternion math function errors
...
This can help track down the source of the error more easily.
2024-01-28 18:45:46 +01:00
Yuri Sizov
815038962f
Improve error reporting in the asset library and in related types
...
This also makes errors related to asset image loading
verbose-only, because, frankly, users can't do much about
those errors. Spamming them with error messages
about some assets on the frontend being broken
is pointless.
2024-01-26 20:33:22 +01:00
Pedro J. Estébanez
bcc96441d6
Undefine yet another macro from Windows headers
2024-01-26 19:43:43 +01:00
Yuri Sizov
9c919ea285
Generate script resource preview without parsing
2024-01-26 19:04:10 +01:00
Mel Collins
8406e60522
Add InputEventKey.location to tell left from right
...
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.
It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
Riteo
f468e59efd
GDExtension: add an interface for loading extra documentation
...
Adds two new GDExtension interface methods:
- `editor_help_load_xml_from_utf8_chars`
- `editor_help_load_xml_from_utf8_chars_and_len`
Both of these methods parse the XML passed into an extra documentation
container which, when needed, is merged into the main doc container.
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-01-26 13:53:33 +01:00
Rémi Verschelde
e5ecf95c1a
Merge pull request #87571 from 0x0ACB/fam_offby1
...
Fix `FileAccessMemory` off by one error in `eof_reached`
2024-01-26 11:49:06 +01:00
Rémi Verschelde
e0dc23367c
Remove now unused year
member from version.py
...
We changed copyright to use "present" for the current year, so we no
longer need to hardcode this and (like now) forget to bump it yearly.
2024-01-25 15:08:34 +01:00
ACB
2561f6fc52
Fix FileAccessMemory off by one error in eof_reached
2024-01-25 10:35:51 +01:00
Yuri Sizov
412f5b3422
Merge pull request #87353 from OverloadedOrama/max-undo-steps
...
Implement maximum undo steps in UndoRedo
2024-01-24 14:08:25 +01:00
Emmanouil Papadeas
c73bfd5d81
Implement maximum undo steps in UndoRedo
2024-01-22 21:38:10 +02:00
Stuart Carnie
e28b31ec96
Use os_unfair_lock
on Apple platforms
2024-01-21 06:23:09 +11:00
Rémi Verschelde
0bcc0e92b3
Merge pull request #86730 from reduz/64-bit-cowdata
...
Promote CowData to 64 bits
2024-01-19 18:46:11 +01:00
Juan Linietsky
24fe0715b5
Promote CowData to 64 bits
...
Fixes a lot of bugs, please help me fill the list.
2024-01-19 17:41:10 +01:00
Yuri Sizov
2ababdcc06
Merge pull request #87324 from jsjtxietian/action-exist
...
Check action exists in `Input.action_press` and `action_release`
2024-01-18 19:27:06 +01:00
Yuri Sizov
66b0bd9203
Merge pull request #86158 from Geometror/ge-connection-rework
...
Rework `GraphEdit` connections (drawing, API, optimizations)
2024-01-18 19:26:56 +01:00
Hendrik Brucker
9d7c2978f4
Rework GraphEdit connections (drawing, API, optimizations)
...
- GraphEdit now uses Line2D nodes to draw connection lines and uses a dedicated canvas item shader for them
2024-01-18 16:53:15 +01:00
Rémi Verschelde
266ae93291
Merge pull request #87331 from KoBeWi/you_can_ref_count_on_that
...
Simplify RefCounted check in `free()`
2024-01-18 16:35:38 +01:00
Rémi Verschelde
baf87e2717
Merge pull request #87294 from vnen/allow-free-callable
...
Allow `free()` to be used as Callable
2024-01-18 16:35:14 +01:00
George Marques
b4e08eb752
Allow free()
to be used as Callable
...
This method is registered in a special way so ClassDB doesn't naturally
know about its existence. Here it is hardcoded if any other option fail
to check if it is about the `free()` method and, if so, say it exists
and return a Callable.
2024-01-18 09:33:44 -03:00
kobewi
2de8bc00a1
Simplify RefCounted check in free()
2024-01-18 12:29:58 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
...
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
jsjtxietian
4b3a12f4ee
Check action exists in Input.action_press
and action_release
2024-01-18 16:18:16 +08:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread
2024-01-17 13:58:29 -05:00
Yuri Sizov
b6a2c78033
Merge pull request #87286 from akien-mga/fix-preprocessor-if-ENABLED-checks
...
Fix `#if *_ENABLED` inconsistencies, should check if defined
2024-01-17 18:53:33 +01:00
Yuri Sizov
c027aecc2e
Merge pull request #86676 from rune-scape/sparse-script-reload
...
GDScript: Hot-reload changed scripts only
2024-01-17 18:52:54 +01:00
Rémi Verschelde
0a7579b161
Fix #if *_ENABLED
inconsistencies, should check if defined
...
Co-authored-by: Caroline Joy Bell <halotroop2288@proton.me>
2024-01-17 10:30:15 +01:00
Rémi Verschelde
1debbaa468
Merge pull request #87169 from 0x0ACB/debugger_deadlock
...
Fix deadlock in `RemoteDebugger::debug`
2024-01-16 10:36:25 +01:00
ACB
c976306628
fix deadlock in RemoteDebugger::debug
2024-01-14 11:07:14 +01:00
A Thousand Ships
b4191bf8f6
[Core] Fix AABB.encloses
failing on shared upper bound
...
This differs from `Rect2(i)` and was fixed for those classes in the past
2024-01-12 17:58:42 +01:00
Rémi Verschelde
26b1fd0d84
Merge pull request #87029 from bruvzg/info_plist_keys
...
[macOS/iOS export] Add option to set custom Info.plist data.
2024-01-11 20:46:02 +01:00
bruvzg
491077239c
[macOS/iOS export] Add option to set custom Info.plist data.
2024-01-11 21:05:35 +02:00
RedMser
608b5d2e07
Fix recursive resource local to scene
...
Any resource that contains other local to scene resources inside of
arrays or dictionaries will now be duplicated and configured.
The case where a scene's node has an exported array/dictionary
property containing local to scene resources is NOT handled here.
2024-01-11 20:02:14 +01:00
Rémi Verschelde
ed0be57bff
Merge pull request #87062 from aaronfranke/exr-grayscale-false
...
Give EXR saving methods a default value of false like the bindings
2024-01-11 17:43:02 +01:00
Rémi Verschelde
dc79e956b6
Merge pull request #86587 from RandomShaper/wtp_enhance
...
Enhance & fix `WorkerThreadPool`
2024-01-11 17:38:09 +01:00
Aaron Franke
a120f11c1e
Give EXR saving methods a default value of false like the bindings
2024-01-10 15:53:40 -06:00
kobewi
0e8f90f4c8
Update deferred calls to use Callables
2024-01-09 16:11:47 +01:00
kobewi
2e09985c0d
Fix² behavior of ResourceFormatLoader CACHE_MODE_REPLACE
2024-01-09 16:01:37 +01:00
Rémi Verschelde
9ca3d3ec83
Revert "Fix behavior of ResourceFormatLoader CACHE_MODE_REPLACE
"
2024-01-09 10:49:14 +01:00
Pedro J. Estébanez
a731774813
WorkerThreadPool: Avoid most runtime allocations
...
Just a little optimization.
**NOTE:**
With `RID_Owner` we could replace each pair of `PagedAllocator` and
`HashMap`-of-ids-to-pointers. However, that would force us to expose
`RID` as the task/group id, instead of `int`, which would break the
API. Too bad. Let's wait until Godot 5.0.
2024-01-08 12:46:31 +01:00
Pedro J. Estébanez
ae418f9469
WorkerThreadPool: Avoid deadlocks when CommandQueueMT is involved
...
This commit lets CommandQueueMT play nicely with the WorkerThreadPool to avoid
non-progressable situations caused by an interdependence between both. While a
command queue is being flushed, it allows the WTP to release its lock while tasks
are being awaited so they can make progress in case they need in turn to post
to the command queue.
2024-01-08 12:45:43 +01:00
Pedro J. Estébanez
9444d297ed
WorkerThreadPool: Overhaul scheduling and synchronization
...
This commits rewrites the sync logic in a way that the
`use_system_threads_for_low_priority_tasks` setting, which was added due to
the lack of a cross-platform wait-for-multiple-objects functionality, can be
removed (it's as if it was effectively hardcoded to `false`).
With the new implementation, we have the best of both worlds: threads don't
have to poll, plus no bespoke threads are used.
In addition, regarding deadlock prevention, since not every possible case of
wait-deadlock could be avoided, this commits removes the current best-effort
avoidance mechanisms and keeps only a simple, pessimistic way of detection.
It turns out that the only current user of deadlock prevention, ResourceLoader,
works fine with it and so every possible situation in resource loading is now
properly handled, with no possibilities of deadlocking. There's a comment in
the code with further details.
Lastly, a potential for load tasks never being awaited/disposed is cleared.
2024-01-08 12:45:42 +01:00
Rémi Verschelde
9bacd02297
Merge pull request #86827 from bruvzg/ploc_out_of_bounds
...
[Pseudolocalization] Prevent out of bounds reads.
2024-01-08 11:57:55 +01:00
Rémi Verschelde
81f618d63a
Merge pull request #85180 from AThousandShips/self_list_fix
...
[Core] Prevent copying of `SelfList` and `SelfList::List`
2024-01-08 11:51:27 +01:00
A Thousand Ships
904ecb1d36
[Core] Prevent copying of SelfList
and SelfList::List
...
Copying of these types is unsafe and should be detected
Also removed unnecessary constructors for `TileMap` `DebugQuadrant` and
`RenderingQuadrant` which used copying of `SelfList::List`
2024-01-07 00:48:23 +01:00
Pedro J. Estébanez
f5ca58d32f
Avoid regressing in progress reporting in resource load
2024-01-05 19:33:58 +01:00
Muller-Castro
96a95cb974
Add const lvalue ref to container parameters
2024-01-05 14:49:57 -03:00
bruvzg
e7bdb60e56
[Pseudolocalization] Prevent out of bounds reads.
2024-01-05 14:10:26 +02:00
Rémi Verschelde
d1b7c60afc
Merge pull request #77712 from nklbdev/Fix_lossless_formats_in_PortableCompressedTexture2D
...
Fix lossless formats in PortableCompressedTexture2D
2024-01-05 12:02:14 +01:00
nklbdev
47d991678d
Fix lossless formats in PortableCompressedTexture2D
...
Update scene/resources/portable_compressed_texture.cpp
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-05 00:11:01 +05:00
Rémi Verschelde
5d44c85d4c
Merge pull request #84107 from BlueCube3310/file-access-optimization
...
Use platform-specific methods for FileAccess reading and writing
2024-01-04 16:39:47 +01:00
Rémi Verschelde
acd37f98c0
Merge pull request #83353 from Chubercik/expose_delaunay_3d
...
Expose 3D Delaunay tetrahedralization in `Geometry3D`
2024-01-04 16:39:23 +01:00
Rémi Verschelde
2bffa3cbc5
Merge pull request #82639 from golfinq/gdscript-improve-indexing-error
...
GDScript: Improve error messages for invalid indexing
2024-01-04 16:38:58 +01:00
Rémi Verschelde
01e7c26e39
Merge pull request #86753 from Mickeon/autocompletion-engine-singletons
...
Add autocompletion for `Engine.get_singleton` & similar
2024-01-04 14:26:33 +01:00
Rémi Verschelde
18e9133d5a
Merge pull request #86364 from aaronfranke/basis-divide
...
Add and expose Basis/Transform2D/3D division by float operator
2024-01-04 14:26:16 +01:00
Rémi Verschelde
0fa767beff
Merge pull request #84508 from jsjtxietian/clean-copy
...
Clean unnecessary copy detected by clang-tidy
2024-01-04 14:25:58 +01:00
Rémi Verschelde
5fd5176a79
Merge pull request #84462 from MewPurPur/optimize-humanizesize
...
Optimize `String.humanize_size()`
2024-01-04 14:25:40 +01:00
Rémi Verschelde
6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
...
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde
b66d16fcc9
Merge pull request #84375 from Rubonnek/use-const-reference
...
Add const references in `String` class
2024-01-04 14:25:27 +01:00
Rémi Verschelde
bbfcfe50da
Merge pull request #81267 from Chaosus/astargrid_isometric_mode
...
Add isometric cell shape mode to `AStarGrid2D`.
2024-01-04 14:25:00 +01:00
Micky
5c87b6eae8
Add autocompletion for Engine.get_singleton
& similar
2024-01-03 18:43:46 +01:00
Rémi Verschelde
4acfe4aa3c
Merge pull request #86729 from Mickeon/autocompletion-for-all
...
Fix missing autocompletion for inheriting classes
2024-01-03 10:14:37 +01:00
Rémi Verschelde
a97b01c2ac
Merge pull request #86412 from stuartcarnie/sgc/data_race
...
Fix data race in PagedArray
2024-01-03 10:01:06 +01:00
Rémi Verschelde
ca7fb29203
Merge pull request #84800 from gshadows/fix_options_range
...
Fix unlimited project option ranges that could cause crashes.
2024-01-03 09:59:31 +01:00
Rémi Verschelde
22e880ad20
Merge pull request #83163 from Chubercik/vectorXi_dist_methods
...
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2024-01-03 09:58:36 +01:00
Stuart Carnie
70bfd5d065
fix: data race in PagedArray
2024-01-03 13:17:01 +11:00
rune-scape
cde478bda6
Hot-reload only changed scripts
2024-01-02 17:56:52 -08:00
Micky
ca2f340384
Fix missing autocompletion for inheriting classes
2024-01-03 00:13:04 +01:00
Rémi Verschelde
37df2ff387
Merge pull request #86682 from Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open
...
Distinguish between dynamic library not found and can't be opened.
2024-01-02 18:06:17 +01:00
Rémi Verschelde
8317b459df
Merge pull request #86590 from rune-scape/rune-uninitialized-astar
...
Initialize pointers in a_star.cpp
2024-01-02 18:05:48 +01:00
Rémi Verschelde
14b1bb47a7
Merge pull request #86570 from RandomShaper/remove_traces_of_rid_prealloc
...
Remove traces of the extinct RID preallocate feature
2024-01-02 18:05:41 +01:00
Rémi Verschelde
cf519ab898
Merge pull request #86551 from bruvzg/agility_dynamic_load
...
[D3D12] Dynamically load Agility SDK.
2024-01-02 18:05:33 +01:00
Rémi Verschelde
3dae50aa4f
Merge pull request #86520 from touilleMan/fix-ScriptLanguageExtension-_find_function-documentation
...
Fix `ScriptLanguageExtension::_find_function` documentation
2024-01-02 18:05:26 +01:00
Rémi Verschelde
b5c6e870e8
Merge pull request #82264 from dalexeev/core-builtin-methods-as-callables
...
Core: Allow methods of built-in `Variant` types to be used as Callables
2024-01-02 18:05:05 +01:00
bruvzg
126a763f7a
[D3D12] Dynamically load Agility SDK.
2024-01-02 17:15:59 +02:00
Rémi Verschelde
35d1ffb8de
Merge pull request #86259 from TitanNano/jovan/fix_MethodInfo_eq
...
Include `name` field in MethodInfo operator ==
2024-01-02 15:09:02 +01:00
EddieBreeg
8747c67d9e
Fix potential integer underflow in rounded up divisions
...
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.
Fixes #80358 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Daylily-Zeleen
fe6b073811
Distinguishs between dynamic library not found and can't be opened.
2024-01-01 20:01:57 +08:00
rune-scape
b6a53e62bc
Initialize pointers in a_star.cpp
2023-12-28 13:58:11 -08:00
Pedro J. Estébanez
c217041afd
Remove traces of the extinct RID preallocate feature
2023-12-28 10:18:05 +01:00
Emmanuel Leblond
0124b513cd
Fix ScriptLanguageExtension::_find_function
documentation
2023-12-26 14:05:53 +01:00
G-Shadow
cbc8ae660c
Fix unlimited project option ranges that could cause crashes.
2023-12-22 09:14:45 +03:00
Aaron Franke
c77ae051d5
Add and expose Basis/Transform2D/3D division by float operator
2023-12-20 18:24:03 -06:00
Yuri Sizov
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
...
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Yuri Sizov
d2da961f33
Merge pull request #86324 from aaronfranke/really-packed
...
Add PackedRealArray as an alias for Vector<real_t>
2023-12-20 15:08:10 +01:00
Yuri Sizov
6296333bad
Merge pull request #60965 from DarkMessiah/global-groups-implementation
...
Implement project-wide node groups
2023-12-20 15:07:20 +01:00