Commit graph

32689 commits

Author SHA1 Message Date
Rémi Verschelde
6dbb67cc73
SCons: Make compilation database generation optional
Saves around 3 s on incremental rebuilds to have it disabled by default.
Can be enabled with `compiledb=yes`.

(cherry picked from commit f94df6fa2b)
2022-02-09 17:36:39 +01:00
Rémi Verschelde
ec12e24e18
SCons: Add fast_unsafe option for faster rebuilds
This reverts #53828 which had caused a significant drop in incremental
rebuild time for debug builds (from 10s to 23s on my laptop).

The "faster but unsafe" options are re-added, as well as adding
`max_drift=60` which we didn't use previously.

These options speed up SCons' own processing of the codebase to decide
what to build/rebuild (i.e. the first step before actually calling the
compiler). This will therefore not make much difference for scratch
builds, and is mostly useful for incremental rebuilds (including "null"
rebuilds with no change).

These options are enabled automatically for `debug` builds, unless
`fast_unsafe=no` is passed.
They are disabled by default for `release` and `release_debug` builds,
unless `fast_unsafe=yes` is passed.

(cherry picked from commit d4553c5126)
2022-02-09 17:35:55 +01:00
Rémi Verschelde
7244ea7e20
Merge pull request #57864 from nathanfranke/3/focus-exact-match 2022-02-09 17:33:22 +01:00
Nathan Franke
c27b05febb
use exact match when checking focus next / previous 2022-02-09 10:18:58 -06:00
Rémi Verschelde
6ea58db2d8
Merge pull request #57851 from vnen/gdscript-infer-type-on-release 2022-02-09 14:05:22 +01:00
Rémi Verschelde
43dfafdfc9
Merge pull request #53296 from lawnjelly/project_settings_dirty_flag 2022-02-09 14:04:45 +01:00
Rémi Verschelde
ae08afc43c
Merge pull request #32255 from lawnjelly/android-s3tc2 2022-02-09 13:42:28 +01:00
Rémi Verschelde
40e579a47f
Merge pull request #57844 from Pineapple/vector2-brackets-operator 2022-02-09 13:26:04 +01:00
George Marques
a3fe028809
GDScript: Infer variable types on release
Otherwise this creates an inconsistency between debug and release
builds, potentially leading to crashes.
2022-02-09 09:07:18 -03:00
lawnjelly
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
Rémi Verschelde
4ed2c8ee08
Merge pull request #57811 from timothyqiu/tree-button-id-3.x 2022-02-09 11:11:26 +01:00
Rémi Verschelde
f72753ca0c
Merge pull request #57604 from naithar/fix/godot-view-touch-3.x 2022-02-09 11:05:51 +01:00
lawnjelly
b15ad8e786 Fix for S3TC on Android and IOS devices
On some platforms, exporters are prevented from exporting S3TC textures. This causes problems if the .import file contains a reference to such a texture - the exported project will attempt to load the S3TC, fail, and probably crash.

This PR prevents this problem by faking lack of hardware support for S3TC on the affected platforms. This prevents the engine attempting to load the S3TC and avoids the problem.
2022-02-09 08:45:24 +00:00
Bartłomiej T. Listwon
134aac5725 Fix Vector2 and Vector2i coord access via operator[] 2022-02-09 09:18:05 +01:00
Rémi Verschelde
a47a71b87e
Merge pull request #57093 from Calinou/editor-help-references-use-code-font-3.x 2022-02-08 18:44:55 +01:00
Haoyu Qiu
a3f6033513 Improve TreeItem button API 2022-02-08 23:56:19 +08:00
Rémi Verschelde
7dc00ddae8
Merge pull request #57041 from fire-forge/fix-create-root-node-scrolling-3.x 2022-02-08 13:17:55 +01:00
Rémi Verschelde
69c15c7ab8
Merge pull request #57792 from timothyqiu/raycast-clear-except-3.x 2022-02-08 10:50:27 +01:00
Haoyu Qiu
74a4795fb1 Fix RayCast{,2D}.clear_exceptions clears parent 2022-02-08 16:22:10 +08:00
Rémi Verschelde
5379237177
Merge pull request #57771 from raulsntos/button_icon_alignment_3.x
[3.x] Added alignment options to icons on buttons. They can now be centered and right-aligned.
2022-02-07 22:44:11 +01:00
Raul Santos
1d3de163dc Add alignment options to icons on buttons.
They can now be centered and right-aligned.

Co-authored-by: jitspoe <jitspoe@yahoo.com>
2022-02-07 21:29:37 +01:00
Rémi Verschelde
8acdd0502d
Merge pull request #57737 from winterpixelgames/faster-script-class-get-parent 2022-02-07 18:28:36 +01:00
Rémi Verschelde
49c0c5d6b2
Merge pull request #57753 from Calinou/doc-csg-nodes-performance-3.x 2022-02-07 16:18:31 +01:00
Jason Knight
6f7cef601a Use ScriptServer::get_global_class_base instead of script_class_get_base in script_class_is_parent. 2022-02-07 07:36:59 -06:00
Hugo Locurcio
1b505ef8ca
Document performance limitations with CSG nodes, link to tutorial 2022-02-07 14:01:56 +01:00
Rémi Verschelde
a2ee2bdd90
Merge pull request #57485 from Faless/js/3.x_pwa_prefer_cache_pr 2022-02-07 13:21:27 +01:00
Rémi Verschelde
3358b18641
Merge pull request #57728 from kleonc/sprite_frames_editor_fix_loading_non_texture_crash_3x
[3.x] `SpriteFramesEditor` Fix crash when selecting non-`Texture` file for splitting
2022-02-07 08:01:01 +01:00
Rémi Verschelde
c590da0527
Merge pull request #57739 from raulsntos/fix-57503-3.x
[3.x] Attach mono thread before getting `nativeName` field
2022-02-07 07:58:29 +01:00
Raul Santos
eddb99b9be Attach mono thread before getting nativeName field
In order to access the `nativeName` constant field from a C# class, the
mono scope thread must be attached or the mono domain will be null.
2022-02-07 03:51:40 +01:00
kleonc
87b4db9e63 SpriteFramesEditor Fix crash when selecting non-Texture file for splitting 2022-02-06 23:39:26 +01:00
Fabio Alessandrelli
4c23a902c1 [HTML5] Implement JavaScript PWA update callbacks.
Allows detecting when a new version of the progressive web app service
worker is waiting (i.e. an update is pending), along a function to force
the update and reload all clients.
2022-02-06 18:33:13 +01:00
Fabio Alessandrelli
afdfe7c03b [HTML5] Improve editor progressive web app behavior.
Ensures early claim for aggressive caching.
Adds a button to update when it detects a new version asking
confirmation due to the necessary reload.
2022-02-06 18:33:13 +01:00
Fabio Alessandrelli
73f396572a [HTML5] PWA service worker prefers cached version.
Use an offline first approach, where we prefer the cached version over
the network one.
This forces games using PWA to always re-export the project and not just
the PCK, so that the service worker version gets updated correctly, and
the end-user cache is correctly cleared on update.
2022-02-06 18:33:13 +01:00
Rémi Verschelde
be50fe7243
Merge pull request #57705 from jeremyz/poly_source_id 2022-02-06 13:44:15 +01:00
Jérémy Zurcher
f9fdd526d5 fix portal_occlusion_culler compilation with target=debug tools=no 2022-02-06 13:22:33 +01:00
Rémi Verschelde
e898f93129
Merge pull request #57387 from madmiraal/update-mouse-pointer-definitions-3.x
[3.x] Update definitions of get_mouse_position methods
2022-02-06 11:40:25 +01:00
Rémi Verschelde
002e705367
Merge pull request #57688 from The-O-King/ios_half_float_fix
Re-fix Disabling Half Floats on iOS
2022-02-06 11:11:06 +01:00
Marcel Admiraal
a4f0e02798 Update definitions of get_mouse_position methods 2022-02-06 09:32:46 +00:00
Omar El Sheikh
bf5b2f48e6 Re-fix Disabling Half Floats on iOS
A previous change missed setting a flag that specified whether half
floats were being used on vertex positions when in the GLES2 driver

This caused errors with the vertex buffer when platforms (specifically
iOS) which do not properly support half float vertex attributes on
GLES2, try to remapt the vertex buffer to stop using half floats
(in this case that remapping never happened and caused artifacts)

Re-enable setting that flag to fix rendering issues on these platforms
2022-02-05 21:06:09 -05:00
Rémi Verschelde
a086a61aef
Merge pull request #57659 from lawnjelly/error_macros_flush_3
[3.x] Add fflush to error macros
2022-02-05 14:42:22 +01:00
lawnjelly
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
Rémi Verschelde
98133deb97
Merge pull request #57652 from timothyqiu/decompress-dynamic
[3.x] Fix `PoolByteArray.decompress_dynamic` return value and memleak
2022-02-05 10:17:34 +01:00
Haoyu Qiu
de47cb0c5b Fix PoolByteArray.decompress_dynamic return value and memleak 2022-02-05 15:14:23 +08:00
Rémi Verschelde
689f59dca0
Merge pull request #53463 from lawnjelly/vital_redraws
Add editor vital redraws only option
2022-02-04 21:42:49 +01:00
Michael Alexsander
f63bea9ef2 Make popup menus focus items automatically when not using the mouse 2022-02-04 17:20:26 -03:00
Rémi Verschelde
a5ae566017
Merge pull request #57551 from lawnjelly/portals_improve_merging 2022-02-04 11:21:29 +01:00
lawnjelly
10eb9564ca Portals - Improve mesh merging
Some improvements to robustness to account for more properties.
Addition of an "allow merging" flag in the cull instance.
2022-02-04 08:40:46 +00:00
Rémi Verschelde
7ca4eb478e
Merge pull request #57613 from timothyqiu/viewport-preview
[3.x] Revert "Fix ViewportPreview upside-down in 3.x."
2022-02-04 08:17:41 +01:00
Haoyu Qiu
aeb9925615 Revert "Fix ViewportPreview upside-down in 3.x."
This reverts commit 1426df66a8.
2022-02-04 13:54:47 +08:00
Fabio Alessandrelli
4a52016aa9
Revert "[HTML5] Better engine config parsing."
This reverts commit 2f509f1b12.

Breaks closure compiler builds.
And adds a warning for future readers.

(cherry picked from commit 6d3d17651a)
2022-02-04 00:16:15 +01:00