589 Commits

Author SHA1 Message Date
16f6a5b139 One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:32:59 +01:00
52e25bc555 Fix exporting big templates
(cherry picked from commit 86fa3ba560)
2022-12-05 10:05:13 +08:00
c7d9c3b21f Fix uninitialized data reads in Input
Found by Valgrind.

(cherry picked from commit d60eae3dbc)
2022-09-09 14:35:08 +02:00
293c3844b3 Fix action name completion for Input.get_{axis,vector}
(cherry picked from commit e6dd71d227)
2022-09-01 11:09:02 +02:00
e1e03297f1 Additional fixes to the Android get_current_dir() implementation.
(cherry picked from commit 9910d4681d)
2022-09-01 11:05:27 +02:00
1ea8b9d2b7 Fix Time.get_unix_time_from_system() not including msecs
(cherry picked from commit 1be078ebcb)
2022-08-08 16:32:16 +02:00
4e33610fb0 [Core] Use std type traits to check operations triviality.
(cherry picked from commit 6f02183f8c)
2022-08-04 15:20:28 +02:00
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
fb7ecc748f [3.x] HTML5: Add support for Input.vibrate_handheld() 2022-07-28 13:20:05 +03:00
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
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
101cbe5d5b Merge pull request #62723 from hansemro/eraser-detect-3.x 2022-07-15 00:13:15 +02:00
193d5c11f3 [3.x, macOS, Windows, X11] Add stylus inverted/eraser support to InputEventMouseMotion event 2022-07-04 16:12:11 -07:00
7a2d3b04a5 Corrected InputEventKey::as_text to return a non-empty string for physical keys. 2022-07-02 15:34:15 +02:00
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
11a7997a67 [Windows, 3.x] Add support for handling network share paths. 2022-06-13 09:24:35 +03:00
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
0470392930 [3.x] Improve architectures in OS::has_feature and make it work on MSVC 2022-06-05 23:16:13 -05:00
5cedb395dc Fix inconsistent naming in Time
(cherry picked from commit 8409d92282)
2022-05-16 15:58:36 +02:00
53fb0440d3 Add OS::is_process_running function.
Adds the is_process_running function to the native OS class and exposes it to script.

This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.

Documentation is updated to reflect new API function.

(cherry picked from commit f3c1232c59)
2022-05-05 15:02:46 +02:00
df7fab51a3 Physics Interpolation - Flush transforms after physics tick
Leftover transforms from the physics tick were being flushed during idle, which was causing problems for physics interpolation.

This PR flushes the transforms at the end of the physics tick when physics interpolation is active.
2022-05-04 20:30:46 +01:00
d8e702b010 Merge pull request #60552 from madmiraal/implement-3466-3.x
[3.x] Add a method for obtaining display cutouts on Android
2022-05-02 07:58:05 +02:00
bea7c9be5d [3.x] Improve embedded PCK loading and exporting. 2022-04-28 11:11:48 +03:00
6aac042faa Proper validation of negative values in datetime strings and datetime dicts
(cherry picked from commit cf9fc0b936)
2022-04-27 12:22:49 +02:00
fd329d19e8 Quick fix: Crash when parsing invalid datetime string #60189
(cherry picked from commit 2b8eb126b4)
2022-04-27 12:22:26 +02:00
d088128b43 Remove duplicate editor settings definitions 2022-04-27 15:26:46 +08:00
7749346f48 Use ThreadWorkPool instead of thread_process_array in NavMap
Port ThreadWorkPool to 3.x
2022-04-26 09:18:46 -04:00
ec2270b88f Add a method for obtaining display cutouts on Android 2022-04-26 13:52:33 +02:00
b6968ab060 validate input in Time.get_datetime_string_from_dict()
format fix

better fix to handle ERR_FAIL_COND_V_MSG return data type

(cherry picked from commit 7e35af3dc3)
2022-04-14 21:38:27 +02:00
c69689ab5a fix unable to change directory in user access mode 2022-04-03 11:22:01 -04:00
3c0d32562b Merge pull request #59606 from m4gr3d/fix_low_processor_mode_3x
[3.x] Fix flickering issues with low processor mode on Android
2022-03-29 22:51:32 +02:00
8ca32d1727 Fix flickering issues with low processor mode on Android 2022-03-29 12:17:25 -07:00
50ba2d3051 Fix crash when exporting projects with shared libraries
(cherry picked from commit 680bcef825)
2022-03-28 23:48:03 +02:00
9e44fb166d Merge pull request #59344 from madmiraal/fix-57943-3.x
[3.x] Ensure minimum modifiers are pressed when matching actions
2022-03-20 11:27:20 +01:00
88c723c33c Ensure minimum modifiers are pressed when matching actions 2022-03-20 08:08:40 +00:00
8db39b82ea Include platform_config.h in thread.cpp and thread.h
(cherry picked from commit 6c6291b84f)
2022-03-17 13:03:52 +01:00
2ff0735329 Added primary clipboard for Linux 2022-03-14 15:28:36 +01:00
3040285b27 Add offset string from minutes conversion method to Time singleton
(cherry picked from commit 55aabb8b06)
2022-03-12 14:44:23 +01:00
cec7c908ca Add get_screen_refresh_rate() to OS
This method can be used to get the refresh rate of a given screen.
It is supported on Windows, macOS, Linux, Android and iOS (but not
HTML5).
2022-03-10 22:10:48 +01:00
7f9e974a8b Add an OS.get_processor_name() method
This method can be used to get the CPU model name.
It can be used in conjunction with
`VisualServer.get_video_adapter_name()` and
`VisualServer.get_video_adapter_vendor()` for annotating benchmarks
and automatic graphics quality configuration.
2022-02-16 18:39:02 +01:00
689f59dca0 Merge pull request #53463 from lawnjelly/vital_redraws
Add editor vital redraws only option
2022-02-04 21:42:49 +01:00
98ed117613 Merge pull request #54174 from nathanfranke/3.x-fix-exact-match 2022-02-02 23:25:08 +01:00
a0c6d16c90 Add editor vital redraws only option
When editor continuous redraws is switched off, the editor only redraws when a redraw_request was issued by an element in the scene. This works well in most situations, but when scenes have dynamic content they will continuously issue redraw_requests.

This can be fine on high power desktops but can be an annoyance on lower power machines.

This PR splits redraw requests into high and low priority requests, defaulting to high priority. Requests due to e.g. shaders using TIME are assigned low priority.

An extra editor setting is used to record the user preference and an extra option is added to the editor spinner menu, to allow the user to select between 3 modes:

* Continuous
* Update all changes
* Update vital changes
2022-02-02 11:26:45 +00:00
76297e744d Add OS.has_clipboard() to check clipboard content 2022-01-19 20:19:06 +08:00
879244c54e Merge pull request #56015 from bruvzg/phy_code_conv 2022-01-16 11:36:26 +01:00
2232168ede [3.x] Fix action exact match 2022-01-13 22:29:18 -06:00
a627cdafc5 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
6eac65d4fe Add joystick button index boundary check. Increase max. button number to 128 (max. buttons supported by DirectInput).
(cherry picked from commit 61ea8f8337)
2022-01-12 17:28:07 +01:00
8a192cd0ab Merge pull request #55987 from bruvzg/wt🤎3 2022-01-10 16:43:56 +01:00
6f81a8ee2c Fix multiple missing UTF-8 decoding.
(cherry picked from commit c69e0d16bc)
2022-01-06 21:44:40 +01:00