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