kobewi
dce4a3e4c2
Add get_process_exit_code() method
2024-04-16 12:46:15 +02:00
Yorick de Wid
61a2f5c534
FIX: Return if TCP is in STATUS_CONNECTED
...
If the `StreamPeerTCP` is polled and the TCP connection is `STATUS_CONNECTED` it should return after polling netsocket. Without `return` poll keeps calling `_sock->connect_to_host` and `connect()`.
2024-04-16 10:32:11 +02:00
Haoyu Qiu
8d1cb7e74c
Add project setting for root node auto translate mode
2024-04-16 11:02:04 +08:00
Hugo Locurcio
9558d4f28f
Make TextEdit autocompletion replace word unless Shift is held
...
This makes Tab and Enter act identical by default for autocompletion.
If Shift is held, the suggestion is added in-place without the word
being replaced. This matches the behavior found in Visual Studio Code
where the following occurs:
- Pressing Tab accepts the suggestion and replaces the word.
- Pressing Enter accepts the suggestion and replaces the word.
- Pressing Shift + Tab accepts the suggestion and doesn't replace the word.
- Pressing Shift + Enter accepts the suggestion and doesn't replace the word.
2024-04-16 00:21:14 +02:00
Per Melin
89d0934f71
Delaunay3D: Improve triangulation
2024-04-15 18:48:21 +02:00
Danil Alexeev
3c62f5fe5c
Core: Fix `RefCounted` handling in `marshalls.cpp`
2024-04-15 13:53:40 +03:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
Rémi Verschelde
50fd380359
Merge pull request #90562 from bruvzg/fix_links
...
[Unix / DirAccess] Fix removing directory symlinks with `remove`, ensure `erase_contents_recursive` is not following directory symlinks.
2024-04-15 10:00:22 +02:00
A Thousand Ships
80cb914e06
[Core] Fix incorrect comparison for `Array` const iterator
2024-04-13 17:32:33 +02:00
ajreckof
ca020ad8cd
Fix load subtask not being registered leading to false progress values.
2024-04-13 01:42:29 +02:00
Thaddeus Crews
55a4836e5b
Core: Replace `_NO_DISCARD_` macro with attribute
2024-04-12 16:40:01 -05:00
bruvzg
88b3e68f93
[FileAccess] Implement `resize` method.
2024-04-12 19:20:49 +03:00
bruvzg
57fde36f31
[Unix / DirAccess] Fix removing directory symlinks with `remove`, ensure `erase_contents_recursive` is not following directory symlinks.
2024-04-12 10:06:49 +03:00
Thaddeus Crews
127025679b
Core: Use `<type_traits>` where applicable
2024-04-11 13:13:59 -05:00
Rémi Verschelde
58f8a227b9
Merge pull request #90482 from Faless/mbedtls/3.6.0-tls
...
mbedTLS: Update to new LTS v3.6.0
2024-04-11 11:02:46 +02:00
Rémi Verschelde
8ec0372f01
Merge pull request #90470 from RandomShaper/fix_cmd_queue_mt_reentrancy
...
CommandQueueMT: Fix flush re-entrancy
2024-04-11 11:02:42 +02:00
Rémi Verschelde
e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
...
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +02:00
Lyuma
40fa684c18
mbedTLS: Update to new LTS v3.6.0
...
Keep module compatibility with mbedtls 2.x (old LTS branch).
A patch has been added to allow compiling after removing all the `psa_*`
files from the library folder (will look into upstreaming it).
Note: mbedTLS 3.6 finally enabled TLSv1.3 by default, but it requires
some module changes, and to enable PSA crypto (new "standard" API
specification), so it might be best done in a separate commit/PR.
2024-04-10 21:19:22 +02:00
Juan Linietsky
65686dedf9
Use WorkerThreadPool for Server threads
...
* Servers now use WorkerThreadPool for background computation.
* This helps keep the number of threads used fixed at all times.
* It also ensures everything works on HTML5 with threads.
* And makes it easier to support disabling threads for also HTML5.
CommandQueueMT now syncs with the servers via the WorkerThreadPool
yielding mechanism, which makes its classic main sync semaphore
superfluous.
Also, some warnings about calls that kill performance when using
threaded rendering are removed because there's a mechanism that
warns about that in a more general fashion.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2024-04-10 18:47:42 +02:00
Pedro J. Estébanez
1b104ffcd8
WorkerThreadPool: Support daemon-like tasks (via yield semantics)
2024-04-10 18:47:42 +02:00
Pedro J. Estébanez
71facbaa88
WorkerThreadPool: Fix data race
2024-04-10 18:47:41 +02:00
Rémi Verschelde
8764769ee8
Merge pull request #89186 from groud/save_byte_arrays_as_base64_encoded
...
Save PackedByteArrays as base64 encoded
2024-04-10 17:49:24 +02:00
A Thousand Ships
64146cb7f3
[Core] Add iteration support to `Array`
2024-04-10 14:49:34 +02:00
clayjohn
c0d0bdc160
Clarify bounce and reflect docs and update param names
2024-04-10 14:07:08 +02:00
Pedro J. Estébanez
114b14b0fa
CommandQueueMT: Fix flush re-entrancy
2024-04-10 10:02:30 +02:00
Rémi Verschelde
bff6955459
Merge pull request #85024 from Jordyfel/moving-scripts-of-types-of-exported-typed-arrays
...
When saving a resource with an exported typed array, check whether the type is an external resource
2024-04-09 22:25:00 +02:00
David Snopek
87aec2745d
Fix GDExtension hot reload for classes not created via `ClassDB::instantiate()`
2024-04-09 13:40:33 -05:00
Jordyfel
82de00a174
Type of exported typed array can be external resource
2024-04-09 15:28:42 +03:00
Rémi Verschelde
6772047e50
Sync controller mappings DB with SDL 2 community repo
...
Synced with mdqinc/SDL_GameControllerDB@4c9b8dace8
2024-04-08 22:22:30 +02:00
David Snopek
927f2e1e53
Use `likely()` in `PtrToArg<T *>` when checking for null `Object *`s
2024-04-08 11:06:56 -05:00
Rémi Verschelde
97b5c142f8
Merge pull request #90269 from KoBeWi/sir,_your_file_cannot_be_opened
...
Ignore `ERR_FILE_CANT_OPEN` error when loading
2024-04-08 11:38:15 +02:00
Rémi Verschelde
9738cc7ef2
Merge pull request #90335 from Faless/io/marshall_nil_script
...
[IO] Fix marshall decoding when script is NIL
2024-04-08 11:21:50 +02:00
Rémi Verschelde
7d96ec4f9d
Merge pull request #88329 from ManpreetXSingh/key-window-menu
...
Windows: Add support for enabling Alt+Space menu and fix borderless maximize
2024-04-08 11:20:05 +02:00
Fabio Alessandrelli
8addab785d
[IO] Fix marshall decoding when script is NIL
...
We changed how scripts are binary serialized, and added a check to
ensure the new format is enforced, but there is still a case where the
old format (plain "prop"-"value" combo) is used, and that is when the
script is NIL.
2024-04-07 09:55:15 +02:00
Rémi Verschelde
dd9aacd59f
Merge pull request #90273 from Pylgos/fix-gdextension-get-rid
...
Fix `Resource::get_rid override` not working in GDExtension
2024-04-06 13:06:50 +02:00
Rémi Verschelde
c1b2cfdced
Merge pull request #90271 from DarioSamo/pipeline_cache_setting
...
Add toggle for enabling or disabling RenderingDevice's pipeline cache.
2024-04-06 13:06:47 +02:00
Manpreet Singh
329d04d331
Windows: Add alt+space menu and fix window modes
2024-04-06 16:26:19 +05:30
Haoyu Qiu
9bcda8f94c
Prefer family name in fonts' names table
2024-04-06 16:08:59 +08:00
Pylgos
c2be2dfbde
Fix Resource::get_rid override not working in GDExtension
2024-04-06 01:27:16 +09:00
Dario
ecaafa6001
Add toggle for enabling or disabling RenderingDevice's pipeline cache.
2024-04-05 13:14:07 -03:00
kobewi
f0cbd388dc
Ignore ERR_FILE_CANT_OPEN error when loading scene
2024-04-05 17:51:27 +02:00
Rémi Verschelde
0ff056ea2e
Merge pull request #90218 from Repiteo/do-while-false-cleanup
...
Update lingering `do/while(0)` defines
2024-04-05 12:16:34 +02:00
Rémi Verschelde
d100888f0d
Merge pull request #90208 from Repiteo/scons/ninja-msvc
...
SCons: Fix Ninja compilation with MSVC
2024-04-05 12:16:22 +02:00
DmitriySalnikov
b73e740786
Add renaming of PDB files to avoid blocking them
2024-04-05 00:14:23 +03:00
Thaddeus Crews
bbb3eb3a1a
Update lingering `do/while(0)` defines
2024-04-04 14:17:22 -05:00
Thaddeus Crews
7918d50297
SCons: Fix Ninja compilation with MSVC
2024-04-04 10:16:33 -05:00
Thaddeus Crews
b0cda1f85f
Core: Use fixed-width integer types in Variant
2024-04-04 08:54:11 -05:00
Rémi Verschelde
c5ac5d2308
Merge pull request #90063 from aaronfranke/really-floaty
...
Fix some uses of `float` and `real_t` in `core/math`
2024-04-04 14:36:57 +02:00
Rémi Verschelde
c8088c100f
Merge pull request #90038 from AThousandShips/load_path
...
[Core] Fix `ResourceLoader.load` cache with relative paths
2024-04-04 14:36:51 +02:00
Rémi Verschelde
3fdc169751
Merge pull request #89889 from BoThompson/compute_image_metrics-fix
...
Remove a redundant `MAX` comparison within a loop in `compute_image_metrics`.
2024-04-04 14:35:17 +02:00
Rémi Verschelde
7fa97f37fb
Merge pull request #89452 from Riteo/name-a-better-duo
...
SCons: Enable the experimental Ninja backend and minimize timestamp changes to generated code
2024-04-04 14:31:24 +02:00
Rémi Verschelde
69a4ff8996
Merge pull request #88328 from Khasehemwy/reversed-z
...
Use Reverse Z for the depth buffer
2024-04-04 14:30:53 +02:00
Rémi Verschelde
a1ab287010
Merge pull request #88047 from theashtronaut/add_partial_return_astar
...
Add a partial path return option for astar
2024-04-04 14:30:49 +02:00
Rémi Verschelde
406d9426cb
Merge pull request #86121 from lawnjelly/occlusion_cull_jitter
...
Jitter raster occlusion camera to reduce false positives.
2024-04-04 14:30:42 +02:00
Rémi Verschelde
84b3d14c9a
Merge pull request #82852 from timothyqiu/property-context
...
Add context support for editor property name i18n
2024-04-04 14:30:29 +02:00
Rémi Verschelde
ec5cae37d6
Merge pull request #78219 from dalexeev/core-typed-arrays-bin-serialization
...
Core: Add typed array support for binary serialization
2024-04-04 14:30:22 +02:00
Khasehemwy
d950f5f838
Use Reverse Z for the depth buffer
2024-04-04 13:54:15 +02:00
ashley
aa1bbe1542
add partial path return option for astar
...
* AStar2D, AStar3D and AStarGrid2D now can return a partial path if the destination point isn't reachable but still in the map. This option is available for both get_point_path and get_id_path
2024-04-03 22:27:33 -07:00
lawnjelly
691854d589
Jitter raster occlusion camera to reduce false positives.
...
Due to the low resolution of the occlusion buffer, small gaps between occluders can be closed and incorrectly occlude instances which should show through the gaps. To ameliorate this problem, this PR jitters the occlusion buffer over time, making it more likely an instance will be seen through a gap. This is used in conjunction with an occlusion timer per instance, to prevent instances flickering on and off rapidly.
2024-04-03 12:18:45 +01:00
kobewi
7b1b9b86ed
Don't allow copying file into its own path
2024-03-31 13:53:36 +02:00
Haoyu Qiu
479b7afa8e
Add context support for editor property name i18n
2024-03-31 18:40:14 +08:00
A Thousand Ships
0274877def
[Core] Fix `ResourceLoader.load` cache with relative paths
...
Paths were not simplified meaning that `res://foo.bar` was treated
differently from `./foo.bar` and similar
2024-03-30 12:50:08 +01:00
Aaron Franke
158fcf107c
Fix some uses of float and real_t in core/math
2024-03-29 16:44:12 -07:00
Bo Thompson
75d65195ae
Remove a redundant `MAX` comparison within a loop in `compute_image_metrics`
2024-03-28 22:23:15 +01:00
Rémi Verschelde
237479ffe8
Merge pull request #89946 from wlsnmrk/action-press-strength-clamp
...
Fix `Input.action_press()` accepting out-of-bounds strength values
2024-03-28 10:47:31 +01:00
Mark Wilson
41e70db8b1
Fix action_press() by clamping strength to 0, 1
...
Changed Input.action_press() treatment of strength parameter to match
behavior of InputEventAction and documentation, by clamping between 0
and 1. Fixes Input.get_action_strength() returning values over 1 when
large values are passed to Input.action_press().
2024-03-27 11:17:40 -04:00
bruvzg
082b420c0a
Implement `OS.execute_with_pipe` method to run process with redirected stdio.
...
Implement `pipe://*` path handling for creation of named pipes.
2024-03-27 11:41:16 +02:00
Rémi Verschelde
f371913a32
Merge pull request #89679 from enetheru/patch-3
...
Properly skip printing version header with `--no-header`
2024-03-26 13:45:28 +01:00
Rémi Verschelde
23f55c06fb
Merge pull request #89677 from enetheru/patch-2
...
Print correct path when unable to find GDExtension library
2024-03-26 13:45:25 +01:00
Rémi Verschelde
9335b83a32
Merge pull request #87831 from Riteo/bitfield-xor
...
Core: Implement a XOR operator for BitField
2024-03-26 13:45:02 +01:00
Samuel Nicholas
93559db3a2
Properly skip printing version header with `--no-header`
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-03-26 11:41:13 +01:00
Samuel Nicholas
5f89b15098
Print correct path when unable to find GDExtension library
2024-03-26 00:13:56 +01:00
Rémi Verschelde
f371b7fb70
Merge pull request #87883 from TontonSancho/text-skip-occurence
...
Add 'Skip to next (text) occurrence' feature to text editor
2024-03-25 13:15:56 +01:00
Rémi Verschelde
c41da69ed7
Merge pull request #89863 from ppphp/resource_format_override
...
Add `override` mark to ResourceFormat class
2024-03-25 11:18:57 +01:00
Rémi Verschelde
89c70da7bd
Merge pull request #89858 from AThousandShips/utf_fix
...
[Buildsystem] Fix encoding when reading files
2024-03-25 11:18:54 +01:00
Christophe Andral
c988bec4b3
Add 'Skip to next (text) occurrence' feature to text editor
...
Adds `ui_text_skip_selection_for_next_occurrence` action and related implementation to text editor.
This action is bound `Ctrl+Alt+D` shorcut.
Used in conjonction with `ui_add_skip_selection_for_next_occurrence`, it gives the user the ability to select many occurrences of a selection
and avoid some of them.
Used without a previous selection, the action jumps to the next occurrence of the current word under the caret.
2024-03-25 11:12:28 +01:00
ppphp
d4e1a74efb
Add 'override' mark to ResourceFormat class
2024-03-25 04:06:34 +08:00
A Thousand Ships
4933fa8bf5
[Buildsystem] Fix encoding when reading files
2024-03-24 18:02:56 +01:00
A Thousand Ships
bb6305d1c4
[Core] Fix incorrect file sort method
2024-03-24 17:54:57 +01:00
Rémi Verschelde
8f9136963d
Merge pull request #89671 from alesliehughes/string_underrun
...
Stop possible underrun when processing a string
2024-03-24 01:21:12 +01:00
Rémi Verschelde
c258da378b
Merge pull request #89619 from AThousandShips/rand_fix
...
[Core] Fix `rand_weighted` not using the current state
2024-03-24 01:19:20 +01:00
Rémi Verschelde
5940fd5d07
Merge pull request #89526 from Calinou/inputevent-add-emulation-internal-constants
...
Expose `DEVICE_ID_EMULATION` constant in InputEvent
2024-03-24 01:16:34 +01:00
Rémi Verschelde
48cf825839
Merge pull request #89451 from AThousandShips/emit_fix
...
[Core] Disconnect one-shot signals before calling callbacks
2024-03-24 01:15:52 +01:00
Rémi Verschelde
d5f944ff10
Merge pull request #89261 from paulloz/core/fix-script-reloading-outside-script-editor
...
Fix how scripts reload outside of ScriptEditor
2024-03-24 01:15:23 +01:00
Rémi Verschelde
f49efbe0e5
Merge pull request #89229 from akien-mga/main-refactor-os-exit-code
...
Refactor OS exit code to be `EXIT_SUCCESS` by default
2024-03-24 01:15:06 +01:00
Rémi Verschelde
cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
...
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Rémi Verschelde
e92806c7e7
Merge pull request #88424 from rburing/fti_2d
...
Physics interpolation (2D)
2024-03-24 01:13:53 +01:00
Ricardo Buring
2ed2ccc2d8
Fixed Timestep Interpolation (2D)
...
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
A Thousand Ships
db455e5bee
[Core] Disconnect one-shot signals before calling callbacks
...
This prevents infinite recursion with one-shot connections emitting
themselves
2024-03-20 20:24:44 +01:00
A Thousand Ships
79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-20 13:47:42 +01:00
A Thousand Ships
2cbf469912
Fix sorting of files/dirs in dialogs
...
Sorts leading `_` before other characters except `.`.
2024-03-20 13:45:47 +01:00
Danil Alexeev
c30bec7fca
Core: Add typed array support for binary serialization
2024-03-20 11:37:41 +03:00
Alistair Leslie-Hughes
87fe71f52f
Stop possible underrun when processing a string
...
Calling String::utf8("Unicode String", -1) assumes that the string will be NULL terminated.
However, the length parameter is always used to find the end of the string. So there is the
chance the character before th start of the string is read.
Making the pointer NULL in the case where it's out of range, still allows the following
to work as expected
while (ptrtmp != ptrtmp_limit && *ptrtmp)
....
2024-03-19 20:17:11 +11:00
Paul Joannon
63674648fb
Fix how scripts reload outside of ScriptEditor
2024-03-18 10:29:06 +01:00
A Thousand Ships
9c518d5f42
[Core] Fix `rand_weighted` not using the current state
...
The method incorrectly used `Math::randf` instead of `randf`
2024-03-17 19:21:16 +01:00
Hugo Locurcio
6818e50adc
Expose `DEVICE_ID_EMULATION` constant in InputEvent
...
This also improves the documentation related to emulated InputEvents.
2024-03-16 19:16:40 +01:00
Rémi Verschelde
68ad520da4
Merge pull request #89519 from YeldhamDev/are_you_kidding_me_right_now
...
Fix translation fallback not working in the Project Manager
2024-03-15 17:01:34 +01:00
Michael Alexsander
11937d3a79
Fix translation fallback not working in the Project Manager
2024-03-15 12:00:20 -03:00
Riteo
a5cf92664d
SCons: unify code generations routine and minimize timestamp changes
...
Previously, all of the code generation routines would just needlessly
write the same files over and over, even when not needed.
This became a problem with the advent of the experimental ninja backend
for SCons, which can be trivially enabled with a few lines of code and
relies on timestamp changes, making it thus impractical.
2024-03-15 15:43:53 +01:00
Rémi Verschelde
7d4804e945
Merge pull request #89490 from AThousandShips/queue_print_fix
...
[Core] Prevent further infinite recursion when printing errors
2024-03-15 10:40:08 +01:00
A Thousand Ships
14897f6dd7
[Core] Prevent further infinite recursion when printing errors
2024-03-14 22:44:22 +01:00
Rémi Verschelde
4163fb9c26
Merge pull request #89489 from YeldhamDev/yet_another_etr_fix
...
Fix some translations not properly falling back
2024-03-14 22:35:41 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Michael Alexsander
05f6c56a48
Fix some translations not properly falling back
2024-03-14 16:38:12 -03:00
A Thousand Ships
0c19d0f5a0
Add extension support for argument count to `ScriptInstance`
2024-03-13 22:40:09 +01:00
Rémi Verschelde
a1c476f9d7
Merge pull request #87680 from AThousandShips/the_angry_count
...
Add methods to get argument count of methods
2024-03-13 22:16:43 +01:00
Thaddeus Crews
5a6e3cbcb0
SCons: Remove `run_in_subprocess` dependency
2024-03-11 13:20:09 -05:00
Rémi Verschelde
22dcfa14e3
Merge pull request #87858 from AThousandShips/callable_rpc
...
Fix `rpc` call from name based `Callable`s
2024-03-11 14:02:26 +01:00
Rémi Verschelde
0475011c66
Merge pull request #82084 from ogapo/pr/pck-cache-merge
...
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +01:00
Rémi Verschelde
810f127022
Merge pull request #89365 from Repiteo/scons/run_in_subprocess-to-env.Run
...
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 21:13:22 +01:00
A Thousand Ships
400f438e72
Fix `rpc` call from name based `Callable`s
2024-03-10 20:20:08 +01:00
Thaddeus Crews
8116d70d4b
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 14:01:23 -05:00
Thaddeus Crews
fb299d0fb1
SCons: Ensure `with` statement where applicable
2024-03-10 12:57:57 -05:00
A Thousand Ships
59bcc2888c
Add methods to get argument count of methods
...
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
2024-03-10 11:02:43 +01:00
Thaddeus Crews
d9fa40f2df
Enforce `\n` eol for Python writes
...
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
Rémi Verschelde
1c8ef9e252
Merge pull request #89251 from KoBeWi/fastpector
...
Speed up inspector updates for TileMap
2024-03-09 00:52:09 +01:00
Rémi Verschelde
baf75d048c
Merge pull request #87448 from nfrmtk/check-buffer-size
...
Add check for negative `buffer_size` inside `StreamPeerGZIP::start_(de)compression`
2024-03-09 00:52:01 +01:00
Rémi Verschelde
023dcd44c1
Refactor OS exit code to be `EXIT_SUCCESS` by default
...
- `Main::setup` early exits (failure or `--help`/`--version`) now
consistently return `EXIT_FAILURE` or `EXIT_SUCCESS` on all platforms,
instead of 255 on some and a Godot Error code on others.
- `Main::start` now returns the exit code, simplifying the handling of early
failures.
- `Main::iteration` needs to explicit set the exit code in OS if it errors
out.
- Web and iOS now properly return `OS::get_exit_code()` instead of 0.
2024-03-08 23:31:24 +01:00
nfrmtk
da886006a0
add check for negative buffer_size inside start_(de)compression method.
2024-03-08 17:49:48 +03:00
Thaddeus Crews
9903e6779b
Enforce template syntax `typename` over `class`
2024-03-07 22:39:09 -06:00
kobewi
7319b612f3
Speed up inspector updates for TileMap
2024-03-07 18:01:30 +01:00
Ryan
42ce14043e
Expose scene unique id functionality in Resource
2024-03-07 14:53:58 +01:00
Rémi Verschelde
7e65fd8725
Merge pull request #89214 from bruvzg/pack_rel_off
...
[Export] Use relative file base offset for embedded PCK.
2024-03-07 00:24:00 +01:00
David Nikdel
5e6adb4a2d
Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
...
fixes godotengine#82061
fixes godotengine#61556
Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
kobewi
eb0a624902
Allow returning Dictionary after merging
2024-03-06 14:49:35 +01:00
Rémi Verschelde
9b94c80e9a
Merge pull request #89175 from paulloz/dotnet/fix-exported-nodes-reset-without-build-artifacts
...
Hint fallback property as node when it is a node
2024-03-06 13:32:00 +01:00
Rémi Verschelde
b85337b7ea
Merge pull request #87222 from RandomShaper/fix_obj_leaks_report
...
Fix inaccuracies in the report of leaked objects
2024-03-06 13:16:48 +01:00
bruvzg
bf8ec7b81b
[Export] Use relative file base offset for embedded PCK.
2024-03-06 14:02:01 +02:00
Pedro J. Estébanez
fdc47adf1e
Help compilers optimize Object::cast_to()
2024-03-06 12:45:26 +01:00
Gilles Roudière
de5073519e
Save PackedByteArrays as base64 encoded
2024-03-06 10:17:31 +01:00
Rémi Verschelde
d082ce908f
Merge pull request #85390 from TheSofox/merge-all-commit-fix
...
UndoRedo: Fix `MERGE_ALL` commit from repeating actions
2024-03-06 09:50:13 +01:00
Sofox
f249667dc8
Fixed MERGE_ALL commit from repeating actions
2024-03-05 23:40:26 +00:00
Mika Viskari
3026b566b0
Fix String::begins_with when both strings are empty
2024-03-05 20:46:10 +02:00
Paul Joannon
e7c90e0884
Hint fallback property as node when it is a node
2024-03-05 12:47:11 +01:00
RedMser
2bd714e34e
Allow configuring the script filename casing rule
...
Defaults to "Auto", which detects the casing based on the
preference of the currently selected language (C# for example
prefers PascalCase whereas GDScript prefers snake_case).
2024-03-05 09:43:29 +01:00
Rémi Verschelde
49dc67b48c
Merge pull request #89113 from Nazarwadim/move_includes_from_h_to_cpp_project_settings
...
[Core] Move `#includes` from `project_settings.h` into `project_settings.cpp`
2024-03-04 20:43:46 +01:00
A Thousand Ships
a497a5cb3e
[Core] Codestyle improvements to math types
2024-03-04 18:17:10 +01:00
nazarii
ea8c261cc6
[Core] Move includes from project_settings.h into project_settings.cpp
2024-03-04 15:37:30 +02:00
Rémi Verschelde
48aa12011b
Merge pull request #89104 from luevano/fix-rand-weighted
...
Fix `RandomNumberGenerator::rand_weighted` return type
2024-03-04 13:34:18 +01:00
Rémi Verschelde
50ca190286
Merge pull request #89055 from dsnopek/gdextension-script-free-lists
...
GDExtension: Pass count when freeing method and property lists for script instances
2024-03-04 13:33:45 +01:00
David Luevano Alvarado
981883d041
Fix `RandomNumberGenerator::rand_weighted` return type
2024-03-02 20:56:01 -06:00
David Snopek
0badf07657
GDExtension: Pass count when freeing method and property lists for script instances
2024-03-02 10:13:37 -06:00
Thaddeus Crews
0ce9b6fd1d
Add two new COMSTR environment variables
2024-03-01 12:44:03 -06:00
Rémi Verschelde
072da09fea
Merge pull request #86764 from Mickeon/autocompletion-inputmap
...
Add autocompletion for InputMap's methods
2024-03-01 17:22:06 +01:00
Rémi Verschelde
0394328a71
Merge pull request #86758 from Mickeon/autocompletion-project-settings
...
Add autocompletion for ProjectSettings' methods
2024-03-01 17:21:59 +01:00
Micky
70b428041b
Add autocompletion for InputMap's methods
2024-03-01 16:44:26 +01:00
Rémi Verschelde
bd7637248c
Merge pull request #88883 from joaoh82/add-weighted-random-method
...
Add `RandomNumberGenerator::rand_weighted` method
2024-03-01 15:00:32 +01:00
Rémi Verschelde
0a089e284b
Merge pull request #87191 from Mickeon/autocompletion-TranslationServer
...
Add autocompletion for TranslationServer
2024-03-01 14:56:18 +01:00
Rémi Verschelde
0618bff394
Merge pull request #86777 from Mickeon/autocomplete-classdb
...
Add autocompletion for ClassDB & AudioServer
2024-03-01 14:56:12 +01:00
Rémi Verschelde
c1377920cd
Merge pull request #86743 from Mickeon/autocompletion-optimise-object
...
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
Micky
404b2bf9c2
Add autocompletion for ProjectSettings' methods
2024-02-29 20:50:22 +01:00
Micky
920dff3445
Add autocompletion for ClassDB & AudioServer
2024-02-29 20:48:06 +01:00
Micky
ffd498c57d
Add autocompletion for TranslationServer
2024-02-29 20:43:19 +01:00
Micky
cd2032a90b
Optimise Object's `get_argument_options`
2024-02-29 18:00:54 +01:00
Rémi Verschelde
7434f8b4e3
Merge pull request #88959 from akien-mga/pre-commit-clang-17.0.6-black-24.2.0
...
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-29 13:54:38 +01:00
Rémi Verschelde
9101067666
Merge pull request #88958 from 398utubzyt/gltf/use-correct-name
...
Fix compilation errors when `DISABLE_DEPRECATED` is defined
2024-02-29 13:54:35 +01:00
Rémi Verschelde
9278856ff7
Merge pull request #88948 from dalexeev/core-add-callable-create
...
Core: Add `Callable.create` static method for `Variant` callables
2024-02-29 13:54:22 +01:00
Rémi Verschelde
172b254687
Merge pull request #88664 from RandomShaper/res_load_modes
...
Enhance cache modes in resource loading
2024-02-29 13:54:07 +01:00
Rémi Verschelde
7462b1a0b2
Merge pull request #88561 from RandomShaper/res_load_safer
...
Improve thread safety of resource loading
2024-02-29 13:53:58 +01:00
Rémi Verschelde
846428e0c6
Merge pull request #86222 from YeldhamDev/give_me_those_strings_baby
...
Add option to add built-in strings in the POT generation
2024-02-29 13:53:38 +01:00
Rémi Verschelde
1cc9190c70
Merge pull request #81822 from nlupugla/nodepath-slice
...
Add `NodePath::slice` method
2024-02-29 13:53:34 +01:00
João Henrique Machado Silva
88df5ea8ac
Add RandomNumberGenerator::rand_weighted method
2024-02-29 13:29:53 +01:00
Danil Alexeev
d90c9db27f
Core: Add `Callable.create` static method for `Variant` callables
2024-02-29 10:45:00 +03:00
BlueCube3310
8239aeec8e
Image: Add static `is_format_compressed` function.
2024-02-28 19:42:06 +01:00
Michael Alexsander
d70c45b5c8
Add option to add built-in strings in the POT generation
2024-02-28 11:34:26 -03:00
Pedro J. Estébanez
84b85d894c
Improve thread safety of resource loading
2024-02-28 15:19:22 +01:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-28 14:25:35 +01:00
398utubzyt
4c69e8c026
Fix compilation errors when `DISABLE_DEPRECATED` is defined
2024-02-28 05:09:29 -08:00
Hugo Locurcio
67e9ccdbc4
Display the build date in the editor and when starting the engine
...
This can be used to quickly see how recent a development build is,
without having to look up the commit date manually.
When juggling around with various builds (e.g. for benchmarking),
this can also be used to ensure that you're actually running the
binary you intended to run.
The date stored is the date of the Git commit that is built, not
the current date at the time of building the binary. This ensures
binaries can remain reproducible.
The version timestamp can be accessed using the `timestamp` key
of the `Engine.get_version_info()` return value.
2024-02-27 20:39:17 +01:00
Rémi Verschelde
8b9a6cfa9f
Merge pull request #88870 from dsnopek/gdextension-fix-runtime-class-ancestor-methods
...
GDExtension: Fix calling ancestor methods on runtime classes
2024-02-27 10:18:31 +01:00
David Snopek
3335528954
GDExtension: Fix calling ancestor methods on runtime classes
2024-02-26 10:23:23 -06:00
Pedro J. Estébanez
5e144022e7
Enhance cache modes in resource loading
...
- Unify documentation, hoping to clear misconcepctions about about propagation of the cache mode across dependant loads.
- Clarify in docs that `CACHE_MODE_REPLACE` now also works on the main resource (from #87008 ).
- Add two recursive modes, counterparts of `CACHE_MODE_REPLACE` and `CACHE_MODE_IGNORE`, since it seems some need them (see #59669 , #82830 ).
- Let resources, even loaded with one of the ignore-cache modes, get a path, which is useful for tools.
2024-02-26 14:59:04 +01:00
Robert Yevdokimov
13e82094ee
Remove word duplicates in comments and strings, and fix casing and punctuation
2024-02-23 17:28:28 -05:00
Rémi Verschelde
491cd402cc
Merge pull request #88706 from RandomShaper/no_spammy_wtp
...
Remove spammy dev-mode message about load deadlock prevention
2024-02-23 22:19:19 +01:00
Pedro J. Estébanez
851f1d49d7
Remove spammy dev-mode message about load deadlock prevention
2024-02-23 14:54:03 +01:00
Rémi Verschelde
45dd2bd31e
Merge pull request #88683 from dsnopek/runtime-classes-in-modules
...
Allow registering "runtime classes" in modules (not just GDExtension)
2024-02-23 11:29:46 +01:00
Rémi Verschelde
3ce9ae71fc
Merge pull request #84906 from /fix-some-defvals
2024-02-23 11:29:22 +01:00
Raul Santos
5ba92e5a57
Fix some DEFVALs to use the right type
...
- Use `StringName()` in DEFVAL for StringNames.
- Use `Variant()` in DEFVAL for Variants.
2024-02-23 01:50:18 +01:00
David Snopek
4d0b989bb8
Allow registering "runtime classes" in modules (not just GDExtension)
2024-02-22 14:50:41 -06:00
Rémi Verschelde
49d7ad9f5d
Merge pull request #75846 from dalexeev/string-cases-unicode
...
Add Unicode support to `String.to_*_case()` methods
2024-02-22 14:38:52 +01:00
Danil Alexeev
c0aa88ae4f
Add Unicode support to `String.to_*_case()` methods
2024-02-22 13:58:46 +03:00
Aaron Franke
1a6cabc0bf
Make Callable bind method const
2024-02-22 00:14:02 -06:00
Rémi Verschelde
b652a81da7
Merge pull request #82554 from dsnopek/gdextension-placeholders
...
Allow registering "runtime classes" from GDExtension
2024-02-20 17:13:24 +01:00
David Snopek
ea75307a11
Allow registering "runtime classes"
2024-02-20 09:20:58 -06:00
Rémi Verschelde
371597a805
Merge pull request #88551 from AThousandShips/helpers_fix
...
[Core] Upgrade some array helper classes to 64 bits
2024-02-19 17:06:53 +01:00
Rémi Verschelde
8a3a559023
Merge pull request #86620 from fbcosentino/midi_device_id
...
Add MIDI controller device index to `InputEventMIDI.device` property.
2024-02-19 17:06:22 +01:00
A Thousand Ships
06f1b114cd
[Core] Upgrade some array helper classes to 64 bits
...
Following upgrades to `CowData` to 64 bit indices these helpers are no
longer able to handle the index ranges, possibly causing bugs on sort
and search.
2024-02-19 13:17:13 +01:00
Fernando Cosentino
b9fd25ea18
Add MIDI controller device index to InputEventMIDI.device property.
...
It is possible to query the OS for the connected MIDI controllers,
but the event messages' device field was not being used. This implements
controller index being sent in InputEventMIDI messages in the device
property, matching the index from OS.get_connected_midi_inputs().
Based on the work done by @ramdor.
Closes godotengine/godot-proposals#7733
Co-authored-by: Richie <richie_github@grange-lane.co.uk>
2024-02-19 10:23:19 +00:00
Rémi Verschelde
0246230e2b
Partial revert of `core/version.h` changes in #88527
...
I misunderstood what this does, we still use this code.
2024-02-19 10:56:05 +01:00
Rémi Verschelde
e076405f30
GDExtension: Fix `-Wtype-limits` warning in `compatibility_maximum` patch check
...
And cleanup some dead code in `version.h`, we now always define `VERSION_PATCH`.
2024-02-19 01:19:30 +01:00
Rémi Verschelde
dc41f2504b
Merge pull request #88417 from dsnopek/gdextension-compatibility-maximum
...
Allow GDExtensions to set a `compatibility_maximum`
2024-02-19 00:08:14 +01:00
Rémi Verschelde
8ff8216705
Merge pull request #88418 from dsnopek/gdextension-unbind-methods
...
Unbind GDExtension methods that can't reasonably be used
2024-02-17 00:27:37 +01:00
Rémi Verschelde
b6ef996eb7
Merge pull request #86608 from TokageItLab/add-warn-setting-anim
...
Add some options to Project Settings to silence warnings in AnimationMixer caching
2024-02-17 00:22:52 +01:00
David Snopek
99fd6ca98c
Unbind GDExtension methods that can't reasonably be used
2024-02-16 16:31:09 -06:00
David Snopek
2afa3557b4
Allow GDExtensions to set a compatibility_maximum
2024-02-16 16:02:55 -06:00
Rémi Verschelde
eac054f1cc
Merge pull request #87971 from bruvzg/font_no_image_dup
...
[TextServer / Font] Do not duplicate images to prevent unnecessary embedding.
2024-02-15 17:35:36 +01:00
Rémi Verschelde
0fb7e3fc57
Merge pull request #88339 from Rubonnek/remove-hashunion
...
Remove `_HashUnion` from `StringName`
2024-02-15 15:45:19 +01:00
Rémi Verschelde
09df8f4a56
Merge pull request #87952 from paulloz/dotnet/byebye-signal-callback-generation
...
Disable signal callback generation in C#
2024-02-15 15:44:55 +01:00
Rémi Verschelde
ef5d6ccfb7
Merge pull request #86966 from Muller-Castro/value2ref-core
...
Add const lvalue ref to `core/*` container parameters
2024-02-15 15:44:43 +01:00
Rémi Verschelde
be7229f8d8
Merge pull request #81458 from dalexeev/doc-add-deprected-experimental-message
...
Documentation: Add support for deprecated/experimental messages
2024-02-15 15:44:21 +01:00
Danil Alexeev
af28f87791
Documentation: Add support for deprecated/experimental messages
2024-02-15 15:59:50 +03:00
Anatoli Babenia
e25cfffc7f
Add `--no-header` option to clean output
...
* Do not print empty line when header is disabled
* Do not print Vulcan header
* Also add "Print header" project setting (default On)
(suggested by @kaissouDev)
* Add docs for the project setting
(with suggestions by @Mickeon and @akien-mga)
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-15 14:10:11 +03:00
Riteo
759a32eb0c
Handle warped mouse motion as floating point
...
Fixes certain issues where sub-pixel motions would get discarded while
the mouse is captured, such as when free look is enabled in the editor
(at least when turned on while holding right click).
Very slightly compat breaking, as actual public APIs are changed,
although with "compatible" types (Point2i->Point2).
2024-02-14 22:37:51 +01:00
Wilson E. Alvarez
d2003d2025
Remove _HashUnion from StringName
2024-02-14 15:38:57 -05:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
Paul Joannon
9fa2355cef
Disable signal callback generation in C#
2024-02-14 13:26:45 +01:00
Silc Lizard (Tokage) Renew
dc4b7bc364
Add option to silence some warnings in AnimationMixer caching
2024-02-14 14:48:02 +09:00
Rémi Verschelde
dc99c8d4a4
Merge pull request #87008 from KoBeWi/cache_mode_replace_fixes²
...
Fix² behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`
2024-02-13 23:43:18 +01:00
Rémi Verschelde
ab54569912
Merge pull request #63529 from KoBeWi/fake_features_v2
...
Allow to set custom feature tags for testing
2024-02-13 23:43:03 +01:00
kobewi
1b2c7bfe77
Allow to set custom feature tags for testing
2024-02-13 17:38:45 +01:00
A Thousand Ships
d8b29efe66
Fix member names of `AudioFrame` to match extension
2024-02-13 15:37:09 +01:00
Silc Lizard (Tokage) Renew
67e38709fd
Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport
2024-02-13 18:53:21 +09:00
Rémi Verschelde
fd43a7f3be
Merge pull request #88188 from dsnopek/gdextension-api-double-compatibility-hashes
...
Fix `gdextension_compat_hashes.cpp` for double precision builds
2024-02-12 23:29:41 +01:00
Rémi Verschelde
306dd5be3f
Merge pull request #87758 from dsnopek/gdextension-register-virtual-method
...
Allow GDExtensions to register virtual methods and call them on scripts
2024-02-12 23:29:37 +01:00
David Snopek
be11002e41
Allow GDExtensions to register virtual methods and call them on scripts
2024-02-12 13:29:18 -06:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
Rémi Verschelde
106efa44d4
Merge pull request #88203 from Listwon/char-range-build-size
...
Link `xid_start` and `xid_continue` externally to prevent data duplication in binary
2024-02-12 13:35:05 +01:00
Rémi Verschelde
75a8c8a708
Merge pull request #88183 from Repiteo/ref-instantiate-params
...
Allow Ref `instantiate` to accept constructor args
2024-02-12 13:34:59 +01:00
Rémi Verschelde
b30373e32b
Merge pull request #88178 from Listwon/hash-table-build-size
...
Link hash table primes externally to prevent data duplication in binary
2024-02-12 13:34:55 +01:00
Rémi Verschelde
62143552f3
Merge pull request #87635 from rune-scape/manage-time-singleton
...
Manage time singleton in `register_core_types`
2024-02-12 13:34:13 +01:00
Rémi Verschelde
62fcc7e5d3
Merge pull request #78990 from RedMser/class-reference-keywords
...
Add search keywords to the class reference
2024-02-12 13:33:12 +01:00
rune-scape
c5bcc3ae86
Manage time singleton
2024-02-11 14:39:20 -08:00
Bartłomiej T. Listwon
5ee4b49e42
Link xid_start and xid_continue externally to prevent data duplication in binary
2024-02-11 12:54:53 +01:00
David Snopek
445e3018f5
Fix `gdextension_compat_hashes.cpp` for double precision builds
2024-02-10 19:05:33 -06:00
Bartłomiej T. Listwon
3fca4d0cb5
Link hash table primes externally to prevent data duplication in binary
2024-02-10 21:42:48 +01:00
Thaddeus Crews
b3cac9c092
Allow Ref `instantiate` to accept constructor args
2024-02-10 13:19:14 -06:00
RedMser
db798b29b2
Add keywords to the class reference
...
Allows for finding methods, properties, signals, constants,
theme items and annotations more easily.
- Allow "keywords" attribute in aforementioned locations
in the class reference XMLs
- Extends doctool, to preserve these attributes
- Update the XSD schema for the class reference
- Update the RST generator to include a meta tag for class keywords
- Update the editor help to support filtering by keywords
2024-02-09 18:13:23 +01:00
Rémi Verschelde
b457a30311
Merge pull request #87628 from YuriSizov/assets-bigger-better-errors
...
Improve error reporting in the asset library and in related types
2024-02-09 18:09:16 +01:00
Rémi Verschelde
d00dc8facf
Merge pull request #87371 from AThousandShips/size_err_check
...
Replace error checks against `size` with `is_empty`
2024-02-09 18:09:11 +01:00
Rémi Verschelde
74b03edf1e
Merge pull request #82800 from Sauermann/fix-screen-mousemotion
...
Add screen-related attributes to mouse input events
2024-02-09 18:08:58 +01:00
A Thousand Ships
684752e75b
Replace error checks against `size` with `is_empty`
2024-02-09 12:50:15 +01:00
Rémi Verschelde
1774c17b64
Merge pull request #87625 from YuriSizov/editor-lightweight-script-previews
...
Generate script resource preview without parsing
2024-02-09 12:34:36 +01:00
Rémi Verschelde
763d5cb7a4
Merge pull request #87934 from aaronfranke/fix-gltf-bad-mesh-export
...
Fix GLTF exporting invalid meshes and attempting to export gizmo meshes
2024-02-08 10:53:48 +01:00
Rémi Verschelde
deda5f799b
Merge pull request #87992 from allenwp/87991-typed-array-additions
...
Added newer Variant types to `typed_array.h`
2024-02-07 11:04:01 +01:00
Rémi Verschelde
dd2699be19
Merge pull request #67226 from Mickeon/typed-packing
...
Use `Packed*Array` over `Vector<T>` in TypedArray
2024-02-07 10:56:45 +01:00
Rémi Verschelde
b41403db71
Merge pull request #67220 from Mickeon/variant-packing
...
Use `Packed*Array` over `Vector<T>` in Variant
2024-02-07 10:56:21 +01:00
Micky
2c98783359
Use `Packed*Array` over `Vector<T>` in TypedArray
...
Same as #67220 but for `typed_array.h`
2024-02-06 20:50:02 +01:00
Micky
3edb671b8a
Use Packed*Array over Vector<T> in Variant
...
Also shuffles some method definitions and declarations to be more consistent with the way the Variant types are ordered across the codebase.
And removes an unnecessary JSON assign (`JSON::stringify` can now be accessed statically)
2024-02-06 12:53:19 +01:00
Markus Sauermann
2235a1cbd0
Add screen-related attributes to mouse input events
2024-02-05 23:30:15 +01:00
Allen Pestaluky
f4134fd9b0
Added newer Variant types to typed_array.h
...
Fixes #87991
2024-02-05 16:37:11 -05:00
bruvzg
7bcb419149
[Core] Improve `CowData` and `Memory` metadata alignment.
2024-02-05 17:30:02 +02:00
Rémi Verschelde
63d6bda8e9
Merge pull request #87871 from vittorioromeo/use_v_shorthand
...
Use `_v` shorthand for type traits and `if constexpr` where appropriate
2024-02-05 15:00:23 +01:00
Rémi Verschelde
f4f1398503
Merge pull request #87938 from tishin/fix-gdextension-deinit
...
Add null check for GDExtension deinitialization
2024-02-05 14:53:00 +01:00
bruvzg
19f1d5afa9
[TextServer / Font] Do not duplicate images to prevent unnecessary embedding.
2024-02-05 10:38:32 +02:00
vittorioromeo
71e0082ab0
Extract 'SafeBinaryMutex' to separate header
...
This change simply extracts 'SafeBinaryMutex' from 'mutex.h' to
'safe_binary_mutex.h', in an effort to reduce the compilation
speed impact of including `mutex.h`.
2024-02-04 16:59:54 +01:00
Mikhail Tishin
dc4c6cfb9b
Add null check for gdextension deinitialization
2024-02-04 18:38:59 +03:00
Aaron Franke
2d38c980ee
Fix GLTF exporting invalid meshes and attempting to export gizmo meshes
2024-02-04 02:58:29 -06:00
Rémi Verschelde
a72789c9d6
Merge pull request #87907 from adamscott/fix-window-override-settings
...
Fix `display/window/size/window_{width,height}_override` to permit `0`
2024-02-03 23:22:11 +01:00
Adam Scott
344ee36bfe
Fix `display/window/size/window_{width,height}_override` set `0`
2024-02-03 12:31:50 -05:00
EterDelta
fee70558f8
Expose NOTIFICATION_EXTENSION_RELOADED to ClassDB
2024-02-02 14:57:00 -05:00
vittorioromeo
55ed34e37c
Use '_v' shorthand for type traits and 'if constexpr' where appropriate
2024-02-02 15:43:21 +01:00
Riteo
7739940202
Core: Implement a XOR operator for BitField
2024-02-01 20:44:40 +01:00
Rémi Verschelde
f8a039e9b5
Merge pull request #84745 from lawnjelly/lightcull
...
Shadow volume culling and tighter shadow caster culling
2024-01-31 11:13:19 +01:00
scgm0
2dae53c316
Explicitly initialize all of `FileAccess::create_func[ACCESS_MAX]`
2024-01-31 10:46:14 +01:00
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
Pedro J. Estébanez
a04a67ead6
Fix inaccuracies in the report of leaked objects
2024-01-15 19:35:14 +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
Micky
3b2d4ac156
Improve error message for `String.format` when using nested Arrays
2023-12-30 20:32:01 +01: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
Pedro J. Estébanez
0567c5df9f
Make PagedAllocator more compatible (esp., with HashMap)
2023-12-20 12:05:27 +01:00
Yuri Sizov
6fc92e1d05
Merge pull request #84611 from AThousandShips/encode_invalid
...
Prevent encoding/decoding objects that cannot be instantiated
2023-12-19 20:32:42 +01:00
msreis
f1cc14d525
Fix missing time for some script functions in profiler
...
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.
Fixes #23715 , #40251 , #29049
2023-12-19 19:42:21 +01:00
Stanislav Labzyuk
958699a0c4
Implement project-wide node groups
2023-12-19 18:07:19 +01:00
Yuri Sizov
d8a65b3f46
Merge pull request #85464 from KoBeWi/only_say_verbose_when_not_verbose
...
Improve message about resources in use at exit
2023-12-19 13:01:59 +01:00
Yuri Sizov
02d4579fa2
Merge pull request #85000 from bruvzg/ed_ui_direction
...
[Editor] Add option to override editor UI layout direction.
2023-12-19 13:01:35 +01:00
A Thousand Ships
c1b8b87736
Prevent encoding/decoding objects that cannot be instantiated
2023-12-18 22:06:08 +01:00
Aaron Franke
3f469ee485
Add PackedRealArray as an alias for Vector<real_t>
2023-12-18 11:37:43 -06:00
Yuri Sizov
639f452098
Merge pull request #86059 from alesliehughes/dynamic_bvh_memmove
...
Improve DynamicBVH code to make it clearer how the stack/heap works
2023-12-18 18:18:13 +01:00
Yuri Sizov
a9a50938c0
Merge pull request #85991 from jsjtxietian/fix-bad-pos-state
...
Fix `FileAccessPack::get_buffer` updating position past the length of file
2023-12-18 18:18:01 +01:00
Yuri Sizov
80c3ed6845
Merge pull request #80487 from theraot/expose_set_global_name
...
Expose `Script.get_global_name()`
2023-12-18 18:17:30 +01:00
Alfonso J. Ramos
e7e35e8366
Expose `Script.get_global_name()`
2023-12-18 15:13:09 +01:00
Aaron Franke
d48d3ea4eb
Rename VariantZeroAssigner to VariantDefaultInitializer
...
And the method zero() is now init()
2023-12-17 14:00:30 -06:00
Jovan Gerodetti
179c92eb0b
Include name field in MethodInfo operator ==
2023-12-17 12:42:14 +01:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy
2023-12-16 13:36:44 -05:00
Yuri Sizov
df9be54b2f
Merge pull request #86177 from KoBeWi/depren_never_forgets
...
Fix file disappearing when renaming dependencies
2023-12-16 17:50:05 +01:00
Yuri Sizov
d02b368fd6
Merge pull request #78095 from aaronfranke/dict-get-or-set-default
...
Add a `get_or_add` method to Dictionary
2023-12-16 17:49:10 +01:00
Yuri Sizov
ca19d34bde
Merge pull request #73896 from vnen/object-null-boolean-consistency
...
Make freed object different than null in comparison operators
2023-12-16 17:49:05 +01:00
Pedro J. Estébanez
1a1c06dfeb
RBMap: Add explicit copy operators to iterators
...
Absence thereof is deprecated and breaks builds on most compilers.
Bonus: Fix parameter naming style throughout.
2023-12-15 13:14:59 +01:00
Pedro J. Estébanez
fec76d0c22
BitField: allow chained set_flag(), make constructors constexpr
2023-12-15 13:14:59 +01:00
kobewi
397f0b31e4
Fix file disappearing when renaming dependencies
2023-12-14 22:28:48 +01:00
nlupugla
cd221c1816
Added NodePath::slice method.
2023-12-13 13:30:28 -05:00
Wilson E. Alvarez
80fb8db31f
Remove unnecessary assignments
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Rémi Verschelde
45b97ca4e1
Merge pull request #86087 from rburing/fix_gdextension_operator_doc_dump
...
Fix operator documentation in GDExtension API dump with docs
2023-12-13 10:34:00 +01:00
Rémi Verschelde
d3414d80bf
Merge pull request #86081 from KoTeYkA23/bindings-for-emulated-input-events
...
Add bindings for setting and getting emulation mouse from touch and touch from mouse in input
2023-12-13 10:33:36 +01:00
CaTaTo
075a54bbcf
Add bindings for setting and getting emulation mouse from touch and touch from mouse in input
2023-12-13 08:07:36 +03:00
Alistair Leslie-Hughes
46531964d0
Improve DynamicBVH code to make it clearer how the stack/heap works.
...
Inspired by a Coverity issue about possible memcpy usage and overlapping memory.
2023-12-13 09:03:19 +11:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
...
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Pedro J. Estébanez
2f47c57385
Add Direct3D 12 RenderingDevice implementation
2023-12-12 19:10:04 +01:00
Ricardo Buring
82afe58aca
Fix operator documentation in GDExtension API dump with docs
...
The type of the right operand is now taken into account.
2023-12-12 18:55:31 +01:00
Rémi Verschelde
ea15b4ad44
Merge pull request #85159 from KoBeWi/404_strikes_back
...
Don't abort loading when `ext_resource` is missing
2023-12-12 00:18:58 +01:00
Rémi Verschelde
b952b007b1
Merge pull request #84782 from rsburke4/image-fix
...
Prevent crash on conversion of invalid data in `Image`
2023-12-12 00:17:42 +01:00
rsburke4
dec2269bca
Added error to catch conversion on invalid image
2023-12-10 15:06:22 -05:00
jsjtxietian
68a6fe81ab
Fix FileAccessPack::get_buffer will update pos past the length of file
2023-12-10 16:21:16 +08:00
Yuri Sizov
07677f0f51
Merge pull request #85885 from YuriSizov/bench-pressing
...
Improve engine startup/shutdown benchmarks
2023-12-08 17:12:26 +01:00
Yuri Sizov
f16057522e
Merge pull request #85770 from Repiteo/make-virtuals-refactor-and-fix
...
Refactor and fix `make_virtuals.py`
2023-12-08 16:58:44 +01:00
Yuri Sizov
f56765ea47
Merge pull request #84943 from groud/rework_input
...
Rework Input action pressed state to support multiple controllers
2023-12-08 16:58:14 +01:00
Yuri Sizov
b3c20bcf1e
Merge pull request #83229 from aaronfranke/basis-is-ortho
...
Fix Basis `is_orthogonal` and `is_rotation` methods, add `is_orthonormal`
2023-12-08 16:58:03 +01:00
Yuri Sizov
2e94be2ea4
Merge pull request #84167 from SaracenOne/cache_mode_replace_fixes
...
Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`
2023-12-08 15:23:13 +01:00
Yuri Sizov
fc3f40f37d
Improve engine startup/shutdown benchmarks
...
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.
Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +01:00
Aaron Franke
7ee273723d
Fix Basis is_orthogonal and is_rotation methods, add is_orthonormal
2023-12-06 13:12:05 -06:00
Aaron Franke
437586bf31
Add a `get_or_add` method to Dictionary
2023-12-06 11:43:58 -06:00
Rémi Verschelde
d847b6c3b7
Merge pull request #85787 from bruvzg/locale_upd
...
Do not reload resources and send notification if locale is not changed.
2023-12-06 12:36:27 +01:00
Thaddeus Crews
c9a4086da6
Fix EncodeT assignment in make_virtuals.py
...
• Adding EncodeT type casting allows generated code to support enum classes.
2023-12-05 10:37:04 -06:00
Thaddeus Crews
ceb6dadf4e
Refactor make_virtuals.py
...
Output reformatted to be comparable to clang-formatted code, without compromising readability
2023-12-05 10:37:03 -06:00
bruvzg
829349d2ca
Do not reload resources and send notification if locale is not changed.
2023-12-05 16:17:22 +02:00
Rémi Verschelde
75d7aab015
Merge pull request #85486 from paulloz/fix/property-groups-shadowing
...
Fix property groups overriding real properties
2023-12-05 13:05:28 +01:00
Rémi Verschelde
22f2a6b8ad
Merge pull request #85397 from AThousandShips/fix_recurse
...
[Core] Prevent infinite recursion when printing errors
2023-12-04 23:14:04 +01:00
Rémi Verschelde
8174bce1be
Merge pull request #85389 from AThousandShips/hash_fix
...
[Core] Fix crash when hashing empty `CharString`
2023-12-04 23:13:38 +01:00
Rémi Verschelde
3e7cc5ec32
Merge pull request #85271 from YuriSizov/core-check-please!
...
Correctly check scripts that must inherit `EditorPlugin`
2023-12-04 23:12:24 +01:00
Gilles Roudière
8cfcd36253
Rework action pressed state to support multiple controllers
2023-12-04 18:02:51 +01:00
Pedro J. Estébanez
208c1020f5
Add 'u' format modifier for unsigned int/hex
2023-12-01 16:42:26 +01:00
Pedro J. Estébanez
cba15cd625
Add WorkerThreadPool::get_thread_index()
2023-12-01 16:42:26 +01:00
bruvzg
ec052cd38a
Add unsigned char cast ifdef.
2023-11-29 11:59:18 +02:00
Paul Joannon
decf3b21ae
Fix property groups overriding real properties
2023-11-28 21:34:18 +01:00
kobewi
f8f8fe0615
Improve message about resources in use at exit
2023-11-28 14:01:08 +01:00
A Thousand Ships
d10617bb3b
[Core] Prevent infinite recursion when printing errors
2023-11-26 18:53:28 +01:00
A Thousand Ships
ca5ec6aec1
[Core] Fix crash when hashing empty `CharString`
2023-11-26 17:35:27 +01:00
Rémi Verschelde
4247244071
Merge pull request #85280 from bruvzg/custom_call_read_after_free
...
Prevent read-after-free in the queued CallableCustomStaticMethodPointer.
2023-11-24 00:00:52 +01:00
bruvzg
eb81e8b2dc
Prevent read-after-free in the queued CallableCustomStaticMethodPointer.
2023-11-23 23:22:08 +02:00
Pedro J. Estébanez
bfe66ab7cd
Fixup thread-owned lambda bookkeeping on thread exit (take 2)
2023-11-23 18:50:20 +01:00
Yuri Sizov
bc1949d797
Correctly check scripts that must inherit `EditorPlugin`
...
Also updates some error messages related to this kind of check
across the codebase.
2023-11-23 16:24:43 +01:00
kobewi
1de0415118
Don't abort loading when ext_resource is missing
2023-11-22 12:13:32 +01:00
Pedro J. Estébanez
fe4850c0d0
Use mingw-std-threads in MinGW builds
2023-11-18 11:56:05 +01:00
bruvzg
932174fedf
[Editor] Add option to override editor UI layout direction.
2023-11-17 14:56:45 +02:00
Rémi Verschelde
47c7abc212
Merge pull request #84973 from dsnopek/gdextension-fix-compat-hashes
...
Check that `GDExtensionCompatHashes` are valid when generating `extension_api.json`
2023-11-16 14:53:39 +01:00
Rémi Verschelde
6ae6cc0bf5
Merge pull request #84815 from TokageItLab/array-animation
...
Rework blending method in `Variant` animation for `Int`/`Array`/`String`
2023-11-16 14:52:00 +01:00
David Snopek
5cf6d08dda
Check that GDExtensionCompatHashes are valid when generating extension_api.json
2023-11-16 06:40:06 -06:00
Silc Lizard (Tokage) Renew
80c9533810
Rework blending method in Variant animation for Int/Array/String
2023-11-16 21:37:18 +09:00
Alistair Leslie-Hughes
5b6f641e99
Fix sizeof usage for Variant pointers in alloca
...
Coverity report this as a non portable usage of sizeof
2023-11-16 07:13:14 +11:00
Saracen
f392a9c4f8
Fix CACHE_MODE_REPLACE
2023-11-15 18:55:20 +00:00
Rémi Verschelde
dcee5cf9fa
Merge pull request #84884 from akien-mga/donors-sync-new-tiers
...
Donors: Change tiers to match Dev Fund, sync latest data
2023-11-14 19:31:50 +01:00
Rémi Verschelde
a28476d1cd
Merge pull request #84847 from RandomShaper/lang_init_term
...
Let languages init & finish run without locks held
2023-11-14 19:31:37 +01:00
Rémi Verschelde
ff5ac866e8
Donors: Change tiers to match Dev Fund, sync latest data
...
The new list includes all donors listed on fund.godotengine.org,
together with the ones still on Patreon on matching tiers.
We haven't yet updated Patreon tiers to match the Dev Fund, so donors
who used to be listed under "Silver donors" are now grandfathered under
the "Gold members" category from the Dev Fund.
2023-11-14 15:40:44 +01:00
Rémi Verschelde
40cdd22d57
Merge pull request #84873 from bruvzg/locale_rempas
...
Fix remapped font reloading on locale change.
2023-11-14 12:17:39 +01:00
bruvzg
8b2260544a
Fix remapped font reloading on locale change.
2023-11-13 21:25:41 +02:00
Pedro J. Estébanez
f05f8c399e
Let languages init & finish run without locks held
2023-11-13 16:06:48 +01:00
kobewi
4296f0a771
Fill remaining global scope constant descriptions
2023-11-13 15:17:10 +01:00
Rémi Verschelde
404c995ab3
Merge pull request #84795 from TheSofox/prevent-property-change-output-spam
...
Reduced output spam from rapid property changes
2023-11-12 23:00:31 +01:00
Rémi Verschelde
2bcc2a3cd0
Merge pull request #84791 from akien-mga/fix-translation-remapping-check
...
Fix translation remapping check for imported resources
2023-11-12 23:00:08 +01:00
Sofox
4006397339
Reduced output spam from rapid property changes
2023-11-12 14:49:51 +00:00
Rémi Verschelde
2729a78fd7
Fix translation remapping check for imported resources
...
Fixes #81660 .
2023-11-12 13:17:12 +01:00
Rémi Verschelde
747bff0bff
Merge pull request #84685 from KoBeWi/TIWAGOS
...
Rework input actions to be reliable
2023-11-12 12:15:07 +01:00
Rémi Verschelde
8928b2044b
Merge pull request #80281 from KoBeWi/unacceptable
...
Assign temporary path to preloaded resources
2023-11-12 12:13:55 +01:00
Rémi Verschelde
ba713c80df
Fix various typos with codespell
...
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
Rémi Verschelde
96fa86f9a0
Merge pull request #84557 from TheSofox/undo-history-sync-fix
...
Fix for stopping the Undo History being desynchronised from actual Undo queue
2023-11-10 21:55:46 +01:00
kobewi
d9d0cfaf38
Rework input actions to be reliable
2023-11-10 15:24:04 +01:00
Sofox
662522ae5a
Fix for stopping the Undo History being desynchronised from actual Undo queue.
2023-11-10 13:04:12 +00:00
Rémi Verschelde
dfe2df989d
Merge pull request #84493 from bruvzg/gde_ios_static_fix
...
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks.
2023-11-10 10:44:56 +01:00
kobewi
a3627b6e37
Assign temporary path to preloaded resources
2023-11-10 00:43:30 +01:00
Rémi Verschelde
b06fe0d574
Merge pull request #84620 from dsnopek/gdextension-library-path-absolute
...
Change `GDExtension`'s `library_path` back to an absolute path
2023-11-09 20:04:45 +01:00
bruvzg
d4d5d68eda
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks.
2023-11-09 20:04:40 +02:00
David Snopek
09fcc3a1ad
Change `GDExtension`'s `library_path` back to an absolute path
2023-11-09 11:24:57 -06:00
Rémi Verschelde
c2246a5a6f
Merge pull request #84668 from YuriSizov/gui-dont-warn-when-popup-subs-are-nameless
...
Allow auto-generated node names in `PopupMenu::add_submenu_item`
2023-11-09 18:10:35 +01:00
Rémi Verschelde
19db9308ff
Merge pull request #84657 from RandomShaper/lang_srv_threading
...
Make languages bookkeeping thread-safe
2023-11-09 18:09:01 +01:00
Pedro J. Estébanez
f3e96a8548
Make languages bookkeeping thread-safe
2023-11-09 18:03:43 +01:00
Yuri Sizov
edcad2ea88
Allow auto-generated node names in `PopupMenu::add_submenu_item`
2023-11-09 17:12:41 +01:00
Rémi Verschelde
aaafc69132
Merge pull request #84513 from bruvzg/x11_fallback_and_spam
...
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam.
2023-11-09 11:46:36 +01:00
Rémi Verschelde
ce53362f98
Merge pull request #83670 from raulsntos/notification-predelete-cleanup
...
Add `NOTIFICATION_PREDELETE_CLEANUP` notification to fix C# `Dispose()`
2023-11-09 11:45:49 +01:00
kobewi
275e9d7028
Keep Variant type after zero()
2023-11-08 12:13:36 +01:00
bruvzg
f3d4f5a77e
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam.
2023-11-06 12:40:44 +02:00
jsjtxietian
8f6e8ef0d7
clean unnecessay copy detected by clang-tidy
2023-11-06 16:22:32 +08:00
MewPurPur
931928feb9
Optimize String.humanize_size()
2023-11-05 02:42:54 +02:00
Aaron Franke
58076b9ccb
Implement glTF compat version system for files from older Godot versions
2023-11-03 12:07:25 -05:00
Yuri Sizov
b733901e9e
Merge pull request #84354 from RandomShaper/gdext_no_cache_doc
...
Polish & fix editor help cache generation
2023-11-02 20:34:22 +01:00
Yuri Sizov
1b42673b42
Merge pull request #84315 from dsnopek/gdextension-windows-modification-time
...
GDExtension: Save and compare modification times separately for reload
2023-11-02 20:34:15 +01:00
Wilson E. Alvarez
dbc49d2a68
Add const references in String class
2023-11-02 13:49:39 -04:00
David Snopek
f86054e3a0
GDExtension: Save and compare modification times separately for reload
2023-11-02 08:29:22 -05:00
Pedro J. Estébanez
a1d8fc1af9
Polish & fix editor help cache generation
...
- Isolated the generation of extensions's docs. They're now not cached and refreshed as needed.
- Removed superfluous sorting of the class list.
- Removed some superfluous/unused elements.
- Renamed some items for clarity.
2023-11-02 13:46:37 +01:00
Thomas ten Cate
2263d94cc3
Add comment why off-by-one error is hard to fix
...
See #83843
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-11-01 11:14:13 +01:00
Rémi Verschelde
a3e4c4f41c
Merge pull request #84155 from AThousandShips/encode_fix
...
Prevent `encode_variant` doing `memcpy` from `nullptr`
2023-10-30 23:19:22 +01:00
K. S. Ernest (iFire) Lee
9877fa5058
Fix uninitialized variable in Image::fix_alpha_edges()
...
`core\io\image.cpp:3776:33: error: 'closest_color[0]' may be used uninitialized [-Werror=maybe-uninitialized]`
2023-10-29 22:59:03 -07:00
A Thousand Ships
210461f2ed
Prevent `encode_variant` doing `memcpy` from `nullptr`
2023-10-29 18:06:21 +01:00
BlueCube3310
6ed1731746
Use platform-specific methods for FileAccess reading and writing
2023-10-29 17:34:18 +01:00
Danil Alexeev
b04263644c
Core: Allow methods of built-in `Variant` types to be used as Callables
2023-10-25 15:53:52 +03:00
Rémi Verschelde
f7c43a8a19
Merge pull request #83800 from dsnopek/gdextension-callable-custom-object-id
...
GDExtension: Use `ObjectID` when creating custom callable
2023-10-25 10:29:58 +02:00
Rémi Verschelde
e0b23ac420
Merge pull request #83845 from akien-mga/sync-gamecontrollerdb
...
Sync controller mappings DB with SDL2 community repo
2023-10-24 10:54:48 +02:00
Rémi Verschelde
a1fd0b9d8a
Merge pull request #83782 from timothyqiu/self-awareness
...
Fix heap-use-after-free when resource loaded with `load_threaded_request` is never fetched
2023-10-24 10:54:31 +02:00
Rémi Verschelde
bc5d5978ea
Merge pull request #83695 from YuriSizov/core-lock-and-key
...
Improve threading in ClassDB and EditorHelp
2023-10-24 10:54:19 +02:00
Rémi Verschelde
792afd2cad
Merge pull request #83588 from voidedWarranties/fix_sle_validate
...
Add `path` option to `ScriptLanguageExtension::_validate`
2023-10-24 10:54:11 +02:00
Rémi Verschelde
d3c0a7d598
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@eb831f75ab
Fixes #83552 .
2023-10-23 16:11:38 +02:00
David Snopek
b0a33cac7c
GDExtension: Use ObjectID when creating custom callable
2023-10-23 09:05:17 -05:00
Haoyu Qiu
dc7e309f48
Fix heap-use-after-free when resource loaded with load_threaded_request is never fetched
...
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2023-10-23 16:21:17 +08:00
voidedWarranties
e8309dd192
Add `path` option to `ScriptLanguageExtension::_validate`
2023-10-22 21:49:34 -07:00
Rémi Verschelde
542f6e10eb
Merge pull request #83734 from MarioLiebisch/fix-extension-load-error
...
GDExtension: Fixed error on loading extensions
2023-10-22 12:12:17 +02:00
Rémi Verschelde
14913f178b
Merge pull request #83434 from Chubercik/optimize_triangulate_delaunay
...
Update `triangulate_delaunay()` to avoid needless reallocations
2023-10-22 12:11:53 +02:00
Mario Liebisch
f2bcd7d61f
GDExtension: Fixed error on loading extensions
...
Previously, before loading an extension, the editor just tried to
retrieve the extension by path to test if it's been loaded already.
While this is handled gracefully, it ignored an error thrown inside
`GDExtensionManager::get_extension()`, that would essentially still
report a not yet loaded extension to the engine's log:
```
ERROR: Condition "!E" is true. Returning: Ref<GDExtension>()
at: GDExtensionManager::get_extension (core\extension\gdextension_manager.cpp:165)
```
This change actively checks whether the extension path is known and only
then proceeds to actually return the already loaded extension or loads
and returns the new one otherwise.
2023-10-21 17:00:18 +02:00
Yuri Sizov
9b03fb36f9
Improve threading in ClassDB and EditorHelp
2023-10-20 22:14:04 +02:00
Rémi Verschelde
f68fa0fedf
Merge pull request #83681 from dsnopek/gdextension-iter-get
...
GDExtension: Fix `variant_iter_get()` actually calling `iter_next()`
2023-10-20 22:02:51 +02:00
Rémi Verschelde
e6e9b04aab
Merge pull request #81322 from johnnyw/android_fix_joypad_trigger_range
...
Android: Fix joypad trigger value range
2023-10-20 22:02:00 +02:00
John Watson
d413a02079
Android: Fix joypad trigger value range
...
`Input::joy_axis` converts trigger values to be between 0.0f to 1.0f by default. This is not needed for Android, as values are already within that range, as per Android documentation: https://developer.android.com/reference/android/view/MotionEvent#AXIS_RTRIGGER
This patch prevents this conversion on Android, which caused L2 and R2 triggers to get stuck pressed. https://github.com/godotengine/godot/issues/79263
2023-10-20 11:30:20 -07:00
David Snopek
b14f359c94
GDExtension: Fix `variant_iter_get()` actually calling `iter_next()`
2023-10-20 10:07:46 -05:00
Rémi Verschelde
a63bff4ce4
Merge pull request #83619 from YuriSizov/core-our-vessel-only-has-one-node-left
...
Fix StringName leaks in VariantParser
2023-10-20 15:11:24 +02:00
Rémi Verschelde
01a8064760
Merge pull request #83583 from anrp/anrp/gdvirtboth
...
Allow coexistence of GDScript and GDExtension virtual methods in the same object
2023-10-20 15:09:27 +02:00
Raul Santos
9750e49c57
Add `NOTIFICATION_PREDELETE_CLEANUP` notification
...
New notification sent after `NOTIFICATION_PREDELETE` to let Objects cleanup at the very end, it should be the last notification sent.
2023-10-20 13:43:42 +02:00
Yuri Sizov
4952d37f4b
Fix StringName leaks in VariantParser
2023-10-19 17:13:15 +02:00
anrp
4c33c60500
Allow coexistance of GDScript and GDExtension virtual methods in the same object
...
Resolves https://github.com/godotengine/godot-cpp/issues/1224
2023-10-19 10:21:26 -04:00
Yuri Sizov
582ed157b5
Fix StringName leaks in GDExtension, core, and editor themes
2023-10-18 17:36:20 +02:00
Rémi Verschelde
e6d488f233
Merge pull request #81196 from georgwacker/add-audiosession-options
...
Add project settings for AVAudioSessionCategory on iOS
2023-10-17 16:12:49 +02:00
Georg Wacker
fcc500ea41
Add project settings for AVAudioSessionCategory on iOS
2023-10-17 12:35:49 +02:00
Emmanuel Leblond
fd33c7b32f
Merge pull request #83415 from touilleMan/fix-comment-gdextension_interface
...
Fix comment in `gdextension_interface.h`
2023-10-16 21:42:01 +02:00
Emmanuel Leblond
5aa9f1ce64
Fix comment in gdextension_interface.h
2023-10-16 21:40:45 +02:00
Rémi Verschelde
3bc1c9b5e0
Merge pull request #82797 from RandomShaper/fix_rbmap
...
Fix `RBMap`'s, iterator-based, `remove()`
2023-10-16 20:16:16 +02:00
Rémi Verschelde
eb9903b4ce
Merge pull request #83285 from dsnopek/gdextension-double-reload
...
GDExtension: Prevent issues with the editor trying to reload GDExtensions through its usual mechanism
2023-10-16 18:44:51 +02:00
Rémi Verschelde
50212ecfdb
Merge pull request #78882 from dalexeev/gds-fix-utility-func-err-msg
...
GDScript: Fix incorrect error message for utility functions
2023-10-16 18:43:11 +02:00
Danil Alexeev
0c2202c56e
GDScript: Fix incorrect error message for utility functions
2023-10-16 14:09:57 +03:00
Jakub Marcowski
c33e291474
Update `triangulate_delaunay()` to avoid needless reallocations
2023-10-16 12:37:57 +02:00
Jakub Marcowski
bc78c832e9
Expose 3D Delaunay tetrahedralization in `Geometry3D`
2023-10-16 11:48:49 +02:00
ErezShahaf
ccb8ea613a
Fix `Input.is_action_just_pressed` flicker on joypad axes
...
Pressed tick assignments were in the wrong scope, resulting in updating
`pressed_frame` even when it shouldn't and therefore the `just_pressed`
would return true every time that the strength changes and not only when
there's a new valid press.
Fixes #81975 .
2023-10-16 11:41:56 +02:00
Rémi Verschelde
c7b75c0226
Merge pull request #83318 from rburing/gdextension_dump_brief_description
...
Add brief description in GDExtension API dump with docs
2023-10-16 10:41:23 +02:00
Rémi Verschelde
4a6e8dc57b
Merge pull request #83146 from pancelor/fix-tilemap-liveupdate
...
Fix tilemap live editing while game is running
2023-10-16 10:39:48 +02:00
pancelor
d66b1752b8
Fix tilemap live editing while game is running
2023-10-14 18:54:03 -07:00
Ricardo Buring
c87b2a606e
Add brief description in GDExtension API dump with docs
...
Also rename the "documentation" key to "description" for internal
consistency.
2023-10-14 12:06:37 +02:00
David Snopek
16a86b9604
GDExtension: Prevent issues with the editor trying to reload GDExtensions through its usual mechanism
2023-10-13 13:24:29 -05:00
Rémi Verschelde
51f81e1c88
Merge pull request #82957 from bruvzg/fs_case_check
...
Add method to check if filesystem is case sensitive.
2023-10-13 12:55:35 +02:00
Thaddeus Crews
d8fdd419fa
Apply missing flag to vector4/projection
2023-10-12 11:18:45 -05:00
Jakub Marcowski
cb954c6bab
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2023-10-12 13:46:49 +02:00
Paul Joannon
bf3f6e3b55
Error handling for `FileAccess.get_file_as_*`
...
- Assign last error in said `FileAccess.get_file_as_bytes` and `FileAccess.get_file_as_string`
- Document error handling for said methods
2023-10-11 18:52:16 +02:00
Rémi Verschelde
b40d90d333
Merge pull request #83107 from dsnopek/validated-method-vararg-message
...
GDExtension: Fix incorrect error message about vararg methods
2023-10-10 22:51:41 +02:00
Rémi Verschelde
feb6ea21dd
Merge pull request #83054 from dsnopek/gdextension-validated-call-always-ret-pointer
...
GDExtension: Use correct return pointer for validated calls that return `Variant`
2023-10-10 22:49:41 +02:00
David Snopek
87cb0bfa50
GDExtension: Fix incorrect error message about vararg methods
2023-10-10 08:46:25 -05:00
David Snopek
88b6fee547
GDExtension: Use correct return pointer for validated calls that return `Variant`
2023-10-10 08:31:08 -05:00
Rémi Verschelde
71a8ac41fb
Merge pull request #72751 from dalexeev/doc-comment-color
...
Highlight doc comments in a different color
2023-10-09 23:21:54 +02:00
Rémi Verschelde
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
...
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde
336260b7b3
Merge pull request #83002 from AThousandShips/safety_check
...
Replace `sanity` with `safety` for checks
2023-10-09 15:36:49 +02:00
Rémi Verschelde
35ede42d1d
Merge pull request #82695 from maiself/object-less-callables-fixes
...
Fixes to allow object-less callables throughout Godot
2023-10-09 15:32:38 +02:00
bruvzg
97bcd8a631
Add method to check if filesystem is case sensitive.
2023-10-09 11:00:15 +03:00
Danil Alexeev
de7cbe8789
Highlight doc comments in a different color
2023-10-08 19:26:10 +03:00
A Thousand Ships
f18aa00e85
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-08 17:23:33 +02:00
A Thousand Ships
034c0f1624
Replace `sanity` with `safety` for checks
2023-10-08 16:22:24 +02:00
Mai Lavelle
5e15586ec2
Fixes to allow object-less callables throughout Godot
...
This fixes #81887
2023-10-06 16:31:35 -04:00
Rémi Verschelde
a6a2d0d159
Merge pull request #82794 from dsnopek/gdextension-validated-call
...
GDExtension: Convert `validated_call()` to `ptrcall()` (rather than `call()`)
2023-10-06 16:50:57 +02:00
Rémi Verschelde
7c56631419
Merge pull request #82861 from mihe/gdext-entry-false
...
Fix extensions loading/initializing even when entry point fails
2023-10-05 22:50:35 +02:00
Mikael Hermansson
5c6353ae17
Fix extensions loading/initializing even when entry point fails
2023-10-05 18:24:58 +02:00
Rémi Verschelde
af232e63de
Merge pull request #82842 from YuriSizov/gdext-icons-are-relative-maaaan
...
Resolve relative icon paths for GDExtensions
2023-10-05 16:32:40 +02:00
Yuri Sizov
d427851013
Resolve relative icon paths for GDExtensions
2023-10-05 12:49:31 +02:00
Rémi Verschelde
c2b916751d
Merge pull request #82786 from theraot/donotreplacestartingdigitwithunderscore
...
Do not replace starting digit with underscore when making identifier
2023-10-05 12:29:42 +02:00
kobewi
09b30be86d
Add vararg call() method to C++ Callable
2023-10-05 11:35:29 +02:00
Rémi Verschelde
c7ed5d795e
Merge pull request #82799 from CedNaru/feature/expose_free_instance_binding
...
Expose `Object::free_instance_binding()` to GDExtension
2023-10-05 10:10:58 +02:00
Ced Naru
0a246e9b54
expose Object::free_instance_binding to GDExtension
2023-10-04 19:24:37 +02:00
Pedro J. Estébanez
5c81236047
Fix RBMap's, iterator-based, remove()
2023-10-04 18:58:28 +02:00
Danil Alexeev
ed0b3c08e1
Core: Fix `Object::has_method()` for script static methods
2023-10-04 19:44:32 +03:00
David Snopek
55596eaac6
GDExtension: Convert `validated_call()` to `ptrcall()` (rather than `call()`)
2023-10-04 10:53:17 -05:00
Alfonso J. Ramos
5cd7ca0ccc
Do not replace starting digit with underscore when making identifier
2023-10-04 08:05:04 -05:00
Yuri Roubinski
04bb89c0bd
Add isometric cell shape mode to `AStarGrid2D`.
2023-10-03 21:04:03 +03:00
Rémi Verschelde
dbd4c79c38
Merge pull request #82682 from dsnopek/gdextension-dont-deprecate-script-category
...
GDExtension: Don't deprecate old method of getting script category
2023-10-03 17:26:41 +02:00
Rémi Verschelde
5efbed51cc
GDScript: Improve error messages for invalid indexing
...
These errors are very common when using an invalid property name
or calling on an object of the wrong type, and the previous message
was a bit cryptic for users.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
Co-authored-by: golfinq <golfinqz@gmail.com>
2023-10-02 14:23:11 -04:00
Jakub Janšta
74c937079c
Add type_string() utility
2023-10-02 17:41:20 +02:00
David Snopek
cbf939e121
GDExtension: Don't deprecate old method of getting script category
2023-10-02 09:23:27 -05:00
Rémi Verschelde
98d9119cee
Merge pull request #82603 from kkolyan/82601_fix_reload_loop
...
Fix inconsistent `last_modified_time` handling in GDExtension
2023-10-02 13:16:47 +02:00
Rémi Verschelde
5fe97c5844
Merge pull request #82441 from akien-mga/web-clarify-get_unique_id
...
Web: Clarify that `OS.get_unique_id` is not supported
2023-10-02 13:16:31 +02:00
Rémi Verschelde
e95b7e84a4
Merge pull request #80844 from dalexeev/fix-callable-expected-argc
...
Fix expected argument count for `Callable` call errors
2023-10-02 13:15:53 +02:00
etti
3a39de4e2f
Add rotate_toward and angle_difference to GDScript and C#
2023-10-01 22:19:42 +02:00
kkolyan
43f92e4752
Fix inconsistent last_modified_time handling (prevent GDExtension reload spam on Windows 10)
2023-10-01 22:05:57 +04:00
Danil Alexeev
aff767ef07
Fix expected argument count for `Callable` call errors
2023-09-29 20:00:10 +03:00
风青山
e705aa4550
Fix not refitting upward from leaf nodes.
...
Previously, the wrong node id (root node id) was used. Dirty leaf nodes
do not actually recalculate aabb.
Additionally, when requesting a new leaf, mark `dirty` as `false` in `clear()`.
Make sure to only mark the leaf as **dirty** when shrinking the border of
the leaf when removing items.
In other cases, the leaf node's aabb will get the correct result immediately.
1. When adding an item, the leaf nodes will be calculated immediately.
2. Removing the item within the border of the leaf node has no effect on the
original aabb.
2023-09-28 20:27:51 +08:00
Yuri Sizov
5f53ec9129
Merge pull request #78995 from Gallilus/master
...
Allow implementing `get_class_category` in GDExtension
2023-09-27 19:07:50 +02:00
David Cambré
531f56e830
add GDExtensionScriptInstanceGetClassCategory
...
Change GetClassCategory so it is handled in native directly
2023-09-27 17:45:48 +02:00
Rémi Verschelde
0a10f09ce4
Web: Clarify that `OS.get_unique_id` is not supported
...
Remove the base error message in `OS`, we no longer really error out this
way for not implemented methods. Instead, each platform should override them
to provide the context they want.
Fixes #82439 .
2023-09-27 15:17:45 +02:00
Rémi Verschelde
ec62b8a3ee
Merge pull request #82436 from Rindbee/fix-axis-being-mixed-up
...
Fix axis getting mixed up when split leaf
2023-09-27 14:03:51 +02:00
Rémi Verschelde
d616c3ecd0
Merge pull request #82408 from hpvb/fix-import-crash
...
Fix Image import crash
2023-09-27 14:03:47 +02:00
Rémi Verschelde
737c308dcc
Merge pull request #74588 from puchik/float-variant-nan-inequality
...
Support numeric/binary hash comparison for floats derived from Variants (as well as existing semantic comparison)
2023-09-27 14:03:34 +02:00
Rémi Verschelde
19057c07bc
Merge pull request #67080 from Mickeon/resource-virtual-local-to-scene-setup
...
Reimplement Resource.`_setup_local_to_scene` & deprecate signal
2023-09-27 14:03:28 +02:00
风青山
0156860ad5
Fix axis getting mixed up when split leaf
2023-09-27 17:56:12 +08:00
Hein-Pieter van Braam
b5705958e6
Fix import crash
...
I was trying to import a solid colored metal/roughness texture that
worked in Godot 4.1.1 but failed to load on master. I eventually tracked
it down to this: to_x and to_y can be 0, which then leads them to be -1
later, which then causes ofs to overflow.
Some of these cases were hidden because of the use of Vector so we were
just happily scribbling in ram elsewhere.
Switched to LocalVector as it made debugging a bit easier.
2023-09-26 23:50:50 +02:00
Rémi Verschelde
251fb83d53
Merge pull request #82331 from rburing/gdextension_dump_docs
...
Optionally include documentation in GDExtension API dump
2023-09-26 22:46:34 +02:00
Ricardo Buring
8ee04c5f87
Optionally include documentation in GDExtension API dump
2023-09-26 21:39:24 +02:00
Rémi Verschelde
da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
...
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00
Rémi Verschelde
666a92c7c2
Merge pull request #82244 from SaracenOne/fix_dependency_error_popup
...
Fix missing dependency warning popup
2023-09-26 13:45:23 +02:00
Rémi Verschelde
017541bcec
Merge pull request #80527 from raulsntos/dotnet/generate-compat-methods-from-classdb
...
C#: Generate and use compat methods
2023-09-26 13:44:52 +02:00
Rémi Verschelde
3ec673085b
Merge pull request #79523 from aaronfranke/is-conformal
...
Add `is_conformal` method to Basis and Transform2D
2023-09-26 13:44:41 +02:00
Rémi Verschelde
7e67b496ff
Merge pull request #82332 from Sauermann/fix-struct-type
...
Fix type of `notification_func`
2023-09-26 08:32:15 +02:00
Rémi Verschelde
7dccb9e039
Merge pull request #80796 from smix8/navgenerator_2d_4.x
...
Add 2D navigation mesh baking
2023-09-26 08:17:58 +02:00
Rémi Verschelde
55dfbd7761
Merge pull request #80284 from dsnopek/gdextension-hot-reload
...
Implement reloading of GDExtensions
2023-09-26 08:17:28 +02:00
David Snopek
2733a6f762
Implement reloading of GDExtensions
2023-09-25 22:10:17 -05:00
Saracen
0b0a6109b6
Make notify_dependency_error only defer calls if called from secondary threads.
2023-09-26 03:36:11 +01:00
Saracen
3f4513d4de
Add error checks for DirAccess creation.
2023-09-26 03:07:43 +01:00
Markus Sauermann
d2bcde0407
Fix type of notification_func
2023-09-25 23:37:13 +02:00
Rémi Verschelde
023b6b30c1
Merge pull request #73813 from groud/improve_y_sort_performances
...
Greatly improve Y-sort performance on TileMaps
2023-09-25 22:47:22 +02:00
smix8
0ee7e3102b
Add 2D navigation mesh baking
...
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
Gilles Roudière
30b94bb8ab
Improve TileMap Y-sorting performance
2023-09-25 18:49:04 +02:00
Rémi Verschelde
9750876d7a
Merge pull request #80962 from YuriSizov/godot-the-editor-engine
...
Differentiate between core and editor-only singletons
2023-09-25 18:38:17 +02:00
Rémi Verschelde
82f6e9be5e
Merge pull request #82297 from sadikkuzu/master
...
Fix typo in `heuristic_euclidian` helper in AStarGrid2D
2023-09-25 17:18:55 +02:00
Rémi Verschelde
e4cfd4e26a
Merge pull request #82195 from AThousandShips/radian_fix
...
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
Rémi Verschelde
d759f91f8d
Merge pull request #81101 from 398utubzyt/dotnet/abstract-class-support
...
C#: Add abstract class support
2023-09-25 17:18:05 +02:00
Rémi Verschelde
1a0e653d7f
Merge pull request #78573 from dalexeev/editor-create-script-class-name
...
Editor: Remove unused Class Name field from Create Script dialog
2023-09-25 17:17:46 +02:00
SADIK KUZU
a8ff5f086d
Fix typo in `heuristic_euclidian` helper in AStarGrid2D
2023-09-25 14:33:22 +03:00
A Thousand Ships
e45927b2f2
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 08:50:19 +02:00
Rémi Verschelde
0b4959bdf0
Merge pull request #82203 from KoBeWi/shortcuts_under_pressure
...
Make InputEventShortcut always pressed
2023-09-24 23:36:09 +02:00
Rémi Verschelde
d8c31155a8
Merge pull request #82191 from dsnopek/gdextension-redundant-hash-check
...
GDExtension: Remove redundant method bind hash check
2023-09-24 23:35:45 +02:00
Rémi Verschelde
40b48b13ee
Merge pull request #78580 from Bromeon/feature/gdextension-stringname-ctor
...
Add GDExtension function to construct StringName directly from char*
2023-09-24 23:30:04 +02:00
Jan Haller
c770937db5
More precise documentation for GDExtension String constructors (bytes vs. character count)
2023-09-24 20:57:58 +02:00
Jan Haller
43be9fa0c8
Fix platform-dependent hashing for char* and wchar_t*
...
Since char/wchar_t can be either signed or unsigned, its conversion to uint32_t leads to different values depending on platform.
In particular, the same string represented as char* (Latin-1; StringName direct construction) or uint32_t (UTF-8; constructed
via String) previously resulted in different hashes.
2023-09-24 20:57:57 +02:00
Jan Haller
ed3015e979
GDExtension: construct StringName directly from char*
...
So far, an indirection via String was necessary, causing at least 2 allocations and copies (String; String inside StringName).
Since StringNames often refer to string literals, this allows them to be directly constructed from C strings.
There are two formats: Latin-1 and UTF-8.
The Latin-1 constructor also provides the `p_is_static` flag: when the source has static storage duration, no copy/allocation will be needed.
However, the extension developer needs to uphold this lifetime guarantee.
2023-09-24 18:18:05 +02:00
Rémi Verschelde
e40b0b3ed8
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@fc4b33c872
2023-09-24 15:51:12 +02:00
kobewi
90a0b19301
Make InputEventShortcut always pressed
2023-09-23 19:43:07 +02:00
David Snopek
0967fe6217
GDExtension: Remove redundant method bind hash check
2023-09-23 08:48:33 -05:00
Rémi Verschelde
6fc1d50db3
Merge pull request #81521 from dsnopek/method-bind-default-argument-hash-fix
...
Fix method hashes with default arguments
2023-09-22 22:03:30 +02:00
David Snopek
0d13727c97
Fix method hashes with default arguments
2023-09-21 12:39:04 -05:00
Rémi Verschelde
59139df16e
Merge pull request #81986 from spazzylemons/master
...
Remove unnecessary line from Projection::get_z_far
2023-09-20 18:55:32 +02:00
Rémi Verschelde
6df12fe187
Merge pull request #80671 from fuzzybinary/gdextension-virtuals
...
Add functions for non-ptr style virtual calls in GDExtension
2023-09-20 18:55:05 +02:00
Matthew
9f21dfbafd
Remove unnecessary line from Projection::get_z_far
...
Removes a line from Projection::get_z_far that flips the normal of a plane.
While this may be required for similar code elsewhere in the file, this is
unnecessary here, as only the length of the normal is used and not the
direction. Flipping the normal does not change its magnitude and therefore is
unnecessary in this case.
2023-09-20 10:48:37 -04:00
Rémi Verschelde
54748f23dd
Merge pull request #74142 from bitsawer/mipmap_api
...
Expose and document `Image.get_mipmap_count()`
2023-09-20 15:18:15 +02:00
Rémi Verschelde
c36f6f87e6
Merge pull request #81917 from AThousandShips/alloc_fix
...
Fix allocation size overflow check in `CowData`
2023-09-20 13:09:55 +02:00
Jeff Ward
60851af4da
Add functions for non-ptr style virtual calls in GDExtension
...
This adds two functions to `GDExtensionClassCreationInfo` that allow for developers to supply a generic virtual call function along with user data to be sent to that call.
If `get_virutal_call_data_func` is not null, extensions call this function to get user data to pass to a supplied `call_virtual_with_data_func`. Both must be provided is one is provided.
If `get_virtual_call_data_func` is null, Godot falls back to the old `get_virtual_func` logic.
Fixes #63275
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-09-19 22:33:32 -04:00
Raul Santos
5f6082a96b
C#: Generate and use compat methods
...
- Implements `ClassDB::get_method_list_with_compatibility` to retrieve all methods from a class including compat methods.
- C# bindings generator now also generates compat methods.
- All generated C# methods now use `ClassDB::get_method_with_compatibility`.
2023-09-19 20:35:11 +02:00
Danil Alexeev
1621110e2d
Core: Some code style improvements to `AStarGrid2D`
2023-09-19 17:20:38 +03:00
A Thousand Ships
c48b189e14
Fix allocation size overflow check in `CowData`
2023-09-19 16:12:02 +02:00
bitsawer
16c3a19d91
Expose and document Image.get_mipmap_count()
2023-09-19 14:34:59 +03:00
Rémi Verschelde
8dfc3f1864
Merge pull request #79005 from maiself/gde-custom-callable
...
Allow CallableCustom objects to be created from GDExtensions (extended)
2023-09-19 09:02:49 +02:00
Rémi Verschelde
7bb80b1525
Merge pull request #81741 from KoBeWi/vectoring_to_the_MAXXX
...
Add `Vector2/3/4i.MAX` and `MIN`
2023-09-17 14:47:52 +02:00
Rémi Verschelde
61df1deb61
Merge pull request #80075 from Bromeon/gdextension/optimize-ptrcalls
...
GDExtension: `PtrToArg::convert()` uses const-reference where possible
2023-09-17 14:46:13 +02:00
kobewi
adc930baee
Add Vector2/3/4i.MAX and MIN
2023-09-16 21:52:13 +02:00
398utubzyt
2df37a237a
C#: Abstract script class support
2023-09-15 20:35:25 -07:00
kobewi
cd0aaab48c
Cleanup some GLOBAL_DEFs
2023-09-15 21:32:23 +02:00
Aaron Franke
56806ffeed
Add `is_conformal` method to Basis and Transform2D
2023-09-13 17:20:30 -05:00
David Snopek
6554ccf86d
GDExtension: Delete left-over DLL copy before making a new copy
2023-09-12 09:57:40 -05:00
Rémi Verschelde
cc61c9d63d
Merge pull request #81487 from AThousandShips/null_check_core
...
[Core] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-12 12:02:02 +02:00
Rémi Verschelde
38ca83e16f
Merge pull request #81464 from AcatXIo/fix-sign-nan
...
Fix `SIGN(NAN)` returning 1
2023-09-12 12:01:39 +02:00
Danil Alexeev
26ce861910
Editor: Remove unused Class Name field from Create Script dialog
2023-09-12 12:49:56 +03:00
A Thousand Ships
893f889d74
[Core] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-11 19:45:49 +02:00
Rémi Verschelde
43c7e8d3b5
Merge pull request #81515 from dsnopek/gdextension-validate-property-object
...
Allow implementing `Object::_validate_property()` from GDExtension
2023-09-11 15:40:05 +02:00
Rémi Verschelde
5f5ca23586
Merge pull request #81170 from KoBeWi/step_input
...
Prevent axis-based actions from getting stuck
2023-09-11 15:37:42 +02:00
Rémi Verschelde
786dab42fd
Merge pull request #70329 from Daylily-Zeleen/daylily-zeleen/register_internal_class
...
Allow GDExtension to register unexposed classes.
2023-09-11 15:35:31 +02:00
David Snopek
abef8e3874
Allow implementing `Object::_validate_property()` from GDExtension
2023-09-10 11:17:59 -05:00
Micky
79ce0c6e80
Reimplement Resource.`_local_to_scene_setup` & remove workaround
...
Reimplements the virtual method _setup_local_to_scene, lost in #51970
Also deprecates the redundant `setup_local_to_scene_requested` signal.
2023-09-09 13:51:12 +02:00
AcatXIo
7d69a5ba50
Fix sign(NAN) returning 1.
...
Fixes #79036 . sign(NAN) now returns 0.
This should not impact performance much in any way.
Adds a test for the NAN case. Updates the documentation to clarify the new behavior.
2023-09-09 11:30:11 +02:00
Aaron Franke
6f7eccc758
Add a type conversion method to Variant Utility and expose to scripting
2023-09-08 10:12:48 -05:00
Rémi Verschelde
8de6405288
UWP: Remove platform port, needs to be redone from scratch for 4.x
...
The UWP platform port was never ported to the Godot 4.0+ API,
and it's now accumulating bitrot as it doesn't compile, and thus
we no longer propagate platform changes in it.
So we finally remove to acknowledge this state. There's still some
interest in reviving the UWP port eventually, especially as support
for Direct3D 12 will soon be merged, but when that happens it will
be easiest to redo it from scratch.
2023-09-07 15:01:59 +02:00
Rémi Verschelde
7663c69922
Merge pull request #81388 from YuriSizov/core-gdvirtual-but-less-confused-about-itself
...
Extract `ScriptInstance` into its own file to simplify includes
2023-09-07 13:53:45 +02:00
Rémi Verschelde
d013fc3f03
Merge pull request #81304 from ajreckof/Change-precedence-in-rules-to-make-location-after-proper-casing-
...
Change precedence in rules to make location after proper casing.
2023-09-07 13:52:08 +02:00
Rémi Verschelde
d1c94eef06
Merge pull request #81261 from dsnopek/gdextension-validate-property
...
Allow implementing `ScriptInstance::validate_property()` from GDExtension
2023-09-07 13:51:44 +02:00
Yuri Sizov
d8ff69d53c
Extract ScriptInstance to simplify includes
...
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.
This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Rémi Verschelde
0a7f75ec7b
Merge pull request #80740 from m4gr3d/godot_android_plugin_refactor_main
...
Godot Android plugin re-architecture
2023-09-06 00:09:07 +02:00
ajreckof
19632eaf50
Change precedence in rules to make location after proper casing.
2023-09-05 16:16:21 +02:00
bruvzg
2b3bbde6da
[String] Fix string conversion for -0.0 float values.
2023-09-05 11:32:55 +03:00
David Snopek
3e7a6e058a
Allow implementing `ScriptInstance::validate_property()` from GDExtension
2023-09-04 13:55:48 -05:00
kobewi
a490fad82d
Prevent axis-based actions from getting stuck
2023-09-04 15:47:26 +02:00
Rémi Verschelde
75de1ca768
Merge pull request #81280 from ogapo/deterministic_pcks
...
Fix for non-deterministic behavior in PCKPacker
2023-09-04 09:09:23 +02:00
Rémi Verschelde
dd4fae6162
Merge pull request #74809 from Chaosus/completion_color_xyzw
...
Add coloring for completion of vector components
2023-09-04 09:06:57 +02:00
Daylily-Zeleen
41ffe5461f
Allow GDExtension to register unexposed class.
2023-09-04 10:18:20 +08:00
Fredia Huya-Kouadio
8cc7739197
Godot Android plugin re-architecture
2023-09-03 17:04:10 -07:00
David Nikdel
067807c1cb
Remove nondeterminism in pck_packer
...
PCK files (like other build products) should be deterministic based on their inputs. Removed calls to Math::rand() that are being used to generate padding.
Looks like these were introduced as part of adding encryption support, but the padding being random does not have any cryptographic significance. This can be trivially inferred since file blocks that happen to be aligned don't get padding anyway.
If there's a desire to indroduce something that functions as a nonce it should probably be added explicitly and only if encryption is enabled.
remove Math::rand() calls in editor_export_platform.cpp
follow up to make consistent with pck_packer
2023-09-03 18:14:30 -04:00
Rémi Verschelde
fa3428ff25
Merge pull request #81221 from dalexeev/editor-inspector-and-signal-dock-improvements
...
Editor: Inspector and Signal docks improvements
2023-09-03 00:21:04 +02:00
Jan Haller
4e202bcec7
GDExtension: fix `bool` unknown in C
2023-09-02 21:04:49 +02:00
Rémi Verschelde
c326914c49
Merge pull request #81206 from dsnopek/script-instance-extension-memory-bug2
...
GDExtension: Allocate `GDExtensionScriptInstanceInfo2` for compatibility on the heap to prevent crash
2023-09-02 14:30:36 +02:00
Danil Alexeev
c33ca26e17
Editor: Inspector and Signal docks improvements
2023-09-02 08:50:28 +03:00
Daylily-Zeleen
67e1401891
Set builtin varrarg ptrcalls, called without arg.
2023-09-02 00:34:16 +08:00
Rémi Verschelde
bbdd1aaa38
Merge pull request #81131 from AThousandShips/callable_fix
...
Fix comparison of `Callable`s with binds
2023-09-01 16:02:35 +02:00
Jcrespo
528a76486c
Add inverse hyperbolic functions `asinh()`, `acosh()` & `atanh()`
...
GDScript has the following built-in trigonometry functions:
- `sin()`
- `cos()`
- `tan()`
- `asin()`
- `acos()`
- `atan()`
- `atan()`
- `sinh()`
- `cosh()`
- `tanh()`
However, it lacks the hyperbolic arc (also known as inverse
hyperbolic) functions:
- `asinh()`
- `acosh()`
- `atanh()`
Implement them by just exposing the C++ Math library, but clamping
its values to the closest real defined value.
For the cosine, clamp input values lower than 1 to 1.
In the case of the tangent, where the limit value is infinite,
clamp it to -inf or +inf.
References #78377
Fixes godotengine/godot-proposals#7110
2023-09-01 01:27:56 +02:00
David Snopek
83faf84ec9
GDExtension: Allocate `GDExtensionScriptInstanceInfo2` for compatibility on the heap to prevent crash
2023-08-31 15:19:31 -05:00
Mai Lavelle
e0ee985f64
Allow CallableCustom objects to be created from GDExtensions
...
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-08-31 12:36:25 -04:00
Arman Elgudzhyan
ee27254602
Support both semantic (by default) and numeric Variant hash comparison
...
Hash comparison for Variant continues to perform semantic/logical comparison with NaN's considered equal by default (to prevent #16114 , #7354 , #6947 , #8081 ), but now optionally allows for numeric comparison that does not consider NaN's equal to support proper value comparison (for #72222 )
2023-08-31 09:29:48 -07:00
Yuri Rubinsky
35802374ac
Add coloring for completion of vector components
2023-08-30 21:13:25 +03:00
Rémi Verschelde
8edc0b43b9
Merge pull request #78634 from Sauermann/fix-notification-order
...
Fix `Object::notification` order
2023-08-30 08:44:36 +02:00
Markus Sauermann
c4705a590b
Fix Object::notification order
...
Previously the `p_reversed` parameter didn't influence the order
in a correct way.
Also script overridden _notification functions were not called in
the correct order.
To fix this some `notification` functions had to add a `p_reversed`
parameter.
This made it necessary to adjust cpp-bindings.
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-08-30 00:15:55 +02:00
Rémi Verschelde
cfe9cd5cae
Merge pull request #81126 from clayjohn/revert-dds-runtime
...
Revert "Implement loading DDS textures at run-time"
2023-08-29 18:42:56 +02:00
Rémi Verschelde
d7ceb7f1dc
Merge pull request #81129 from KoBeWi/debug_bug
...
Remove debug print
2023-08-29 17:30:32 +02:00
A Thousand Ships
2caf5ae453
Fix comparison of `Callable`s with binds
2023-08-29 16:10:14 +02:00
David Snopek
39a604c9ab
Exclude unexposed classes from the extension_api.json
2023-08-29 08:45:58 -05:00
kobewi
5b95935e18
Remove debug print
2023-08-29 15:34:24 +02:00
Rémi Verschelde
c8c2a7e083
Merge pull request #81123 from dalexeev/core-fix-recursion-check-for-wariant-writer-objects
...
Core: Fix recursion level check for `VariantWriter::write()` with objects
2023-08-29 15:07:12 +02:00
Rémi Verschelde
76bc5a6554
Merge pull request #80859 from KoBeWi/prepare_for_action_and_make_it_double
...
Fix action state when multiple events are assigned
2023-08-29 15:06:02 +02:00
Rémi Verschelde
8ebb34707a
Merge pull request #61818 from KoBeWi/secret_prefix_stash
...
Made hidden ProjectSettings groups more explicit
2023-08-29 15:05:38 +02:00
clayjohn
0045dc204c
Revert "Implement loading DDS textures at run-time"
...
This reverts commit 34ab1c8a36 .
2023-08-29 14:25:16 +02:00
Danil Alexeev
5d689ad560
Core: Fix recursion level check for `VariantWriter::write()` with objects
2023-08-29 15:05:53 +03:00
Rémi Verschelde
7e083e53c3
Merge pull request #81020 from AThousandShips/object_register_fix
...
Add check to ensure registered classes are declared
2023-08-29 12:45:33 +02:00
Rémi Verschelde
38a69c0719
Merge pull request #80394 from maiself/expose-placeholder-script-instance-to-gde
...
Expose PlaceHolderScriptInstance to GDExtension
2023-08-29 12:42:40 +02:00
Rémi Verschelde
76d318dbd1
Merge pull request #75778 from KoBeWi/_vp
...
Expose `_validate_property()` for scripting
2023-08-29 12:41:27 +02:00
Rémi Verschelde
91c5273ec5
Merge pull request #75656 from YuriSizov/core-iconic-builtins
...
Add a script method to get its class icon
2023-08-29 12:41:03 +02:00
Mai Lavelle
4b5da7e0ac
Expose PlaceHolderScriptInstance to GDExtension
...
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-08-28 17:43:45 -04:00
kobewi
67db4693eb
Expose _validate_property() for scripting
2023-08-28 15:18:48 +02:00
alcomposer
deaf6c3bb1
Context aware MIDI event printing
2023-08-28 12:42:15 +02:00
A Thousand Ships
c638238fae
Add check to ensure registered classes are declared
...
Checks that all classes registered to `ClassDB` have been properly
declared with `GDCLASS`
2023-08-28 12:16:49 +02:00
AttackButton
8908ac4e6e
Add missing YEN, SECTION and OPENURL names to keycode mappings
2023-08-28 03:37:22 -03:00
kobewi
ad1abca668
Fix action state when multiple events are assigned
2023-08-25 23:10:27 +02:00
Yuri Sizov
4cdbbfd071
Differentiate between core and editor-only singletons
...
This makes sure that running scenes in debug mode
(from the editor) does not crash Godot.
In export mode it should already work correctly, because
editor-only singletons are never registered in the first place.
2023-08-24 16:46:54 +02:00
Yuri Sizov
2c77f07aaa
Add a script method to get its class icon
...
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2023-08-24 13:05:41 +02:00
kobewi
2cd63a1ef0
Made hidden ProjectSettings groups more explicit
2023-08-23 22:43:43 +02:00
Ricardo Buring
acf9d4e4de
Fix GDExtension classes derived from abstract GDExtension classes always being registered as abstract
2023-08-22 09:53:03 +02:00
George Marques
150b50cfcd
Make freed object different than null in comparison operators
...
This is so everything is consistent, as a freed object is not equivalent
to `null` in general. The booleanization of a freed object still returns
`false` to work as an easy check for validity of objects. Similarly, the
negation of a freed object returns `true`.
Also makes freed objects different from each other (if they are not the
same reference).
2023-08-21 10:45:26 -03:00
Rémi Verschelde
970be7afdc
Merge pull request #80824 from MewPurPur/optimize-left-and-right
...
Optimize `String.left()` and `String.right()`
2023-08-21 08:26:15 +02:00
MewPurPur
c9287e5224
Optimize String.left() and String.right()
2023-08-20 20:01:06 +03:00
Thaddeus Crews
c82bdef2fc
Undefine typed array templates after use
2023-08-19 12:30:43 -05:00
Rémi Verschelde
5444afae63
Merge pull request #76572 from acazuc/ktx_format_support
...
Add support for KTX image format so that we can use Basis Universal for GLTF
2023-08-19 13:00:35 +02:00
acazuc
a00cf02241
Add support for KTX & KTX2 image format
...
Add support glTF KHR_texture_basisu extension
2023-08-19 10:27:29 +02:00
Rémi Verschelde
1d70968e9a
Merge pull request #79370 from dalexeev/core-array-recursion-check
...
Core: Fix recursion level check for array stringification
2023-08-18 15:43:29 +02:00
Rémi Verschelde
5dc7e23198
Merge pull request #80720 from dsnopek/gdextension-dll-copy-error
...
GDExtension: Remove DLL copy if it fails to load
2023-08-18 00:41:11 +02:00
David Snopek
908b8c0507
GDExtension: Remove DLL copy if it fails to load
2023-08-17 13:23:31 -05:00
Rémi Verschelde
e73a4a382e
Merge pull request #79201 from Rindbee/fix-setup-state-not-cleared
...
Clear the previously set state when configuring for a new scene root node
2023-08-17 15:43:38 +02:00
Hugo Locurcio
6f1152bdbe
Add a `--audio-output-latency` command-line argument
...
This allows optimizing the audio output latency on higher-end CPUs,
especially in projects that do not expose a way to override this setting.
2023-08-17 14:45:17 +02:00
Rémi Verschelde
1e3b1a7137
Merge pull request #80188 from vnen/gdextension-copy-dll
...
GDExtension: Copy DLL to a temp file before opening
2023-08-16 16:55:19 +02:00
Rémi Verschelde
20e24bd2bb
Merge pull request #78529 from Chaosus/string_reverse
...
Add `String.reverse` method
2023-08-16 16:53:40 +02:00
Rémi Verschelde
4ed3f67229
Merge pull request #80591 from AThousandShips/compat_ver
...
Fix version check for GDExtension
2023-08-16 09:14:16 +02:00
Rémi Verschelde
20127ab693
Merge pull request #78871 from jitspoe/master.pr_compute_convex_mesh_points
...
Expose `compute_convex_mesh_points` function to GDScript
2023-08-16 09:11:53 +02:00
Rémi Verschelde
b44867b947
Merge pull request #77975 from sakrel/shader_debug_info
...
Add support for GLSL source-level debugging with RenderDoc
2023-08-16 09:11:23 +02:00
Ninni Pipping
97ef4a0536
Fix version check for GDExtension
2023-08-15 10:10:04 +02:00
jitspoe
541b021ab6
Expose compute_convex_mesh_points function to GDScript.
2023-08-14 22:37:21 -04:00
Rémi Verschelde
efdff9cbc2
Fix GCC -Wmaybe-uninitialized warnings
2023-08-14 14:35:35 +02:00
sakrel
80a36ff985
Add support for GLSL source-level debugging with RenderDoc (`--generate-spirv-debug-info`)
2023-08-12 14:56:49 +02:00
George Marques
cff69b0612
GDExtension: Copy DLL to a temp file before opening
...
This is done only in the editor and only on Windows, to avoid a file
lock that prevents the original library being updated (e.g. by a
compiler).
When the game runs it will load the original DLL and pick up any
changes, only the editor will stay with the copy (until it is restarted
and create a new copy).
The copy is done in place by prepending a `~` to the original file name,
so dependencies that are loaded with a relative file path still work.
When the library is unloaded the copy file is deleted. The copy is also
marked as hidden to not show up in explorer.
2023-08-11 10:44:23 -03:00
Rémi Verschelde
33198d0df0
Merge pull request #75784 from Riteo/int-scale
...
Add content scale stretch modes, implement integer scaling
2023-08-11 10:32:11 +02:00
Riteo
87cfc415a3
Add content scale stretch modes, implement integer scaling
...
Integer scaling is achieved (after aspect expansion) by "lying" to the
stretching code about the window's size, telling it that it's always an
integer multiple of the viewport so that it only gets stretched to an
integer factor.
This approach works with all stretch and aspect modes and doesn't
require handling for each, only requiring to "loosen up" some
self-excluding conditions (in other words, replacing some `else if`s
with just `if`s) regarding viewport offset and margin calculation (black
bars).
Includes a tiny usability change that adds a range hint for the content
scale factor between 0.5 to 8.0.
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-08-10 19:45:47 +02:00
Rémi Verschelde
11cfb23798
Merge pull request #62038 from KoBeWi/ChangedSettings
...
Add `settings_changed` signal to ProjectSettings
2023-08-10 14:53:07 +02:00
Rémi Verschelde
5cfa9a0d7b
Merge pull request #80432 from rsubtil/fix_linux_joypad_on_thread
...
Ensure `joy_connection_changed` is emitted on the main thread
2023-08-09 17:46:37 +02:00
Ricardo Subtil
1bb73b0689
Ensure `joy_connection_changed` is emitted on the main thread
2023-08-09 15:32:06 +01:00
Rémi Verschelde
d255811443
Merge pull request #80404 from bruvzg/file_attribs
...
[FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows.
2023-08-09 15:20:32 +02:00
Rémi Verschelde
835957b1fc
Merge pull request #79980 from bruvzg/fix_test_str_errs
...
[String] Fix Unicode parsing error message encoding and related JSON tests.
2023-08-09 15:20:16 +02:00
kobewi
c5ec847aa0
Add settings_changed signal to ProjectSettings
2023-08-08 23:57:31 +02:00
bruvzg
8aa6f29b56
[FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows.
2023-08-08 21:51:32 +03:00
Rindbee
4795c3cdfa
Clear the previously set state when configuring for a new scene root node
...
Saving a subscene causes the main scene to be re-instantiated. And the resource
instance in the main scene will be reused when the main scene is re-instantiated.
So for resources with `resource_local_to_scene` enabled, resetting state may be
necessary (at least for `ViewportTexture`).
2023-08-08 23:49:53 +08:00
Jeff Ward
efc8fd6e2c
Add get_script_instance to GDExtension
...
Adds a method to GDExtension to get the ScriptInstanceExtension for an object.
2023-08-07 23:09:24 -04:00
Jan Haller
38334fdc11
PtrToArg::convert() returns const-references where possible, avoids unnecessary copies
2023-08-07 20:40:23 +02:00
Rémi Verschelde
432405a3e1
Merge pull request #79342 from RedworkDE/localize-win-path
...
Fix `ProjectSettings::localize_path` for Windows paths
2023-08-07 14:45:48 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
...
Also includes typo fixes from #79993 , #80068 , #80276 , and #80303 .
Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Yuri Sizov
dc6ea03101
Merge pull request #35555 from Calinou/add-version-project-setting
...
Add a "version" project setting and use it in new export presets
2023-08-04 21:01:15 +02:00
Rémi Verschelde
b8fa19cc19
Merge pull request #79495 from Chaosus/astargrid_all_solid
...
Add a `fill_region` method to the `AStarGrid2D`
2023-08-04 16:59:11 +02:00
Hugo Locurcio
ad4480bf2e
Add a "version" project setting and use it in new export presets
...
This makes it easy to retrieve the project version at runtime
for display purposes, while simplifying the export preset configuration.
You can now leave the version empty unless you need to override it on a per-preset
basis.
Since export presets save the values of default values to the `export_presets.cfg`
file, this change only affects export presets created after this commit was merged.
2023-08-04 10:29:33 +02:00
Yuri Sizov
1610fc2ae7
Merge pull request #78539 from EIREXE/input-info
...
Add the ability to get per-platform information for joypads
2023-08-03 22:37:45 +02:00
Yuri Sizov
a56e960150
Merge pull request #71233 from PrecisionRender/barycentric-coords
...
Add ability to get face index and barycentric coordinates from raycast
2023-08-03 22:37:30 +02:00
Rémi Verschelde
4ed08409b0
Merge pull request #78108 from aaronfranke/variant-util-header
...
Make a header for VariantUtilityFunctions
2023-08-03 14:46:29 +02:00
Álex Román Núñez
3aa340d081
Add the ability to get per-platform information for joypads.
...
This adds the ability for games to obtain platform-specific information about joypads such as their vendor/product ID, their XInput gamepad index or the real name of the device before it gets swapped out by the gamecontrollerdb's name.
This PR also includes a rebased version of #76045 , this is because this PR is intended to be mainly to help people implementing Steam Input, as having the gamepad index is essential.
2023-08-02 22:30:30 +02:00
PrecisionRender
af7f787c6e
Add ability to get barycentric coordinates from ray
2023-08-02 15:16:44 -05:00
Yuri Sizov
f415200323
Merge pull request #80156 from lawnjelly/dev_assert_note
...
Usage notes for DEV_ASSERT macro
2023-08-02 21:37:09 +02:00
lawnjelly
85c3017052
Usage notes for DEV_ASSERT macro
...
Make it more clear that DEV_ASSERT is only to be used in specific cases.
2023-08-02 13:29:35 +01:00
Rémi Verschelde
e48b999f26
Merge pull request #80114 from Deledrius/modulo_typo
...
Fix typo in modulo error message.
2023-08-02 12:22:01 +02:00
Yuri Sizov
8654ba130b
Merge pull request #79654 from timothyqiu/han
...
Fix script name of Hant and Hans
2023-08-01 17:25:21 +02:00
Joseph Davies
510de82f43
Fix typo in modulo error message.
2023-08-01 04:47:18 -07:00
Marcin Nowak
34ab1c8a36
Implement loading DDS textures at run-time
2023-07-31 21:31:26 +02:00
Yuri Sizov
0be587521e
Merge pull request #79737 from Calinou/resourceloader-load-error-clarify-expected-type
...
Mention expected resource type in ResourceLoader load error
2023-07-31 21:01:28 +02:00
Yuri Sizov
41efc7cb86
Merge pull request #78941 from dalexeev/gds-doc-comments-deprecated-and-experimental
...
GDScript: Add `@deprecated` and `@experimental` doc comment tags
2023-07-31 21:01:08 +02:00
clayjohn
fcc6c6a697
Revert "Let user know about dead instances in deferred calls"
...
This reverts commit 3a6527d6d3 .
2023-07-31 10:45:20 +02:00
bruvzg
84a6f0d232
[String] Fix Unicode parsing error message encoding and related JSON tests.
2023-07-28 12:27:01 +03:00
Yuri Sizov
4e22ce827a
Merge pull request #79953 from RandomShaper/revert_wtp_for_range
...
Revert "Implement parallel foreach() for easier multithreading"
2023-07-27 15:23:01 +02:00
Yuri Sizov
6bfda7f5c5
Merge pull request #79156 from dsnopek/gdextension-string-resize
...
Allow resizing Strings from GDExtension
2023-07-27 15:22:32 +02:00
Pedro J. Estébanez
f34d580861
Revert "Implement parallel foreach() for easier multithreading"
...
This reverts commit e28868e30c .
2023-07-27 13:41:27 +02:00
David Snopek
e87900970c
Allow resizing String's from GDExtension
2023-07-26 21:31:37 -05:00
Yuri Sizov
951691a9a9
Merge pull request #79763 from mihe/indexed-properties
...
Add support for indexed properties in GDExtension
2023-07-26 18:40:22 +02:00
Yuri Sizov
a68137bf18
Merge pull request #79683 from Zylann/fix_gdext_get_property_list
...
GDExtension: Fix `_get_property_list` not working correctly in parent classes
2023-07-26 18:40:18 +02:00
Yuri Sizov
2c8cbcd1a0
Merge pull request #78987 from RandomShaper/err_bad_deferred_target
...
Let user know about dead instances in deferred calls
2023-07-26 18:39:38 +02:00
Yuri Sizov
7c204874eb
Merge pull request #78747 from RandomShaper/fix_trans_threading
...
Support loading of translations on threads
2023-07-26 18:39:27 +02:00
Yuri Sizov
92960b7a22
Merge pull request #78615 from RandomShaper/fix_doc_cache
...
Re-enable docs cache with fixes
2023-07-26 18:39:22 +02:00
Yuri Sizov
c4e582262f
Merge pull request #76582 from reduz/threaded-debugger
...
Support threads in the script debugger
2023-07-26 18:39:16 +02:00
Yuri Sizov
53ba9ccb19
Merge pull request #72346 from myaaaaaaaaa/disconnect-order
...
Avoid sorting CallableCustomMethodPointers by their actual address values
2023-07-26 18:39:08 +02:00
RedworkDE
aee1e50b48
Fix `ProjectSettings::localize_path` for Windows paths
2023-07-26 16:18:31 +02:00
Juan Linietsky
5e512b705e
Support threads in the script debugger
...
* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.
This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
2023-07-26 12:06:45 +02:00
Yuri Sizov
74d20fe17e
Merge pull request #75216 from rune-scape/rune-dependancy-errors
...
Script editor (GDScript): Show depended script errors
2023-07-24 19:32:20 +02:00
rune-scape
83b01708b2
Script editor: Show depended script errors
2023-07-24 15:49:39 +02:00
Ithamar R. Adema
f37c2b5be2
Fix ImageTextureLayered serialisation issues.
2023-07-23 13:54:04 +02:00
Mikael Hermansson
2173821b38
Add support for indexed properties in GDExtension
2023-07-21 22:59:24 +02:00
Yuri Sizov
01e08677ff
Merge pull request #79466 from Repiteo/core_bind-header-fix
...
Have `core_bind.h` Thread type syntax match `core_bind.cpp`
2023-07-21 17:15:29 +02:00
Yuri Sizov
4d42d6fdf6
Merge pull request #78706 from RedworkDE/node-rename-inplace
...
Allow renaming child nodes in `_ready`
2023-07-21 17:15:26 +02:00
Hugo Locurcio
5bf64255b0
Mention expected resource type in ResourceLoader load error
...
This helps troubleshoot issues due to incorrect import types.
2023-07-21 04:45:34 +02:00
Gilles Roudière
b4d86cb42a
Add _get_bind_compatibility_methods to Object
...
Co-authored-by: RedworkDE <10944644+RedworkDE@users.noreply.github.com>
2023-07-20 12:55:00 +02:00
Haoyu Qiu
52cdba6def
Fix script name of Hant and Hans
2023-07-20 15:01:39 +08:00
Marc Gilleron
e8731f4821
GDExtension: fix _get_property_list not working correctly in parent classes
2023-07-20 02:24:04 +01:00
Ninni Pipping
1cac72999b
Fix `root_node_layout_direction` setting not enum
2023-07-18 14:33:13 +02:00
kobewi
de4a3fa151
Unify and streamline connecting to Resource changes
2023-07-17 19:35:57 +02:00
Yuri Sizov
3d04a22d7c
Merge pull request #79103 from AThousandShips/array_slice_range
...
Fix range error for `Array.slice`
2023-07-17 16:48:48 +02:00
Yuri Roubinski
5f56aa88f8
Add the fill region methods to the `AStarGrid2D`
2023-07-15 16:52:29 +03:00
Maxim Kulkin
058604f5b8
Fix crash when saving resources with circular references
...
When saving resources, marking of already seen resources was
done too late, causing infinite loop traversing referenced resources
and eventual stack overflow. The change marks traversed resource
before descending to it's children, thus when this resource is
encountered again, it is already marked as seen and traversal stops.
2023-07-14 19:20:04 +02:00
Yuri Sizov
f0c24f3145
Merge pull request #79017 from bruvzg/esc_fix
...
[Terminal Output] Reset text properties after `print_rich`.
2023-07-14 18:49:26 +02:00
Yuri Sizov
acd34153ba
Merge pull request #78612 from RandomShaper/mq_flush_ref
...
Refactor CallQueue flushing for clarity
2023-07-14 18:49:08 +02:00
Yuri Sizov
2a595c26d9
Merge pull request #72784 from myaaaaaaaaa/parallel-foreach
...
Implement parallel `foreach()` for easier multithreading
2023-07-14 18:48:49 +02:00
Thaddeus Crews
1651c5d2ad
Have core_bind.h thread type syntax match .cpp
...
• Functionally identical to prior implementation, but removes misattributed errors in VSCode intellisense
2023-07-14 10:12:39 -05:00
bruvzg
4790da7900
[macOS] Implement optional native file selection dialog support for sandboxed apps.
2023-07-12 22:36:24 +03:00
Yuri Sizov
a55e714b56
Merge pull request #79273 from bruvzg/ft2131
...
FreeType: Update to version 2.13.1
2023-07-12 21:03:07 +02:00
Yuri Sizov
f53329d045
Merge pull request #78890 from KoBeWi/who_needs_restart_anyway
...
Allow change import type without restarting editor
2023-07-12 17:16:53 +02:00
Yuri Sizov
55b74c7cdf
Merge pull request #76045 from Eoin-ONeill-Yokai/steaminput-fix
...
Prevent double input events on gamepad when running through steam input
2023-07-12 17:16:36 +02:00
Yuri Sizov
95da8e1394
Merge pull request #70771 from kleonc/main-loop-set-after-resolved
...
Ensure `MainLoop` and its custom script is set right after it's resolved
2023-07-12 17:15:59 +02:00
Yuri Sizov
e88934cb74
Merge pull request #74238 from bitsawer/fix_image_convert
...
Fix `Image.convert()` overwriting custom mipmaps
2023-07-12 17:15:39 +02:00
Yuri Sizov
f25233cbc9
Merge pull request #49524 from Calinou/document-editor-import-options
...
Document editor import options in the class reference
2023-07-12 17:15:19 +02:00
Yuri Sizov
6960a1d0e8
Merge pull request #78248 from felaugmar/load-svg-adjustable-scale
...
Added `Image::load_svg_from_(buffer|string)`
2023-07-12 15:09:03 +02:00
Yuri Sizov
f6d568b9e4
Merge pull request #66170 from RedMser/json-fix-invalid-escapes
...
Disallow invalid escape sequences in `JSON.parse`
2023-07-12 15:08:29 +02:00
Danil Alexeev
bb40bd9aaa
Core: Fix recursion level check for array stringification
2023-07-12 14:59:44 +03:00
Eoin O'Neill
8de98dbf21
Prevent double input events on gamepad when running through steam input
...
During GDC and general testing on Steam Deck units, we found that single
gamepads would often register inputs twice under certain circumstances.
This was caused by SteamInput creating a new virtual device, which Godot
registers as a second gamepad. This resulted in two gamepad devices
reporting the same button presses, often leading to buggy input response
on games with no multi-device logic and other-wise could cause intended
Steam rebindings to not work as intended (for example, swapping o and x
on a playstation pad if that feature isn't supported by the game.)
SDL gets around this by taking in a list of devices that are to be
ignored. When valve sees a controller that wants to be rebound via
SteamInput, they push a new VID/PID entry onto the environment
variable `SDL_GAMECONTROLLER_IGNORE_DEVICES` for the original gamepad
so that all game inputs can be read from the virtual gamepad instead.
This leverages the same logic as we are already using SDL gamepad
related HID mappings.
2023-07-10 15:26:33 -07:00
bruvzg
008d3de1e9
FreeType: Update to version 2.13.1
2023-07-10 12:04:02 +03:00
Rémi Verschelde
83cc5d4914
Merge pull request #79202 from MewPurPur/fix-pad-zeros-error
...
Fix erroneous `pad_zeros()` warning
2023-07-08 18:23:53 +02:00
Rémi Verschelde
73ca58b45f
Merge pull request #78701 from Calinou/joy-button-name-tweak-xbox-menu
...
Mention Xbox menu button by name in Start button description
2023-07-08 18:17:21 +02:00
Rémi Verschelde
0c1442f82a
Merge pull request #78551 from AThousandShips/call_rpc
...
Fix `rpc` calls with binds
2023-07-08 18:15:41 +02:00
Rémi Verschelde
91f029e912
Merge pull request #74012 from myaaaaaaaaa/remove-tap
...
Remove unused `threaded_array_processor.h`
2023-07-08 18:15:15 +02:00
Danil Alexeev
c1b450566a
GDScript: Add `@deprecated` and `@experimental` doc comment tags
2023-07-08 18:13:19 +03:00
MewPurPur
cc5500f7de
Fix erroneous pad_zeros warning
2023-07-08 16:16:01 +03:00
Ninni Pipping
7752a0d8d1
Fix range error for `Array.slice`
2023-07-07 23:19:42 +02:00
Angad Kambli
9c6c2f09e0
Check parameter validity in `Object::set_script`
...
Fixes #46120 .
2023-07-07 16:13:33 +02:00
Rémi Verschelde
f1e63b808a
Merge pull request #79101 from akien-mga/linux-unbundle-brotli
...
Linux: Allow unbundling brotli to use system library
2023-07-07 08:35:44 +02:00
Rémi Verschelde
8a84a3914e
Merge pull request #79087 from Daylily-Zeleen/daylily-zeleen/fix_shell_show_in_file_manager
...
Fix the fallback logic of `OS::shell_show_in_file_manager`.
2023-07-07 08:34:31 +02:00
Rémi Verschelde
5ee36d119f
Merge pull request #78935 from timothyqiu/zip-pack
...
Fix error when non-ASCII characters in resource pack path
2023-07-07 08:30:56 +02:00
Rémi Verschelde
862a2841c0
Merge pull request #78845 from RandomShaper/fix_wtp_zero_batch_lazy
...
Fix zero-sized WorkerThreadPool not processing group tasks
2023-07-07 08:27:43 +02:00
Rémi Verschelde
153c4a4c4f
Linux: Allow unbundling brotli to use system library
2023-07-06 15:26:38 +02:00
Daylily-Zeleen
9dd9818c88
Fixed the fallback logic of OS::shell_show_in_file_manager
2023-07-06 13:16:04 +08:00
Pedro J. Estébanez
cac4d44cde
Re-enable docs cache with fixes
2023-07-05 10:44:58 +02:00
bruvzg
0e8cb304a5
[Terminal Output] Reset text properties after `print_rich`.
2023-07-04 14:09:28 +03:00
Rémi Verschelde
cdd2313ba2
Merge pull request #78977 from RandomShaper/workaround_tls_shutdown
...
Workaround resource loading crashes due to buggy TLS
2023-07-03 19:43:07 +02:00
Pedro J. Estébanez
3a6527d6d3
Let user know about dead instances in deferred calls
2023-07-03 17:57:49 +02:00
Rémi Verschelde
03f0e5eb15
Merge pull request #78974 from RandomShaper/fix_wtp_safe_flag
...
Fix management of safe-for-nodes flag in ResourceLoader and WorkerThreadPool
2023-07-03 15:26:28 +02:00
Pedro J. Estébanez
41c0785636
Workaround resource loading crashes due to buggy TLS
2023-07-03 13:54:55 +02:00
kobewi
244968c8d1
Allow change import type without restarting editor
2023-07-03 13:24:24 +02:00
Pedro J. Estébanez
30925fcfb0
Fix management of safe-for-nodes flag in ResourceLoader and WorkerThreadPool
2023-07-03 12:27:57 +02:00
Gabor Koncz
a2ede8c4da
Fix GDVIRTUAL_NATIVE_PTR
...
This commit fixes the usage of GDExtensionPtr and GDExtensionConstPtr
in GDExtension by introducing the required VariantInternalAccessor
specializations.
Sponsored by Migeran (https://migeran.com )
2023-07-03 10:52:02 +02:00
Haoyu Qiu
df5c68af99
Fix error when non-ASCII characters in resource pack path
2023-07-02 16:09:57 +08:00
RedMser
427b293c7d
Disallow invalid escape sequences in JSON.parse
2023-06-30 21:28:36 +02:00
Pedro J. Estébanez
28d0d56a69
Fix zero-sized WorkerThreadPool not processing group tasks
2023-06-29 19:44:42 +02:00
Pedro J. Estébanez
5301bbb3a5
Support loading of translations on threads
2023-06-29 16:48:55 +02:00
Valery Zhuk
818cee6184
add explicit default initialization for flag in undo redo operation
2023-06-28 21:57:47 +03:00
RedworkDE
2c0caa5828
Allow renaming child nodes in `_ready`
2023-06-26 13:25:48 +02:00
Hugo Locurcio
1621b4e2b1
Mention Xbox menu button by name in Start button description
...
Microsoft officially calls it the Menu button:
https://support.xbox.com/en-US/help/hardware-network/controller/get-to-know-your-xbox-series-x-s-controller
2023-06-26 09:41:54 +02:00
Pedro J. Estébanez
c85beb8106
Refactor CallQueue flushing for clarity
2023-06-23 13:27:34 +02:00
Felipe Augusto Marques
26eb3db234
Added Image's `load_svg_from_(buffer|string)`
...
No core dependency to the svg module.
2023-06-23 00:43:43 -03:00
Rémi Verschelde
de3d4e3cec
Merge pull request #78517 from AThousandShips/callable_serialize
...
Ensure `RID`, `Callable`, and `Signal` are stored as strings
2023-06-22 18:30:51 +02:00
Rémi Verschelde
100082b3ac
Merge pull request #74760 from lassade/unicode-err-uses-replacement-char
...
Don't append non unicode scalar values on the string, instead use the unicode replacement char
2023-06-22 18:30:04 +02:00
Ninni Pipping
9159208ed1
Ensure `RID`, `Callable`, and `Signal` are stored as strings
...
Prevents parser errors in `.tscn` and `.tres` files where the assignment
would otherwise be empty.
2023-06-22 17:01:08 +02:00
Yuri Sizov
b0299c9ad1
Merge pull request #76586 from rcorre/register-language-race
...
Fix a race condition in ScriptServer
2023-06-22 12:44:25 +02:00
Ninni Pipping
7d174c8dfe
Fix `rpc` calls with binds
2023-06-22 11:07:53 +02:00
Yuri Roubinski
230385b587
Add `String.reverse` method
2023-06-21 20:40:48 +03:00
Ryan Roden-Corrent
731a13a1ba
Fix race in ScriptServer.
...
Fixes #76581 .
TSAN flagged this issue on starting the editor:
1. main calls register_core_types, which calls IP::create(), which calls Thread::start on the resolver thread
2. Thread::callback calls ScriptServer::thread_enter(), as "Scripts may need to attach a stack."
3. ScriptServer::thread_enter() accesses ScriptServer::_languages, which is still being initialized on the main thread by initialize_gdscript_module
This fixes the issue by skipping thread enter/exit notifications if languages have not finished initializing yet.
I'm assuming that notifying un-initialized languages of thread starts/stops would have been pointless anyways. If we need to somehow notify languages of threads before the languages initialize, we'll need a different solution.
```
Godot Engine v4.0.2.stable.custom_build.7a0977ce2 - https://godotengine.org
==================
WARNING: ThreadSanitizer: data race (pid=9426)
Write of size 4 at 0x55615b187cd0 by main thread:
#0 ScriptServer::register_language(ScriptLanguage*) /home/rcorre/src/godot/godot/core/object/script_language.cpp:177:28 (godot.linuxbsd.editor.x86_64.llvm.san+0x9e52ab9) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#1 initialize_gdscript_module(ModuleInitializationLevel) /home/rcorre/src/godot/godot/modules/gdscript/register_types.cpp:118:3 (godot.linuxbsd.editor.x86_64.llvm.san+0x36f9c6f) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#2 initialize_modules(ModuleInitializationLevel) /home/rcorre/src/godot/godot/modules/register_module_types.gen.cpp:93:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f50499) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#3 Main::setup2(unsigned long) /home/rcorre/src/godot/godot/main/main.cpp:1961:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f1d40d) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#4 Main::setup(char const*, int, char**, bool) /home/rcorre/src/godot/godot/main/main.cpp:1879:10 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f16370) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#5 main /home/rcorre/src/godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:61:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x2e67e1f) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
Previous read of size 4 at 0x55615b187cd0 by thread T1:
#0 ScriptServer::thread_enter() /home/rcorre/src/godot/godot/core/object/script_language.cpp:244:22 (godot.linuxbsd.editor.x86_64.llvm.san+0x9e54aed) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#1 Thread::callback(unsigned long, Thread::Settings const&, void (*)(void*), void*) /home/rcorre/src/godot/godot/core/os/thread.cpp:61:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x9464ab0) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#2 void std::__invoke_impl<void, void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>(std::__invoke_other, void (*&&)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long&&, Thread::Settings&&, void (*&&)(void*), void*&&) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/invoke.h:61:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#3 std::__invoke_result<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>::type std::__invoke<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>(void (*&&)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long&&, Thread::Settings&&, void (*&&)(void*), void*&&) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/invoke.h:96:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
#4 void std:🧵 :_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>>::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/std_thread.h:258:13 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
#5 std:🧵 :_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>>::operator()() /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/std_thread.h:265:11 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
#6 std:🧵 :_State_impl<std:🧵 :_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>>>::_M_run() /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/std_thread.h:210:13 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
#7 execute_native_thread_routine /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:82:18 (libstdc++.so.6+0xd72c2) (BuildId: 6fe66a2d539a78c993bd2d377e00fad389220963)
Location is global 'ScriptServer::_language_count' of size 4 at 0x55615b187cd0 (godot.linuxbsd.editor.x86_64.llvm.san+0xbf46cd0)
Thread T1 (tid=9431, running) created by main thread at:
#0 pthread_create <null> (godot.linuxbsd.editor.x86_64.llvm.san+0x2de5776) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#1 __gthread_create /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663:35 (libstdc++.so.6+0xd73a9) (BuildId: 6fe66a2d539a78c993bd2d377e00fad389220963)
#2 std:🧵 :_M_start_thread(std::unique_ptr<std:🧵 :_State, std::default_delete<std:🧵 :_State>>, void (*)()) /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:147:37 (libstdc++.so.6+0xd73a9)
#3 IP::IP() /home/rcorre/src/godot/godot/core/io/ip.cpp:347:19 (godot.linuxbsd.editor.x86_64.llvm.san+0x962cbcd) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#4 IPUnix::IPUnix() /home/rcorre/src/godot/godot/drivers/unix/ip_unix.cpp:261:9 (godot.linuxbsd.editor.x86_64.llvm.san+0x4aee599) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#5 IPUnix::_create_unix() /home/rcorre/src/godot/godot/drivers/unix/ip_unix.cpp:258:9 (godot.linuxbsd.editor.x86_64.llvm.san+0x4aee599)
#6 IP::create() /home/rcorre/src/godot/godot/core/io/ip.cpp:339:9 (godot.linuxbsd.editor.x86_64.llvm.san+0x962ca5e) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#7 register_core_types() /home/rcorre/src/godot/godot/core/register_core_types.cpp:279:7 (godot.linuxbsd.editor.x86_64.llvm.san+0x93e2333) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#8 Main::setup(char const*, int, char**, bool) /home/rcorre/src/godot/godot/main/main.cpp:690:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f08a49) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
#9 main /home/rcorre/src/godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:61:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x2e67e1f) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
SUMMARY: ThreadSanitizer: data race /home/rcorre/src/godot/godot/core/object/script_language.cpp:177:28 in ScriptServer::register_language(ScriptLanguage*)
```
Co-authored-by: Pedro J. Estébanez <RandomShaper@users.noreply.github.com>
2023-06-21 09:52:10 -04:00
Jan Haller
9ddd3c2af6
GDExtension `@since` attribute
...
All GDExtension function pointer types are versioned using a `@since` attribute, denoting the Godot minor version in
which they were introduced. This allows bindings to query if a feature is available for a target API version, or provide
a polyfill/fallback for it. It also serves as documentation for humans giving a feeling about recency of features.
2023-06-21 12:47:48 +02:00
Yuri Sizov
329652b6fe
Merge pull request #78392 from Gallilus/master
...
Fix `Ref<>.is_valid()` for ScriptInstanceExtension
2023-06-20 21:19:20 +02:00
David Cambré
ceed30c442
Fix Ref<>.is_valid() for ScriptInstanceExtension
...
Only check the reference not the value.
2023-06-20 19:45:47 +02:00
Rémi Verschelde
248e5245e4
Merge pull request #73540 from mashumafi/fix-typed-array-add
...
Fix: Typed arrays aren't working with +
2023-06-20 15:12:39 +02:00
myaaaaaaaaa
5cc961627d
Avoid sorting CallableCustomMethodPointers by their actual address values
2023-06-20 08:40:01 -04:00
Ninni Pipping
e344bab8af
Handle RID validator overflow
2023-06-20 13:20:17 +02:00
Rémi Verschelde
217a20a8a0
Merge pull request #78448 from akien-mga/black-23.3.0
...
CI: Update static checks to black 23.3.0
2023-06-20 00:05:39 +02:00
Rémi Verschelde
fa971b7b5e
Merge pull request #77361 from jpcerrone/fix_pck_path_inconsistencies
...
Fix PCK file path inconsistencies
2023-06-20 00:02:22 +02:00
Rémi Verschelde
e4deaa2727
Merge pull request #76787 from RedworkDE/avoid-localvector-copy
...
Avoid making unnecessary copies of `LocalVector`
2023-06-20 00:01:55 +02:00
Rémi Verschelde
c9c941e339
CI: Update static checks to black 23.3.0
...
And apply it to the codebase, removing empty lines at the start of blocks.
2023-06-19 23:33:02 +02:00
Rémi Verschelde
867ea7fe59
Merge pull request #74730 from MarioLiebisch/fix-74726
...
Fix read-only dictionaries adding missing keys
2023-06-19 21:38:38 +02:00
Rémi Verschelde
92ca08311c
Merge pull request #47996 from madmiraal/fix-17430
...
Fix `OS.find_scancode_from_string()` not working with modifiers
2023-06-19 15:39:06 +02:00
andybarcia
553f4f8dce
Improve error reporting when parsing CSV translation file
...
Fixes #46682 .
Also fix unit test suite to separate generic FileAccess CSV testing
from using CSV as translation. And add more CSV translation tests.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-19 12:47:44 +02:00
Rémi Verschelde
914cc1d6f5
Merge pull request #78419 from Bromeon/bugfix/uninit-ptr-signature
...
GDExtension: `Uninitialized*Ptr` for constructors/converters using placement new
2023-06-19 10:28:31 +02:00
Rémi Verschelde
b8bf28e2b6
Merge pull request #75758 from Pylgos/fix-gdextension-variant-construction
...
Fix GDExtension Variant type conversion
2023-06-19 10:27:20 +02:00
Jan Haller
618507eb89
GDExtension: `Uninitialized*Ptr` for constructors/converters using placement new
...
These methods construct their destination in-place, but the parameters are not declared using the `Uninitialized*Ptr` pointer types.
2023-06-18 23:14:10 +02:00
Rémi Verschelde
127e9d65cf
Merge pull request #78368 from MatthewLJensen/delaunay-fixes
...
Consider all triangles for retention in Delaunay Triangulation
2023-06-18 16:33:04 +02:00
Rémi Verschelde
fc42065281
Merge pull request #76548 from komugi1211s/tilemap-ctrl-shift-edit-crash-fix
...
Fix crashes due to stack overflow when painting a large area in tile map
2023-06-18 16:29:23 +02:00
Rémi Verschelde
1a62f1e4fc
Merge pull request #74741 from vnen/variant-not-for-everyone
...
Allow boolean operators for all Variant types
2023-06-18 16:28:10 +02:00
fuzzy@home
09fa22002a
fixes #76473 , where filling a large amount of tiles all at once crashes
...
the engine due to segmentation fault.
2023-06-18 22:32:23 +09:00
Matthew Jensen
8b188bda52
Consider all triangles for retention in Delaunay Triangulation
2023-06-17 11:18:30 -04:00
Rémi Verschelde
c209ad222c
Merge pull request #78326 from KoBeWi/0110010001100101011000110110010101101110011000110111100101011111011001010110010001101001011101000110111101110010
...
Fix missing UID handling for binary formats
2023-06-16 16:53:38 +02:00
Rémi Verschelde
c65aba7aff
Merge pull request #78321 from ajreckof/fix-wrong-alphabetical-order-in-autocompletion-sorting
...
Fix wrong order in autocompletion sorting with empty string to complete.
2023-06-16 16:52:27 +02:00
ajreckof
e9a2060b27
Fix wrong alphabetical order in autocompletion sorting.
...
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-06-16 14:04:07 +02:00
kobewi
313c0c7f5d
Fix missing UID handling for binary formats
2023-06-16 13:40:10 +02:00
Rémi Verschelde
d101244d1b
Merge pull request #74641 from dalexeev/fix-bitfield-enum-warnings
...
Display `BitField[Enum]` in docs to distinguish from `Enum`
2023-06-16 10:18:46 +02:00
Rémi Verschelde
6fb391bc23
Fix various typos with codespell
...
And ignore some false positives introduced by recent versions of codespell.
2023-06-16 08:45:35 +02:00
Danil Alexeev
eb391d3302
Display `BitField[Enum]` in docs to distinguish from `Enum`
2023-06-15 17:23:02 +03:00
Rémi Verschelde
8c5c29f2a3
Merge pull request #78061 from dsnopek/gdextension-class-not-exposed
...
Fix wrapping Object's in GDExtension that aren't exposed
2023-06-15 10:50:27 +02:00
Rémi Verschelde
0b30785bca
Merge pull request #75438 from ronyeh/typo
...
Fix typo on "autoremapping".
2023-06-15 10:39:44 +02:00
Hugo Locurcio
8352122e70
Document editor import options in the class reference
...
Tooltips are displayed when hovering import options, both in the Import
dock and in the import defaults editor (which is in the Project Settings).
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-15 08:30:48 +02:00
RedworkDE
92f13ba9ea
C#: Unify project name handling and fix issues with the handling of some special characters
...
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-06-14 21:07:58 +02:00
kleonc
77b8e0fcb7
Allow setting negative WorldBoundaryShape2D.distance through the editor
2023-06-14 14:54:00 +02:00
ajreckof
81aa5ad999
add backward_undo_ops as property for action
2023-06-13 15:32:05 +02:00
Aaron Franke
7e9b5e59d4
Make a header for VariantUtilityFunctions
2023-06-12 11:29:42 -05:00
Rémi Verschelde
e95decf343
Merge pull request #78111 from sbarkeha/master
...
Fix infinite loop on EOF in the command line debugger
2023-06-12 14:15:54 +02:00
Rémi Verschelde
35ff936b93
Merge pull request #77055 from lawnjelly/input_just_pressed_4
...
Input - fix just pressed and released with short presses
2023-06-12 14:13:52 +02:00
lawnjelly
a3ef092f18
Input - fix just pressed and released with short presses
...
Previously if an action was both pressed and released on the same tick or frame, `is_action_just_pressed()` would return false, resulting in missed input.
This PR separately the timestamp for pressing and releasing so each can be tested independently.
2023-06-12 11:14:58 +01:00
Rémi Verschelde
91e2859cd3
Merge pull request #77748 from DevanOBoyle/fix/ignore_false_button_error
...
Skip error messages for buttons that don't exist
2023-06-12 11:38:43 +02:00
Devan OBoyle
ed02d515e0
Skip error messages for buttons that don't exist
2023-06-11 21:25:29 -07:00
Aaron Franke
5654d40367
Don't use a const reference for the enum constructor in Variant
2023-06-11 15:13:05 -05:00
Simon Barkehanai
4ecad8dea3
Fix infinite loop on EOF in the command line debugger
...
When using the command line debugger (godot -d) on Unix systems, when
entering an EOF (ctrl+D), the debugger enters an infinite loop.
Adding a check for EOF in the debugger loop exits the debugger when EOF
is entered.
Fixes #50170 .
2023-06-11 04:20:22 -07:00
Rémi Verschelde
37d1dfef9d
Merge pull request #78000 from RandomShaper/let_users_mess_up
...
Let user scripts disable thread safety checks
2023-06-10 12:12:13 +02:00
Pylgos
d7eb7108f0
Fix gdextension variant type conversion
2023-06-10 10:52:17 +09:00
David Snopek
36f4b99638
Fix wrapping Object's in GDExtension that aren't exposed
2023-06-09 13:41:57 -05:00
Pedro J. Estébanez
2b001db76e
Let user scripts disable thread safety checks
2023-06-09 18:24:01 +02:00
myaaaaaaaaa
e28868e30c
Implement parallel foreach() for easier multithreading
2023-06-09 08:27:32 -04:00
Rémi Verschelde
577ab3c565
Merge pull request #75746 from ajreckof/order_autocomplete
...
Sort code autocompletion with rules
2023-06-08 18:14:31 +02:00
Rémi Verschelde
b761c3a54d
Merge pull request #77974 from RandomShaper/fix_gdscr_th_start
...
Mark thread name setup safe for nodes
2023-06-08 16:55:51 +02:00
Pedro J. Estébanez
543689eeed
Mark thread name setup safe for nodes
2023-06-08 09:54:41 +02:00
David Snopek
ef9cb793d3
Remove GDExtension compatibility code for Godot 4.0
2023-06-07 13:01:42 -05:00
Rémi Verschelde
aa5dfff3f0
Merge pull request #77410 from dsnopek/object-pointer-pointer-encoding
...
Standardize Object ptrcall encoding on `Object **`
2023-06-07 13:31:49 +02:00
Rémi Verschelde
2a1bc05901
Merge pull request #77469 from lyuma/skeleton_ik_roll_fix
...
Fix for SkeletonIK3D interpolation and bone roll
2023-06-06 20:39:46 +02:00
Lyuma
9aa46bf3f5
Fix for SkeletonIK3D interpolation and bone roll
...
Fix bug in internal Basis::rotate_to_align function (also used with identity Basis in scene/resources/curve.cpp)
Use ChainItem children rather than local bone rest to determine IK bone roll to match Godot 3.x behavior
2023-06-05 20:44:45 -07:00
Rémi Verschelde
f00c971b81
Merge pull request #63168 from Levrault/master
...
Fix: InputEventJoypadMotion should trigger only once on a vslider
2023-06-05 18:04:39 +02:00
Luc-Frédéric Langis
166ca77f20
feat(gamepad): improve gamepad behavior with slider and popup_menu
2023-06-05 10:20:46 -04:00
Rémi Verschelde
3dd0307f3f
Merge pull request #76348 from warriormaster12/pipeline-cache
...
Implement Vulkan pipeline caching
2023-06-01 00:40:33 +02:00
warriormaster12
dded713dc0
Implement Vulkan pipeline caching
2023-05-31 22:24:18 +03:00
Mack
1326b7e04f
Fix buffer over-read and memory leaks when using long filepaths in a zip archive and improved robustness of long filepaths and reading files.
2023-05-31 13:11:59 +00:00
Yuri Sizov
eb5e0e07b4
Merge pull request #77459 from felaugmar/fix-override-merging-into-project-godot
...
Ignore the `project_settings_override` file when in editor
2023-05-31 13:09:46 +02:00
Winston
50d8ee8eee
Expose ProjectSettings.set_as_internal()
2023-05-30 21:16:29 +02:00
Mario Liebisch
f381543185
Properly free core types in reverse order
...
This fixes #62152 .
2023-05-30 17:47:12 +02:00
kobewi
e767ff5695
Add project tags
2023-05-30 00:53:02 +02:00
Yuri Sizov
72f7131be1
Merge pull request #77456 from korypostma/grayscale_fix_77393
...
Fix grayscale alpha for `Image::convert` `FORMAT_L8` using REC.709
2023-05-29 17:45:29 +02:00
Yuri Sizov
97a6b40e4e
Merge pull request #70386 from sfrembling/70141
...
Add Human Readable Error Message for Object::set_meta
2023-05-29 17:24:25 +02:00
Kory Postma
c8cac39446
Grayscale fix for Image::premultiply_alpha() and Image::convert(FORMAT_L8) while using REC.709, with added test case
2023-05-27 18:01:44 -05:00
Yuri Sizov
a12327e277
Merge pull request #77445 from RedworkDE/gdextension-compat-update-validation
...
Update extension API validation
2023-05-27 17:23:26 +02:00
Rémi Verschelde
699b66b62d
Merge pull request #77010 from dsnopek/gdextension-editor-plugins
...
Allow GDExtensions to add editor plugins
2023-05-26 11:00:32 +02:00
David Snopek
77733faede
Attempt to standardize Object ptrcall encoding on `Object **`
2023-05-25 21:46:22 -05:00
David Snopek
3007163210
Allow GDExtensions to add editor plugins
2023-05-25 09:14:29 -05:00
Rémi Verschelde
4203389c1b
Merge pull request #77457 from smix8/clipper_includes_4.x
...
Remove unnecessary Clipper lib includes
2023-05-25 09:26:09 +02:00
Rémi Verschelde
4c4bf58ffb
Merge pull request #77417 from winston-yallow/support-project-settings-usage-flags
...
Expose ProjectSettings.set_as_basic() to scripting
2023-05-25 09:25:19 +02:00
Felipe Augusto Marques
e759129dd5
Ignore "project_settings_override" in the editor
2023-05-25 01:30:37 -03:00
smix8
66a8418a2d
Remove unnecessary Clipper lib includes
...
Removes unnecessary Clipper lib includes.
2023-05-24 23:57:08 +02:00
RedworkDE
bbe04e1ec8
Update extension api validation
...
- Ensure that multiple changes to one method cannot hide each other in the CI.
- Check virtual methods for changes.
- Compare the detailed changes to a method.
- Compare enums.
- Fix comparing global enums.
- Use `vformat` to build error messages.
2023-05-24 18:51:33 +02:00
Winston
263aedc1ad
Expose ProjectSettings.set_as_basic() to GDScript
2023-05-24 13:28:08 +02:00
Rémi Verschelde
6f34a23439
Merge pull request #76082 from reduz/ability-to-look-at-in-model-space
...
Add the ability to look-at in model-space.
2023-05-24 08:46:53 +02:00
Rémi Verschelde
390d87e974
Merge pull request #71352 from m4gr3d/editor_optimization_main
...
Improve startup benchmarking
2023-05-24 08:43:52 +02:00
Rémi Verschelde
adbdf9a86e
Merge pull request #77234 from RandomShaper/fix_rtl_mt
...
Allow threads to mark themselves as safe for nodes
2023-05-24 08:42:59 +02:00
Juan Linietsky
5fdc1232ef
Add the ability to look-at in model-space.
...
This is a much simpler attempt to solve the same problem as #76060 , but without breaking any compatibility.
* Adds a description of what model space is in the Vector3 enums (MODEL_* constants). This has the proper axes laid out for imported 3D assets.
* Adds the option to `look_at` using model_space, which uses Vector3.MODEL_FRONT as forward vector.
The attempt of this PR is to still break the assumption that there is a single direction of forward (which is not the case in Godot)
and make it easier to understand where 3D models are facing, as well as orienting them via look_at.
2023-05-24 10:10:24 +09:00
Pedro J. Estébanez
e725b4b02b
Allow threads to mark themselves as safe for nodes
2023-05-24 00:22:58 +02:00
Fredia Huya-Kouadio
831b4a5366
Improve startup benchmarking
...
Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-05-23 13:22:35 -07:00
ajreckof
006e899bb3
sort code completions with rules
...
Fixups
Add levenshtein distance for comparisons, remove kind sort order, try to improve as many different use cases as possible
Trying again to improve code completion
Sort code autocompletion options by similarity based on input
To make it really brief, uses a combination `String.similiary`, the category system introduced in a previous PR, and some filtering to yield more predictable results, instead of scattering every completion option at seemingly random.
It also gives much higher priority to strings that contain the base in full, closer to the beginning or are perfect matches.
Also moves CodeCompletionOptionCompare to code_edit.cpp
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
Co-Authored-By: Eric M <41730826+EricEzaM@users.noreply.github.com>
2023-05-23 05:12:34 +02:00
jpcerrone
0fb307720c
PCK file path improvements
...
Fixes godotengine#77317 (Inconsistent PCK file path behaviour).
Simplifies all PCK file paths so that paths with extra '/' symbols in them
still match to the same path.
Fixes various FileAccess methods that didn't work when using PCK paths that
contain extra '/' symbols.
2023-05-22 15:03:05 -03:00
Rémi Verschelde
5dc093b19a
Merge pull request #77341 from RedworkDE/doctool-material-error-fix
...
Fix error in `BaseMaterial3D` when running doctool
2023-05-22 17:02:23 +02:00
RedworkDE
69f2bc2751
Improve `SelfList` and fix error in `BaseMaterial3D` when running doctool
2023-05-22 16:38:57 +02:00
Rémi Verschelde
80bf8fd186
Merge pull request #73511 from dsnopek/gdextension-object-name
...
Add GDExtension function to get Object class name
2023-05-22 14:02:59 +02:00
David Snopek
c6b0d4aae3
Add GDExtension function to get Object class name
2023-05-22 06:58:59 -05:00
RedworkDE
402b3d146a
Bind forgotten default value for `GDExtension::open_library` argument
2023-05-22 00:14:55 +02:00
Rémi Verschelde
9ad9820f5d
Merge pull request #77229 from RandomShaper/fix_mt_issues
...
Fix message queue issues
2023-05-19 14:30:10 +02:00
Pedro J. Estébanez
c450260e3e
Fix message queue issues
...
- Missing flush in resource loading.
- Wrong checks about message queue instance.
2023-05-19 13:11:34 +02:00
Rémi Verschelde
aaa77d0d8f
Merge pull request #77132 from bruvzg/tts_disable
...
Add `audio/general/text_to_speech` project setting to enable/disable TTS.
2023-05-19 10:10:38 +02:00
Rémi Verschelde
9b1b50f2eb
Merge pull request #75465 from RedworkDE/signal-disconnect-error
...
Improve error message when disconnecting callable from signal it was not connected to
2023-05-19 10:09:47 +02:00
bruvzg
5b9984b5a2
Add `audio/general/text_to_speech` project setting to enable/disable TTS.
2023-05-18 20:16:03 +03:00
Ninni Pipping
d2ddd8b228
Fix `StringName` comparison
2023-05-18 13:25:40 +02:00
RedworkDE
9c9fd9ffbf
Improve error message when disconnecting callable from signal it was not connected to
2023-05-18 00:46:27 +02:00
Rémi Verschelde
d803304c62
Merge pull request #77145 from RandomShaper/enh_fix_mt_proc
...
Enhance/fix MT-processing related things
2023-05-17 15:59:21 +02:00
Rémi Verschelde
26f96aec9d
Merge pull request #77143 from RandomShaper/fix_wtp_deadlocks
...
Avoid multiple possibilites of deadlock in resource loading
2023-05-17 15:59:18 +02:00
Rémi Verschelde
b0f49266f9
Merge pull request #76719 from m4gr3d/add_input_event_cancelled_state_main
...
Augment the `InputEvent` class with a `CANCELED` state
2023-05-17 11:25:21 +02:00
Rémi Verschelde
56fc6316b7
Merge pull request #64789 from derammo/derammo_const_ref
...
Change Ref<T> to allow non const access to ptr
2023-05-17 11:25:13 +02:00
Rémi Verschelde
411b6a95a0
Merge pull request #52314 from lawnjelly/four_delta_smooth
...
Add frame delta smoothing option (4.x)
2023-05-17 11:25:03 +02:00
Pedro J. Estébanez
50cf3d6966
Optimize threading-sensitive node data for single-threaded processing
2023-05-17 02:04:41 +02:00
Pedro J. Estébanez
a6e43f71b6
Avoid multiple possibilites of deadlock in resource loading
2023-05-17 01:52:39 +02:00
RedworkDE
110bc5058d
Compress embedded GDExtension interface
2023-05-16 22:16:45 +02:00
David Snopek
9b9482d4bb
Rework GDExtension interface from a struct to loading function pointers
2023-05-16 10:27:46 -05:00
lawnjelly
7925670f81
Add frame delta smoothing option (4.x)
...
Frame deltas are currently measured by querying the OS timer each frame. This is subject to random error. Frame delta smoothing instead filters the delta read from the OS by replacing it with the refresh rate delta wherever possible.
This PR also contains code to estimate the refresh rate based on the input deltas, without reading the refresh rate from the host OS.
The delta_smooth_enabled setting can also be modified at runtime through OS::, and there is also now a command line setting to override the project setting.
2023-05-16 13:57:25 +01:00
Rémi Verschelde
accb57d50f
Merge pull request #77036 from bonjorno7/ok-color-static
...
Make ok_color functions static
2023-05-16 11:01:08 +02:00
Rémi Verschelde
8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
...
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
Shea Frembling
0d6487073f
update error from Object::set_meta to be more human readable
...
update error from Object::set_meta to be more human readable
Add metadata to error message
Add metadata to identifier
2023-05-15 15:14:45 -05:00
Fredia Huya-Kouadio
250749fa79
Augment the `InputEvent` class with a `CANCELED` state
...
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
2023-05-15 11:48:25 -07:00
Emmanuel Leblond
e785dd9dd9
Improve user-friendliness of "return value as function param" pattern in GDExtension API
...
This commit introduce separate types (e.g. GDNativeStringPtr vs GDNativeUninitializedStringPtr)
depending on if the pointed data is already initialized (C++ style where constructor is alway
called when create a variable even if it is to be passed as return value) or not (C style).
On top of that, small changes has been made to `GDNativeInterface` so that it methods are
consistent on using uninitialized return value.
2023-05-15 17:14:57 +02:00
Juan Linietsky
0a9f72d5a8
Make more base nodes thread safe
...
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00
Rémi Verschelde
5c653c27cd
Merge pull request #77093 from RandomShaper/fix_mq_copy
...
Fix transfer of messages between queues
2023-05-15 13:47:18 +02:00
Rémi Verschelde
70dcfdab1f
Merge pull request #76446 from reduz/add-gdextension-api-compatibility
...
Add a backwards-compatibility system for GDExtension
2023-05-15 13:43:46 +02:00
Rémi Verschelde
1d83a4c5a5
Merge pull request #72249 from RandomShaper/robust_sync
...
Robustify multi-threading primitives
2023-05-15 13:42:52 +02:00
Juan Linietsky
d8078d3f4c
Add a backwards-compatibility system for GDExtension method
...
This adds a way to ensure that methods that were modified in the Godot API will continue working in older builds of GDExtension even if the new signature is different.
```C++
// New version (changed)
ClassDB::bind_method(D_METHOD("add_sphere","radius","position"),&MyShapes::add_sphere);
// Compatibility version (still available to extensions).
ClassDB::bind_compatibility_method(D_METHOD("add_sphere","radius"),&MyShapes::_compat_add_sphere);
```
**Q**: If I add an extra argument and provide a default value (hence can still be called the same), do I still have to provide the compatibility version?
**A**: Yes, you must still provide a compatibility method. Most language bindings use the raw method pointer to do the call and process the default parameters in the binding language, hence if the actual method signature changes it will no longer work.
**Q**: If I removed a method, can I still bind a compatibility version even though the main method no longer exists?
**A**: Yes, for methods that were removed or renamed, compatibility versions can still be provided.
**Q**: Would it be possible to automate checking that methods were removed by mistake?
**A**: Yes, as part of a future PR, the idea is to add a a command line option to Godot that can be run like : `$ godot --test-api-compatibility older_api_dump.json`, which will also be integrated to the CI runs.
2023-05-15 12:05:40 +02:00
Pedro J. Estébanez
93de52942a
Fix transfer of messages between queues
2023-05-15 11:51:58 +02:00
Fabio Alessandrelli
fb10f45efe
Merge pull request #75867 from tefusion/fix_http_client_unicode_request
...
Fix HTTPClient _request using wrong size
2023-05-14 16:05:39 +02:00
Emmanuel Leblond
7501ebb91a
Make *_operator_index in gdnative_interface not logging an error if called with an out-of-bound index
2023-05-13 20:01:55 +02:00
bonjorno7
283cac859c
Make ok_color functions static
...
It needs to be a class to prevent build errors, but the functions can at least be static, so you don't have to instance the class.
2023-05-13 16:57:19 +02:00
Rémi Verschelde
1c8b203f70
Merge pull request #77011 from Faless/tls/fix_crashes_when_unavailable
...
[TLS] Fix crashes trying to use TLS when not available.
2023-05-12 23:26:43 +02:00
Fabio Alessandrelli
eeac6f8c7f
[TLS] Fix crashes trying to use TLS when not available.
...
If no StreamPeerTLS implementation is available, HTTPClient and
WebSocketPeer will now correctly refuse to connect using TLS returning
ERR_UNAVAILABLE.
Similarly, ENetConnection will refuse to setup DTLS when PacketPeerDTLS
is not available.
2023-05-12 20:08:10 +02:00
Pedro J. Estébanez
6189ab5291
Robustify multi-threading primitives
2023-05-12 19:04:57 +02:00
Pedro J. Estébanez
45d0b38076
Enhance thread safety of loaders and importers
2023-05-12 17:44:48 +02:00
Pedro J. Estébanez
7537a0521f
Simplify ResourceLoader error callbacks
2023-05-12 17:44:48 +02:00
Rémi Verschelde
20ed51a912
Merge pull request #72704 from myaaaaaaaaa/single-main-thread
...
Partial fixes for `threading/worker_pool/max_threads` = 0
2023-05-12 15:09:50 +02:00
Pedro J. Estébanez
123ba9d464
WorkerThreadPool: Handle exit signal in the tentative scheduling done during waits
2023-05-12 13:31:04 +02:00
myaaaaaaaaa
fcd8ce52e9
Partial fixes for threading/worker_pool/max_threads = 0
2023-05-12 07:27:35 -04:00
Rémi Verschelde
258fabdbb3
Merge pull request #76836 from Faless/tls/system_certs
...
[TLS] Add support for platform-specific CA bundles.
2023-05-12 11:17:31 +02:00
Rémi Verschelde
ae4d469ca2
Merge pull request #76980 from m4gr3d/fix_input_anr_main
...
Fix input ANR in the Godot Android editor
2023-05-12 10:07:19 +02:00
Rémi Verschelde
8f17f26233
Merge pull request #76978 from raulsntos/property-hint-compat
...
Reorder `PropertyHint` enum to avoid breaking compat
2023-05-12 10:06:32 +02:00
Rémi Verschelde
cc48827e4a
Merge pull request #76946 from AThousandShips/shadow_warning
...
Enable shadow warnings and fix raised errors
2023-05-12 10:04:09 +02:00
Rémi Verschelde
186aa649d2
Merge pull request #76945 from RandomShaper/fix_wtp
...
Fix multiple issues in `WorkerThreadPool`
2023-05-12 10:03:45 +02:00
Rémi Verschelde
863bcd3e2b
Merge pull request #76936 from clayjohn/revert-hsl
...
Revert "Add API for HSL conversion"
2023-05-12 10:03:21 +02:00
Fabio Alessandrelli
6fd9982358
[TLS] Add support for platform-specific CA bundles.
...
Adds a new OS::get_system_ca_certs method which can be implemented by
platforms to retrieve the list of trusted CA certificates using OS
specific APIs.
The function should return the certificates in PEM format, and is
currently implemented for Windows/macOS/LinuxBSD(*)/Android.
mbedTLS will fall back to bundled certificates when the OS returns no
certificates.
(*) LinuxBSD does not have a standardized certificates store location.
The current implementation will test for common locations and may
return an empty string on some distributions (falling back to the
bundled certificates).
2023-05-12 09:58:23 +02:00
Fredia Huya-Kouadio
367061cf9c
Follow up to https://github.com/godotengine/godot/pull/76399 to fix input ANR in the Godot Android editor
2023-05-11 19:06:03 -07:00
Raul Santos
a34207b812
Reorder PropertyHint enum to avoid breaking compat
...
Also syncs the Core enum with the C# enum for the source generators.
2023-05-12 01:48:07 +02:00
Pedro J. Estébanez
9077bb9232
Fix multiple issues in WorkerThreadPool
...
- Fix project settings being ignored.
- Made usages of `native_thread_allocator` thread-safe.
- Remove redundant thread-safety from `low_priority_threads_used`, `exit_threads`.
- Fix deadlock due to unintended extra lock of `task_mutex`.
2023-05-11 16:10:09 +02:00
Ninni Pipping
71ee65dc57
Enable shadow warnings and fix raised errors
2023-05-11 16:00:59 +02:00
Rémi Verschelde
fd4a06c515
Merge pull request #76906 from lawnjelly/safe_acos4_2
...
Make acos and asin safe
2023-05-11 13:33:37 +02:00
lawnjelly
50c5ed4876
Make acos and asin safe
...
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.
The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 08:34:34 +01:00
clayjohn
f83a90192f
Revert "Add API for HSL conversion"
...
This reverts commit 0b7fd664c1 .
2023-05-10 17:45:56 -03:00
Pedro J. Estébanez
045401c64e
Use WorkerThreadPool for threaded resource loading
2023-05-10 18:53:41 +02:00
Pedro J. Estébanez
b6647a5808
Avoid sync issues in materials with scheduled shader updates
2023-05-10 18:53:41 +02:00
Pedro J. Estébanez
5a4613f551
Avoid sync issues in resources with deferred updates
2023-05-10 18:53:41 +02:00
Pedro J. Estébanez
8983b20ccd
Avoid interaction issues between resource loading threads
2023-05-10 18:53:41 +02:00
Rémi Verschelde
74c34aed38
Merge pull request #76905 from Faless/mbedtls/no_weak_crypto_no_patch
...
mbedTLS: disable weak crypto and TLS versions.
2023-05-10 12:47:31 +02:00
Rémi Verschelde
74e5ad5c60
Merge pull request #76165 from and-rad/safe-credentials
...
Store sensitive export options in dedicated credentials file
2023-05-10 12:47:07 +02:00
Rémi Verschelde
5271186f2f
Merge pull request #75901 from reduz/refactor-node-processing
...
Refactor Node Processing to allow Scene Multithreading
2023-05-10 12:46:44 +02:00
Andreas Raddau
fab160ce70
Store sensitive export options in dedicated credentials file
2023-05-10 11:40:17 +02:00
Fabio Alessandrelli
024a4b1f2a
mbedTLS: disable weak crypto and TLS versions.
...
This commit adds a new mbedTLS configuration header to customize the
built-in library (and can be optionally replaced by a platform-specific
one).
Currently, it disables most weak cryptographic functions (with the
notable exceptions of MD5 and SHA-1), along with removing support for
TLS versions 1.0 and 1.1 (making TLSv1.2 the only supported one).
2023-05-10 11:13:19 +02:00
Rémi Verschelde
3b8c828159
Merge pull request #69988 from smix8/navigation_rvo_rework_4.x
...
Rework Navigation Avoidance
2023-05-10 10:19:12 +02:00
Fabio Alessandrelli
081808be49
Merge pull request #75721 from ScorpionInc/Expose_String_functions_for_X509Certificate
...
Exposes String functions for X509Certificates
2023-05-10 05:26:55 +02:00
smix8
a6ac305f96
Rework Navigation Avoidance
...
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
ScorpionInc
a5b867391e
Exposes String functions for X509Certificates
...
Exposes String functions for X509Certificates via two function calls: save_to_string() and load_from_string(str).
2023-05-09 19:02:33 -04:00
Rémi Verschelde
6bca6beea3
Merge pull request #76878 from RedworkDE/tests-fix-errors
...
Fix various errors when running the unit tests
2023-05-09 19:28:54 +02:00
Rémi Verschelde
ccf8029910
Merge pull request #76730 from AThousandShips/doc_order
...
Make documentation sorting use natural order
2023-05-09 19:28:38 +02:00
Rémi Verschelde
0f444f101a
Merge pull request #76661 from bonjorno7/hsl
...
Add API for HSL conversion
2023-05-09 19:28:35 +02:00
Rémi Verschelde
10ed1d87df
Merge pull request #76490 from dsnopek/dump-gdscript-docs
...
Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATH
2023-05-09 19:28:30 +02:00
Juan Linietsky
98c655ec8d
Refactor Node Processing
...
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.
This is the first steps towards implementing https://github.com/godotengine/godot-proposals/issues/6424 .
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
2023-05-09 19:17:51 +02:00
RedworkDE
8e7afec479
Fix various errors when running the unit tests
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-05-09 18:40:56 +02:00
Ninni Pipping
6bccdec7a1
Make documentation sorting use natural order
2023-05-09 17:47:52 +02:00
Rémi Verschelde
ee931e2be5
Merge pull request #76814 from KoBeWi/underdata
...
Don't refresh inspector when changing internal meta
2023-05-09 17:44:49 +02:00
Rémi Verschelde
58ea42e4ab
Merge pull request #76755 from RandomShaper/fix_allocator_thsafe
...
Add missing thread safety to PagedAllocator
2023-05-09 17:44:45 +02:00
Rémi Verschelde
5ade250c7d
Merge pull request #76735 from AThousandShips/natural_cmp
...
Add `naturalcasecmp_to` function to `String`
2023-05-09 17:44:37 +02:00
bonjorno7
0b7fd664c1
Add API for HSL conversion
...
Math ported pretty much 1:1 from https://en.wikipedia.org/wiki/HSL_and_HSV
Style doesn't match the existing HSV code exactly, but should be close enough.
2023-05-09 17:43:10 +02:00
Pedro J. Estébanez
341b95871c
Add missing thread safety to PagedAllocator
2023-05-08 18:38:56 +02:00
David Snopek
a64137d5dd
Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATH
2023-05-08 11:00:29 -05:00
kleonc
0b944e1a68
Make `LocalVector` respect its `tight` template parameter
2023-05-08 15:22:58 +02:00
Rémi Verschelde
491a437df5
Merge pull request #76540 from reduz/redo-remote-filesystem
...
Redo how the remote filesystem works
2023-05-08 13:52:51 +02:00
Rémi Verschelde
3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
...
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
Rémi Verschelde
353efd774f
Merge pull request #76754 from RandomShaper/mq_less_lock
...
Avoid redundant locking in CallQueue
2023-05-08 12:20:53 +02:00
Rémi Verschelde
fe6cd734ad
Merge pull request #76748 from KoBeWi/has_feature(fast)
...
Cache feature list in `OS.has_feature()`
2023-05-08 12:20:49 +02:00
Rémi Verschelde
0daa634f24
Merge pull request #76747 from RandomShaper/fix_mq_redundant
...
Mend some checks in CallQueue
2023-05-08 12:20:45 +02:00
Rémi Verschelde
466e99d57c
Merge pull request #76728 from RedworkDE/signal-disconnect-loop
...
Prevent infinite loop when signal disconnection fails during object deletion
2023-05-08 12:20:41 +02:00
Rémi Verschelde
e85f6871ba
Merge pull request #76561 from KoBeWi/most_obscure_class_that_has_ever_existed
...
Improve and document PackedDataContainer
2023-05-08 12:20:33 +02:00
Rémi Verschelde
49ba2e0447
Merge pull request #76399 from RandomShaper/fix_android_input_anr
...
Allow concurrent buffering and dispatch of input events
2023-05-08 12:20:21 +02:00
Juan Linietsky
273a6eeb66
Redo how the remote filesystem works
...
Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes.
The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage.
Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device.
Co-authored-by: m4gr3d
2023-05-08 11:57:54 +02:00
Pedro J. Estébanez
f369ed9223
Allow concurrent buffering and dispatch of input events
2023-05-08 09:15:16 +02:00
kobewi
5e3a985c91
Don't refresh inspector when changing internal meta
2023-05-07 22:12:22 +02:00
Ninni Pipping
46a7018e3c
Add `naturalcasecmp_to` function to `String`
...
Functions as a complement to `naturalnocasecmp_to`
2023-05-07 10:17:53 +02:00
RedworkDE
1324c7d06a
Avoid making unnecessary copies of `LocalVector`
2023-05-06 20:39:03 +02:00
Pedro J. Estébanez
5a0c186bc0
Avoid redundant locking in CallQueue
2023-05-05 19:39:11 +02:00
Clay John
7a13cf9aeb
Merge pull request #75510 from SilicDev/string_erase
...
Reimplement `String.erase()` as immutable method
2023-05-05 10:03:49 -07:00
Clay John
610877e326
Merge pull request #72288 from MewPurPur/use-string-repeat
...
Use `String.repeat()` to optimize several String methods
2023-05-05 09:56:48 -07:00
Pedro J. Estébanez
8654e90759
Mend some checks in CallQueue
2023-05-05 17:37:44 +02:00
kobewi
30d0dd43c5
Cache feature list in OS.has_feature()
2023-05-05 17:34:49 +02:00
RedworkDE
1a4eccf7e7
Prevent infinite loop when signal disconnection fails during object deletion.
2023-05-05 13:34:25 +02:00
Samuele Panzeri
59f04e16b8
Support long path in file access on windows
...
Changed windows file access file to check for path length and use the \\?\ long format when needed
2023-05-05 10:04:39 +02:00
SilicDev
6fa4f71ca6
Reimplement String.erase
2023-05-04 00:52:35 +02:00
VolTer
6b84e258d2
Use String.repeat() in more places
2023-05-01 02:27:46 +02:00
Juan Linietsky
1c93606e47
Add ValidatedCall to MethodBind
...
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.
NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
kobewi
c08e96ef0d
Improve and document PackedDataContainer
2023-04-29 00:29:40 +02:00
Yuri Sizov
26fb911f79
Merge pull request #72095 from anvilfolk/gd-docs
...
Improve GDScript documentation generation & behavior
2023-04-26 16:54:25 +02:00
Rémi Verschelde
51951a59d6
Merge pull request #76467 from RandomShaper/doc_cache_peace_of_mind
...
Add peace-of-mind checks to API hash caching
2023-04-26 11:36:09 +02:00
Rémi Verschelde
cc0edf810f
Merge pull request #74106 from dalexeev/astar-grid-2d-negative-coords
...
Allow negative coordinates in `AStarGrid2D`
2023-04-26 11:35:55 +02:00
Pedro J. Estébanez
a79e71ad58
Add peace-of-mind checks to API hash caching
2023-04-26 10:44:52 +02:00
Danil Alexeev
76ee3d4f31
Allow negative coordinates in `AStarGrid2D`
2023-04-26 09:29:33 +03:00
Rémi Verschelde
e0e93ce094
Merge pull request #72421 from myaaaaaaaaa/signal-hashmap
...
Store Object signals in a HashMap rather than a VMap
2023-04-25 19:26:35 +02:00
Rémi Verschelde
efb42c3101
Merge pull request #75447 from bruvzg/brotli_packedarray
...
Expose brotli decompression to the scripting API.
2023-04-25 16:16:56 +02:00
Rémi Verschelde
aa622dae53
Merge pull request #76431 from RandomShaper/fix_doc_help_cache
...
Improve reliability of editor docs cache
2023-04-25 14:44:17 +02:00
Rémi Verschelde
53191928e5
Merge pull request #76345 from reduz/fix-thread-ids
...
Fix thread IDs.
2023-04-25 13:20:46 +02:00
Pedro J. Estébanez
e1ce0340b7
Improve reliability of editor docs cache
2023-04-25 11:40:56 +02:00
Rémi Verschelde
15d952147c
Merge pull request #74101 from RandomShaper/fix_gds_obj_temps
...
Fix edge cases of object lifetime when signals involved
2023-04-25 09:58:17 +02:00
Rémi Verschelde
76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
...
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Daylily-Zeleen
b12ced0a26
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 11:29:32 +08:00
Rémi Verschelde
14c582bca8
Merge pull request #76403 from bitsawer/reduce_hashmap_size
...
Optimize HashMap size
2023-04-24 16:49:12 +02:00
Rémi Verschelde
f64544a960
Merge pull request #76311 from aaronfranke/t2d-basis-det
...
Expose `determinant` in Transform2D, rename internal method
2023-04-24 16:46:24 +02:00
bitsawer
723f2f342f
Optimize HashMap size
2023-04-24 16:18:58 +03:00
Juan Linietsky
a37c30dfc9
Fix thread IDs.
...
On Linux, thread IDs were not properly assigned with the current approach.
The line:
`std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);`
does not work because the thread ID is not assigned until the thread starts.
This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
2023-04-24 15:13:58 +02:00
bruvzg
628f3b2f79
[OS] Implement and expose to scripting APIs `get_memory_info` method instead of old `get_free_static_memory`.
2023-04-24 14:08:55 +03:00
Aaron Franke
290b09b36c
Expose `determinant` in Transform2D, rename internal method
2023-04-22 13:44:14 -05:00
ocean (they/them)
6783ff69c0
Improve and fix GDScript documentation generation & behavior
...
Removes documentation generation (docgen) from the GDScript compiler to
its own file. Adds support for GDScript enums and signal parameters and
quite a few other assorted fixes and improvements.
2023-04-21 10:17:30 -04:00
Paweł
899da22002
Fix lerp error message
2023-04-21 10:01:59 +02:00
Rémi Verschelde
e83d3060a8
Merge pull request #76259 from kleonc/callable-error-text-expected-arg-count-fix
...
Fix expected argument count in Callable call error text
2023-04-20 12:43:42 +02:00
kleonc
7a871212ed
Fix expected argument count in Callable call error text
2023-04-19 16:06:00 +02:00
bruvzg
520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method.
2023-04-19 08:54:53 +03:00
Danil Alexeev
36bedd341a
Fix misuses of error macros
2023-04-18 10:20:48 +03:00
Haoyu Qiu
6cd8e706fa
Unify descriptions of vector methods
...
* is_equal_approx
* normalize
* length_squared
* posmod
* posmodv
2023-04-14 23:31:33 +08:00
Pedro J. Estébanez
f5602869da
Cache classes editor help
2023-04-13 12:16:47 +02:00
Rémi Verschelde
68b8156fe3
Merge pull request #76014 from AThousandShips/image_astc
...
Expose more compression formats in Image and fix compress check
2023-04-13 09:57:53 +02:00
Rémi Verschelde
1a90031f3c
Merge pull request #76001 from pkowal1982/version
...
Fix Windows StringFileInfo structure
2023-04-13 09:56:17 +02:00
Ninni Pipping
cf64e2fa47
Expose more compression formats in Image and fix compress check
...
Check for compressing ASTC checked if the function for BPTC was present
2023-04-13 09:39:03 +02:00
Paweł
e15a086bb9
Fix Windows StringFileInfo structure
2023-04-12 22:08:49 +02:00
Pedro J. Estébanez
33f674d0f7
Complete support of callables of static methods
2023-04-12 18:12:19 +02:00
Juan Linietsky
6055e4424a
Redo of Message Queue
...
* Functionality moved to a base class CallQueue, which will be used for inter-thread communication within the scene.
* MessageQueue now uses growing pages, starts from a single 4k page.
* Limit still exists, but because its not allocated by default, it can be much higher.
2023-04-12 16:31:23 +02:00
Rémi Verschelde
6fedcfab3e
Merge pull request #75805 from MewPurPur/optimize-delaunay
...
Optimize 2D Delaunay and make it more readable
2023-04-11 19:40:32 +02:00
Rémi Verschelde
5722d6e3cc
Merge pull request #75451 from bruvzg/web_mac_keys
...
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 19:40:16 +02:00
Rémi Verschelde
347a8e20ae
Merge pull request #69324 from RedMser/advanced-settings-errors
...
Make it easier to solve warnings/errors referring to project settings
2023-04-11 19:39:53 +02:00
Pedro J. Estébanez
2f4168daeb
Fix edge cases of object lifetime when signals involved
2023-04-11 17:27:39 +02:00
bruvzg
a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 10:58:54 +03:00
tefusion
1514376e46
Fix HTTPClient _request using wrong size
...
This only affects HttpClient in GDScript.
2023-04-10 11:45:41 +02:00
VolTer
846f9e106c
Optimize 2D Delaunay and make it more readable
...
Co-authored-by: Dimitri Tabatadze <tabatadzedima@protonmail.com>
2023-04-09 00:52:15 +02:00
Juan Linietsky
8950943356
Optimize Object::get_class_name
...
* Run the static function once per class instead of one per instance.
* Saves some memory in Object derived classes.
2023-04-08 19:25:50 +02:00
Juan Linietsky
223ce4fcb9
Optimize Node::add_child validation
...
Adding 10k nodes is almost twice as fast.
2023-04-07 13:18:47 +02:00
bendn
ca0feabbb0
add `hex_decode()` to `String`
2023-04-05 19:44:00 +07:00
Bartłomiej T. Listwon
bff0c71e2e
Fix moving position indicator out of bounds in FileAccessMemory
2023-04-04 10:10:25 +02:00
Rémi Verschelde
cef3587427
Merge pull request #74120 from RandomShaper/res_loader_teardown
...
Clear resource load tasks at exit
2023-04-03 15:59:51 +02:00
Rémi Verschelde
7aa224291b
Merge pull request #73200 from 0xafbf/fix-guide-button-win
...
Fix guide button detection with XInput and Xbox Series controllers
2023-04-03 15:58:36 +02:00
Yuri Sizov
ee2cc347c6
Add support for icons in GDExtension classes
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-03-31 21:39:02 +02:00
bruvzg
0e4bd964cc
Expose brotli decompression to the scripting API.
2023-03-29 22:43:36 +03:00
Ron B. Yeh
40ae917db8
Fix typo on "autoremapping".
...
Update warning strings to be consistent with the rest of the code base, which uses "Command or Control".
2023-03-28 16:48:18 -07:00
RedMser
ed960453b7
Make solving project setting errors easier
...
Show full project setting path in error messages.
Force filtering for advanced settings if filter is not empty.
2023-03-27 08:10:35 +02:00
Yuri Sizov
e4e63f976a
Merge pull request #73225 from bruvzg/wchar_to_from
...
Add GDScript `to_wchar_buffer` and `get_string_from_wchar` functions.
2023-03-25 15:05:59 +01:00
kobewi
8f8178bda6
Fix auto-translations in editor
2023-03-22 23:57:12 +01:00
bruvzg
d72b563250
Add GDScript `to_wchar_buffer` and `get_string_from_wchar` functions.
2023-03-21 15:39:54 +02:00
bruvzg
09465f3fe6
Remove (or make verbose only) various debug prints.
2023-03-20 08:14:18 +02:00
Yuri Sizov
3596443de1
Merge pull request #74727 from AThousandShips/project_settings
...
Exposing more project settings for documentation
2023-03-15 15:59:10 +01:00
Ninni Pipping
bd30847e59
Exposing more project settings for documentation
2023-03-15 14:25:40 +01:00
Yuri Sizov
6f4646c6bf
Merge pull request #74909 from AThousandShips/array_slice
...
Fix `Array.slice()` rounding for `abs(step) != 1`
2023-03-15 14:25:16 +01:00
Ninni Pipping
10f385fb79
Fix `Array.slice()` rounding for `abs(step) != 1`
2023-03-14 15:46:45 +01:00
Felipe Jorge
999f3e2c13
use the unicode replacement char on error
...
update tests
also fix utf8 and ascii parse functions to use the replacement char
created a _replacement_char const inside the string
2023-03-12 11:46:56 -03:00
Ninni Pipping
c8c43997c7
Fix type check for max/min
2023-03-11 15:08:34 +01:00
Mario Liebisch
4e72e09343
Added the missing second case for string keys
2023-03-11 01:08:23 +01:00
George Marques
a1e3ef919c
Add operator NOT for all Variant types
2023-03-10 15:58:55 -03:00
Mario Liebisch
46e5311d5a
Fixed read-only dictionaries adding missing keys
...
When querying a non-existing key on a read-only
dictionary, the key was still added (albeit never set).
This fixes #74726 .
2023-03-10 17:26:34 +01:00
Ninni Pipping
3de5332fcb
Document `editor/naming/scene_name_casing` setting
...
Moved definitions of editor related project settings to `editor/register_editor_types.cpp` to make documentation work.
2023-03-09 21:17:49 +01:00
Ninni Pipping
e6a9e0cdec
Fix Variant hashing for floats
...
Incorrectly hashed floats as single precision
2023-03-08 12:52:50 +01:00
Haoyu Qiu
49400e0c1c
Fix crash when dumping extension API in a non-writable directory
2023-03-08 15:05:44 +08:00
Rémi Verschelde
d665455a23
Merge pull request #74361 from bitsawer/fix_clang_tidy_warnings
...
Fix several clang-tidy bool literal conversion warnings
2023-03-07 10:33:30 +01:00
Rémi Verschelde
281a5c9e35
Merge pull request #74213 from timothyqiu/friendly-pot
...
Improve POT Generation dialog
2023-03-07 10:33:06 +01:00
Jakub Mateusz Marcowski
0a55a32085
Modify JSON.stringify so that it doesn't create unnecessary empty lines from empty arrays
2023-03-07 10:30:28 +01:00
Rémi Verschelde
e80ab423ef
Merge pull request #73793 from myaaaaaaaaa/init-race
...
Fix some race conditions that happen during initialization
2023-03-06 19:57:38 +01:00
myaaaaaaaaa
d337ed1c64
Fix data races in startup/teardown
2023-03-06 11:47:12 -05:00
Rémi Verschelde
0b98b470cc
Merge pull request #73716 from bruvzg/improve_locale_selection
...
Improve layout direction/locale automatic selection.
2023-03-06 10:57:56 +01:00
Rémi Verschelde
2832ef434d
Merge pull request #74248 from Chaosus/randfn_fix
...
Fix randfn to prevent generating of nan values
2023-03-05 13:24:20 +01:00
bitsawer
1736137bc9
Fix several clang-tidy bool literal conversion warnings
2023-03-04 16:38:35 +02:00
Yuri Rubinsky
d11bb866ff
Fix randfn to prevent generating of nan values
2023-03-03 16:43:48 +03:00
Haoyu Qiu
584136271c
Improve POT Generation dialog
...
* Avoid "property not found" warnings when adding a file for the first
time.
* When no file is added, disable the Generate POT button instead of
printing a warning.
2023-03-03 18:18:58 +08:00
Rémi Verschelde
c329acafed
Merge pull request #74226 from timothyqiu/privacy-please
...
Hide internal settings from the classref
2023-03-03 11:08:16 +01:00
Rémi Verschelde
bdb3738023
Merge pull request #74166 from RandomShaper/fix_res_loader_read_freed
...
Fix crash in resource load
2023-03-03 11:06:15 +01:00
Rémi Verschelde
d76c1c4f45
Merge pull request #73651 from hakro/editor-freelook-physical-shortcuts
...
Use physical shortcuts for freelook navigation in the editor
2023-03-03 11:02:53 +01:00
bitsawer
5a9d7fd8a6
Fix Image.convert() overwriting custom mipmaps
2023-03-02 16:46:06 +02:00
Rémi Verschelde
4fceabc30c
Merge pull request #73862 from RandomShaper/fix_subthreaded_res_load
...
Lift restriction that resource load thread requester has to be the initiator
2023-03-02 11:26:54 +01:00
Haoyu Qiu
1e0b8d6240
Hide internal settings from the classref
...
Default actions are no longer internal since we want to document them.
They are still hidden from the Project Setting dialog because we hid the
whole `input/` group manually.
2023-03-02 17:52:37 +08:00
Pedro J. Estébanez
047671df0f
Fix crash in resource load
2023-03-01 18:30:16 +01:00
Pedro J. Estébanez
b8b6a05c17
Clear resource load tasks at exit
2023-02-28 18:56:21 +01:00
Rémi Verschelde
491ded1898
Minor typo and docs URL fixes
2023-02-28 13:38:01 +01:00
Rémi Verschelde
20d6a698c7
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@436c7e3d54
2023-02-27 15:59:50 +01:00
voidedWarranties
bd5ab9f9b4
Remove unused `ScriptLanguage` methods
2023-02-26 22:30:56 -08:00
myaaaaaaaaa
4c2915e3e5
Remove unused threaded_array_processor.h
2023-02-26 19:27:08 -05:00
Pedro J. Estébanez
b60197d1c6
Fix deadlock in cyclic resource load
2023-02-26 17:19:48 +01:00
myaaaaaaaaa
1ec5381c16
Store Object signals in a HashMap rather than a VMap
2023-02-25 18:44:09 -05:00
Rémi Verschelde
3863199ab9
Merge pull request #73881 from vnen/max-min-only-for-numbers
...
Make max() and min() global functions only accept numbers
2023-02-25 01:36:19 +01:00
Dmitrii Maganov
c5f7a89b0f
Core: Identity compare objects by id, not by pointers
2023-02-24 23:33:29 +02:00
George Marques
ed81b165eb
Make max() and min() global functions only accept numbers
...
The behavior for those are not well defined for non-numeric arguments.
To avoid confusion the other types are forbidden.
2023-02-24 14:06:11 -03:00
Pedro J. Estébanez
c51229491d
Lift restriction that resource load thread requester has to be the initiator
2023-02-24 13:19:31 +01:00
Rémi Verschelde
b87f9f679e
Merge pull request #73647 from RandomShaper/fix_threaded_load
...
Fix threading issues in resource loading
2023-02-23 11:04:55 +01:00
mashumafi
2a12213c31
Fix: Typed arrays aren't working with +
2023-02-22 18:42:26 -05:00
bruvzg
82d7923c65
Improve layout direction/locale automatic selection.
2023-02-22 08:37:14 +02:00
bitsawer
c56058fe9a
Fix FileAccess last open error flag update
2023-02-21 17:02:21 +02:00
Rémi Verschelde
6acc7f03ed
Merge pull request #73595 from KoBeWi/missingno
...
Fix missing directories when exporting from cmd
2023-02-21 11:14:34 +01:00
Hakim
52de40310a
Use physical shortcuts for freelook navigation in the editor
2023-02-21 10:56:14 +01:00
Rémi Verschelde
e693a3debb
Merge pull request #73422 from bruvzg/no_alt
...
[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input.
2023-02-20 22:31:11 +01:00
Pedro J. Estébanez
b862fc8c9b
Fix cases of resource load tasks not being awaitable
2023-02-20 21:20:05 +01:00
Pedro J. Estébanez
618bb173ba
Fix race condition in resource loader when a load task is reused
2023-02-20 21:20:05 +01:00
bruvzg
b3c64675cc
[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input.
2023-02-20 22:02:47 +02:00
Pedro J. Estébanez
daa29d1007
Implement ConditionVariable
2023-02-20 20:43:31 +01:00
kobewi
ff42cb0d1e
Fix missing directories when exporting from cmd
2023-02-20 17:39:38 +01:00
lawnjelly
f42a837e92
BVH - fix lockguards for multithread mode
...
Due to a lack of variable name, the BVH lock guards lifetimes previously did not cover the whole function call.
This is fixed, and the warning message for contention is removed as multithread mode seems to be desired in production in 4.x.
2023-02-20 15:15:18 +00:00
Rémi Verschelde
2057d7344e
Merge pull request #73590 from vnen/gdscript-global-scope-enums
...
Make global scope enums accessible as types in GDScript
2023-02-20 15:41:45 +01:00
Rémi Verschelde
32a29977fb
Merge pull request #73616 from voidedWarranties/resourcecache_thread_safe
...
Make `ResourceCache::get_cached_resources` thread-safe
2023-02-20 11:29:08 +01:00
voidedWarranties
c586835541
Make `ResourceCache::get_cached_resources` thread-safe
2023-02-20 01:02:08 -08:00
Michael Alexsander
9a25d56ed9
Revert `Input.get_vector()` back to checking raw strength
2023-02-19 22:52:35 -03:00
George Marques
75f16b8167
Make global scope enums accessible as types in GDScript
...
Add functions to CoreConstant so enums can be properly deduced. Also add
the enums in release builds to make consistent with ClassDB enums and
avoid differences in script compilation between debug and release.
2023-02-19 13:00:07 -03:00
Rémi Verschelde
be3e5c5b8c
Merge pull request #73254 from j8r/fix-standard-gamepad-triggers
...
Fix Standard Gamepad Mapping triggers
2023-02-19 01:01:52 +01:00
Rémi Verschelde
e80e21b5e8
Merge pull request #73460 from myaaaaaaaaa/merge-unordered
...
Fix PagedArray.merge_unordered() sometimes dropping pages
2023-02-17 13:42:01 +01:00
Rémi Verschelde
b2584629c8
Merge pull request #73195 from timothyqiu/weblate-comments
...
Improvements and fixes based on Weblate comments
2023-02-17 09:55:39 +01:00
myaaaaaaaaa
6b0f253a45
Fix PagedArray.merge_unordered() dropping pages
2023-02-16 19:58:27 -05:00
bruvzg
bc95b0b171
Restore FileAccess.close method.
2023-02-16 15:34:20 +02:00
voidedWarranties
0a58025e40
Add missing virtual bind for `ScriptExtension::_get_global_name`
2023-02-15 19:48:01 -08:00
Andrés Botero
f249a9ce19
Added guide button to controller db, changed to use secret XInput function.
2023-02-15 01:01:09 -05:00
Rémi Verschelde
570b04dec4
Merge pull request #73265 from clayjohn/tangent-oct
...
Bias octahedral tangent y axis to avoid errors around 0
2023-02-14 11:05:52 +01:00
clayjohn
5a800e68f1
Bias octahedral tangent y axis to avoid errors around 0
2023-02-13 19:24:14 -08:00
Julien Reichardt
0cec4fcc65
Fix Standard Gamepad Mapping triggers
2023-02-13 23:44:43 +01:00
Dmitrii Maganov
9cb2da89d6
GDScript: Fix usage of ints with typed array of floats
2023-02-13 22:06:38 +02:00
Ricardo Subtil
e841f13cdc
Change message of unknown joypad property from error to warning
2023-02-13 14:30:57 +00:00
Rémi Verschelde
4a2c2170b4
Merge pull request #62921 from cdemirer/fix-variant-in
...
Fix `Variant::in()` error on invalid `evaluate`
2023-02-13 12:59:02 +01:00
Rémi Verschelde
edc2686687
Merge pull request #49469 from groud/remove_variant_operator
...
Make sure Variant is not implicitely cast when using operator[]
2023-02-13 12:57:04 +01:00
cdemirer
44b2747dfd
Fix `Variant::in()` error on invalid `evaluate`
2023-02-13 12:37:41 +01:00
Gilles Roudière
a825f955ab
Make sure Variant is not implicitely cast when using operator[]
...
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2023-02-13 10:50:22 +01:00
Haoyu Qiu
84aee17901
Improvements and fixes based on Weblate comments
...
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
* "Inclusive" and "Self" in the profiler.
* Places where it needs the context about being an editor progress label.
* "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
* Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
* Fix duplicated "if" in the description of `signf()`.
* Fix mismatched example output in `String.operator %()`.
* Fix typo in the description of `Decal.texture_emission`.
* Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
Rémi Verschelde
27b2260460
Merge pull request #73179 from akien-mga/sync-gamecontrollerdb
...
Sync controller mappings DB with SDL2 community repo
2023-02-12 22:35:27 +01:00
Rémi Verschelde
99ae2d5212
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@2e7bc45a45
2023-02-12 22:28:03 +01:00
Julien Reichardt
e926e1bb34
Add PS3 controller guide button
2023-02-12 16:46:11 +01:00
AndreaCatania
02f2107620
Improve error reporting when the Message Queue is out of Memory.
...
The function `statistics()`, called when the MessageQueue is out of memory,
will still use the MessageQueue so it crashes.
Moving the error above will improve the behavior since the developer will
find the crash reasons and the instruction on how to fix it.
2023-02-11 22:45:14 +01:00
Rémi Verschelde
8f46656ae4
Merge pull request #72316 from 0xafbf/component-wise-minmax
...
Added component-wise `min` and `max` functions for vectors
2023-02-11 22:05:12 +01:00
Andrés Botero
a90e151b2a
Added component-wise `min` and `max` functions for vectors
2023-02-11 15:03:11 -05:00
Rémi Verschelde
f011d8ca9c
Math: Prevent division by zero in posmod
...
Fixes #43932 .
Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
2023-02-11 20:44:45 +01:00
Rémi Verschelde
532381562e
Merge pull request #72654 from RandomShaper/ptrcall_ret_raw_obj
...
Avoid losing references to objects in the native-scripting boundary
2023-02-11 15:35:01 +01:00
Rémi Verschelde
5c5f1452db
Merge pull request #73075 from timothyqiu/ttrn-single
...
Don't warn when using `TTRN()` in a language without plurals
2023-02-11 14:35:03 +01:00
Haoyu Qiu
52b4014362
Don't warn when using TTRN() in a language without plurals
2023-02-11 13:21:57 +08:00
Emmanuel Leblond
58f4139164
Add Engine::unregister_script_language and make Engine::register_script_language returns a Error
2023-02-10 19:50:24 +01:00
Haoyu Qiu
26581ca574
Add some missing translatable editor strings
2023-02-10 16:55:50 +08:00
Rémi Verschelde
91409fe0c8
Merge pull request #72964 from AThousandShips/input_early_exit
...
Perform early exit in Input::is_anything_pressed
2023-02-09 23:42:12 +01:00
Rémi Verschelde
ab4a7b2b77
Merge pull request #72547 from MewPurPur/string-split-fix
...
Fix String.split() with empty string and delimeter
2023-02-09 16:12:57 +01:00
Ninni Pipping
29031700ba
Perform early exit in Input::is_anything_pressed
2023-02-09 11:43:23 +01:00
Jan Haller
45e6abde1d
GDExtension: array_set_typed() accepts enum instead of uint32_t
2023-02-08 23:24:56 +01:00
Rémi Verschelde
9f859a111c
Merge pull request #72866 from Sauermann/fix-release-button-mask
...
Fix mouse-button-mask on button release in unit test
2023-02-08 09:45:11 +01:00
Haoyu Qiu
d8d5cb1198
Use GDExtensionBool in GDExtension interface
2023-02-08 14:57:07 +08:00
Markus Sauermann
39d79ce217
Fix mouse-button-mask on button release in unit test
...
On mouse-button release, the mask is 0.
2023-02-08 01:17:40 +01:00
Haoyu Qiu
5d7e003b29
Prepare for moving editor and classref translations to godot-editor-l10n repo
...
- Separate editor interface and property translations.
- Add property translation in TranslationServer.
- The split and merge of the POT/PO/Makefiles and extract scripts is done
directly in godot-editor-l10n, the files will be removed in the next commit.
- Remove the hardcoded "to_include" lists from the SCsub, we'll only commit the
files which are ready to inclue.
2023-02-07 14:20:40 +01:00
Mikael Hermansson
99dba702f5
Expose `_err_print_error` with message parameter to GDExtension
2023-02-07 14:02:18 +01:00
Rémi Verschelde
cd0f1e9b10
Merge pull request #72740 from Sauermann/fix-event-device-id
...
Fix mouse/drag/touch InputEvents having no device id
2023-02-06 23:51:26 +01:00
Markus Sauermann
8748f4dcaa
Fix mouse/drag/touch InputEvents having no device id
...
Some internally created emulated/instantiated events didn't have a
device id. This PR sets for these cases a device id.
Also rename `DEVICE_ID_TOUCH_MOUSE` to the more generic
`DEVICE_ID_EMULATION`.
2023-02-06 22:49:42 +01:00
Rémi Verschelde
632911ea1d
Merge pull request #72786 from timothyqiu/no-libc
...
Remove unnecessary `stdio.h` from gdextension interface
2023-02-06 22:47:14 +01:00
Yuri Sizov
945207885b
Merge pull request #72546 from vonagam/fix-typed-array-can-reference
...
GDScript: Fix can_reference check for typed arrays
2023-02-06 23:32:47 +03:00
Dmitrii Maganov
8400308ab3
GDScript: Fix can_reference check for typed arrays
2023-02-06 22:00:16 +02:00
Marcel Admiraal
84199757a4
Fix OS.find_keycode_from_string not working with modifiers
2023-02-07 08:25:02 +13:00
Rémi Verschelde
112f8faf5c
Merge pull request #72703 from lyuma/stringname_constructor_mistake
...
StringName: fix returning dangling data from char constructor.
2023-02-06 17:47:27 +01:00
Lyuma
82c52eab6c
StringName: fix returning dangling data from char constructor.
...
Fixes a copy paste mistake in the `StringName(const char *,bool)` constructor,
to match the same form as the other two constrcutors.
This fixes a case where this constructor can return a dangling pointer and cause use-after-free.
2023-02-06 07:16:55 -08:00
Haoyu Qiu
f4ffa87a35
Remove unnecessary stdio.h from gdextension interface
2023-02-06 16:11:50 +08:00
bitsawer
d1521933bb
Expose and document ProjectSettings.get_global_class_list()
2023-02-04 23:22:27 +02:00
Rémi Verschelde
bbff9fd7a4
Merge pull request #71786 from raulsntos/dotnet/array
...
Sync C# Array with Core
2023-02-04 00:24:06 +01:00
Pedro J. Estébanez
0bcc7bb5c7
Avoid losing references to objects in the native-scripting boundary
2023-02-03 17:48:41 +01:00
Silc Renew
1459b9c24c
Fix scaled_orthogonal() & subgizmo global scaling
2023-02-04 00:46:04 +09:00
kobewi
c1cc8fd87f
Remove unused has_global_classes()
2023-02-03 15:43:56 +01:00
George Marques
5fc7918594
GDScript: Improve usability of setter chains
...
- Consider PackedArrays non-shared since they are copied on C++/script
boundaries.
- Add error messages in the analyzer when assigning to read-only
properties.
- Add specific error message at runtime when assignment fails because
the property is read-only.
2023-02-02 10:20:35 -03:00
VolTer
57e39d0ce9
Fix String.split() with empty string and delimeter
2023-02-02 01:34:11 +01:00
Aaron Franke
0fcdf48f83
Remove unused `has_slashes` from NodePath
2023-02-01 11:32:39 -06:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list
2023-02-01 12:11:36 +01:00
Rémi Verschelde
394bb0ee2b
Fix various typos with codespell
...
Finally do the childs -> children rename too.
2023-02-01 08:45:41 +01:00
Rémi Verschelde
68299e0f94
Merge pull request #72492 from maiself/fix-binary-res-typed-array
...
Fix loading of binary resources with typed arrays
2023-02-01 08:02:28 +01:00
Rémi Verschelde
e8240031e7
Merge pull request #71479 from raulsntos/virtual-return-type
...
Use enum instead of int in virtual methods return type
2023-02-01 07:45:28 +01:00
Rémi Verschelde
27fdb06fed
Merge pull request #71322 from EricEzaM/55856-proj-settings-initial-array-dict-shared-instance
...
Fix Project Settings array/dicts initial value being shared instances of the current value.
2023-02-01 07:29:44 +01:00
Mai Lavelle
87e6885f5e
Fix loading of binary resources with typed arrays
2023-02-01 01:22:43 -05:00
Raul Santos
9e9eac4676
Use enum instead of int in virtual methods return type
2023-01-31 19:06:49 +01:00
Rémi Verschelde
8612c12be6
Merge pull request #72452 from akien-mga/global_class_always_create
...
Always create global class list, even if empty
2023-01-31 16:00:12 +01:00
Rémi Verschelde
534369d267
Merge pull request #64423 from RandomShaper/safe_input_synth
...
Warn users about unsafe usage of `InputEvent`
2023-01-31 15:56:43 +01:00
Rémi Verschelde
38a806e13f
Always create global class list, even if empty
...
Fixes #72451 .
2023-01-31 15:28:53 +01:00
Pedro J. Estébanez
a2af839a59
Warn users about unsafe usage of InputEvent
2023-01-31 14:39:51 +01:00
Rémi Verschelde
e1648b3327
Merge pull request #72445 from reduz/restore-script-class-cache-if-removed
...
Restore script class cache if removed
2023-01-31 13:20:04 +01:00
Juan Linietsky
79897dd5bc
Restore script class cache if removed
...
I have no idea why anyone would do this, but this fixes it.
Fixes #72154 . Depends on #72444 being merged to function properly.
2023-01-31 11:28:21 +01:00
Dmitrii Maganov
5909f9f075
GDScript: Fix issues with typed arrays
2023-01-31 11:54:41 +02:00
Juan Linietsky
28f51ba547
Refactor high quality texture import
...
* Only two texture import modes for low/high quality now:
* S3TC/BPTC
* ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.
This solves the following problems:
* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
Rémi Verschelde
6d6d6592c9
Merge pull request #71989 from bruvzg/set_typed_move
...
Move Array:set_typed to internal GDExtension structure and unexposed it.
2023-01-30 13:28:40 +01:00
Rémi Verschelde
bde3310f02
Merge pull request #71995 from Faless/net/4.x_tls_verify
...
[NET] Refactor TLS configuration.
2023-01-30 13:28:31 +01:00
bruvzg
5aa87ccc03
Move Array:set_typed to internal GDExtension structure and unexposed it.
2023-01-30 14:23:31 +02:00
Raul Santos
54f8fb010c
Sync C# Array with Core
...
- Add `AddRange` method.
- Add `Fill` method.
- Add `Max` and `Min` methods.
- Add `PickRandom` method.
- Add `Reverse` method.
- Add `RecursiveEqual` method.
- Add `Sort` method.
- Add `Slice` and `GetSliceRange` methods.
- Add `IndexOf` overload that takes an index parameter.
- Add `LastIndexOf` method.
- Add `BinarySearch` method.
- Add/update documentation.
2023-01-30 05:41:53 +01:00
Rémi Verschelde
d01ac9c736
Merge pull request #72287 from aaronfranke/tr2d-interp
...
Add support for interpolating skewed Transform2Ds
2023-01-29 14:13:02 +01:00
Adam Scott
bfffb8f254
Fix `Resource::duplicate()` missing packed arrays
2023-01-28 23:06:44 -05:00
Aaron Franke
5f3d3722b2
Add support for interpolating skewed transforms
2023-01-28 18:28:42 -06:00
Fabio Alessandrelli
7cd80e6a6d
[Net] Remove StreamPeerTLS.blocking_handshake option.
...
Which was unused internally, and can be replaced by:
```
while tls.get_status() == tls.STATUS_HANDSHAKING:
tls.poll()
```
2023-01-28 11:08:02 +01:00
Fabio Alessandrelli
adba870534
[NET] Refactor TLS configuration.
...
Use a TLSOptions configuration object which is created via static
functions.
- "TLSOptions.client": uses the standard CA and common name verification.
- "TLSOptions.client_unsafe": uses optional CA verification (i.e. if specified)
- "TLSOptions.server": is the standard server configuration (chain + key)
This will allow us to expand the TLS configuration options to include
e.g. mutual authentication without bloating the classes that uses
StreamPeerTLS and PacketPeerDTLS as underlying peers.
2023-01-28 11:08:02 +01:00
Pedro J. Estébanez
1de616d8dc
Fix code style and consistency of RWLock and Semaphore
2023-01-27 18:45:25 +01:00
Yuri Rubinsky
0f8f0ab126
Merge pull request #72170 from Chaosus/astar_fix
2023-01-27 18:52:22 +03:00
Rémi Verschelde
2b55ac445b
Merge pull request #72111 from raulsntos/method-info-metadata
...
Add `GodotTypeInfo::Metadata` to `MethodInfo`
2023-01-27 15:41:38 +01:00
Rémi Verschelde
f0e3c3f4c3
Merge pull request #72168 from RandomShaper/sensible_lock_return
...
Booleanize various sync primitives' wait & locking methods
2023-01-27 15:40:43 +01:00
Yuri Rubinsky
cc0a243ce0
Enchance the performance of AStar by using a LocalVector(2)
2023-01-27 16:28:11 +03:00
Rémi Verschelde
9d555f5c68
Merge pull request #62499 from fire/gltf-binary-img-compression
...
Handle gltf binary images
2023-01-27 11:35:55 +01:00
Pedro J. Estébanez
f630940591
Booleanize various sync primitives' wait & locking methods
2023-01-27 11:15:30 +01:00
K. S. Ernest (iFire) Lee
39922d7167
Handle gltf binary
...
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ]
Enable compressed mip maps from Basis Universal for faster compressions.
Increase the quality of Basis to avoid corruption.
To keep compatibility use the first mip of the previous internal Godot format.
Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-27 02:02:02 -08:00
Rémi Verschelde
e92393d295
Merge pull request #67783 from EricEzaM/67715-input-event-action-as-text
...
Make InputEventAction as_text() return the text of the first valid event for the action.
2023-01-27 10:30:00 +01:00
Dmitrii Maganov
abe6d67232
GDScript: Fix test for read-only state of constants
2023-01-27 05:28:08 +02:00
Raul Santos
cac7a784d6
Add `GodotTypeInfo::Metadata` to `MethodInfo`
2023-01-26 15:51:34 +01:00
Rémi Verschelde
31496c296a
Merge pull request #72078 from bitsawer/fix_optimize_vertices
...
Fix range loop iteration regressions
2023-01-26 01:11:25 +01:00
Rémi Verschelde
42424d3b8e
Merge pull request #71758 from adamscott/is_equal_ref
...
Add `@GlobalScope` `is_same(a, b)` and `Variant::identity_compare()`
2023-01-26 01:07:24 +01:00
bitsawer
8c25bcdb84
Fix range loop iteration regressions
2023-01-26 00:14:39 +02:00
Adam Scott
37248d7c87
Add `@GlobalScope` `is_same(a, b)` and `Variant::identity_compare()`
2023-01-25 10:46:21 -05:00
bruvzg
6def1dfdd5
Remove unused SUPER_L/R constants.
2023-01-25 14:22:28 +02:00
Rémi Verschelde
b9bf12e99a
Merge pull request #71142 from aaronfranke/never-duplicate-script
...
Add `PROPERTY_USAGE_NEVER_DUPLICATE` flag and use for script
2023-01-25 09:18:18 +01:00
Rémi Verschelde
93c650c10d
Merge pull request #69028 from YeldhamDev/its_raw_you_donkey
...
Make `Input.get_vector()` check for plain `strength` instead of the raw one
2023-01-25 09:15:45 +01:00
Rémi Verschelde
5df9a84128
Merge pull request #71968 from bruvzg/def_keys_no_label
...
[Input] Do not add key labels to the default actions, to display it correctly in the UI.
2023-01-25 09:15:13 +01:00
Aaron Franke
2a65f6812b
Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for script
...
Co-authored-by: Yakov Borevich <j.borevich@gmail.com>
2023-01-24 16:37:50 -06:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"
2023-01-24 16:05:07 -06:00
Yuri Sizov
fab9926a95
Merge pull request #65137 from dalexeev/editor-naming
...
Rearrange `editor/naming/*` project settings
2023-01-24 22:26:03 +03:00
bruvzg
57b5d112f7
[Input] Do not add key labels to the default actions, to display it correctly in the UI.
2023-01-24 14:49:11 +02:00
Jan Haller
15686ca786
Fix bind " convergence_dist" containing space
2023-01-23 20:07:59 +01:00
bruvzg
daad4aed62
Cleanup and unify keyboard input.
...
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell
2023-01-23 11:02:20 +01:00
Rémi Verschelde
5726bf578d
Merge pull request #71676 from vnen/gdscript-unicode-identifiers
...
Add support for Unicode identifiers in GDScript and Expression
2023-01-23 10:24:33 +01:00
Rémi Verschelde
56fdef281e
Merge pull request #71851 from mihe/error-macros
...
Fix incorrect index error macros
2023-01-22 16:08:34 +01:00
Rémi Verschelde
c9243c37dc
Merge pull request #71846 from Chaosus/astar_local_vector
...
Enchance the performance of `AStar` by using a `LocalVector`
2023-01-22 16:06:45 +01:00
Mikael Hermansson
22c1785826
Fix incorrect index error macros
2023-01-22 12:23:56 +01:00
Rémi Verschelde
cd031fd31a
Merge pull request #71663 from bruvzg/init_pos_x
...
Reorganize main and sub-window initial position properties.
2023-01-22 11:25:58 +01:00
Yuri Rubinsky
078600a3c4
Enchance the performance of `AStar` by using a `LocalVector`
2023-01-22 12:04:41 +03:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
kobewi
277d5361df
Add range iterator to LocalVector
2023-01-21 18:42:04 +01:00
George Marques
86ee5f39c4
Add support for Unicode identifiers in Expression class
2023-01-21 13:39:42 -03:00
Rémi Verschelde
ebd0b40f6e
Merge pull request #71687 from reduz/support-script-class-name-in-efs
...
Support script global resource name in EditorFileSystem
2023-01-21 16:54:23 +01:00
Juan Linietsky
dddd8d43f6
Support script global resource name in EditorFileSystem
...
* Works for binary and text files.
* Makes EditorQuickOpen work with custom resources again.
* Information is cached and easily accessible.
Properly fixes #66179 . Supersedes #66215 and supersedes #62417
**WARNING**: This required breaking backwards binary compatibility (.res and .scn files). Files saved after this PR is merged will no longer open in any earlier versions of Godot.
2023-01-21 14:19:27 +01:00
Rémi Verschelde
c02572d3d0
Merge pull request #71683 from reduz/fast-script-class-inheritance-check
...
Implement a quick script inheritance check
2023-01-21 11:31:05 +01:00
Rémi Verschelde
a3c8ba6cd5
Merge pull request #71396 from reduz/fix-broken-userdir
...
Fix cases of broken user:// paths.
2023-01-21 11:30:37 +01:00
Rémi Verschelde
2435eef617
Merge pull request #71390 from reduz/fix-json-as-resource
...
Fixes to JSON as resource
2023-01-21 11:30:08 +01:00
Jan Haller
b8c4ae28b7
Fix use of `bool` in extension header
2023-01-19 22:21:19 +01:00
Rémi Verschelde
ab5c75b9ad
Merge pull request #71649 from raulsntos/array-indexer
...
Add property usage to array indexer
2023-01-19 19:33:05 +01:00
Rémi Verschelde
4ca6a9809d
Merge pull request #44596 from KoBeWi/ 🧹 🧹 🧹
...
Cleanup unused engine code v2
2023-01-19 19:32:51 +01:00
Juan Linietsky
3dcf380161
Implement a quick script inheritance check
...
Optimizes, simplifies and fixes EditorResourcePicker (was not refreshing custom clases).
2023-01-19 16:47:01 +01:00
Raul Santos
97610c8bfc
Add property usage to array indexer
...
This makes the `Array` indexer show as returning `Variant` instead of `void` in the documentation.
2023-01-19 14:22:11 +01:00
kobewi
c0083e431b
Cleanup unused engine code v2
2023-01-19 13:02:18 +01:00
bruvzg
aade5abd4f
Reorganize main and sub-window initial position properties.
2023-01-19 13:44:06 +02:00
bruvzg
db7d8c2d87
[GDExtension] Expose some low level functions and String operators.
2023-01-19 12:50:49 +02:00
Rémi Verschelde
4679f8724a
Merge pull request #71628 from reduz/fixup-editor-file-system-script-parsing
...
Clean up EditorFileSystem script parsing
2023-01-19 10:09:55 +01:00
Juan Linietsky
5bdc0d97d3
Clean up EditorFileSystem script parsing
...
* Optimize only update modified/added/removed files.
* Clean up documentation parsing.
2023-01-18 20:56:45 +01:00
Pedro J. Estébanez
6616b0619d
Revert "Make MessageQueue::push_callable(p) work with bound arguments"
...
This reverts commit 81b1ebddef .
2023-01-18 19:20:40 +01:00
Rémi Verschelde
b5f3ac522e
Merge pull request #71400 from touilleMan/gdextension-dump-global_enum-is_bitfield-field
...
Add missing is_bitfield field for global enum in extension_api_dump
2023-01-18 17:47:58 +01:00
Rémi Verschelde
b516d05245
Merge pull request #71622 from RandomShaper/mq_bound
...
Make MessageQueue::push_callable(p) work with bound arguments
2023-01-18 17:33:34 +01:00
Pedro J. Estébanez
81b1ebddef
Make MessageQueue::push_callable(p) work with bound arguments
2023-01-18 14:54:17 +01:00
Rémi Verschelde
6da836bbb4
Merge pull request #71514 from akien-mga/os-unset_environment
...
OS: Add `unset_environment`, better validate input
2023-01-18 08:35:43 +01:00
Rémi Verschelde
4005fc4b8d
Merge pull request #71279 from vonagam/fix-iterator-number-type
...
GDScript: Fix typing of iterator in for loop
2023-01-16 22:21:26 +01:00
Rémi Verschelde
91a54cdbc1
Linux/BSD: Add LINUXBSD_ENABLED define for non X11-related checks
2023-01-16 17:01:35 +01:00
Rémi Verschelde
818a9e99a4
OS: Add `unset_environment`, better validate input
...
Instead of returning an undocumented boolean error code, we do the
validation checks that should ensure a successful result.
Based on:
- https://linux.die.net/man/3/setenv
- https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setenvironmentvariable
2023-01-16 16:39:44 +01:00
Rémi Verschelde
5ca6c1f9db
Merge pull request #70557 from KoBeWi/class_yeet
...
Move global script class cache to separate file
2023-01-16 12:49:08 +01:00
Rémi Verschelde
d94a46ab95
Merge pull request #64021 from ajreckof/change-shortcut-for-rect-tool-tilemap
...
Add `Key::CTRL_OR_CMD` and use it to fix shortcut for tilemap painting tools on macOS
2023-01-16 12:47:07 +01:00
kobewi
6444c7d127
Move global script class cache to separate file
2023-01-16 10:16:30 +01:00
Juan Linietsky
3a93efefee
Fix cases of broken user:// paths.
...
* Properly validate paths when supplying the project name.
* Ensures that the user data dir will always be valid.
Fixes 69366.
2023-01-15 19:05:00 +01:00
ajreckof
4309dffc6a
add CMD_OR_CTRL as a Key and not just a key modifier
2023-01-15 18:49:20 +01:00
Raul Santos
7560340ef6
Rename `center` method to `get_center` in Plane.
2023-01-15 17:18:50 +01:00
Emmanuel Leblond
38d9e8b366
Add missing is_bitfield field for global enum in extension_api_dump
2023-01-14 16:08:41 +01:00
Juan Linietsky
1aaff63b8f
Fixes to JSON as resource
...
* It was not a resource, hence it was not working to load it as such.
* Changed so, when opened in editor, a parse error will not fail load and the text will be kept.
* This should allow proper editing from within the code editor, including syntax checking and saving files as-is in text.
Partially addresses #66820 .
The code editor still needs to be changed for this to work.
2023-01-14 14:41:51 +01:00
Juan Linietsky
6f0e210093
Refactor ProjectSetting overrides
...
* Overrides no longer happen for set/get.
* They must be checked with a new function: `ProjectSettings::get_setting_with_override()`.
* GLOBAL_DEF/GLOBAL_GET updated to use this
This change solves many problems:
* General confusion about getting the actual or overriden setting.
* Feature tags available after settings are loaded were being ignored, they are now considered.
* Hacks required for the Project Settings editor to work.
Fixes #64100 . Fixes #64014 . Fixes #61908 .
2023-01-13 15:13:56 +01:00
Dmitrii Maganov
40613ebd21
GDScript: Fix typing of iterator in for loop
2023-01-13 15:36:11 +02:00
Eric M
7c73b6c71c
Fix Project Settings array/dicts initial value being shared instances of the current value.
2023-01-13 21:48:43 +10:00
Rémi Verschelde
c2790ec2b9
Merge pull request #68450 from KoBeWi/bracket_escapist
...
Allow to escape closing brackets in CFG tags
2023-01-12 21:53:15 +01:00
Danil Alexeev
8f706be6fa
Rearrange `editor/naming/*` project settings
2023-01-12 11:41:13 +03:00
Rémi Verschelde
0e4e782ada
Merge pull request #70714 from Calinou/doc-os-stdin
...
Improve documentation for `OS.read_string_from_stdin()`
2023-01-12 09:24:47 +01:00
Hugo Locurcio
86b8176864
Improve documentation for `OS.read_string_from_stdin()`
...
This makes it clearer that calls to this method are blocking.
The unused method parameter was also removed.
2023-01-11 19:57:25 +01:00
Eric M
7b66806dd3
Make InputEventAction as_text() return the text of the first valid event for the action.
2023-01-12 00:10:44 +10:00
Juan Linietsky
33d3b7eea7
Fix Callable call error reporting.
...
* Fix potential crash when using bind in `Variant::get_callable_error_text()`
* Properly compute bound arguments so they can be properly shown.
* Add a function to obtain the actual bound arguments.
2023-01-10 13:56:27 +01:00
Rémi Verschelde
0231b4a0e8
Merge pull request #70726 from heppocogne/Fix-open_compressed-get_path
...
Fix `get_path()` is not working when files are opend with `open_compressed`
2023-01-10 10:48:15 +01:00
Rémi Verschelde
d3fc9d9e41
Merge pull request #71051 from vonagam/consts-are-deep-start
...
GDScript: Begin making constants deep, not shallow or flat
2023-01-09 23:22:59 +01:00
Rémi Verschelde
be4e9dfeab
Merge pull request #69616 from reduz/change-uuid
...
Ability to change a resource UID from API
2023-01-09 23:08:18 +01:00
Juan Linietsky
07a964fce3
Ability to change a resource UID from API
...
* Works for text, binary and imported resources
* Allows better clean up of duplicate files.
TODO (future PRs):
* Use this API for assigning new UIDs to copied files.
* Use this API for UID conflict on FS scanning (if more than one file has the same UID, the newer one(s) should get assigned a different UID).
2023-01-09 18:52:00 +01:00
Juan Linietsky
0e0a6bb39b
Removed unused property hints and `Object::get_translatable_strings()`
...
* Remove unused `EditorPropertyMember` and related hints, previouly used by
VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
`get_translatable_strings()`, which is a legacy function not used anywhere.
So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.
Fixes #30203 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Rémi Verschelde
88940571f2
Merge pull request #71082 from AThousandShips/array_find_fix
...
Fix for comparisons with PackedArrays
2023-01-09 14:19:09 +01:00
Rémi Verschelde
d46568205d
Merge pull request #64795 from RandomShaper/fix_saferefcount
...
Prevent misuse of SafeRefCount
2023-01-09 14:18:53 +01:00
Pedro J. Estébanez
b1c7665866
Prevent misuse of SafeRefCount
2023-01-09 10:17:55 +01:00
Rémi Verschelde
31f94574d4
Merge pull request #70996 from reduz/properly-report-callable-bound-arguments
...
Properly report Callable bound arguments
2023-01-09 08:34:28 +01:00
Rémi Verschelde
e7905f4f48
Merge pull request #71045 from reduz/use-bitfield-in-core-types
...
Use BitField<> in core type masks
2023-01-09 08:33:26 +01:00
Juan Linietsky
0e0ca01bce
Properly report Callable bound arguments
...
Fixes #63213
Adds a function: Callable::get_amount_of_arguments_bound() to query this in callables. Exposed to the engine API.
2023-01-08 23:35:11 +01:00
Rémi Verschelde
eff2739cf7
Merge pull request #71052 from Chaosus/fix_astargrid2d
...
Fix error in `AstarGrid2D::get_id_path`
2023-01-08 22:40:41 +01:00
Rémi Verschelde
0081c59198
Merge pull request #71013 from voidedWarranties/fix_ext_property_default_value
...
Fix `ScriptInstanceExtension::get_property_default_value` return value
2023-01-08 22:36:10 +01:00
Juan Linietsky
2b815df3c1
Use BitField<> in core type masks
...
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
Ninni Pipping
86240d97e1
Fix for PackedArray comparison
2023-01-08 21:22:28 +01:00
Yuri Rubinsky
6640eb8065
Fix error in `AstarGrid2D::get_id_path`
2023-01-08 10:34:33 +03:00
Dmitrii Maganov
5e2ac1a31e
GDScript: Begin making constants deep, not shallow or flat
2023-01-08 07:29:10 +02:00
Rémi Verschelde
d642274f75
Merge pull request #70939 from bruvzg/win_screen_2
...
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 13:21:36 +01:00
Rémi Verschelde
41b74c675f
Merge pull request #71000 from reduz/callable-bind-from-array
...
Allow binding Callable arguments from an array
2023-01-07 13:18:53 +01:00
bruvzg
2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 11:14:35 +02:00
voidedWarranties
411719a399
Fix `ScriptInstanceExtension::get_property_default_value` return value
2023-01-06 19:55:02 -08:00
Rémi Verschelde
163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
...
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
Rémi Verschelde
a12b326fab
Merge pull request #70995 from reduz/do-not-bind-variant-immutable
...
Unbind Variant methods that change immutable types.
2023-01-06 22:56:20 +01:00
Juan Linietsky
d762a0395a
Allow binding Callable arguments from an array
...
Restores 3.x functionality that was removed in the Signal/Callable refactor of 4.0.
Fixes #64668 .
Implements https://github.com/godotengine/godot-proposals/issues/6034
Usage:
```GDScript
callable.bindv([arg1,arg2,arg3])
```
2023-01-06 22:37:25 +01:00
Juan Linietsky
576ae694e0
Unbind Variant methods that change immutable types.
...
Fixes #62706 .
Code is commented instead of removed to clarify why they should not be re-added.
2023-01-06 17:17:43 +01:00
Yuri Rubinsky
4a45c76737
Fix jumping in `AStarGrid2D` when `DIAGONAL_MODE_NEVER` is enabled
2023-01-06 13:40:24 +03:00
Rémi Verschelde
1816f49886
Merge pull request #64253 from heppocogne/Fix-native-enum-release-1
...
Register enum type names in release build
2023-01-06 00:10:31 +01:00
Rémi Verschelde
e5f6e03490
Merge pull request #70547 from TokageItLab/pingpong-wrap
...
Fix pingpong-loop with `loop_wrap` is not working & clean-up cubic interpolation key retrieve process
2023-01-06 00:10:18 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
565ae3b767
Merge pull request #67694 from aaronfranke/its-time
...
Remove duplicate Month and Weekday enums
2023-01-03 23:21:19 +01:00
Rémi Verschelde
f0893890e1
Merge pull request #70482 from bruvzg/ios_pencil
...
[iOS] Add Apple Pencil pressure and tilt support.
2023-01-03 15:51:39 +01:00
Rémi Verschelde
4e360ac612
Merge pull request #70702 from vnen/gdscript-error-on-assign-void
...
GDScript: Error when assigning return value of void function
2023-01-03 12:23:00 +01:00
Clay John
61c7b7fb13
Merge pull request #67853 from Zylann/fix_lods_with_doubles
...
Fix usages of mesh simplification functions in float=64 builds
2023-01-02 12:33:44 -07:00
Yuri Rubinsky
b28571ca3e
Optimize `wrapf` function a bit
2023-01-01 23:17:29 +03:00
kleonc
db48df3e6e
Ensure MainLoop and its custom script is set right after it's resolved
2022-12-31 18:22:43 +01:00
George Marques
0c15844551
GDScript: Error when assigning return value of void function
...
This also makes built-in method calls empty the return value when the
method is void, to avoid keeping returning a garbage value in such case.
2022-12-30 12:08:58 -03:00
heppocogne
ea11ffc88c
Fix `get_path()` is not working when files are opend with `open_compressed`
...
And also fixed `get_absolute_path()` in the same way
2022-12-30 10:31:12 +09:00
heppocogne
6f31f7b0bc
Register native base class name of enum types when release build
2022-12-30 00:30:18 +09:00
Aaron Franke
8d7d1b0bb2
Remove duplicate Month and Weekday enums
...
Well, they were duplicately-exposed, but triplicately-defined.
2022-12-26 15:16:25 -06:00
Silc Renew
8745c206c4
Fix pingpong with loop wrap is not working
2022-12-25 18:16:38 +09:00
Yuri Rubinsky
16efd0b0fc
Divide `AStarGrid2D::default_heuristic` into two different heuristics
2022-12-24 09:31:02 +03:00
bruvzg
223a612c0c
[iOS] Add Apple Pencil pressure and tilt support.
2022-12-23 23:44:10 +02:00
Rémi Verschelde
f5a6c9cf50
Merge pull request #62029 from Maran23/optional-default-value-project-settings
...
Allow to specify a default value in `ProjectSettings.get_setting()`
2022-12-21 22:23:43 +01:00
Marius Hanl
5aa243f9da
Added the possibility to define a default value in ProjectSettings.get_setting(), which is used when no setting is set.
...
Also added tests for the project settings.
Co-authored-by: Yuri Sizov <11782833+YuriSizov@users.noreply.github.com>
2022-12-21 19:49:57 +01:00
Rémi Verschelde
186f6f0d87
Merge pull request #70403 from rburing/fix_edge_map_capacity
...
Fix edge map capacity in convex hull computer
2022-12-21 18:29:38 +01:00
Rémi Verschelde
1df71f89a8
Merge pull request #70355 from Chaosus/gds_fix_loops
...
Fix empty zero assigners for the variant types
2022-12-21 18:25:28 +01:00
Ricardo Buring
e0e45e013e
Fix edge map capacity in convex hull computer
...
The desired capacity could be less than the default, so reserve would
error.
2022-12-21 17:12:36 +01:00
stmSi
96b0fbb756
Fix crashed when compressing empty image data.
2022-12-21 16:39:35 +06:30
Rémi Verschelde
4f3ec4121a
Merge pull request #70350 from Chaosus/stringname_operator
...
Add missing != operator to `StringName`
2022-12-21 09:21:32 +01:00
Yuri Rubinsky
0bcbf8e00d
Add `get_point_position` method to `AStarGrid2D`
2022-12-20 23:21:38 +03:00
Yuri Rubinsky
fff3d812a5
Fix empty zero assigners for the variant types
2022-12-20 19:02:44 +03:00
Yuri Rubinsky
522d4243bf
Add missing != operator to `StringName`
2022-12-20 17:25:54 +03:00
Rémi Verschelde
2a04b18d37
Merge pull request #70339 from Chaosus/astargrid2d_weight_scale
...
Restore weight scale for `AStarGrid2D` (partially)
2022-12-20 13:30:37 +01:00
Rémi Verschelde
f318d60e06
Merge pull request #65376 from reduz/astc-support
...
Implement basic ASTC support
2022-12-20 12:44:30 +01:00
Juan Linietsky
71d21c7ccb
Implement basic ASTC support
...
Implements basic ASTC support:
* Only 4x4 and 8x8 block sizes.
* Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future.
The need for ASTC is mostly for the following use cases:
* Implement a high quality compression option for textures on mobile and M1 Apple hardware.
* For this, the 4x4 is sufficient, since it uses the same size as BPTC.
ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high.
Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing.
Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-20 11:26:30 +01:00
Yuri Rubinsky
8c478dcec9
Restore weight scale for `AStarGrid2D` (partially)
2022-12-20 12:22:32 +03:00
Rémi Verschelde
418ec03a40
Merge pull request #65990 from touilleMan/gdextension-expose-builtins-members-real-types
...
Expose in builtins' members internal type & size (on top of offset) in extension_api.json
2022-12-19 16:26:05 +01:00
Hugo Locurcio
70f6d42c92
Remove Disable Touch debug project setting
...
This project setting was only implemented and iOS and likely served
no purpose outside of debugging during development of engine features.
It was also located in a confusing location in the project settings
editor, as it was located below a root category (which appears in bold
and is normally not seen as clickable by users).
2022-12-17 18:47:29 +01:00
Rémi Verschelde
ffed638cbc
Merge pull request #70116 from Calinou/vibrate-handheld-silence-warning
...
Silence `Input.vibrate_handheld()` warning as it's already documented
2022-12-16 13:47:11 +01:00
Haoyu Qiu
207e52c161
Fix String::word_wrap() for long words
...
- Changes `TextServer.string_get_word_breaks()`
- Returns pairs of boundary start and end offsets
- Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Hugo Locurcio
4a991887bf
Silence `Input.vibrate_handheld()` warning as it's already documented
...
The warning causes messages to be spammed if you are calling this
method in a game that runs on both desktop and mobile platforms,
unless you guard all calls to `Input.vibrate_handheld()` with
`OS.has_feature("mobile") or OS.has_feature("web")`.
Since the limitation is already documented (and is obvious enough
given the method's name), the warning message is redundant.
2022-12-16 01:12:20 +01:00
bruvzg
53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables.
2022-12-15 23:16:02 +02:00
Hei
cc245ff8a6
Fix "p_zfar" to "p_znear" in Projection.create_orthogonal
...
Was confused why it always gave inf:s.
2022-12-15 19:03:33 +02:00
Emmanuel Leblond
2c2fd0820a
Expose in builtins' members internal type & size (on top of offset) in extension_api.json
2022-12-15 12:43:42 +01:00
Rémi Verschelde
762c6d4b36
Merge pull request #69709 from RandomShaper/refactor_spirv_reflection
...
Refactor SPIR-V reflection into a generic RenderingDevice feature
2022-12-15 09:21:35 +01:00
Jan Haller
ebb3306da3
Extension header: amend const correctness of `p_args` parameters
...
A while ago, argument arrays were passed as const GDNativeTypePtr* (void* const*)
This was changed to GDNativeConstTypePtr* (void const**), adding const on the value but removing it on the pointer level.
This commit changes argument types to const GDExtensionConstTypePtr* (void const* const*).
Besides object pointers, the same change is applied to variant pointers.
2022-12-14 18:25:30 +01:00
Bastiaan Olij
7502e1dc0d
Improve logic around using Ref<T> with GDExtension virtual functions
2022-12-13 10:54:29 +11:00
lawnjelly
491594ef0f
VariantParser make readahead optional
...
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.
This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-12 15:14:39 +00:00
Rémi Verschelde
5f35b1d516
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@adf7ec1edf
2022-12-12 13:43:15 +01:00
Pedro J. Estébanez
2095ca26d0
Add default, zeroing constructor to BitField
2022-12-12 12:12:26 +01:00
Rémi Verschelde
f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
...
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Gilles Roudière
be1c9d677d
Rename all gdnative occurences to gdextension
...
Non-exhaustive list of case-sensitive renames:
GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
kobewi
7c6b659bd7
Add PropertyInfo overload for GLOBAL_DEF
2022-12-11 21:36:48 +01:00
Rémi Verschelde
e7d892159c
Merge pull request #69538 from mihe/feature-tag-double
...
Add feature tags to signify engine float precision
2022-12-11 11:51:59 +01:00
Rémi Verschelde
907298d673
Merge pull request #68747 from rune-scape/rune-stringname-unification
...
GDScript: Unify StringName and String
2022-12-09 18:06:48 +01:00
Rémi Verschelde
2d02cb67ee
Merge pull request #69661 from Mickeon/fix-editor-cannot-disconnect-signal
...
Fix unable to disconnect signal in Editor once created
2022-12-09 07:34:29 +01:00
Micky
885f2a4eca
Fix unable to disconnect signal in Editor once created
...
Adds a CONNECT_INHERITED flag to connections, only available in editor builds. This flag denotes that the signal has been inherited from a previous Scene in the instancing hierarchy.
2022-12-08 13:36:48 +01:00
Adam Scott
4a16b8630e
Fix `ResourceLoader::thread_load_tasks` crash
2022-12-07 16:59:10 -05:00
Mikael Hermansson
8c108177d7
Add feature tags to signify engine float precision
2022-12-07 16:13:17 +01:00
Aaron Franke
d543ddf1c9
Fix Variant StringName `is_zero` being inverted
2022-12-06 21:49:43 -06:00
Rémi Verschelde
83b426bca5
Merge pull request #67906 from groud/simpler_gdextension_config
...
Remove unnecessary checks when exporting gdextension binaries and allow using a prefix to auto-detect files
2022-12-06 11:01:09 +01:00
rune-scape
e79be6ce07
Unify String and StringName
2022-12-05 21:46:47 -05:00
Rémi Verschelde
1cf1d00bc9
Merge pull request #69602 from Rindbee/fix-string-mod
...
Fix suppressed error message on error when using % format string
2022-12-05 18:06:31 +01:00
Rémi Verschelde
a50e4fed18
Merge pull request #69343 from YuriSizov/core-missing-property-revert-getters
...
Add missing public `property_*_revert` getters
2022-12-05 18:05:59 +01:00
Rindbee
694ee1bf52
Fix suppressed error message on error when using % format string
...
Before, the valid flag would always be true. On formatting errors,
an error message is returned as the result. (No error prompts.)
2022-12-05 22:09:10 +08:00
Rémi Verschelde
a738f50886
Merge pull request #69357 from TokageItLab/byebye-trigger
...
Remove `UPDATE_TRIGGER` mode from `ValueTrack::UpdateMode` & Match behaviors between `AnimationTree` and `AnimationPlayer`
2022-12-05 00:06:23 +01:00
Rémi Verschelde
f4bccf90a3
Merge pull request #69119 from lawnjelly/faster_variant_parser_master
...
Add readahead to VariantParser [4.x]
2022-12-05 00:06:14 +01:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
...
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
Emmanuel Leblond
61c900ac6f
Fix const qualifier for parameters in GDExtension api functions
2022-12-02 23:00:01 +01:00
Silc Renew
83135aa122
Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
...
#69357
2022-12-02 20:28:10 +09:00
Rémi Verschelde
801080a6ab
Merge pull request #69448 from BastiaanOlij/fix_etc_rgba_bgra_issue
...
ETCPAK expects BGRA data for ETC
2022-12-02 12:23:49 +01:00
Gilles Roudière
fa4143cdeb
Allow specifying a prefix to automatically detect library files for gdextension exports
2022-12-01 18:20:40 +01:00
Rémi Verschelde
96796c1518
Merge pull request #64427 from touilleMan/gdextension-skip-undefined-field-in-properties
...
[GDExtension] Skip unset getter/setter/index fields in class property
2022-12-01 18:10:26 +01:00
Rémi Verschelde
fc2241d5d8
Merge pull request #64360 from touilleMan/gdextension-correct-rect2-members-offsets-declaration
...
[GDExtension] Correct Rect2 members offsets declaration in extension_api.json generator
2022-12-01 18:10:05 +01:00
Bastiaan Olij
ebec23d8d8
ETCPAK expects BGRA data for ETC
2022-12-02 01:34:05 +11:00
Yuri Sizov
a9961b378a
Add missing public property_*_revert getters
2022-11-29 23:07:40 +03:00
Yuri Sizov
cdd99e9bec
Merge pull request #69338 from akien-mga/pm-fix-hacky-project-rename
...
Project Manager: Fix hacky code for project rename
2022-11-29 22:55:42 +03:00
Fabio Alessandrelli
2c576eb281
[Core] Fix Resource.resource_name type.
...
The methods returns a String, but the Variant was bound as a StringName.
We could alternatively change the method return type but that's a
breaking change which will requires code changes in other parts of the
engine.
2022-11-29 15:43:08 +01:00
Rémi Verschelde
f21f75eb6f
Project Manager: Fix hacky code for project rename
...
Instantiating a new ProjectSettings is *not* the way to go.
ConfigFile works just fine to read/change a single value.
Fixes memory leaks as the instantiated ProjectSettings was never freed.
Forbid doing this to prevent such problems.
Fixes #25661 .
2022-11-29 15:38:22 +01:00
Rémi Verschelde
6fdbf79046
Merge pull request #67680 from haasanen/fix_physics_thread_race_condition
...
Fix physics/3d/run_on_separate_thread race condition in WorkerThreadPool (crash).
2022-11-29 13:41:56 +01:00
kobewi
0765908868
Don't break parsing on missing resources
2022-11-28 16:19:15 +01:00
Rémi Verschelde
ead82feb24
Merge pull request #69008 from akien-mga/property-hint-array-type-resource-simplify
...
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources
2022-11-25 19:29:05 +01:00
Micky
67cdac6db8
Remove `Array.find_last()`
2022-11-25 18:34:50 +01:00
Rémi Verschelde
4a8b725bc9
Merge pull request #68386 from MewPurPur/snappedi-snappedf
...
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-24 18:54:49 +01:00
Rémi Verschelde
0d202cb5f1
Merge pull request #69111 from TokageItLab/put-together-interpolations
...
Refactor interpolating functions in some classes to use `Math` class
2022-11-24 18:54:30 +01:00
lawnjelly
5df29fec20
Add readahead to VariantParser
...
Adds a readahead buffer to VariantParser, to prevent large numbers of freads for single bytes, which is inefficient.
2022-11-24 15:54:16 +00:00
Rémi Verschelde
5d20dccade
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources
2022-11-24 14:06:00 +01:00
Rémi Verschelde
eb8ce8d74e
Merge pull request #68833 from BastiaanOlij/improve_extension_logic
...
Improve logic for detecting and tracking extensions
2022-11-24 13:24:31 +01:00
Silc Renew
b217c41d36
Refactor interpolating functions in some classes to use Math class
2022-11-24 20:31:43 +09:00
Bastiaan Olij
a479f5af22
Improve logic for detecting and tracking extensions
2022-11-24 21:48:16 +11:00
Yaohua Xiong
f9fa182abc
Refactor Curve3D::_bake() method
...
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization.
Other changes are:
1. Add an bezier_derivative() method for Vector3, Vector2, and Math;
2. Add an tesselate_even_length() method to Curve3D, which tesselate bezier curve to even length segments adaptively;
3. Cache the tangent vectors in baked_tangent_vector_cache;
2022-11-24 10:52:06 +08:00
Rémi Verschelde
3791872c65
Merge pull request #67726 from HenryClones/integer-lerping-errors
...
Add case for Variant::INT in lerp variant switch
2022-11-23 08:33:53 +01:00
Xpertice
3e36cc7c73
Add case for Variant::INT in lerp variant switch
2022-11-22 22:37:22 -05:00
Michael Alexsander
a4e2978352
Make `Input.get_vector()` check for plain `strength` instead of the raw one
2022-11-22 18:18:56 -03:00
Rémi Verschelde
65a45eb7e3
Merge pull request #64284 from kleonc/image-rotate90-in-place
...
`Image` Fix `rotate_90`/`rotate_180` methods
2022-11-22 21:18:58 +01:00
ocean (they/them)
9187f5c849
Fixes inability to assign script after clearing
2022-11-21 19:43:46 -05:00
Micky
e791f4fce2
Double precision of `String.split_floats`
2022-11-20 12:29:50 +01:00
VolTer
e26f0906f2
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-19 06:18:55 +01:00
Andy Maloney
cb6cffbfd9
Static analysis: remove "break" after "return"
...
Changes as requested to keep in sync with godotengine/godot-cpp#929
2022-11-18 17:57:33 -05:00
Rémi Verschelde
8e00e71d35
Merge pull request #67619 from nongvantinh/fix-calling-pckpacker-crash
...
Fixes engine crashes caused by the user failing to initialize PCKPacker with pck_start()
2022-11-17 11:57:23 +01:00
Rémi Verschelde
846f671709
Merge pull request #68701 from Bromeon/bugfix/extension-header-cleanup
...
Extension header: fix typos, documentation and member order
2022-11-16 09:59:42 +01:00
Jan Haller
09f84102e3
Extension header: fix typos, documentation and member order
2022-11-16 00:51:48 +01:00
Rémi Verschelde
cfb9cae23a
Merge pull request #62814 from KoBeWi/strint
...
Restore numeric from String constructors
2022-11-15 22:29:55 +01:00
Rémi Verschelde
d0025a1f02
Merge pull request #64077 from Calinou/tweak-audiostreamplayer2d3d-default-panning
...
Decrease default AudioStreamPlayer2D/3D panning strength
2022-11-15 22:29:23 +01:00
Rémi Verschelde
09efe15d10
Merge pull request #67688 from Mickeon/i-forgror- ☠️ ☠️
...
Remove `PROPERTY_HINT_IMAGE_COMPRESS` constants
2022-11-15 16:25:13 +01:00
Rémi Verschelde
94e9860b82
Merge pull request #65836 from Calinou/add-max-physics-steps-per-frame-setting
...
Implement adjusting the maximum number of physics steps per rendered frame
2022-11-15 16:24:56 +01:00
Micky
b4324e7a45
Remove `PROPERTY_HINT_IMAGE_COMPRESS` constants
...
These were used in 3.x but there's no reference of them in the codebase, at all.
2022-11-15 15:28:49 +01:00
Rémi Verschelde
1959284769
Merge pull request #68229 from Mickeon/c-escape-hell
...
Remove "?" from String.c_escape()
2022-11-14 23:24:35 +01:00
Rémi Verschelde
80dbcfd995
Merge pull request #68657 from Sauermann/fix-redundant-initialization
...
Remove redundant non-trivial Variant types initializations
2022-11-14 23:23:54 +01:00
Hugo Locurcio
efe3220b2e
Fix periods in editor strings and messages
...
- Ensure all strings with ellipsis end with 3 periods instead of 2.
- Fix extraneous period in "Error calling from signal '...' to callable"
messages.
2022-11-14 19:36:36 +01:00
Markus Sauermann
3b14f0334c
Remove redundant Variant-types initializations
2022-11-14 19:35:19 +01:00
Rémi Verschelde
beed90ea6d
Merge pull request #67963 from KoBeWi/den_of_actions
...
Fix nested actions in EditorUndoRedoManager
2022-11-14 18:29:46 +01:00
Fabio Alessandrelli
67265d14f7
[MP] Move engine and editor profilers to a plugin.
...
Also refactor the editor plugin out of the ReplicationEditor.
2022-11-14 15:09:00 +01:00
Rémi Verschelde
471c42ee1f
Merge pull request #64530 from bruvzg/svg_in_ot
2022-11-14 14:32:22 +01:00
Rémi Verschelde
f070cf9a75
Merge pull request #68644 from alcomposer/print_all_midi_event_info
2022-11-14 14:18:55 +01:00
alcomposer
73db3b67df
add controller_number & controller_value to allow printing of all MIDI event data
2022-11-14 21:55:43 +10:30
Rémi Verschelde
5b3a03bf5c
Merge pull request #68448 from bruvzg/font_imp_tr
...
[Font] Add an import option to pre-render all glyphs required for the translation.
2022-11-14 11:12:01 +01:00
Emmanuel Leblond
a2e6e996b2
Skip unset getter/setter/index fields in class property when generating extension_api.json
2022-11-12 20:13:00 +01:00
Emmanuel Leblond
ce11ba2e30
Correct Rect2 members offsets declaration in extension_api.json generator
2022-11-12 20:12:04 +01:00
Rémi Verschelde
324106b3df
Merge pull request #68549 from touilleMan/gdextension-revert-get_property_type_func-removal
...
Revert removal of GDNativeExtensionScriptInstanceInfo::get_property_type_func in GDExtension
2022-11-12 08:43:50 +01:00
Emmanuel Leblond
39c039a363
Revert removal of GDNativeExtensionScriptInstanceInfo::get_property_type_func in GDExtension
...
This function pointer is needed to stay close to internal Godot's ScriptInstance class.
Besides, by removing this function pointer, we had to do property list create/free each time
we want to access type which is quadratic complexity :/
2022-11-12 04:18:21 +01:00
Marc Gilleron
2aefdcc26e
Fix usages of mesh simplification functions in float=64 builds
2022-11-12 00:38:00 +00:00
bruvzg
35528b800c
[Font] Add an import option to pre-render all glyphs required for the translation.
2022-11-10 10:43:15 +02:00
gnumaru
75e617c05d
fix a buffer overflow due to a misbehaving vcrt snprintf call on String::num, at core/string/ustring.cpp
2022-11-09 10:25:52 -03:00
kobewi
0d122ce459
Allow to escape closing brackets in CFG tags
2022-11-09 14:00:51 +01:00
Aaron Franke
a3e52925bf
Fix default values on virtual classes causing errors in projects
2022-11-09 01:59:53 -06:00
Emmanuel Leblond
1e8756c94b
Use StringName in the whole GDExtension API instead of const char *
2022-11-08 21:44:07 +01:00
Emmanuel Leblond
84262efd2a
Uses `StringName` in GDExtension perf critical instance creation & method/properties setter/getter
2022-11-08 21:44:07 +01:00
Rémi Verschelde
40ed34f6dc
Merge pull request #68373 from akien-mga/extension-api-json-newline-eof
...
GDExtension: Ensure newline at EOF
2022-11-08 10:50:46 +01:00
kobewi
d9f066d5fa
Remove duplicate project settings definitions
2022-11-08 01:29:39 +01:00
Rémi Verschelde
669888b9cf
GDExtension: Ensure newline at EOF
2022-11-07 14:32:43 +01:00
Aaron Franke
3dc9474355
Fix default values not showing up on virtual classes
2022-11-06 15:05:36 -06:00
Rémi Verschelde
e95dec0c64
Merge pull request #67614 from aaronfranke/virtually-virtual
...
Don't allow instancing virtual node types in the Create New Node dialog
2022-11-06 15:57:49 +01:00
Rémi Verschelde
12b4a263ee
Merge pull request #67730 from KoBeWi/late_to_the_call
...
Add call_deferred() method to Callable
2022-11-06 15:55:43 +01:00
Aaron Franke
ba542444e3
Don't allow instancing virtual node types in the Create New Node dialog
2022-11-05 14:45:16 -05:00
kobewi
1778301cd0
Add call_deferred() method to Callable
2022-11-04 17:24:34 +01:00
kobewi
8a47a12207
Add support for empty delimiter in String.split
2022-11-04 15:09:12 +01:00
bruvzg
d77902f33a
Implement SVG in OT support.
2022-11-04 14:10:54 +02:00
Micky
521d8a5d24
Remove "?" from String.c_escape()
2022-11-03 19:52:21 +01:00
Rémi Verschelde
3eaf49765b
Merge pull request #68192 from aaronfranke/unify-node3d-euler
...
Unify Node3D RotationOrder with global EulerOrder
2022-11-03 12:07:42 +01:00
Aaron Franke
9e952c8386
Allow getting Quaternion rotation in different Euler orders
2022-11-02 19:20:10 -05:00
Aaron Franke
9225eb461e
Unify Node3D RotationOrder with global EulerOrder
2022-11-02 17:46:03 -05:00
Rémi Verschelde
08d56ac2f1
Merge pull request #66747 from aaronfranke/move-euler-order
...
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 22:37:12 +01:00
Rémi Verschelde
9ec7aadc06
Merge pull request #66017 from Mickeon/rename-image-copy-rect
...
Rename Image's `get_rect` to `get_region`
2022-11-02 22:36:57 +01:00
Aaron Franke
8556fdd4bc
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 13:44:13 -05:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
...
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Rémi Verschelde
39cece382d
Merge pull request #68170 from alfredbaudisch/clear-selection-shortcut
...
Unified shortcut to clear carets and selections from TextEdit
2022-11-02 18:54:19 +01:00
Rémi Verschelde
d2e1b4b9f0
Merge pull request #68118 from aaronfranke/quat-from-euler
...
Replace Quaternion Euler constructor with `from_euler` method
2022-11-02 18:51:59 +01:00
Rémi Verschelde
62ed75df9c
Merge pull request #64830 from dalexeev/color-hide-internals
...
Remove internal functions of named colors from the public API
2022-11-02 18:51:27 +01:00
Rémi Verschelde
d3a6855dfc
Merge pull request #66361 from dalexeev/remove-int-plus-string
...
Unexpose confusing `String + int` and `int + String` operations
2022-11-02 18:51:16 +01:00
Alfred Reinold Baudisch
a862583d05
Unified shortcut to clear carets and selections
...
Refactors`ui_text_remove_secondary_carets` from https://github.com/godotengine/godot/pull/68089 as `ui_text_clear_carets_and_selection`, with extra behaviour:
- If there's only one active caret active with a selection, clears the selection.
- In case there's more than one caret active, removes the secondary carets and clears selections.
With this change, `TextEdit` then imitates the behaviour of VSCode for clearing carets and selections.
2022-11-02 18:23:24 +01:00
Rémi Verschelde
b3c2db954f
Merge pull request #68136 from qarmin/projection_not_equal
...
Support for checking that Projection is(not) null
2022-11-02 14:17:29 +01:00
Rémi Verschelde
632b3e974c
Merge pull request #67693 from Mickeon/slight-hint-shuffling
...
Fix unordered values of PROPERTY_HINT_INT_IS_POINTER & ARRAY_TYPE
2022-11-02 14:16:53 +01:00
Micky
ebf86c96e9
Rename Image's `get_rect` to `get_region`
...
Also renames its parameter to from "rect" to "region".
2022-11-01 23:35:48 +01:00
Rafał Mikrut
d7d130295e
Support for checking that Projection is(not) null
2022-11-01 20:49:52 +01:00
Aaron Franke
83634119d4
Replace Quaternion Euler constructor with `from_euler` method
2022-11-01 09:28:12 -05:00
dzil123
1fa8b3dd42
Fix Image::bump_map_to_normal_map incorrectly keeping mipmap flag
2022-11-01 03:54:04 -07:00
Alfred Reinold Baudisch
fcff978763
Shortcut and Bind to Remove Secondary Carets
...
Adds the bind `ui_text_remove_secondary_carets` to TextEdit, with ESC as the default shortcut.
When the bind is performed, if the TextEdit has multiple carets, `remove_secondary_carets` is called and secondary carets are removed.
This is useful when multiple selects are performed with `add_select_for_next_occurrence` #67644 or when multiple multiple carets are manually added, then it's possible to go back to a single caret with a shortcut.
Closes #67991
2022-10-31 17:44:47 +01:00
Rémi Verschelde
0e9878b12a
Merge pull request #67931 from bruvzg/locale_no_def
...
Do not auto add default script and country codes to the locale.
2022-10-31 14:30:18 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
...
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
be126d42d4
Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
...
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
Rémi Verschelde
6946bc56ef
Merge pull request #67309 from groud/implement_gdnative_interface_h_dump
...
Implement a way to dump the gdnative_interface.h file from the executable
2022-10-31 11:54:38 +01:00
Rémi Verschelde
40258bbbe8
Merge pull request #67577 from qarmin/fix_exporting_big_templates
...
Fix exporting with big export templates
2022-10-31 10:39:08 +01:00
Rémi Verschelde
d0fbeec66a
Merge pull request #67580 from KoBeWi/little_things
...
Minor code improvements
2022-10-31 10:34:57 +01:00
Rémi Verschelde
273410ba5a
Merge pull request #67139 from PucklaMotzer09/insert_caret_at_carets
...
Add Caret Insert Below and Above shortcuts to TextEdit
2022-10-31 10:32:07 +01:00
Clay John
e3b66ff9e3
Merge pull request #67621 from groud/resource_saver_expose_recognize_path
...
Expose the logic to recognize a save path in ResourceSaver
2022-10-28 10:56:32 -07:00
Gilles Roudière
e23f82f3c1
Expose the logic to recognize a save path in ResourceSaver
2022-10-28 11:15:25 +02:00
kobewi
d7ebf725c9
Fix nested actions in EditorUndoRedoManager
2022-10-28 02:54:55 +02:00
Clay John
0486810697
Merge pull request #67644 from alfredbaudisch/add-selection-next-occurrence
...
Add Selection and Caret for Next Occurrence of Selection
2022-10-27 17:21:49 -07:00
Clay John
682156e1f0
Merge pull request #66383 from aaronfranke/basis-from-euler
...
Clean up Basis from Euler code
2022-10-27 09:44:21 -07:00
bruvzg
ec3c4fcba9
Do not auto add default script and country codes to the locale.
2022-10-27 09:31:05 +03:00
Yuri Rubinsky
adec51cde8
Fix crash when calling `fill` method on an empty `Image`
2022-10-24 11:28:10 +03:00
Fredia Huya-Kouadio
8b37511364
Merge pull request #67755 from m4gr3d/input_event_screen_touch_double_tap_main
...
Add double_tap attribute to InputEventScreenTouch
2022-10-23 08:11:49 -07:00
Yuri Rubinsky
38691d5b1d
Merge pull request #67655 from MewPurPur/remove-dupe-registrations
2022-10-23 09:54:06 +03:00
Fredia Huya-Kouadio
13e4770b97
Add double_tap attribute to InputEventScreenTouch
...
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-22 07:30:46 -07:00
Aaron Franke
7f9a8c99c9
Clean up Basis from Euler code
2022-10-21 17:54:49 -05:00
Max Hilbrunner
e73ff0e961
Merge pull request #67636 from groud/fix_localize_path
...
Fix localize_path with custom protocol identifiers
2022-10-21 18:47:21 +02:00
Max Hilbrunner
5cefc07d90
Merge pull request #67444 from nonunknown/array_pick_random
...
Add ability to pick random value from array
2022-10-21 16:25:52 +02:00
Danil Alexeev
653e8f5c86
Remove internal functions of named colors from the public API
2022-10-21 11:21:43 +03:00
Alfred Reinold Baudisch
7d15ecc3af
Add Selection and Caret for Next Occurrence of Selection
...
Adds the bind `add_selection_for_next_occurrence` to TextEdit, with CTRL+D as the default shortcut.
When the bind is performed, ff a selection is currently active with the last caret in text fields, searches for the next occurrence of the selection, adds a caret and selects the next occurrence.
If no selection is currently active with the last caret in text fields, selects the word currently under the caret.
The action can be performed sequentially for all occurrences of the selection of the last caret and for all existing carets. The viewport is adjusted to the latest newly added caret.
The bind and the behaviour is similar to VS Code's "Add Selection to Next Find Match" and JetBrains' "Add Selection for Next Occurrence". It takes advantage of the multi-caret API.
The default shortcut for `select_word_under_caret` has been changed to ALT+G, in order to give priority to CTRL+D for `add_selection_for_next_occurrence` to better align with popular IDEs and editors.
2022-10-21 08:26:53 +02:00
Micky
9a1d87f66f
Fix unordered values of PROPERTY_HINT_INT_IS_POINTER & ARRAY_TYPE
2022-10-21 01:10:38 +02:00
Simo Haasanen
4cc3489bc0
Fixes HashMap::erase related race condition in WorkerThreadPool when Physics 2D or 3D is selected to run on a separate thread.
2022-10-20 17:47:20 +01:00
Gilles Roudière
56fa8f1d58
Fix localize_path with custom protocol identifiers
2022-10-20 14:12:25 +02:00
Nonunknown
9f4dbf415d
add ability to pick random value from array
2022-10-20 08:39:47 -03:00
VolTer
1fd59b98fb
Remove duplicate operator registrations
2022-10-20 03:03:47 +02:00
Nong Van Tinh
5194c8af7c
Fixes engine crashes caused by the user failing to initialize PCKPacker with pck_start()
2022-10-19 20:19:02 +07:00
Rafał Mikrut
86fa3ba560
Fix exporting big templates
2022-10-19 08:29:29 +02:00
kobewi
d06a8320e5
Simplify GDVIRTUAL_CALL calls
2022-10-19 00:05:48 +02:00
kobewi
e48c5daddf
Unify usage of GLOBAL/EDITOR_GET
2022-10-18 19:01:48 +02:00
kobewi
4aaed4fee1
Minor code improvements
2022-10-18 16:44:57 +02:00
PucklaMotzer09
e5354cacd0
Add Caret Insert Below and Above shortcuts to TextEdit
2022-10-18 10:38:53 +02:00
Rémi Verschelde
fde8838316
Merge pull request #67463 from aaronfranke/num-real-negative
...
Fix big negative numbers printing incorrect decimals in `num_real`
2022-10-17 17:31:47 +02:00
Rémi Verschelde
00d44a9c73
Merge pull request #67118 from Mickeon/ ⬛
...
Fix Typed Array of Objects not accepting `null`.
2022-10-17 17:30:38 +02:00
Ricardo Buring
1d5aa74ac3
GDExtension: add support for abstract and virtual classes
2022-10-16 09:02:49 +02:00
Aaron Franke
c60ac64e8f
Fix big negative numbers printing incorrect decimals in num_real
2022-10-15 17:57:54 -05:00
Rémi Verschelde
dc4b616596
Merge pull request #63332 from KoBeWi/static_images_aka_photos
...
Make some Image methods static
2022-10-15 12:56:57 +02:00
Rémi Verschelde
96ec73f3ee
Merge pull request #65281 from MisterMX/zip-module
...
Expose minizip API to allow creating zips using scripts
2022-10-15 12:56:26 +02:00
Marcelo Fernandez
ea6cc3e260
Expose minizip API to allow creating zips using scripts
...
Co-authored-by: Marcelo Fernandez <marcelofg55@gmail.com>
Co-authored-by: James Westman <flyingpimonster@gmail.commail>
Co-authored-by: MisterMX <mbxd12@web.de>
Signed-off-by: MisterMX <mbxd12@web.de>
2022-10-14 21:51:38 +02:00
kobewi
072f6feaba
Make some Image methods static
2022-10-14 14:34:15 +02:00
Rémi Verschelde
926429392a
Merge pull request #67057 from Anutrix/rng-generator-default-seed
2022-10-13 21:17:09 +02:00
Rémi Verschelde
46a1b92bb7
Merge pull request #66294 from reduz/optimize-convex-collision
2022-10-13 20:34:00 +02:00
Juan Linietsky
71d2e38cb5
Optimize Convex Collision
...
Implements the Gauss Mapping optimization to SAT convex collision test.
* Described [here](https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2013/slides/822403Gregorius_Dirk_TheSeparatingAxisTest.pdf ) by Dirk Gregorius.
* Requires adding of face information to edges in MeshData
* Took the chance to convert MeshData to LocalVector for performance.
2022-10-13 19:07:53 +02:00
Rémi Verschelde
6ad5637ffc
Merge pull request #66427 from Mickeon/object-methods-autocompletion
...
Add autocompletion to several Object methods
2022-10-13 18:41:24 +02:00
Rémi Verschelde
99bc4905cb
Merge pull request #67138 from touilleMan/gdextension-typed-enum-in-struct
...
Use enum type in GDExtension info structs for better readability
2022-10-13 15:25:11 +02:00
Rémi Verschelde
f12c4e8b9a
Merge pull request #67251 from groud/simplify_path_solve_urls
...
Make String.simplify_path keep the protocol identifier for urls
2022-10-13 15:24:18 +02:00
Gilles Roudière
bf1a40c168
Make String.simplify_path keep the protocol identifier for urls
2022-10-13 12:23:49 +02:00
Gilles Roudière
55010a2d9f
Implement a way to dump the gdnative_interface.h file from the executable
2022-10-13 10:03:30 +02:00
Rémi Verschelde
35670c36cf
Merge pull request #67300 from Mickeon/indexed-objection
...
Rename `set`/`get_indexed`'s "property" to "property_path"
2022-10-12 14:45:05 +02:00
Rémi Verschelde
1a660c6776
Merge pull request #67298 from Splizard/fix_unamed_args_gdextension
...
Fix _unnamed_arg so that arguments defined by GDExtension show up in the editor docs.
2022-10-12 14:45:00 +02:00
Micky
dc51ff8c5b
Rename `set`/`get_indexed`'s "property" to "property_path"
...
Also touches up the Documentation slightly.
2022-10-12 10:27:44 +02:00
Quentin Quaadgras
6bc16660cc
Fix _unnamed_arg so that arguments defined by GDExtension show up in docs.
...
The Godot API (gdnative_interface.h) allows methods to be registered on
extension classes with
`classdb_register_extension_class_method`
a `GDNativeExtensionClassMethodInfo` can be provided to this function
along with a `get_argument_info_func` which according to the comment
indicates that argument names should be definable here.
Unfortunately, setting the name field in the `GDNativePropertyInfo`
struct has no effect on the editor documentation, which continues to
display "_unnamed_arg" for each argument.
I discovered that `get_argument_info` is responsible for this as it
always overrides the `info.name`. I've added an if condition that will
only override the name when it is empty. I've tested this with my
GDExtension module and I can confirm that with this commit, the argument
name shows up in the builtin docs. eg. in Lookup Symbol.
2022-10-12 21:23:34 +13:00
Rémi Verschelde
3852b5017c
Merge pull request #66003 from voidshine/fix_midi_event_mutation
...
Fix MIDI note-on events being converted to note-off events
2022-10-12 08:55:09 +02:00
voidshine
f0f72b3132
Fix MIDI note-on events being converted to note-off events
...
Update documentation with note about MIDI velocity interpretation
2022-10-11 12:40:28 -07:00
Rémi Verschelde
736a2df437
Merge pull request #67244 from RandomShaper/split_render_further_2
...
Polish rendering driver refactor further (take 2)
2022-10-11 21:08:42 +02:00
Pedro J. Estébanez
f82deaa5b3
Polish rendering driver refactor further (take 2)
2022-10-11 19:06:55 +02:00
Rémi Verschelde
5aadc618b6
Merge pull request #66102 from MJacred/feature/getvideoadapterdriverinfo
...
Fetch video adapter driver name and version from OS
2022-10-11 13:59:53 +02:00
Rémi Verschelde
07b488e643
Merge pull request #67241 from groud/expose_resource_format_loader_recognize_path
...
Exposes ResourceFormatLoader.recognize_path to scripting
2022-10-11 13:46:24 +02:00
MJacred
de768afbdc
Fetch video adapter driver name and version from OS on Linux/*BSD and Windows
2022-10-11 12:39:41 +02:00
Gilles Roudière
8aa904f56c
Exposes ResourceFormatLoader.recognize_path to scripting
2022-10-11 12:35:27 +02:00
Rémi Verschelde
6e7c6e50d8
Merge pull request #67217 from touilleMan/gdextension-implement-get_documentation
...
Implement ScriptExtension::get_documentation
2022-10-11 09:27:58 +02:00
Rémi Verschelde
6d9d220d64
Merge pull request #67224 from Mickeon/jason
...
Use `JSON::stringify` where possible
2022-10-11 09:27:53 +02:00
Rémi Verschelde
4d5d33f7ff
Merge pull request #67126 from Mickeon/i-was-very-bored
...
Strip unnecessary break on switches returning early in Variant
2022-10-11 09:27:17 +02:00
Rémi Verschelde
58eff50bf1
Merge pull request #64268 from timothyqiu/is-finite
...
Add `is_finite` method for checking built-in types
2022-10-11 09:25:46 +02:00
Emmanuel Leblond
13c0a60747
Implement ScriptExtension::get_documentation
2022-10-11 08:22:25 +02:00
Micky
fe56c1ff75
Use `JSON::stringify` where possible
2022-10-11 00:27:23 +02:00
Micky
41dcc36643
Strip unnecessary break on switches returning early in Variant
...
Tweaks comments around the touched-up parts. Also tweaks spacing
Also adds some spacing in all cases of Variant::`reference()`. This is a special for consistency, because it ends up making the cases more readable.
2022-10-10 22:09:51 +02:00
Rémi Verschelde
28f642097a
Merge pull request #67183 from akien-mga/gcc-warnings-cleanup
...
SCons: Cleanup GCC warnings configuration
2022-10-10 17:42:36 +02:00
Rémi Verschelde
2fe8ac085b
Merge pull request #64692 from touilleMan/no-variant-destructor-for-struct-builtins
...
Remove Transform2/3D,AABB,Basis from Variant destructors given they are POD structs
2022-10-10 17:42:08 +02:00
Rémi Verschelde
8017827144
SCons: Re-enable treating `#warning` as error with `werror`
...
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.
We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
Rémi Verschelde
4e4e16f9a9
SCons: Cleanup GCC warnings configuration
...
- Outright disable spammy warnings due to past or present GCC bugs:
* `-Wno-strict-overflow` for GCC 7.
* `-Wno-type-limits` for GCC before 11 (regressed in 9/10, might work in
earlier releases but at this stage we don't care).
* `-Wno-return-type` for GCC 12/13 (regression, still not fixed).
- Enable extra warnings conditionally when broken on earlier GCC:
* `-Wnoexcept` was removed due to an upstream regression in GCC 9, could
be re-enabled (but commented out for now as we actually have `-Wnoexcept`
warnings to fix.
* `-Wlogical-op` was broken on our variadic templates before GCC 11, now
seems fine.
2022-10-10 16:12:26 +02:00
Rémi Verschelde
77f4670d00
Merge pull request #66774 from touilleMan/fix-variant-type-in-extension-api-dump
...
Fix Variant types displayed as `Nil` in extension_api.json
2022-10-10 13:55:37 +02:00
Emmanuel Leblond
a9aedb0cf2
Fix extension_api.json Variant types incorrectly displayed as `Nil`
2022-10-10 13:54:33 +02:00
Rémi Verschelde
51bb3c36dd
Merge pull request #66584 from rune-scape/rune-validated-call-obj-bug
...
Fix unset `ObjectID` with validated `get_object()` call
2022-10-10 13:53:26 +02:00
kobewi
14b82c36a2
Defer clearing of ResourceUID cache and silence warnings
2022-10-10 11:20:23 +02:00
Rémi Verschelde
d56bc19905
Merge pull request #67165 from touilleMan/gdextension-remove-GDNativeExtensionClassObjectInstance
...
Remove unused `GDNativeExtensionClassObjectInstance` type def from GDExtension
2022-10-10 10:03:05 +02:00
Rémi Verschelde
bfffc06eb1
Merge pull request #67131 from KoBeWi/simplify_the_simplify
...
Fix `simplify_path()` breaking `uid://`
2022-10-10 10:02:41 +02:00
Emmanuel Leblond
aa76a905c7
Remove unused `GDNativeExtensionClassObjectInstance` type def from GDExtension
2022-10-10 01:15:07 +02:00
Hugo Locurcio
66f7c48e39
Implement adjusting the maximum number of physics steps per rendered frame
...
When using high physics FPS (which is a requirement to minimize input
lag and improve precision in simulation racing games), a higher value
prevents the game from slowing down at low rendering FPS.
This can be done via an Engine property for run-time changes,
or a project setting for initial changes.
2022-10-09 23:00:09 +02:00
Emmanuel Leblond
1bd3597362
Use enum type in GDExtension info structs for better readability
2022-10-09 17:07:13 +02:00
kobewi
785e5880b3
Fix simplify_path() breaking uid://
2022-10-09 14:22:13 +02:00
Micky
bf64a068a4
Fix Array.`slice()` and `filter()` forgetting Typed Array
2022-10-09 12:34:19 +02:00
Micky
03bef1562b
Fix Typed Array of Objects not accepting `null`.
2022-10-09 10:32:48 +02:00
Anutrix
a871114339
Randomize RandomNumberGenerator instances' default seed
2022-10-08 12:26:26 +05:30
Haoyu Qiu
48e0688d8f
Validate input in `ScriptServer::register_language`
2022-10-08 14:12:25 +08:00
Haoyu Qiu
5da515773d
Add `is_finite` method for checking built-in types
2022-10-08 13:25:08 +08:00
Aaron Franke
43722dbcbc
Use float literals for float calculations in Color
2022-10-07 11:28:47 -05:00
Rémi Verschelde
62b066dbd6
Fix more MSVC C4702 (unreachable code) warnings
2022-10-07 14:43:59 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Rémi Verschelde
e727606f7b
Merge pull request #66962 from aaronfranke/core-struct-includes
...
Enhancements to includes in core data structures
2022-10-06 08:57:05 +02:00
Rémi Verschelde
c2c9a582da
Merge pull request #64815 from RandomShaper/default_cpu_count
...
Improve default `OS`'s CPU count getter
2022-10-06 08:55:51 +02:00
Aaron Franke
97d232c11d
Enhancements to includes in core data structures
2022-10-05 23:11:02 -05:00
Pedro J. Estébanez
6bf02c0162
Keep a single, portable implementation of `OS::get_processor_count()`
2022-10-05 20:10:47 +02:00
Waridley
0863cf96e4
free NativeExtensionMethodBinds on unregister
2022-10-05 11:46:00 -05:00
Rémi Verschelde
33f4c5282f
Merge pull request #64819 from RandomShaper/enhance_thread_funcs
...
Enhance portability of threading
2022-10-05 11:42:35 +02:00
Rémi Verschelde
9cd62741bb
Merge pull request #66839 from aaronfranke/editor-prop-hide-slider
...
Fix `hide_slider` vs `no_slider` inconsistency in editor property code
2022-10-05 08:47:06 +02:00
Rémi Verschelde
53403972ef
Merge pull request #66886 from akien-mga/error-print-cleanup
...
Logger: Don't print error twice on `ERR_PRINT`
2022-10-05 08:37:19 +02:00
Rémi Verschelde
3a2b0ab73d
Merge pull request #66898 from aaronfranke/proj-mat-columns
...
Rename Projection `matrix` to `columns`
2022-10-05 08:35:26 +02:00
Hugo Locurcio
6afbf0bd5a
Improve dictionary printing to avoid confusion with arrays
...
- Add leading and trailing spaces within dictionaries, as the `{}`
characters are hard to distinguish from `[]` on some fonts.
This is especially helpful with empty arrays and dictionaries.
2022-10-04 20:33:40 +02:00
Aaron Franke
2cea42cc7f
Rename Projection `matrix` to `columns`
2022-10-04 12:34:19 -05:00
Rémi Verschelde
ac3917c42f
Logger: Don't print error twice on `ERR_PRINT`
...
Also fix broken `ERR_PRINT_ED` macro and simplify comments.
For the record these macros aren't used yet, they're intended to be used
where needed to surface messages in the toaster when useful to end users,
but we haven't done that codebase review yet.
2022-10-04 17:56:30 +02:00
Pedro J. Estébanez
958ecf55fe
Enhance portability of threading
2022-10-04 11:43:28 +02:00
Rémi Verschelde
68765b8831
Merge pull request #66274 from Calinou/engine-rename-max-fps
...
Rename `Engine.target_fps` and associated project setting to `max_fps`
2022-10-04 11:19:56 +02:00
Rémi Verschelde
cd7f172cf8
Merge pull request #66804 from akien-mga/core-remove-NO_SAFE_CAST
...
Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build
2022-10-04 10:22:24 +02:00
Hugo Locurcio
1c6c72caf1
Rename `Engine.target_fps` and associated project setting to `max_fps`
...
This makes the setting easier to find, as research has found there are
numerous use cases to limiting FPS. This also improves documentation
related to the Engine property and project setting.
The project setting also works in projects exported in release mode,
so its location in the `debug/` section was misleading.
2022-10-03 23:54:36 +02:00
Aaron Franke
094e8db97c
Fix hide_slider vs no_slider inconsistency in editor property code
2022-10-03 13:40:31 -05:00
Rémi Verschelde
d598fff7c2
Merge pull request #66803 from akien-mga/core-remove-NO_THREADS
...
Remove `NO_THREADS` fallback code, Godot 4 requires thread support
2022-10-03 14:51:02 +02:00
Rémi Verschelde
04a28763c0
Merge pull request #65751 from Faless/os/4.x_expose_read_from_stdin
2022-10-03 14:08:00 +02:00
Fabio Alessandrelli
9e50007df6
Merge pull request #66814 from Faless/web/4.x_ps3_gamepad_ff_linux
...
[Web] Add PS3 gamepad mapping for FF+Linux.
2022-10-03 14:00:12 +02:00
Fabio Alessandrelli
0fe0505f77
[Web] Add PS3 gamepad mapping for FF+Linux.
2022-10-03 13:06:50 +02:00
Rémi Verschelde
54418ea659
Remove NO_THREADS fallback code, Godot 4 requires thread support
...
This also removes `OS::can_use_threads` from the public API since it's always
true.
2022-10-03 11:23:26 +02:00
Rémi Verschelde
82b87d7a17
Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build
...
Android was the last platform to still attempt to disable RTTI (for binary
size), but both the Android editor and now the ICU library used by templates
need RTTI.
There could still be the possibility to support this for non-ICU template
builds (i.e. without the TextServerAdvanced module), but since this isn't one
of the build configurations we test regularly it's pretty risky to keep this
option only for that specific use case. And our code is already littered with
`dynamic_cast`s which weren't guarded with `!defined(NO_SAFE_CAST)`.
2022-10-03 11:18:31 +02:00
Rémi Verschelde
a377c5ca22
Merge pull request #66655 from MisterMX/feat/astargrid2d-vector2i
...
refactor(AStarGrid2D): Return `Vector2i` in `get_id_path`
2022-10-03 09:24:40 +02:00
Rémi Verschelde
d9a3888cea
Merge pull request #66133 from aaronfranke/set-all
...
Delete `set_all`, `set_axis`, and `get_axis` methods from Vector2/3/3i/4/4i
2022-10-03 09:23:46 +02:00
Rémi Verschelde
cf6978f286
Merge pull request #64833 from MarcusElg/naninfprinting
...
Improve string formatting (%f and %v) for inf and nan
2022-10-03 09:23:12 +02:00
Rémi Verschelde
ef8834a642
Merge pull request #64784 from yedpodtrzitko/yed/ci-add-mypy
...
ci: add Python static analysis check via mypy
2022-09-30 17:44:39 +02:00
Rémi Verschelde
166df0896c
Fix typos with codespell
...
Using codespell 2.3-dev from current git.
And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
2022-09-30 14:23:36 +02:00
Jiri Suchan
c5bd2f9dce
ci: add Python static analysis check via mypy
2022-09-30 19:03:17 +07:00
Rémi Verschelde
f47979f087
Merge pull request #66242 from akien-mga/scons-unify-tools-target
2022-09-30 12:28:50 +02:00
MisterMX
bf19a1d3b3
refactor(AStarGrid2D): Return Vector2i in get_id_path
...
Signed-off-by: MisterMX <mbxd12@web.de>
2022-09-30 12:02:28 +02:00
Haoyu Qiu
d873c549a2
Fix crash when executing `ResourceUID.set_id`
2022-09-30 09:41:05 +08:00
Rémi Verschelde
6991e9b43d
Merge pull request #66583 from bruvzg/constexpr
...
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
2022-09-29 10:44:22 +02:00
Rémi Verschelde
5bcd019ee9
Merge pull request #66552 from bruvzg/64_bitfields
...
Change BitField to use 64-bit int.
2022-09-29 10:44:08 +02:00
bruvzg
ea1848ce0a
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
2022-09-29 10:38:21 +03:00
rune-scape
51c411c7ad
Fix unset `ObjectID` with validated `get_object()` call
...
Fixes unset `ObjectID` in variant when calling a validated builtin method returning an `Object *`.
2022-09-28 23:04:22 -07:00
Rémi Verschelde
f8745f2f71
Merge pull request #66103 from Zylann/bind_property_usage_read_only
2022-09-29 00:09:51 +02:00
Marc Gilleron
856466ed02
Expose `PROPERTY_USAGE_READ_ONLY`
2022-09-28 22:50:55 +01:00
Rémi Verschelde
dc4a634c0d
Project supported features: Ignore old 'Vulkan Clustered/Forward' names
...
This eases transition from beta 1 to beta 2 so that users don't get a warning
about a missing feature. The names were just changed.
The old feature names are removed from project.godot when opening such a
project.
2022-09-28 23:27:27 +02:00
Rémi Verschelde
e5857bd6c7
Merge pull request #66548 from akien-mga/msvc-warnings-c4701-c4703
...
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 20:47:50 +02:00
Rémi Verschelde
d9b251c95c
Merge pull request #66544 from lawnjelly/bvh_tree_sibling_warning
...
Fix false flag compiler warning in bvh tree
2022-09-28 20:47:38 +02:00
Rémi Verschelde
361d9b514e
Merge pull request #66542 from akien-mga/msvc-warning-c4706
...
Fix MSVC warning C4706: assignment within conditional expression
2022-09-28 20:47:23 +02:00
Rémi Verschelde
85fe6ecc32
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 17:05:34 +02:00
bruvzg
8a9659b152
Change BitField to use 64-bit int.
2022-09-28 17:36:59 +03:00
lawnjelly
d7c6993f58
Fix false flag compiler warning in bvh tree
...
Compiler wrongly warns that sibling_id may be used when uninitialized. This PR sets the value to silence the warning.
2022-09-28 15:33:41 +01:00
Rémi Verschelde
0e53dd642c
Fix MSVC warning C4706: assignment within conditional expression
...
Part of #66537 .
2022-09-28 16:05:07 +02:00
bruvzg
af814c1524
Rename `script_instance` to `_script_instance` in the `GDVIRTUAL*` wrappers to avoid shadowing `Object` member.
2022-09-28 15:57:59 +03:00
Rémi Verschelde
14e1f36e61
Merge pull request #66492 from bruvzg/gde_ts_underscr
...
[GDExtension] Use function names with underscore for TextServer extension, add macros to generate wrappers for module functions.
2022-09-28 12:12:29 +02:00
bruvzg
8f5d56e04a
[GDExtension] Use function names with underscore for TextServer extension, add macros to generate wrappers for module functions.
2022-09-28 10:04:11 +03:00
kobewi
52b20ce909
Use 64bit integers in utility methods
2022-09-28 02:26:37 +02:00
Rémi Verschelde
92bcd3c01d
Merge pull request #66505 from KoBeWi/floor()_and_int()_are_not_the_same_I_guess 🤔
...
Fix wrong `floori()` behavior
2022-09-28 00:16:24 +02:00
Rémi Verschelde
9dc5684fab
Merge pull request #66504 from KoBeWi/hermit_method
...
Make some File/Dir methods private
2022-09-28 00:16:16 +02:00
Rémi Verschelde
b33460c6ca
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@81ddc73d17
2022-09-27 23:48:25 +02:00
kobewi
7499f41264
Fix wrong floori() behavior
2022-09-27 19:09:34 +02:00
kobewi
a316401b99
Make some File/Dir methods private
2022-09-27 17:35:52 +02:00
Rémi Verschelde
52aae6d4f1
Merge pull request #66447 from akien-mga/gcc-ubsan-silence-Wmaybe-uninitialized
...
Silence GCC `-Wmaybe-uninitialized` caused by UBSAN
2022-09-27 10:04:19 +02:00
nikitalita
af548ee8e9
Fix FileAccessZip() causing a stack overflow
2022-09-26 20:47:00 -07:00
Rémi Verschelde
39facb35a0
SCons: Unify tools/target build type configuration
...
Implements https://github.com/godotengine/godot-proposals/issues/3371 .
New `target` presets
====================
The `tools` option is removed and `target` changes to use three new presets,
which match the builds users are familiar with. These targets control the
default optimization level and enable editor-specific and debugging code:
- `editor`: Replaces `tools=yes target=release_debug`.
* Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_debug`: Replaces `tools=no target=release_debug`.
* Defines: `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_release`: Replaces `tools=no target=release`.
* Defines: `-O3`/`/O2`
New `dev_build` option
======================
The previous `target=debug` is now replaced by a separate `dev_build=yes`
option, which can be used in combination with either of the three targets,
and changes the following:
- `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`),
enables generating debug symbols, does not define `NDEBUG` so `assert()`
works in thirdparty libraries, adds a `.dev` suffix to the binary name.
Note: Unlike previously, `dev_build` defaults to off so that users who
compile Godot from source get an optimized and small build by default.
Engine contributors should now set `dev_build=yes` in their build scripts or
IDE configuration manually.
Changed binary names
====================
The name of generated binaries and object files are changed too, to follow
this format:
`godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]`
For example:
- `godot.linuxbsd.editor.dev.arm64`
- `godot.windows.template_release.double.x86_64.mono.exe`
Be sure to update your links/scripts/IDE config accordingly.
More flexible `optimize` and `debug_symbols` options
====================================================
The optimization level and whether to generate debug symbols can be further
specified with the `optimize` and `debug_symbols` options. So the default
values listed above for the various `target` and `dev_build` combinations
are indicative and can be replaced when compiling, e.g.:
`scons p=linuxbsd target=template_debug dev_build=yes optimize=debug`
will make a "debug" export template with dev-only code enabled, `-Og`
optimization level for GCC/Clang, and debug symbols. Perfect for debugging
complex crashes at runtime in an exported project.
2022-09-26 16:31:46 +02:00
Rémi Verschelde
f8b0b17634
MethodBind: Silence GCC `-Wmaybe-uninitialized` caused by UBSAN
...
A priori this doesn't appear to be an actual bug, but a known consequence of
using UBSAN. We silence this one to still have the possibility to get more
warnings raised by UBSAN, in case they are useful.
Works around and closes #66343 .
2022-09-26 16:05:40 +02:00
Rémi Verschelde
926c1127e9
Merge pull request #66435 from akien-mga/style-header-guards-cleanup
...
Cleanup header guards for consistency
2022-09-26 15:48:56 +02:00
Rémi Verschelde
49fcf4ffad
Style: Cleanup header guards for consistency
...
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26 13:51:17 +02:00
Yuri Rubinsky
e7e1f84854
Fix processing of some types in `math_fieldwise.cpp/fieldwise_assign`
2022-09-26 13:22:49 +03:00
Micky
2a66ddb1bb
Add autocompletion to several Object methods
...
Add autocompletion for the following Object methods:
- `connect`, `is_connected`, `disconnect`, `emit_signal`, `has_signal`;
- `call`, `call_deferred`, `callv`, `has_method`;
- `set`, `set_deferred`, `get`;
- `set_meta`, `remove_meta`, `has_meta`, `remove_meta`.
2022-09-26 10:02:31 +02:00
Rémi Verschelde
f3d763011f
Merge pull request #63109 from OverloadedOrama/fix-input-event-action
...
Fix `InputEventAction`'s `is_match` method ignoring `exact_match` parameter
2022-09-25 11:06:38 +02:00
Danil Alexeev
453c5ef682
Remove confusing `String + int` and `int + String` operations
2022-09-24 18:13:44 +03:00
Andy Maloney
49ff3d5489
Remove unused includes & move some includes to top of file
2022-09-23 19:06:31 -04:00
Rémi Verschelde
26e9145c26
SCons: Cleanup `DEBUG`, `_DEBUG` and `NDEBUG` defines
...
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
outside thirdparty code, which we usually don't intend to debug, so it
seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
and `release_debug` targets. This used to be set for `release` for all
platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
code, which was only implemented for Unix anyway, should have been
`DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
target as we don't want OIDN and Embree asserting all over the place.
2022-09-23 15:21:26 +02:00
Rémi Verschelde
006e345695
Merge pull request #65817 from bruvzg/typed_array
2022-09-23 10:24:46 +02:00
Rémi Verschelde
ee95cc0b79
Merge pull request #66177 from rburing/callable_callv
...
add `callv` method
2022-09-23 09:45:02 +02:00
Rémi Verschelde
300ea8602c
Merge pull request #66260 from lawnjelly/fix_bvh_array_warning
...
Fix array-bounds warning in BVH
2022-09-23 09:42:58 +02:00
Rémi Verschelde
ca88b23a3b
Merge pull request #66248 from akien-mga/warnings-gcc-Wmaybe-uninitialized
...
Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1
2022-09-23 09:42:53 +02:00
Rémi Verschelde
414dd3a257
Merge pull request #66246 from Jummit/fix-dir-crash
...
Fix crash when listing files in nonexistent directory
2022-09-23 09:41:59 +02:00
bruvzg
163257d51b
[GDExtension] Implement support for typed arrays.
2022-09-22 23:31:27 +03:00
lawnjelly
91d252c697
Fix array-bounds warning in BVH
...
Provides a workaround to prevent tripping a compiler warning.
2022-09-22 16:06:25 +01:00
Rémi Verschelde
d1a155e3cd
Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1
...
Not sure why I didn't get those before, it may be due to upstream
changes (12.2.1 is a moving target, it's basically 12.3-dev), or simply
rebuilding Godot from scratch with different options.
2022-09-22 11:29:48 +02:00
Jummit
2175e38dfb
Fix crash when listing files in nonexistent directory
2022-09-22 09:54:19 +02:00
Rémi Verschelde
d96b7d767a
Merge pull request #66110 from Zylann/reference_get_count
...
get_reference_count()`
2022-09-22 08:26:29 +02:00
Marc Gilleron
474cee7daf
Rename and expose `RefCounted::get_reference_count()`
2022-09-21 21:18:54 +01:00
Rémi Verschelde
0b06f8b0bd
Merge pull request #65816 from bruvzg/proj_settings_missing_flags
...
Add missing initial window flags and window mode to the project settings.
2022-09-21 18:56:31 +02:00
Rémi Verschelde
85a46d36b5
Merge pull request #66096 from 4d49/decompose-polygon-in-convex
...
Add method bind for `Geometry2D.decompose_polygon_in_convex`
2022-09-21 13:26:08 +02:00
Rémi Verschelde
5408af1407
Style: Ensure consistent formatting with clang-format 15
...
When going from version 14 to 15 it would introduce a tiny change in
`websocket_macros.h` just before the comment re-enabling clang-format,
but this can be solved by just letting it do its work.
Bonus cosmetic change in `math_fieldwise.cpp` where clang-format isn't
used, and bump recommended versions for pre-commit hook to [13; 15].
2022-09-21 12:48:58 +02:00
Rémi Verschelde
e9ad0fd190
Merge pull request #66181 from touilleMan/extension_api_dump-correct-keyed
...
Fix is_keyed param in extension_api.json
2022-09-21 11:06:20 +02:00
Ricardo Buring
0c2055d15d
Callable: add callv method
...
This method can be called from GDExtension.
2022-09-21 08:25:48 +02:00
Mansur Isaev
623e23c625
Add method bind for `Geometry2D.decompose_polygon_in_convex`
2022-09-21 09:40:03 +04:00
Clay John
c8a0912f36
Merge pull request #66184 from touilleMan/gdnative_interface-fix-hash-mismatch-error-print
...
Fix hash mismatch error print in gdextension's gdnative_classdb_get_method_bind
2022-09-20 20:27:04 -07:00
Emmanuel Leblond
2ee951cef5
Fix hash mismatch error print in gdextension's gdnative_classdb_get_method_bind
2022-09-21 00:41:48 +02:00
Rémi Verschelde
160e0a45b7
Merge pull request #66117 from RedMser/json-parse-recursion
...
Add recursion depth check to `JSON.stringify/parse`
2022-09-21 00:19:32 +02:00
Emmanuel Leblond
b7c3bbc627
Fix is_keyed param in extension_api.json
2022-09-21 00:14:53 +02:00
Rémi Verschelde
ae2d9be0fe
Merge pull request #63740 from Faless/net/4.x_http_request_decompress
...
[HTTP] Implement streaming decompression.
2022-09-20 22:29:16 +02:00
Fabio Alessandrelli
273ba0794f
[IO] Add StreamPeerGZIP for streaming compression/decompression.
...
Putting data results in writing the compressed/decompressed output into
a RingBuffer.
You can retrieve the content of the RingBuffer via get_data.
Support both gzip and deflate.
2022-09-20 18:39:10 +02:00
Rémi Verschelde
d8d10c30d0
Merge pull request #60408 from KoBeWi/statically_typed_directories
...
Introduce more static methods to directory API
2022-09-20 15:36:49 +02:00
Rémi Verschelde
a23ba42f98
Merge pull request #63594 from Faless/img/4.x_loader_ext
...
[Core] Make ImageFormatLoader extensible.
2022-09-20 15:36:32 +02:00
kobewi
cad1d27a6f
Introduce more static methods to directory API
2022-09-20 14:22:45 +02:00
Rémi Verschelde
7da532275b
Merge pull request #65541 from clayjohn/renderer-setting
...
Split rendering driver project setting into renderer_name and rendering_driver
2022-09-20 09:43:59 +02:00
Fabio Alessandrelli
e8fc6bfeb5
[Core] Make ImageFormatLoader extensible.
2022-09-20 02:01:57 +02:00
Aaron Franke
50fb0220ca
Define AXIS_COUNT in all vector types
2022-09-19 17:50:35 -05:00
Aaron Franke
436dcb3286
Remove set_all methods from Vector2/3/4
2022-09-19 15:08:50 -05:00
Aaron Franke
fd8bd27657
Remove set_axis and get_axis methods from Vector2/2i/3/3i/4/4i
2022-09-19 15:08:50 -05:00
clayjohn
4a1c7de57c
Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
2022-09-19 10:26:10 -07:00
RedMser
de3b1c3fca
Add recursion depth check to JSON stringify/parse
2022-09-19 18:22:55 +02:00
Rémi Verschelde
ec60c4ee9e
Merge pull request #65271 from KoBeWi/FirAccess 🌲
...
Replace File/Directory with FileAccess/DirAccess
2022-09-19 15:33:24 +02:00
Rémi Verschelde
4ebf7d14ac
Merge pull request #66079 from Zylann/project_settings_restart
...
Expose ProjectSettings.set_restart_if_changed(name, restart)
2022-09-19 15:33:11 +02:00
Rémi Verschelde
2d01768618
Merge pull request #66097 from Zylann/make_atlas_vec2i
...
make_atlas`
2022-09-19 15:32:28 +02:00
Rémi Verschelde
1be4f4b69f
Merge pull request #66081 from aaronfranke/math-funcs-spacing
...
Spacing changes in math_funcs.h
2022-09-19 15:31:53 +02:00
Marc Gilleron
2a8aeddc93
Expose ProjectSettings.set_restart_if_changed(name, restart)
2022-09-19 13:57:07 +01:00
kobewi
a43319b6c9
Restore numeric from String constructors
2022-09-19 14:31:16 +02:00
Marc Gilleron
700bb066e0
Use `Vector2i` when returning atlas size in `Geometry2D::make_atlas`
2022-09-19 11:37:02 +01:00
bruvzg
d104a4cdbd
Add missing initial window flags and window mode to the project settings.
2022-09-19 12:30:10 +03:00
kobewi
9f2dc68279
Replace File/Directory with FileAccess/DirAccess
2022-09-19 11:03:31 +02:00
Aaron Franke
300fc5e39a
Spacing changes in math_funcs.h
2022-09-19 02:22:50 -05:00
kobewi
b3997191d8
Change UndoRedo to use Callables
2022-09-18 23:52:50 +02:00
Rémi Verschelde
c6e5c76536
Merge pull request #65561 from ryburnj/inconsistent-cap-scene-file-name
...
Fix inconsistent scene file name casing
2022-09-18 10:49:00 +02:00
ryburnj
9d6af9323a
Fix inconsistent scene file name casing by moving existing Name_Casing code to separate function in editor_node, and adding a call from both editor_node and scene_tree_dock.
2022-09-18 11:17:22 +10:00
Emmanuel Leblond
529afd8fbb
Remove Transfor2/3D,AABB,Basis,RID from Variant destructors given Variant::clear() considers they don't need to be destroyed
2022-09-17 23:48:50 +02:00
bruvzg
ec8084d87f
HarfBuzz: Update to version 5.2.0, add new Unicode 15 blocks and scripts.
2022-09-17 23:19:11 +03:00
MJacred
ac9786c525
Add get_distribution_name() and get_version() to OS
...
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP
Co-authored-by: bruvzg
2022-09-16 11:17:36 +02:00
Rémi Verschelde
d1b2a191ab
Merge pull request #65295 from reduz/json-as-resource
2022-09-16 10:58:01 +02:00
Rémi Verschelde
a981a8061f
Merge pull request #65325 from TokageItLab/refactor-variant-for-anim
...
Move some static methods to `Animation` from `Variant` for refactoring `Animation` and `Tween`
2022-09-16 09:20:50 +02:00
Rémi Verschelde
dbd757f479
Merge pull request #65760 from Mickeon/try-vformat-var-args
...
Use variadic template in `vformat()` (allow more than 5 arguments)
2022-09-15 20:11:19 +02:00
Micky
0715250ae4
Use variadic template in `vformat()`
...
Allows `vformat()` to take more than 5 arguments. as well as being a general optimisation that avoids redundant empty Variant checks.
2022-09-14 23:55:34 +02:00
Silc Renew
9d47e079b7
Move some methods to Animation from Variant for refactoring
2022-09-15 04:52:43 +09:00
fabriceci
9f1a57d48b
Test, refactor and fix a bug in Basis.get_axis_angle
2022-09-14 12:05:22 +02:00
Fabio Alessandrelli
8b5bb7eeea
[OS] Expose get_stdin_string to Scripting.
...
Exposed as read_string_from_stdin so it's clear it's not retrieving a
property.
The method is kept with the block parameter, but a note is added to the
docs specifying that is not implemented on any platform (should we just
remove it?).
2022-09-13 18:37:11 +02:00
Rémi Verschelde
ff824b6f9d
Merge pull request #65509 from gotnospirit/master-os-get_datetime
...
get_datetime_* functions can return wrong values
2022-09-13 11:01:12 +02:00
Rémi Verschelde
fefa3e9419
Merge pull request #65688 from Chaosus/fix_astargrid_heuristic
2022-09-12 13:26:20 +02:00
Yuri Rubinsky
533e3669e7
Fix incorrect heuristic order in `AStarGrid2D`
2022-09-12 13:16:46 +03:00
SaracenOne
cc4bda8500
Add ability to flag classes as experimental or deprecated.
2022-09-11 00:11:33 +01:00
James
0aecfc9254
Fixes #65377 : get_datetime_* functions can return wrong values
2022-09-10 07:58:38 +08:00
Rémi Verschelde
24ce46e2a1
Merge pull request #64938 from YuriSizov/editor-scaled-icons
2022-09-09 16:52:32 +02:00
Haoyu Qiu
f5760ed65d
Fix parsing of XML CDATA and add test cases
2022-09-09 09:42:24 +08:00
Rémi Verschelde
69233093d7
Merge pull request #65241 from bruvzg/no_keymap_ambiguity
...
Fix key mapping changes when moving from macOS to other platform.
2022-09-08 09:24:24 +02:00
Fabio Alessandrelli
a95d792420
[Net] Rename "ssl" references to "tls" in methods and members.
2022-09-08 03:24:23 +02:00
Yuri Sizov
817d4db21f
Allow images to be imported "for editor use" and respect editor settings
2022-09-07 23:31:31 +03:00
bruvzg
6f4d233062
Fix key mapping changes when moving from macOS to other platform
...
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
Rémi Verschelde
61644f1dbe
Merge pull request #65447 from Faless/net/4.x_ssl_to_tls
...
[Net] Rename StreamPeerSSL to StreamPeerTLS.
2022-09-07 09:19:46 +02:00
Rémi Verschelde
5c5079b398
Merge pull request #65197 from Mickeon/rename-connect-one-shot
...
Rename CONNECT_ONESHOT to CONNECT_ONE_SHOT
2022-09-07 08:51:10 +02:00
Fabio Alessandrelli
528e791a5f
[Net] Rename StreamPeerSSL to StreamPeerTLS.
...
SSL has been deprectated almost 10 years ago.
2022-09-07 07:38:50 +02:00
Micky
9e284f68ec
Prevent HTTPRequest from polling invalid client
2022-09-06 20:49:49 +02:00
Micky
dd26ecdd31
Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT
...
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06 19:00:33 +02:00
Rémi Verschelde
5062aafc2d
Merge pull request #64417 from aaronfranke/has-space
...
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06 17:00:44 +02:00
Rémi Verschelde
f40755383e
Merge pull request #65361 from Mickeon/rename-range-lerp
...
Rename `range_lerp` to `remap`
2022-09-06 17:00:37 +02:00
Micky
b6daad8d4b
Rename `range_lerp` to `remap`
2022-09-06 07:19:20 +02:00
Andres Hernandez
9054399900
Updated gamecontrollerdb.txt to latest to include new mappings for various controllers, including Xbox One, Nintendo Switch, Steam Deck, and 8BitDo
2022-09-05 22:14:59 -07:00
Rémi Verschelde
48cfa0da70
Merge pull request #65282 from Faless/fix/4.x_arm32_detect
2022-09-05 14:11:21 +02:00
Rémi Verschelde
9f2e907bac
Merge pull request #65323 from timothyqiu/variant-wild
...
Fix crash when encoding freed object in `ConfigFile`
2022-09-05 08:27:50 +02:00
Aaron Franke
995b9f94e8
Replace Rect2(i) has_no_area with has_area
2022-09-04 23:03:36 -05:00
Aaron Franke
817ae95667
Replace AABB has_no_volume with has_volume
...
Also replace has_no_surface with has_surface
2022-09-04 23:03:36 -05:00
Aaron Franke
058ac331b0
Minor fixes to Vector4
2022-09-04 20:38:44 -05:00
Juan Linietsky
2b428daf2b
Treat JSON as resource files.
...
This makes the files ended in ".json" be treated as Godot resources.
This solves two problems:
* Avoid extensions to implement their own handling, which results in conflicts (all must use this one).
* Allow code to still work opening it as a file (since it will not be imported).
2022-09-04 14:01:41 +02:00
Haoyu Qiu
3c0759608a
Fix crash when encoding freed object in ConfigFile
2022-09-04 19:56:37 +08:00
Fabio Alessandrelli
6baf530bcb
Fix arm32 detection in Engine.
...
The `__ARM_ARCH_7A__` and `__ARM_ARCH_7S__` are not enough, since they
do not cover e.g. `__ARM_ARCH_8A__` in 32 bit mode, so instead of trying
to cover any possible ARM version that can work in 32 bit mode, we
can replace it with the `__arm__` macro which is defined for arm32 only
(arm64 uses `__aarch64__`).
2022-09-03 13:41:59 +02:00
Hugo Locurcio
f7292dbeb3
Rename `or_lesser` range property hint to `or_less`
...
"less" should be used for quantity, rather than "lesser".
Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Jonathan Nicholl
15d057c521
Add `is_zero_approx` methods to `Vector2`, `3`, and `4`
2022-09-02 00:29:50 -04:00
Rémi Verschelde
4cca7bd977
Merge pull request #65212 from Faless/net/4.x_simplify_ext_bindings
2022-09-01 23:51:35 +02:00
Rémi Verschelde
005aac2dbe
Merge pull request #65187 from JohanAR/vector_to_size
2022-09-01 23:50:59 +02:00
Rémi Verschelde
af2e6aabaa
Merge pull request #65206 from aaronfranke/fix-projection-decode
2022-09-01 23:48:29 +02:00
Rémi Verschelde
181019cea5
Merge pull request #65135 from reduz/export-customization-plugins
2022-09-01 23:43:39 +02:00
Rémi Verschelde
3f5d5a6370
Merge pull request #64180 from aaronfranke/project-features-tools-only
2022-09-01 22:58:24 +02:00
Rémi Verschelde
10bd79cc6a
Merge pull request #64714 from Chaosus/string_remove_erase
2022-09-01 22:57:22 +02:00
Johan Aires Rastén
b7e2d45233
Replace Vector2(i) with Size2(i) for methods returning a size
2022-09-01 20:04:17 +02:00
Fabio Alessandrelli
fbbd3950c8
Simplify network GDExtension bindings using EXBIND macros.
...
Simplify StreamPeer, PacketPeer, MultiplayerPeer extension.
Simplify and update WebRTC*Extension with newly supported types.
2022-09-01 19:10:22 +02:00
Rémi Verschelde
f02134a8c0
Merge pull request #55617 from madmiraal/fix-55384
2022-09-01 18:20:01 +02:00
Aaron Franke
0eb420679c
Fix a minor bug in the Projection binary decode logic
2022-09-01 11:07:01 -05:00
Rémi Verschelde
41156a1e83
Merge pull request #63968 from KoBeWi/finding_stuff_in_a_dictionary
2022-09-01 17:38:39 +02:00
Juan Linietsky
ef17c4668a
Add support for scene/resource customization in export plugins
...
EditorExportPlugin adds a set of callbacks to allow customizing scenes, resources or subresources in all files exported:
* Can take scene files, resource files and subresources in all of them.
* Uses a cache for the converted files if nothing changes, so this work only happens if a file is modified.
* Uses hashing to differentiate export configuration caches.
* Removed the previous conversion code to binary, as this one uses existing stuff.
This API is useful in several scenarios:
* Needed by the "server" export platform to get rid of textures, meshes, audio, etc.
* Needed by text to binary converters.
* Needed by eventual optimizations such as shader precompiling on export, mesh merging and optimization, etc.
This is a draft, feedback is very welcome.
2022-09-01 11:16:00 +02:00
Rémi Verschelde
0c221f0284
Merge pull request #65124 from zhehangd/fix_basis
2022-09-01 09:36:11 +02:00
Rémi Verschelde
8812f0c896
Merge pull request #64444 from timothyqiu/action-completion
...
Fix action name completion for `Input`
2022-09-01 08:20:20 +02:00
Zhehang Ding
69fe6336f1
Basis constructor: row vectors -> column vectors
2022-08-31 21:20:25 -07:00
Rémi Verschelde
10aec9057c
Merge pull request #63411 from Calinou/improve-null-object-dictionary-print
...
Improve null and object printing to avoid confusion with arrays
2022-08-31 17:37:08 +02:00
Hugo Locurcio
291d3aaabe
Improve null and object printing to avoid confusion with arrays
...
- Use different syntax for object printing to avoid confusion with arrays.
- Print null as `<null>` to avoid confusion with a string `"null"`.
- Display `<empty>` in editor resource pickers to avoid confusion
with array-based properties.
2022-08-31 15:31:49 +02:00
Silc Renew
c139d9ef7d
Discontinued spherical_interpolate_with in Transform3D
2022-08-31 16:35:38 +09:00
Rémi Verschelde
c80ea41e3b
Merge pull request #65095 from m4gr3d/update_get_current_dir_main
...
Additional fixes to the Android `get_current_dir()` implementation.
2022-08-31 09:00:53 +02:00
Fredia Huya-Kouadio
f916dff26d
Additional fixes to the Android `get_current_dir()` implementation.
2022-08-30 10:04:12 -07:00
Yuri Rubinsky
4d7c1b92e9
Implement `AStarGrid2D` class with jump-point pathfinding
2022-08-30 17:29:23 +03:00
Marcel Admiraal
0046d320bb
Fix Geometry3D::get_closest_points_between_segments() returns NaN
...
Also fix:
- Geometry3D::get_closest_distance_between_segments() returning
incorrect values.
- Test for Geometry3D::get_closest_distance_between_segments() testing for
an incorrect value.
2022-08-30 12:13:11 +01:00
Danil Alexeev
d4555ef5fb
Add `String.to_{camel,pascal,snake}_case` methods
2022-08-30 12:36:24 +03:00
Aaron Franke
10a56981dc
Rename String `plus_file` to `path_join`
2022-08-29 19:38:13 -05:00
Rémi Verschelde
c7e4c802ff
Merge pull request #65031 from akien-mga/os-drop-obsolete-resource-debugging
2022-08-29 15:04:17 +02:00
Rémi Verschelde
eb56d1d1eb
Drop obsolete resource usage debug methods from OS class
...
These methods exist since the dawn of (open source) Godot and have hardly
been updated over time, so they barely work and I'm fairly sure nobody is
using them. (See #46505 for details.)
While some of the functionality they aimed to provide might be useful for
optimization work and introspection, this should likely be redesigned from
scratch with a cleaner and more modern interface (e.g. exposed via the
Performance singleton, or ResourceLoader, and a better API overall).
2022-08-29 12:57:37 +02:00
Fabio Alessandrelli
d20b32186f
[Web] Rename JavaScript platform to Web.
...
Also rename export name from "HTML5" to "Web".
2022-08-29 11:52:00 +02:00
Aaron Franke
0a87bd7b54
Only compile project features logic in editor builds
2022-08-27 21:02:35 -05:00
bruvzg
8dab4a2aa3
[Windows] Improve build environment detection, add support for Windows on ARM.
2022-08-27 16:10:53 +03:00
Silc Renew
931fb4dc11
Add linear/cubic angle interpolation to Animation interpolation type
2022-08-27 07:58:22 +09:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
...
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Rémi Verschelde
ee461b7295
Merge pull request #64925 from RandomShaper/ps_res_path
...
Determine `ProjectSettings`' resource path early
2022-08-26 23:02:51 +02:00
Pedro J. Estébanez
e08a2be436
Determine ProjectSettings' resource path early
2022-08-26 15:01:52 +02:00
Micky
59e11934d8
Rename `str2var` to `str_to_var` and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
bruvzg
d91cb1d5d5
[macOS export] Simplify code signing options, add support for rcodesign tool for signing and notarization.
2022-08-26 14:23:31 +03:00
Rémi Verschelde
ce78d280b3
Merge pull request #58530 from Calinou/os-remove-dump-memory-to-file
...
Remove unimplemented `OS.dump_memory_to_file()` method
2022-08-25 20:55:30 +02:00
Rémi Verschelde
0cf0e96038
Merge pull request #64776 from YuriSizov/import-images-moar-flags
2022-08-25 16:51:26 +02:00
Marcus Elg
b21460981d
Improve string formatting for %f and %v for inf and nan
2022-08-25 07:41:21 +02:00
Rémi Verschelde
9d0b3d7aaa
Merge pull request #64844 from RandomShaper/fa_access_type
...
Add `FileAccess::get_access_type()`
2022-08-25 00:24:28 +02:00
Rémi Verschelde
d0a2a4c981
Merge pull request #64531 from madmiraal/fix-63972-2
...
Fix axis mapped to DPad buttons not releasing opposite button
2022-08-24 20:10:29 +02:00
Pedro J. Estébanez
8c6b2fbb90
Add FileAccess::get_access_type()
2022-08-24 20:06:34 +02:00
Rémi Verschelde
2961651444
Merge pull request #64691 from TokageItLab/Quaternion-editor
2022-08-24 18:36:54 +02:00
Rémi Verschelde
4698dc67b5
Merge pull request #64082 from KoBeWi/array3k
2022-08-24 16:05:59 +02:00
Silc Renew
673c649adb
Implement Quaternion Editor
2022-08-24 22:04:49 +09:00
kobewi
f7f4873ed0
Replace Array return types with TypedArray 3
2022-08-24 12:53:36 +02:00
derammo
672fa94fb8
fix arg naming in ResourceFormatLoader extension
2022-08-24 06:49:03 -04:00
Yuri Rubinsky
0626ce50cf
Merge pull request #64794 from Chaosus/projection_constructor
2022-08-24 11:19:41 +03:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
...
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
Yuri Rubinsky
e97ece55aa
Add constructor accepting four Vector4's to `Projection`
2022-08-24 08:30:40 +03:00
Rémi Verschelde
08d8f884cd
Merge pull request #63728 from MarcusElg/%v
...
Add %v for formatting vectors
2022-08-24 00:42:47 +02:00
kobewi
1abdffe7a0
Replace Array return types with TypedArray 2
2022-08-23 23:21:32 +02:00
Rémi Verschelde
34aa6b06a7
Merge pull request #64721 from bruvzg/fix_prop_revet_ext
2022-08-23 21:37:52 +02:00
derammo
65116a7e91
change Ref<T> to allow non const access to ptr
...
allows non-const T* to be taken from const Ref<T> directly
instead of using hacky workarounds such as copying it to
another Ref
this fixes methods with const Ref<T>& arguments not being
able to access non-const methods on contained T
2022-08-23 11:34:26 -04:00
Marcus Elg
dbc165715b
Add %v for formatting vectors
2022-08-23 17:26:06 +02:00
JFonS
c7a7aad30d
Merge pull request #59779 from rainerdeyke/constexpr-operators
...
Made Key operators constexpr
2022-08-23 15:35:35 +02:00
bruvzg
56101080cc
[GDExtension] Fix `_property_can_revert` and `_property_get_revert` methods using incorrect string type.
2022-08-23 14:58:28 +03:00
Rémi Verschelde
14f8a54a33
Merge pull request #64511 from derammo/derammo_fix_has_property_default_value
2022-08-23 13:47:20 +02:00
Yuri Sizov
672e9d6868
Make `ImageLoader` take bit field flags
2022-08-23 14:39:01 +03:00