Commit Graph

3587 Commits

Author SHA1 Message Date
7a16bb2ee4 Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
6d867b6d13 Make parser treat all exponent literals as float
(cherry picked from commit 1305ff92f7)
2022-02-11 09:50:58 +01:00
61cd26be28 Added hex and bin literal support to Expression parser
fixed formatting

(cherry picked from commit 018de19eba)
2022-02-11 09:50:58 +01:00
f50c7f7415 Core: Move generated VERSION_HASH to a .cpp file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.

(cherry picked from commit 90162851a7)
2022-02-10 13:06:56 +01:00
43dfafdfc9 Merge pull request #53296 from lawnjelly/project_settings_dirty_flag 2022-02-09 14:04:45 +01:00
f0af29346b ProjectSettings add dirty flag and project_settings_changed signal
Most frames there will be no change in project settings, and it makes no sense to read settings every frame in case of changes, as a large number of string compares are involved.

This PR adds a signal to ProjectSettings that can be subscribed to in order to keep local settings up to date with ProjectSettings.

In addition a function `ProjectSettings::has_changes()` is provided for objects outside the signal system (e.g. Rasterizers).
2022-02-09 11:20:25 +00:00
134aac5725 Fix Vector2 and Vector2i coord access via operator[] 2022-02-09 09:18:05 +01:00
ee979d321a Add fflush to error macros
CRASH_NOW and DEV_ASSERT macros would previously terminate before outputting any error messages.
This PR ensures calling fflush for stdout before terminating.
2022-02-05 12:38:57 +00:00
de47cb0c5b Fix PoolByteArray.decompress_dynamic return value and memleak 2022-02-05 15:14:23 +08:00
689f59dca0 Merge pull request #53463 from lawnjelly/vital_redraws
Add editor vital redraws only option
2022-02-04 21:42:49 +01:00
ae948d83b2 Merge pull request #57561 from lawnjelly/bvh_fix_leaf_leak 2022-02-03 09:57:01 +01:00
90bea27e82 BVH - fix leaking leaves
In the BVH leaf nodes are a combination of two objects - a node object, and a leaf object. Testing revealed that in some situations node objects could be freed without also freeing the paired leaf object. This closes this bug.
2022-02-03 08:05:57 +00: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
b6dbff7621 Merge pull request #57361 from lawnjelly/occ_poly_only 2022-02-01 14:04:24 +01:00
8ea20f5fdd Add OccluderShapePolygon
Add OccluderShapePolygon, glue to Occluder and gizmos etc.
2022-02-01 11:31:06 +00:00
aa3ef20fcb [Net] Simplify IP resolution code, fix caching.
First, we should not insert into cache if the hostname resolution has
failed (as it might be a temporary internet issue), second, the async
resolver should also properly insert into cache.

Took the chance to remove some duplicate code with critical section in
it at the cost of little performance when calling the blocking
resolve_hostname function.

(cherry picked from commit 49297d937c)
2022-01-31 22:54:25 +01:00
d3582685d2 Merge pull request #57159 from Pineapple/rid-set-data
[3.x] Use refval() instead of separate ref() and get() in RID_OwnerBase::_set_data()
2022-01-28 21:49:29 +01:00
822da984bb [Net] Fix get_response_body_length for large files.
Parsing was fixed, but not the return value for the exposed getter.

(cherry picked from commit 01e5e98312)
2022-01-25 18:23:04 +01:00
dd57c321bf Fix Array and Dictionary id() and dictionary test bug
(cherry picked from commit e2ed9d13eb)
2022-01-25 18:20:59 +01:00
7df2f31c27 Use refval() instead of separate ref() and get() 2022-01-24 21:36:25 +01:00
dc14636e68 BVH templated mask checks and generic NUM_TREES
Refactors the BVH to make it more generic and customizable. Instead of hard coding the system of pairable_mask and pairable_type into the BVH, this information is no longer stored internally, and instead the BVH uses callbacks both for determining whether pairs of objects can pair with each other, and for filtering cull / intersection tests.

In addition, instead of hard coding the number of trees, the BVH now supports up to 32 trees, and each object can supply a tree collision mask to determine which trees it can collide against.

This enables the BVH to scale to either the two or 3 trees needed in physics, and the single tree used without pairing in Godot 4 render tree.
2022-01-21 10:08:29 +00:00
adf14bfdde Add nodiscard to core math classes to catch c++ errors.
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 17:28:31 +00:00
a9b10054b8 Merge pull request #56950 from timothyqiu/has-clipboard-3.x 2022-01-20 12:09:53 +01:00
d76a26e086 Bump mbedTLS version to 2.28.0 (new LTS).
Keep applying the windows entropy patch (UWP support).
Remove no longer needed padlock patch.
Update thirdparty README to reflect changes, and new source inclusion
criteria.

(cherry picked from commit e375cbd094)
2022-01-19 14:03:03 +01:00
76297e744d Add OS.has_clipboard() to check clipboard content 2022-01-19 20:19:06 +08:00
c938104a88 Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
7f49e5beec Expose Image.COMPRESS_SOURCE_LAYERED to scripting 2022-01-17 20:43:05 +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
e1f96d5ee8 Fix crash on importing FBX file
(cherry picked from commit af67e4c291)
2022-01-12 17:28:07 +01:00
09884f17a3 Revert "Warn when using an AABB or Rect2 with a negative size"
This reverts commit d75e580765.

Fixes #56509.
2022-01-12 17:28:03 +01:00
8a192cd0ab Merge pull request #55987 from bruvzg/wt🤎3 2022-01-10 16:43:56 +01:00
edd9534f97 Merge pull request #53900 from ChronicallySerious/update-vcs-1 2022-01-10 12:18:57 +01:00
22750b1c03 Replace String::find_last with rfind where possible (backward compatible with old API) 2022-01-08 22:40:44 +01:00
47f0cf7460 Add type validations when setting basic type 2022-01-08 11:30:55 +09:00
b197de6f5f Fix typos with codespell
Using codespell 2.1.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
readded
seeked
statics
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2022-01-07 00:14:54 +01:00
6f81a8ee2c Fix multiple missing UTF-8 decoding.
(cherry picked from commit c69e0d16bc)
2022-01-06 21:44:40 +01:00
73f7d29c26 Merge pull request #56363 from Rubonnek/fix-to-int-32 2022-01-06 16:24:07 +01:00
5fa1961ee3 Merge pull request #56369 from Rubonnek/expose-string-join 2022-01-06 15:14:18 +01:00
e3292633be Fix http limitation for large "content-length"
When a request was issued to a server that returned "content-length" header
whose value was greater than that of an "int" we ran into overflow
problems. The fix for this was rather simple by increasing the data
type to `int64_t`

(cherry picked from commit 69a532414c)
2022-01-06 00:21:36 +01:00
c44de001de Merge pull request #56395 from aaronfranke/3.x-doc-midi
[3.x] Document InputEventMIDI and add some missing 0xF MIDI messages
2022-01-04 18:28:16 +01:00
3f0248dc8e Fix method validation in Thread 2022-01-04 14:48:16 +01:00
da88e42f16 [3.x] Document InputEventMIDI and add some missing 0xF MIDI messages 2022-01-04 05:30:15 -08:00
3df436a08e Map 64-bit versions of String.to_int and String.hex_to_int over to GDScript 2021-12-30 21:36:54 -05:00
d03b82cde7 Expose String::join over to GDScript 2021-12-30 21:27:18 -05:00
59085d5051 [Windows] Improve console handling and execute.
Always build with the GUI subsystem.
Redirect stdout and stderr output to the parent process console.
Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with non-blocking calls).
Add `open_console` argument to the `execute` to open a new console window (for both blocking and non-blocking calls).
Remove `interface/editor/hide_console_window` editor setting.
Remove `Toggle System Console` menu option.
Remove `set_console_visible` and `is_console_visible` functions.
2021-12-18 10:13:27 +02:00
d99a313fd3 Fix font preview text color on light background 2021-12-18 00:34:54 +08:00