Commit Graph

32741 Commits

Author SHA1 Message Date
Rémi Verschelde 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
Aaron Franke a672f0db17
[3.x] Fix CanvasItemEditor scale editor not using the editor methods 2022-02-10 04:04:53 -06:00
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