Commit Graph

13627 Commits

Author SHA1 Message Date
Rémi Verschelde 5385f52486 bullet: Backport upstream patch to fix clang 8 build
Fixes #32301.

(cherry picked from commit 471daf4773)
2019-09-24 13:20:03 +02:00
mellondill 38f1a2c5dd https://github.com/godotengine/godot/issues/31297 - HTML5: this.rtenv.callMain is not a function when using latest-upstream backend
Added needed changed for normal compiling with emscripten 1.38.41 and later

(cherry picked from commit 3c176827d6)
2019-08-21 11:08:18 +02:00
Emmanuel Barroga 56b5af2ba7 Fix ProgressBar Wrong Value with Border
Closes: #30969

The FG rectangle of the progressbar is incorrect when dealing with a non-zero border. This issue stems from wrong order of operations when drawing the rectangle: int p = r * get_size().width - mp;


(cherry picked from commit 7db96e22dd)
2019-08-21 11:06:51 +02:00
Rémi Verschelde 1b05404dbf jpgd.h: Backport security vulnerabilities fixes from Google Android
Squashed version of https://github.com/richgel999/jpeg-compressor/pull/10
with the line endings fixed (DOS to Unix).

See https://github.com/richgel999/jpeg-compressor/pull/10 and #30952
for details. Relates to CVE-2017-0700.

Fixes #30952.

(cherry picked from commit 5c333270ed)
2019-08-21 11:04:57 +02:00
Fabio Alessandrelli 41fe1bd887 Add NULL-terminator the string passed to strtol.
This is actually expected by the function although it was apparently
working in GCC without the terminator, it breaks (at least some) clang
versions.

(cherry picked from commit 2f91e250f6)
2019-08-21 11:03:53 +02:00
Rémi Verschelde 6aaca81d2b Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@Anutrix, @hbina, @santouits

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit 6d6b9ccc9a)
2019-08-02 09:45:30 +02:00
Rémi Verschelde 0621d2a28c Update AUTHORS and DONORS list
New contributor added to AUTHORS:
@aqnuep

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit ab1cb10317)
2019-08-02 09:45:26 +02:00
Rémi Verschelde 3b5837e4d9
Merge pull request #30965 from akien-mga/3.0-android_stl-no
Android: Restore support for android_stl=no builds
2019-07-30 17:16:40 +02:00
Rémi Verschelde b87d819aad Android: Restore support for android_stl=no builds
Two modules fail building with this option, so we force users to disable them.
Small cleanup based on 2.1 branch and cherry-pick 01e65c4555
to fix support for NDK r20 (fixes #30688).
2019-07-30 15:21:12 +02:00
StraToN d092798038 Adds a meta on top of every generated class to hide 'Edit on Github' link
Linked docs issue https://github.com/godotengine/godot-docs/pull/2656

(cherry picked from commit d83b8881ae)
2019-07-29 15:27:46 +02:00
Bastiaan Olij 57e19f1e8c Sort data exported to the api.json file for GDNative
(cherry picked from commit 0d2f3f4f50)
2019-07-29 13:36:14 +02:00
Rémi Verschelde b896eb5fd4
Merge pull request #30291 from akien-mga/3.0
Assorted cherry-picks from the master branch for Godot 3.0.7
2019-07-09 08:46:19 +02:00
Rémi Verschelde 3600735b24 Android: Target SDK 28, required by Google from Aug 2019
(cherry picked from commit 7249992b62)
2019-07-08 14:08:23 +02:00
Rémi Verschelde 0c4881f1db
Merge pull request #30306 from Faless/mp/safe_decode_3.0
[3.0] Multiplayer API now respects allow_object_decoding
2019-07-04 08:10:47 +02:00
Fabio Alessandrelli 57a03a051f Multiplayer API now respects allow_object_decoding
Add doc about allow_object_decoding in PacketPeer
2019-07-03 19:34:16 +02:00
Leon Krause bcbc198992 Enable Theora module for HTML5 platform
(cherry picked from commit b4b816c122)
2019-07-03 17:02:13 +02:00
Leon Krause ad8f85f8b7 Fix WebM module for HTML5 platform
(cherry picked from commit 92b259ccf1)
2019-07-03 17:02:13 +02:00
Rémi Verschelde 6604638d82 Fix Theora/Webm loaders declaring binary extension
RES_BASE_EXTENSION is only to declare our proprietary binary formats
(e.g. "scn", "res", etc.).

Fixes #20395.

(cherry picked from commit 333999c24f)
2019-07-03 17:02:13 +02:00
Rémi Verschelde 816366ba05 Fix loading and exporting of Theora and WebM video streams
Theora and WebM video streams were mistakenly imported with a ResourceImporter,
but those imported ogvstr and webmstr were simply links to the local resource.
While that works fine in the editor, it no longer works when exporting a game
as the "source" ogv and webm files are ommitted and only the ogvstr and webmstr
references were exported.

As discussed with @reduz, it doesn't make sense to import videos, as we only
intend to play them back and not modify them/access their raw data. As such we
use a ResourceFormatLoader instead of an importer, to load the file on the fly.
ogv and webm files linked to this loader are now considered as resources, and
thus exported.

Note: The Theora and WebM loaders lack any kind of validity check beyond the
existence of the target file, but it was already the case with the importer.
Better checks and error reports could be added, but those loaders will eventually
be obsoleted by GDNative plugins anyway.

Fixes #14954.

(cherry picked from commit 6dc20adadd)
2019-07-03 17:02:13 +02:00
Fabio Alessandrelli d9992a2b78 Fix ENet incorrectly binding to wildcard.
Values were not properly initialized, and wildcard would evaluate to
true in most cases.

(cherry picked from commit abe2c22966)
2019-07-03 17:02:13 +02:00
Ibrahn Sahir c27f44f525 Check project settings live before lookup in crash handler
In x11, windows and osx crash handlers, check project settings exists
before looking up the crash handler message setting.
Avoids crashing the crash handler when handling a crash outside project
settings lifetime. Instead omitting the configurable message and
continuing with trace dump.

(cherry picked from commit 63068e2ccd)
2019-07-03 17:02:13 +02:00
Hein-Pieter van Braam-Stewart 95fe095a5a Don't try to statically allocate 2x 8193 pointers
Maximum stack size is only 8KiB, this will try to allocate 8193 *
sizeof(void*) * 2 = 131088 bytes on the stack. This causes a crash in
some cases.

(cherry picked from commit c52f890626)
2019-07-03 17:02:13 +02:00
Hein-Pieter van Braam-Stewart 0b4dec63a9 Object::script may not be a valid Ref<Script>
It appears that Object::script may be a valid ScriptInstance but not be
castable to Ref<Script>. There were only 5 places in the code that made
this assumption. This commit fixes that.

(cherry picked from commit 20b0046945)
2019-07-03 17:02:13 +02:00
Rémi Verschelde 733668074a Fix creating editor data, config and cache paths
We used to abort if the system-specific data folder (e.g. `~/.local`
or `%APPDATA%`) is missing, but the next code chunk actually creates
it with `make_dir_recursive` if missing.

Fixes #26598.

(cherry picked from commit c0050d9295)
2019-07-03 16:18:34 +02:00
Hugo Locurcio 41cda84b11 Add a setting hint for the Output panel font size
This closes #21237.

(cherry picked from commit 07e87f6ec0)
2019-07-03 16:13:07 +02:00
Rémi Verschelde d127f92bd5 Image: Fix decompressing ETC2
Thanks to @Rriik for finding the bug and its cause.

Fixes #25595.

(cherry picked from commit 1772d6fa23)
2019-07-03 16:11:46 +02:00
Marc Gilleron 0f2e3976d0 Fixed uninitialized log member due to THEME_CHANGED notification
(cherry picked from commit fb2eb66e40)
2019-07-03 16:11:03 +02:00
Bojidar Marinov aca8176341 Fix crashes when calling update_bitmask_area
Fixes #25504

(cherry picked from commit abfeba8d12)
2019-07-03 16:10:42 +02:00
Bastiaan Olij 633ac4f753 Using DisplayLink to emulate vsync on OSX
(cherry picked from commit b53f2d1d59)
2019-07-03 16:10:10 +02:00
Rémi Verschelde 2ff2b727b6 Prevent upscaled SVG from exceeding Image bounds
Also expose Image MAX_WIDTH and MAX_HEIGHT.

Fixes #24455.

(cherry picked from commit cc0842f9a6)
2019-07-03 16:05:39 +02:00
Rémi Verschelde c2541188f2 Fix recursive assignment of Textures and BitMapFont
Fixes #24213.

(cherry picked from commit 402cfa983d)
2019-07-03 16:05:10 +02:00
Konrad Nowakowski 8718f898c1 Fix polygon drawing on WebGL1
(cherry picked from commit a0bdd9605a)
2019-07-03 16:03:06 +02:00
marxin 194ed96e89 Fix #19633 by proper store to &ubo_data.shadow_matrix[1234].
It is not valid in C++ to store into shadow_matrix1[16] with shadow_matrix1[16 * j]
(for j > 0). Even though there's a valid space in a struct after shadow_matrix1.
Knowing that GCC performs aggressive optimizations that eventually lead
to a wrong code. Code has been changed into union where one can either
use shadow_matrix[4 * 16], or individual shadow_matrix1, shadow_matrix2, etc. GCC pragma
is not needed any longer.

(cherry picked from commit d9eb6a5b20)
2019-07-03 15:59:16 +02:00
RedMser 740e77f47f Fix shader compile error line numbers starting at 0.
(cherry picked from commit a285a1cfdf)
2019-07-03 15:55:18 +02:00
bruvzg 0195619925 [macOS] Fix missing mouse move event speed.
(cherry picked from commit b7e9e184aa)
2019-07-03 15:54:38 +02:00
Hein-Pieter van Braam cada03eedb Don't use -ffast-math or other unsafe math optimizations
Godot supports many different compilers and for production releases we
have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers
all do slightly different things with -ffast-math and it is causing
issues now. See #24841, #24540, #10758, #10070. And probably other
complaints about physics differences between release and release_debug
builds.

I've done some performance comparisons on Linux x86_64. All tests are
ran 20 times.

Bunnymark: (higher is better)
(bunnies)    min    max  stdev average
fast-math   7332   7597    71     7432
this pr     7379   7779   108     7621 (102%)

FPBench (gdscript port http://fpbench.org/) (lower is better)
(ms)
fast-math  15441  16127   192    15764
this pr    15671  16855   326    16001  (99%)

Float_add (adding floats in a tight loop) (lower is better)
(sec)
fast-math   5.49   5.78  0.07     5.65
this pr     5.65   5.90  0.06     5.76  (98%)

Float_div (dividing floats in a tight loop) (lower is better)
(sec)
fast-math  11.70  12.36  0.18    11.99
this pr    11.92  12.32  0.12    12.12  (99%)

Float_mul (multiplying floats in a tight loop) (lower is better)
(sec)
fast-math  11.72  12.17  0.12    11.93
this pr    12.01  12.62  0.17    12.26  (97%)

I have also looked at FPS numbers for tps-demo, 3d platformer, 2d
platformer, and sponza and could not find any measurable difference.

I believe that given the issues and oft-reported (physics) glitches on
release builds I believe that the couple of percent of tight-loop
floating point performance regression is well worth it.

This fixes #24540 and fixes #24841

(cherry picked from commit e5b335d367)
2019-07-03 15:53:22 +02:00
Rémi Verschelde c6cc6c86e5 Fix loading EXR with alpha channel
Fixes #24659.

(cherry picked from commit 08f71baca5)
2019-07-03 15:50:46 +02:00
Daniel Abbott cf2ebf5d47 `GodotRestInfoContactResultCallback::addSingleResult` now returns normal
`PhysicsDirectSpaceState.get_rest_info()` now provides normals in result
Addresses issue 24558

(cherry picked from commit 572367552c)
2019-07-03 15:50:10 +02:00
Rémi Verschelde 49d724ac52 Label: Fix kerning when using Uppercase mode
Seemingly a typo, I did not check what exact impact it had, but
the x_ofs would likely have accumulated errors when using fonts
with varying char widths.

(cherry picked from commit 7cb5e005ee)
2019-07-03 15:44:00 +02:00
João Álvaro Ferreira 69673367a1 Enabled rst files to escape for parentheses after brackets
(cherry picked from commit a720993cc8)
2019-07-03 15:43:31 +02:00
Ruslan Mustakov c42cacfc3d Fix iOS safe area insets to use pixels and not points
(cherry picked from commit 230510d628)
2019-07-03 15:41:00 +02:00
Pedro J. Estébanez fc38c87030 Fix blitting from negative position
(cherry picked from commit 6dc9a1b475)
2019-07-03 15:40:42 +02:00
Aaron Franke 58c87e5d26 Fix many errors found by PVS-Studio
Fix errors 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, and 15.

(cherry picked from commit cb01268562)
2019-07-03 15:39:12 +02:00
Leon Krause dafdd9a08e Check for WebGL RGTC extension
(cherry picked from commit 93bed8cf57)
2019-07-03 15:34:25 +02:00
Leon Krause a2381b9049 Build squish decompression in runtime
(cherry picked from commit 32751e09ac)
2019-07-03 15:34:08 +02:00
allkhor b680939036 TextEdit: remove selection when clear happens.
(cherry picked from commit 594e0261f3)
2019-07-03 15:17:13 +02:00
Pedro J. Estébanez 94476aba94 Fix crash on signal/resume to dangling target
(cherry picked from commit 06b6cea62e)
2019-07-03 15:16:33 +02:00
allkhor a1b0e7b12c RichTextLabel: clear the scroll offset.
(cherry picked from commit 970dc91cb7)
2019-07-03 15:15:38 +02:00
Marcelo Fernandez 08fd792c45 Fix X11 running a project with fullscreen setting on and resizable off with multiple screens
(cherry picked from commit 385832ed30)
2019-07-03 15:07:21 +02:00
bruvzg 02585688cd [macOS] Disable setWantsLayer on macOS < 10.14
(cherry picked from commit 4aa441591c)
2019-07-03 15:05:47 +02:00