Commit Graph

29119 Commits

Author SHA1 Message Date
Rémi Verschelde f3c030aa47 SCons: Add `production=yes` option to use production defaults
This is meant for users making custom builds to match the options used on
optimized, official builds.

This enables, on the platforms which support them:
- `use_static_cpp=yes` (portable binaries for Linux and Windows)
- `use_lto=yes` (link time optimizations - note: requires a lot of RAM!)
- `debug_symbols=no` (no debug symbols, smaller binaries)

Also abort when using MSVC with `production=yes`, as:
- It cannot optimize the GDScript VM like GCC or Clang do, leading to
  significant performance drops.
- Its LTO support is unreliable, at least used to trigger crashes last
  we tried it extensively.

All options can still be overridden if specified, and the `dev=yes` option
was changed to also support overrides.

(cherry picked from commit db26871210)
2021-02-05 09:26:09 +01:00
Tom Langwaldt 67d80e6f73 Fix swapped front/rear view
(cherry picked from commit f995d6cd17)
2021-02-05 09:26:09 +01:00
Rémi Verschelde 0c45011779 Main: Load translations and remaps before scene types
This ensures that settings like `gui/theme/custom_font` handle resource
remappings properly, as they load resources in `register_scene_types()`.

Path remaps used to be done before loading scene types in early Godot
versions (as hinted by the "Load Remaps" comment just before "Load Scene
Types") but this was broken when developing new localization features.

Fixes #17640.

(cherry picked from commit bb5dcb6892)
2021-02-05 09:26:09 +01:00
Pedro J. Estébanez ae215451fc Make audio bus channels' peak volume consistent
Channels that are inactive -or when playback has not started yet- will report -200 dB as their peak value (which is also the lowest value possible during playback).

(cherry picked from commit a2b3a73e2d)
2021-02-05 09:26:09 +01:00
Rémi Verschelde f9bf6fc3f3
Merge pull request #45706 from Faless/js/3.x_editor_preload
[3.2] [HTML5] Better editor persistent folders, automatically open zip import popup
2021-02-04 14:54:04 +01:00
Rémi Verschelde f42f6ed01c
Merge pull request #45702 from hpvb/fix-tga-crash-32
[3.2] Fix a crash in the TGA loader with malformed input
2021-02-04 14:47:37 +01:00
Hein-Pieter van Braam-Stewart 113b5ab1c4 Fix a crash in the TGA loader with malformed input 2021-02-04 13:10:03 +01:00
Rémi Verschelde 142a53f7ae
Merge pull request #45695 from themindoverall/fix-gles2-3d-transform-uniform-binding
[3.2] [GLES2] Fix binding 3D Transforms to mat4 uniforms
2021-02-04 10:33:39 +01:00
Chris Serino 335498df6d [GLES2] Fix binding 3D Transforms to mat4 uniforms 2021-02-03 17:36:21 -06:00
Rémi Verschelde cdb5ac52f5
Merge pull request #45685 from naithar/feature/extend-plugin-params
[3.2] [iOS] Additional 'linker_flags' plugin parameter
2021-02-03 18:37:47 +01:00
Rémi Verschelde 92859d7b2b
Merge pull request #45693 from naithar/feature/ios-loading_screen-3.2
[3.2] [iOS] Native loading screen implementation
2021-02-03 18:37:06 +01:00
Sergey Minakov fdec8d726d iOS: Use storyboard as loading screen
If 'Launch Screen' storyboard is present it will be used as loading screen.
2021-02-03 20:01:05 +03:00
Fabio Alessandrelli 2668ca7a8c [HTML5] Make home path persistent in editor.
We used to only persist specific sub-folder of /home/web_user/ when
running the Web Editor. This resulted in bad UX about default project
creation path etc.
This PR makes the whole folder persistent, move the zip preloading to a
different folder (to avoid persisting it), and automatically prompt the
user to import it if present.
2021-02-03 17:18:28 +01:00
Fabio Alessandrelli 3629617d36 Import zip via drag and drop in project manager.
Dropping a single ZIP file in the project manager will now prompt the
import dialog.
2021-02-03 17:16:38 +01:00
Rémi Verschelde c0d0b9e33e
Merge pull request #45684 from samdze/add-atom-checks
[3.2] Added atom checks to X11 XChangeProperty and XGetWindowProperty
2021-02-03 17:12:31 +01:00
Sergey Minakov 309835b917 [iOS] Additional 'linker_flags' plugin parameter 2021-02-03 18:22:17 +03:00
lawnjelly cb8134f371 Optimize transform propagation for hidden objects
When visual instances are hidden, there is no need to update their global transforms and send these to the visual server. This only needs to be done when the objects are reshown.
2021-02-03 15:16:47 +00:00
Samuele Zolfanelli 36635c8357 Added atom checks to x11 XChangeProperty and XGetWindowProperty 2021-02-03 16:08:37 +01:00
Rémi Verschelde 30fd2f171d
Merge pull request #45497 from Chaosus/fix_particles_3.2
[3.2] Fix particles not properly updated by their lifetime
2021-02-03 15:51:14 +01:00
Rémi Verschelde b1c7078551
Merge pull request #45671 from Faless/js/3.x_canvas_id_fix
[3.2] [HTML5] Fix mouse_mode and fullscreen detection.
2021-02-02 22:53:37 +01:00
Fabio Alessandrelli 08efe327b6 [HTML5] Fix mouse_mode and fullscreen detection.
The canvas_id is `#`-prefixed to work with emscripten as a CSS selector.
When comparing to an event target ID (e.g. when checking if the canvas
is fullscreen, or is locking the mouse) we need to skip the first char
(the hash).
2021-02-02 20:03:39 +01:00
Rémi Verschelde 3115ac4b60
Merge pull request #45663 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.4) - 19th batch
2021-02-02 19:19:31 +01:00
Rémi Verschelde 24cb60893f
Merge pull request #45654 from furrykef/3.2
Add anisotropic filtering to GLES2 backend
2021-02-02 18:12:52 +01:00
Rémi Verschelde 6ab03c4f9f
Merge pull request #45664 from naithar/fix/ios-plugin-initialization
[3.2] [iOS] Earlier plugin initialization
2021-02-02 17:30:26 +01:00
Rémi Verschelde 25bc4891d9
Merge pull request #40908 from Chaosus/vs_fix_preview_3.2
[3.2] Fix port previews for uniforms in visual shaders
2021-02-02 16:58:19 +01:00
Rémi Verschelde 5da6b55699
Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@dalexeev, @dsnopek, @HaSa1002

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit cb04457871)
2021-02-02 13:30:55 +01:00
Kanabenki 3941093cf6
Check default project and autoscan directories exist on project manager startup
(cherry picked from commit 58be3c069a)
2021-02-02 13:30:54 +01:00
Hugo Locurcio 67acdfcf02
Make the Open Project Folder button more visible in the project manager
This closes https://github.com/godotengine/godot-proposals/issues/619.

(cherry picked from commit 04cbfbe6b2)
2021-02-02 13:30:54 +01:00
Hugo Locurcio c344bf88c6
Fix incorrect version requirement in the SCons compilation DB comment
(cherry picked from commit 9479bfe5f5)
2021-02-02 13:30:54 +01:00
Rémi Verschelde 5506143522
Linux: Enable udev support by default
This has been enabled for years in official binaries, and users making custom builds
may end up not enabling it unknowingly, so it's best if we default to the same as
what official builds do.

The original reason for having it opt-in was likely the addition of a dependency on
libudev, but that should be fairly ubiquitous by now.

(cherry picked from commit e8b69fccbe)
2021-02-02 13:30:54 +01:00
Rémi Verschelde 43ab32ae7e
Linux: Build with use_static_cpp=yes by default for x86_64
This enables `-static-libgcc -static-libstdc++` which help make custom Linux
builds more portable (official builds have been using this option for years).

For some obscure reason Ubuntu 18.04 i386 crashes when using the option for
i386 builds, so let's play it safe and enable for x86_64 only for now.

(cherry picked from commit 1ebd66daff)
2021-02-02 13:30:54 +01:00
zaevi f94dffd2de
Fix C# string.Hash()
(cherry picked from commit baac70c27e)
2021-02-02 13:30:54 +01:00
Hugo Locurcio c10c6cfad9
Add viewport resolution to the 3D editor's View Information pane
(cherry picked from commit 85ed695836)
2021-02-02 13:30:54 +01:00
jfons 16bbe8ddf4
3D editor grid improvements
This commit adds a view-dependant fade to the 3D viewport grid. It fades out
at steep view angles to hide the solid regions that appear far from the camera.
I also included a fade to hide the grid borders.

I added some improvements to the dynamic grid when the camera is in orthogonal mode.
It properly handles zoom now, and the grid center is now set to the intersection point
between the grid plane and the camera forward ray, keeping the grid
always visible.

(cherry picked from commit 73e62dffb9)
2021-02-02 13:30:50 +01:00
zaevi 56535539d4
add search extensions for scons' path
(cherry picked from commit befbfecd4d)
2021-02-02 13:02:47 +01:00
Hugo Locurcio 238b8ded72
Create the temporary PCK export directory if it doesn't exist
This closes #45560.

(cherry picked from commit 42ef79b826)
2021-02-02 13:02:47 +01:00
James Westman 7ce1789597
docs: Add TreeItem method descriptions
(cherry picked from commit 2f5164d78c)
2021-02-02 13:02:46 +01:00
David Snopek 0eb6dfa04a
Remove reference to CanvasLayer in WebXR example, because it can cause rendering issues in AR.
(cherry picked from commit f6e8da3661)
2021-02-02 13:02:46 +01:00
Ivan Shakhov 7ecc2561cd
Fix off by one error navigating to line number in Rider
Fixes https://github.com/JetBrains/godot-support/issues/61

(cherry picked from commit deef9a73a5)
2021-02-02 13:02:46 +01:00
Hugo Locurcio 38a94ce2bc
Reference the control gallery image in the Control class documentation
Like the Tween cheatsheet or Color constants cheatsheet, this references
a "cheatsheet" image from the documentation repository.

(cherry picked from commit 200f1cf015)
2021-02-02 13:02:46 +01:00
Tomasz Chabora 04ce4e6abb
Disable active editors when node gets deselected
(cherry picked from commit 958d23968d)
2021-02-02 13:02:46 +01:00
kleonc 995388cf6f
Docs: Fix TileMap::map_to_world description
(cherry picked from commit e62ec6c6b1)
2021-02-02 13:02:46 +01:00
Yuri Roubinsky 8689c1178d
Adds Metallic to spatial light input of visual shaders
(cherry picked from commit f4eef287f9)
2021-02-02 13:02:46 +01:00
Pablo Escobar 407c6d3a9c
Add METALLIC to light() built-ins
(cherry picked from commit 1300fc7307)
2021-02-02 13:02:46 +01:00
kobewi 7a6ab8c558
Cache world in VisibilityNotifier3D to avoid crash
(cherry picked from commit 4d172f1fca)
2021-02-02 13:02:45 +01:00
Danil Alexeev 8c22d5a973
gitignore: Ignore Kate swap files
(cherry picked from commit e09e0fbd1f)
2021-02-02 13:02:45 +01:00
Jari Ronkainen 299769a99a
Go through all event devices, not just event[0-32]
There are no guarantees that joypads are in event0-event32
range.  Some devices, such as laptops with detachable keyboards
and wacom can reserve events all the way up to 32.

Some udev rules with e.g. custom controller firmwares may
load the device as /dev/input/eventX, where X is greater than
32.

This patch uses POSIX dirent to enumerate the event devices, so
entries outside 0-32 range are not skipped.

(cherry picked from commit 01c030f9b7)
2021-02-02 13:02:45 +01:00
Volka c6824ec09d
Fix unintended SpinBox mouse capture
(cherry picked from commit ae2cf8eb38)
2021-02-02 13:02:42 +01:00
Rémi Verschelde 07f169af72
Merge pull request #45353 from asmaloney/fix-lightmapper_cpu-compile-error
[3.2] Fix undeclared identifier error (rand) in lightmapper_cpu
2021-02-02 12:35:42 +01:00
Rémi Verschelde a37095dd5e
Merge pull request #45576 from lawnjelly/bvh_visibility
BVH add support for visibility (activation)
2021-02-02 12:02:50 +01:00