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
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