Commit graph

3814 commits

Author SHA1 Message Date
Rémi Verschelde
20ce0284cf
Merge pull request #67313 from Mickeon/3.x-rename-params
[3.x] Rename `set_indexed` & `get_child`'s params to be clearer
2022-10-31 12:24:58 +01:00
bruvzg
987723b386
[iOS] Fix build with warnings=extra. 2022-10-31 11:59:31 +02:00
Fredia Huya-Kouadio
be4b07c3e4 Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-20 11:56:11 -07:00
Jordan Schidlowsky
dc5226ecfd expose additional global enums in 3.x which are available in master 2022-10-14 09:33:24 -06:00
Micky
6102f3cfc2 [3.x] Rename set_indexed & get_child's params to be clearer
3.x backport of #67300 and #64463.
2022-10-12 20:55:41 +02:00
Rémi Verschelde
b3301d22c5 Merge pull request #66168 from Calinou/expose-os-restart-on-exit-3.x
Expose the "restart on exit" OS functionality (3.x)
2022-10-04 16:57:43 +02:00
Rémi Verschelde
506f7d8360 Merge pull request #64870 from MarcusElg/naninfprinting3.x
[3.x] Improve string formatting (%f) for inf and nan
2022-10-03 13:57:30 +02:00
Rémi Verschelde
f9b91d8d24 Style: Ensure consistent formatting with clang-format 15 2022-09-21 13:23:17 +02:00
lawnjelly
17f42e8e66 Improve signal already connected error message
The signal already connected message is improved to provide the names of the objects involved.
2022-09-21 07:52:30 +01:00
Hugo Locurcio
76a14cfd02
Expose the "restart on exit" OS functionality
This can be used to restart a project with specific command line arguments
applied. This can work in tandem with `OS.get_cmdline_args()` to restart
with the same command line arguments as used to originally run the project.

Example use cases:

- Restart to apply an user setting change that requires a restart to work.
- Restart with a Godot command line argument to change the video driver,
  audio driver, etc.
2022-09-20 17:27:46 +02:00
Rémi Verschelde
2aee09c6bc
Merge pull request #65428 from lawnjelly/input_uninit 2022-09-09 14:28:06 +02:00
Micky
93943bc1b9 Prevent HTTPRequest from polling invalid client
(cherry picked from commit 9e284f68ec)
2022-09-09 14:17:24 +02:00
Haoyu Qiu
7ed2b09bc0 Fix parsing of XML CDATA and add test cases 2022-09-09 10:16:36 +08:00
lawnjelly
d60eae3dbc Fix uninitialized data reads in Input
Found by Valgrind.
2022-09-06 14:21:01 +01:00
kobewi
fdbef1c074 Add Dictionary.find_key() 2022-09-05 16:08:41 +02:00
Rémi Verschelde
b38ac3f09f
Merge pull request #55618 from madmiraal/fix-55384-3.x 2022-09-01 23:58:12 +02:00
Marcel Admiraal
3cbc6330bb Fix Geometry::get_closest_points_between_segments() returns NaN
Also fix Geometry::get_closest_distance_between_segments() returning
incorrect values.
2022-09-01 17:51:33 +01:00
Rémi Verschelde
4196cc0c00
Merge pull request #64445 from timothyqiu/action-completion-3.x
[3.x] Fix action name completion for `Input.get_{axis,vector}`
2022-09-01 08:20:40 +02:00
Fredia Huya-Kouadio
9910d4681d Additional fixes to the Android get_current_dir() implementation. 2022-08-30 10:08:30 -07:00
Pedro J. Estébanez
29e235b341 Add FileAccess::get_access_type()
(cherry picked from commit 8c6b2fbb90)
2022-08-29 15:44:29 +02:00
Rémi Verschelde
a21221d70c
Merge pull request #64298 from Razoric480/raz/bin-cache
Fix binary resource internal cache not being filled at polling time
2022-08-29 07:04:31 +02:00
Hugo Locurcio
3b31ff9008
Optimize String.repeat()
This backports the optimization done in `master`.

Co-authored-by: VolTer <mew.pur.pur@abv.bg>
2022-08-28 18:27:42 +02:00
Rémi Verschelde
5beec641b6
Merge pull request #64933 from madmiraal/fix-error_macros-header-guard-3.x
[3.x] Fix header guard in error_macros.h
2022-08-27 09:17:04 +02:00
Rémi Verschelde
c78c9bcf96
Merge pull request #64926 from RandomShaper/ps_res_path_3.x
[3.x] Determine `ProjectSettings`' resource path early
2022-08-26 23:03:06 +02:00
Marcel Admiraal
e2dac6ecd9 Fix header guard in error_macros.h 2022-08-26 16:04:54 +01:00
Pedro J. Estébanez
89892e4f32 Determine ProjectSettings' resource path early 2022-08-26 15:09:19 +02:00
Marcus Elg
e9cbe9517b Improve %f formatting for inf and nan 2022-08-25 12:58:38 +02:00
Rémi Verschelde
8388ea1d6b
Merge pull request #64839 from akien-mga/3.x-zstd-1.5.2
zstd: Update to upstream version 1.5.2
2022-08-25 00:51:28 +02:00
bruvzg
b7c9eb1a3c Add arch flag to assembler to fix build on ARM64 macOS / iOS.
(cherry picked from commit b767d2e0fd)
2022-08-24 18:26:28 +02:00
Rémi Verschelde
bda382684f zstd: Update to upstream version 1.5.2
Release notes:
- https://github.com/facebook/zstd/releases/tag/v1.5.1
- https://github.com/facebook/zstd/releases/tag/v1.5.2

(cherry picked from commit 39ed39900e)
2022-08-24 18:26:14 +02:00
Marcin Nowak
90762b9660 [3.x] Backport panning strength parameters from 4.0 2022-08-23 23:27:51 +02:00
Haoyu Qiu
51fd1c27aa Fix String::word_wrap() for long words 2022-08-18 16:56:38 +08:00
Haoyu Qiu
e6dd71d227 Fix action name completion for Input.get_{axis,vector} 2022-08-15 23:44:11 +08:00
Francois Belair
d331e5c7ac Fix binary internal cache not being filled 2022-08-14 12:30:59 -04:00
Haoyu Qiu
2d93718cd2 Add clear method to pool arrays 2022-08-10 17:31:29 +08:00
Rémi Verschelde
8cec1c63c2
Merge pull request #63629 from dsnopek/fix-locale-remap-with-binary-resources-3.x
[3.x] Fix locale resource remapping with binary conversion on export
2022-08-08 20:03:56 +02:00
David Snopek
0cf4ba0d84 Fix locale resource remapping with binary conversion on export 2022-08-08 09:38:39 -05:00
Rémi Verschelde
6eee83579a
Merge pull request #64101 from timothyqiu/subsecond 2022-08-08 16:31:49 +02:00
Rémi Verschelde
7dc8ec0c61
Merge pull request #63643 from aaronfranke/3.x-mouse-mode-ch 2022-08-08 14:36:45 +02:00
Haoyu Qiu
1be078ebcb Fix Time.get_unix_time_from_system() not including msecs 2022-08-08 20:31:51 +08:00
Fabio Alessandrelli
ee5eb943f7 [File] Fix FileAccessCompressed::get_buffer return value.
It used to return the write index instead of the written bytes (i.e.
index + 1) when reading until last block.

(cherry picked from commit e8f7b79bb0)
2022-08-08 09:50:41 +02:00
Rémi Verschelde
0bed7ea63f
Merge pull request #61316 from bruvzg/tts_3x
[3.x] Backport text-to-speech support.
2022-08-05 23:45:51 +02:00
Rémi Verschelde
0dccbcd7ce
Merge pull request #61878 from bruvzg/backport_locale_select
[3.x] Backport locale selection improvements.
2022-08-05 23:45:17 +02:00
Rémi Verschelde
14c9325b5d
Merge pull request #62408 from Razoric480/raz/fix-no-cache
[3.x] Fix nested resources being cached if no-cache argument used
2022-08-05 23:43:54 +02:00
Rémi Verschelde
daa5b542b4
Merge pull request #56765 from madmiraal/fix-45592-2-3.x
[3.x] Fix mouse speed not changing fast enough
2022-08-05 22:37:44 +02:00
Rémi Verschelde
26762a71b6
Merge pull request #58537 from winterpixelgames/feature/virtual-keyboard-types-3.x 2022-08-05 19:37:13 +02:00
Fabio Alessandrelli
4e33610fb0 [Core] Use std type traits to check operations triviality.
(cherry picked from commit 6f02183f8c)
2022-08-04 15:20:28 +02:00
Rémi Verschelde
751b16a285 File: Re-add support to skip CR (\r) in File::get_as_text
This was removed in #63481, and we confirmed that it's better like this,
but we add back the possibility to strip CR as an option, to optionally
restore the previous behavior.

For performance this is done directly in `String::parse_utf8`.

Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR.

Supersedes #63717.

(cherry picked from commit 1418f97c70)
2022-08-01 00:40:55 +02:00
David Snopek
5eaf83f2d7 Add error messages and docs to explain restrictions when calling NetworkedMultiplayerCustom.initialize() 2022-07-29 13:51:44 -05:00
Aaron Franke
0d6e2d1090
Add MOUSE_MODE_CONFINED_HIDDEN to MouseMode enum 2022-07-29 13:46:04 -05:00
David Snopek
738e76b710 Add error messages and docs to explain allowed transitions in NetworkedMultiplayerCustom.set_connection_status() 2022-07-29 09:02:53 -05:00
pattlebass
fb7ecc748f [3.x] HTML5: Add support for Input.vibrate_handheld() 2022-07-28 13:20:05 +03:00
Rémi Verschelde
6c8d9b8401
Merge pull request #63480 from m4gr3d/fix_remaining_scoped_storage_regressions_3x
[3.x] Address remaining scoped storage regressions
2022-07-26 18:15:14 +02:00
Fredia Huya-Kouadio
fc2c202312 Address remaining scoped storage regressions
- Accelerate common path used to check the storage scope for a given path
- Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
2022-07-26 07:42:49 -07:00
Ricardo Buring
90725964a4 Fixup BVH debugging statements 2022-07-25 18:35:14 +02:00
Rémi Verschelde
818f1eed31 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
Rémi Verschelde
c8099e9524
Merge pull request #63223 from m4gr3d/fix_slow_copy_3x
[3.x] Address slow copy performance when using the `FileAccessFilesystemJAndroid` implementation
2022-07-22 00:21:59 +02:00
Fredia Huya-Kouadio
aab26ad7d2 Address slow copy performance when using the FileAccessFilesystemJAndroid implementation.
Read/write ops for this implementation are done through the java layer via jni, and so for good performance, it's key to avoid numerous repeated small read/write ops due the jni overhead.

The alternative is to allocate a (conversatively-sized) large buffer to reduce the number of read/write ops over the jni boundary.
2022-07-21 08:21:12 -07:00
Rémi Verschelde
4ef99b409d
Merge pull request #63163 from dsnopek/multiplayer-peer-custom-3.x 2022-07-20 22:41:15 +02:00
fabriceci
43e9816fb1 Fix the calculation of the angular velocity when the rotation speed is not high.
(cherry picked from commit db7c91e0ad)
2022-07-19 17:16:21 +02:00
Pedro J. Estébanez
4e1f30390d Use the right memory ordering in SafeNumeric operations
(cherry picked from commit 02a584d8e6)
2022-07-19 17:10:26 +02:00
David Snopek
8ad5889c1a Add NetworkedMultiplayerCustom so high-level multiplayer backends can be added from GDScript 2022-07-19 09:16:41 -05:00
Aaron Franke
f60cc50667
[3.x] Add forwards-compatible aliases for pool/packed arrays 2022-07-18 12:37:15 -05:00
Kirill Diduk
910c67b268 [GDNative] Expose String::join() to GDNative Core API v1.3 2022-07-16 16:31:32 +02:00
Kirill Diduk
2cd87ef226 [GDNative] Refactoring: add const to has and join methods of pooled arrays 2022-07-16 14:08:42 +02:00
Rémi Verschelde
101cbe5d5b
Merge pull request #62723 from hansemro/eraser-detect-3.x 2022-07-15 00:13:15 +02:00
Francois Belair
2ceb93bbef Fix custom res caching sub-res even if no-cache
Fixes #59686, fixes #59752
2022-07-13 11:18:26 -04:00
Kirill Diduk
7b8b91f505 [GDScript][GDNative] Add 'sort' and 'has' methods to pooled arrays
This is a backport from 4.0 to 3.x that adds 'sort' and 'has' methods
to the following types:
- PoolByteArray
- PoolIntArray
- PoolRealArray
- PoolStringArray
- PoolVector2Array
- PoolVector3Array
- PoolColorArray

For all the types above, the methods 'sort' and 'has' have been
exposed to the GDNative API (v. 1.3)

Since the method 'has' was already implemented in GDScript before,
in this commit it has been only exposed to GDNative API.

The classes documentation is updated.

The method 'sort' uses the exisging class "Sorter".

Pooled arrays in 4.0 are rewritten, that's why this backport is not
completely indentical to the original PR made for 4.0 (see #32144).
2022-07-07 23:24:31 +02:00
Brian Semrau
ce24b48e50 Add support for multiple virtual keyboard types 2022-07-07 14:22:28 -04:00
Rémi Verschelde
be85923dc5
Merge pull request #54083 from Rubonnek/add_bin_messages_3x 2022-07-05 23:04:15 +02:00
Wilson E. Alvarez
a97a016381
Add error messages to String::bin_to_int64, and accept capital B in prefix
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-07-05 11:59:21 -04:00
Wilson E. Alvarez
f12a1b6214
Add error messages String::hex_to_int functions, and accept capital X in prefix
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-07-05 10:16:55 -04:00
Hansem Ro
193d5c11f3 [3.x, macOS, Windows, X11] Add stylus inverted/eraser support to InputEventMouseMotion event 2022-07-04 16:12:11 -07:00
bruvzg
a8eb779ac3
Backport locale selection improvements. 2022-07-04 11:49:20 +03:00
Estelle Linkpy Reid
7a2d3b04a5 Corrected InputEventKey::as_text to return a non-empty string for physical keys. 2022-07-02 15:34:15 +02:00
bruvzg
6489fe890e
Backport text-to-speech support. 2022-07-01 11:04:50 +03:00
Rémi Verschelde
a7559fcb6e Errors: Fallback to fprintf if OS singleton doesn't exist
Otherwise we would crash if something prints an error before init or
after destruction of the `OS` singleton which handles printing/logging.

(cherry picked from commit c83084fccb)
2022-06-30 19:23:02 +02:00
Rémi Verschelde
d74ff8dd93
Merge pull request #62440 from timothyqiu/thread-func-base
[3.x] Check thread func in base scripts for argument info
2022-06-28 08:11:11 +02:00
Haoyu Qiu
f740b4f481 Check thread func in base scripts for argument info 2022-06-27 11:24:04 +08:00
ne0fhyk
24e3b3b88d Add full support for Android scoped storage.
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer.
This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
2022-06-26 16:53:02 -07:00
Marcel Admiraal
b8b7c21583 Ensure AudioFrame variables l and r are always initialised
(cherry picked from commit d3f0994572)
2022-06-20 14:58:57 +02:00
Rémi Verschelde
acd4a01b8c ProjectSettings: Ensure 'editor/' settings aren't nested
Having a mix of settings with and without subcategory makes the 'Editor'
section stand out with a weird UX, as instead of simply being a foldable
section like the others, it also holds its own top-level settings and is
therefore selectable.

This wasn't the case in 3.4, and is fixed in 4.0 by refactoring, so for
3.5 we should preserve the 3.4 UX, even if it's not the best.
2022-06-19 11:47:19 +02:00
Theraot
6007d7f0ed Added missing p_bidirectional to AStar2D methods
The methods disconnect_points and are_points_connected  now have an optional p_bidirectional parameter matching AStar.

(cherry picked from commit 3590cdfd34)
2022-06-16 20:49:01 +02:00
Yuri Rubinsky
d525d902c1 Fix wrapf to correct wrap values with 0.1 stepping
(cherry picked from commit 09418afbc0)
2022-06-16 10:10:48 +02:00
smix8
8bd7c6188b [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
2022-06-14 05:55:14 +02:00
bruvzg
11a7997a67 [Windows, 3.x] Add support for handling network share paths. 2022-06-13 09:24:35 +03:00
FireForge
53c01540d9 Make Input mouse_mode and use_accumulated_input properties
Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2022-06-10 17:33:12 +08:00
kobewi
460fd7c03b Add Dictionary.merge()
(cherry picked from commit a0915e6dee)
2022-06-09 11:58:48 +02:00
sps1112
ede6ce9847 Bind vararg method flag in core constants
(cherry picked from commit 1f361b0367)
2022-06-09 10:55:17 +02:00
Rémi Verschelde
80b82e4e66 i18n: Misc fixes translation strings
Adds some translator comments to solve some questions raised on Weblate.
2022-06-08 12:56:42 +02:00
lawnjelly
1d870403b2 Optimized Mesh Merging
Changes from PoolVector to LocalVector and pre-reserving vectors rather than push_back.
2022-06-07 20:16:51 +01:00
lawnjelly
ba74643594 Force unsigned behaviour for bitfield enums
Some compilers (notably MSVC) were using signed values for bitfield enums. This was causing problems where 2 bits were used to store 4 or less enum values, where they were being treated as negative numbers.

This PR explicitly requests these enums to be treated as unsigned values.
2022-06-06 16:58:21 +01:00
Aaron Franke
0470392930
[3.x] Improve architectures in OS::has_feature and make it work on MSVC 2022-06-05 23:16:13 -05:00
Haoyu Qiu
1a7e3b3ab6 Fix String.http_escape on Windows 2022-06-03 13:41:45 +08:00
Univeous
e514cd71b1 fix get_meta() with defalt value 2022-05-24 20:23:08 +08:00
Hugo Locurcio
61278499aa Tweak 64-bit integer overflow message to mention that it's a signed type
(cherry picked from commit 7b5bf3af19)
2022-05-22 19:43:56 +02:00
Haoyu Qiu
b657d0c76c Add dedicated macros for property name extraction
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NOEDITOR
2022-05-19 11:31:35 +08:00
Haoyu Qiu
b611b4cddc Create onready variables when dropping nodes and holding Ctrl 2022-05-17 11:52:17 +08:00
Hugo Locurcio
e19f8fcbdc Improve error messages when creating Images from code
The rationale behind the expected number of bytes is now displayed
in clear (width, height, format, number of mipmaps expected if any).

(cherry picked from commit 18e9e6a81a)
2022-05-16 21:12:21 +02:00
kobewi
621cb8c52f Move Display settings higher in the list
(cherry picked from commit 739242dd04)
2022-05-16 17:14:43 +02:00