Commit Graph

3789 Commits

Author SHA1 Message Date
badcfa2523 Expose OS.read_string_from_stdin() to the scripting API
This can be used in scripts to read user input in a blocking manner.

This also removes the unused `block` argument, which is always `true`.
2023-01-16 11:39:53 +01:00
aa8d6c5633 Fix get_path() is not working when files are opend with open_compressed
And also fixed `get_absolute_path()` in the same way

(cherry picked from commit ea11ffc88c)
2023-01-11 14:34:51 +01:00
1426cd3b3a 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:26:54 +01:00
111de09c03 Merge pull request #71103 from AThousandShips/array_find_fix_3_x
[3.x] Fix for comparisons with PoolArrays
2023-01-09 14:19:18 +01:00
f26069e94d Fix for PoolArray comparison 2023-01-09 10:24:08 +01:00
be3017114f Silence Input.vibrate_handheld() warning as it's already documented
The warning causes messages to be spammed if you are calling this
method in a game that runs on both desktop and mobile platforms,
unless you guard all calls to `Input.vibrate_handheld()` with
`OS.has_feature("mobile") or OS.has_feature("web")`.

Since the limitation is already documented (and is obvious enough
given the method's name), the warning message is redundant.

(cherry picked from commit 4a991887bf)
2022-12-18 10:32:04 +08:00
9499ebecee Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
(cherry picked from commit 5553e27fe8)
2022-12-18 10:32:04 +08:00
5d5f0a3958 Merge pull request #69963 from lawnjelly/variant_parser_optional_readahead_3
VariantParser make readahead optional [3.x]
2022-12-12 19:02:17 +01:00
776c9d0579 VariantParser make readahead optional
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.

This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-12 15:44:39 +00:00
b0b759e6da SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
  Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
  outside thirdparty code, which we usually don't intend to debug, so it
  seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
  and `release_debug` targets. This used to be set for `release` for all
  platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
  code, which was only implemented for Unix anyway, should have been
  `DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
  target as we don't want OIDN and Embree asserting all over the place.

(cherry picked from commit 26e9145c26)
2022-12-12 14:49:21 +01:00
c404cc0e58 Revert "RID: Change comparison operators to use RID_Data id instead of address" 2022-12-12 09:10:37 +01:00
0873cf0656 Keep a single, portable implementation of OS::get_processor_count()
(cherry picked from commit 6bf02c0162)
2022-12-12 14:47:37 +08:00
0754c7ee1a Fix InputEventAction's is_action method ignoring exact_match parameter
(cherry picked from commit 38b51942d6)
2022-12-12 14:44:20 +08:00
0cd3db459d Merge pull request #65079 from lawnjelly/faster_variant_parser
Add readahead to VariantParser
2022-12-05 00:13:52 +01:00
2ef0052113 Fix array-bounds warning in BVH
Provides a workaround to prevent tripping a compiler warning.

(cherry picked from commit 91d252c697)
2022-12-04 20:00:08 +08:00
7284230ebe Fix MIDI note-on events being converted to note-off events
Update documentation with note about MIDI velocity interpretation

(cherry picked from commit f0f72b3132)
2022-11-30 15:36:03 +01:00
9a340a2868 Project Manager: Fix hacky code for project rename
Instantiating a new ProjectSettings is *not* the way to go.
ConfigFile works just fine to read/change a single value.

Fixes memory leaks as the instantiated ProjectSettings was never freed.
Forbid doing this to prevent such problems.

Fixes #25661.

(cherry picked from commit f21f75eb6f)
2022-11-30 15:34:27 +01:00
d7f6cc26d2 Fix Image::bump_map_to_normal_map incorrectly keeping mipmap flag
(cherry picked from commit 1fa8b3dd42)
2022-11-30 15:34:27 +01:00
e359ba3733 Fix exporting big templates
(cherry picked from commit 86fa3ba560)
2022-11-30 15:34:26 +01:00
29d4d4105e Add readahead to VariantParser
Adds a readahead buffer to VariantParser, to prevent large numbers of freads for single bytes, which is inefficient.
2022-11-24 15:58:23 +00:00
4769aa4499 Merge pull request #64564 from timothyqiu/word-wrap-3.x
[3.x] Fix `String::word_wrap()` for long words
2022-11-24 16:06:52 +01:00
08a6aab661 Merge pull request #68735 from dzil123/v3_pckpacker_error_spam
[3.x] Fix PCKPacker error spam
2022-11-19 00:43:22 +01:00
b3812750da [3.x] PCKPacker Fix error spam 2022-11-16 06:52:47 -08:00
eb5b297fef add ability to pick random value from array
(cherry picked from commit 9f4dbf415d)

Co-authored-by: BleedingXiko <66162192+BleedingXiko@users.noreply.github.com>
2022-11-14 19:11:41 +01:00
64635af7ff Merge pull request #67360 from jordo/PR-expose-property-hints
expose additional global enums in 3.x which are available in master
2022-10-31 12:25:04 +01:00
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
987723b386 [iOS] Fix build with warnings=extra. 2022-10-31 11:59:31 +02:00
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
dc5226ecfd expose additional global enums in 3.x which are available in master 2022-10-14 09:33:24 -06:00
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
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
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
f9b91d8d24 Style: Ensure consistent formatting with clang-format 15 2022-09-21 13:23:17 +02:00
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
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
2aee09c6bc Merge pull request #65428 from lawnjelly/input_uninit 2022-09-09 14:28:06 +02:00
93943bc1b9 Prevent HTTPRequest from polling invalid client
(cherry picked from commit 9e284f68ec)
2022-09-09 14:17:24 +02:00
7ed2b09bc0 Fix parsing of XML CDATA and add test cases 2022-09-09 10:16:36 +08:00
d60eae3dbc Fix uninitialized data reads in Input
Found by Valgrind.
2022-09-06 14:21:01 +01:00
fdbef1c074 Add Dictionary.find_key() 2022-09-05 16:08:41 +02:00
b38ac3f09f Merge pull request #55618 from madmiraal/fix-55384-3.x 2022-09-01 23:58:12 +02:00
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
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
9910d4681d Additional fixes to the Android get_current_dir() implementation. 2022-08-30 10:08:30 -07:00
29e235b341 Add FileAccess::get_access_type()
(cherry picked from commit 8c6b2fbb90)
2022-08-29 15:44:29 +02:00
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
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
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
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
e2dac6ecd9 Fix header guard in error_macros.h 2022-08-26 16:04:54 +01:00