Compare commits

...

417 Commits

Author SHA1 Message Date
Rémi Verschelde
b7a00df980 certs: Sync with Mozilla bundle as of Oct 19, 2024
4d3fe6683f

Document matching mozilla-release changeset.

(cherry picked from commit eb41ff0fee)
2024-11-07 00:32:19 +01:00
Rémi Verschelde
362774c617 Windows: Appease capricious MSVC versions with moody headers
Fixes #37799.
Fixes #37986.

(cherry picked from commit 4d3a18d9ff)
2020-05-25 17:59:20 +02:00
Rémi Verschelde
040254ef7c Fix potential divisions by 0 reported by MSVC
The `TextEdit` one was indeed a potential bug.
The `PCKPacker` one seems to be a false positive, it's already in a
`for` loop that depends on `files.size()`.

(cherry picked from commit ca4e4506db)
2020-03-25 10:27:48 +01:00
Rémi Verschelde
7bfb7df673 Travis: Fix clang-format on non-master branches
`git diff-tree` used to fail on the `3.2` branch (and other non-master
branches) as Travis doesn't actually check that branch from the remote:
```
fatal: ambiguous argument '3.2': unknown revision or path not in the
working tree.
```

The exit code would still be 0 so we'd miss badly formatted commits
targeting stable branches.

We do it manually to ensure that it's going to work as we want it.

(cherry picked from commit e479231b21)
2020-03-12 14:09:37 +01:00
Rémi Verschelde
ffa4e3fa7d Sync AUTHORS and DONORS with master branch 2020-03-11 14:50:33 +01:00
bruvzg
fe3d7ba5b0 Replace IOHIDDeviceRegisterRemovalCallback with IOHIDManagerRegisterDeviceRemovalCallback to fix gamepad disconnection callback on macOS Catalina.
(cherry picked from commit 6b23e36dbc)
2020-03-06 11:42:36 +01:00
Rémi Verschelde
5bfb10f585 HTML5: Explicitly link idbfs.js for IDBFS support
Upstream Emscripten changed this in 1.39.1+, so IDBFS is no longer
included by default and has to be linked manually.

The explicit linking doesn't seem to be problematic on earlier
versions (tested `1.38.47-upstream`).

Fixes #33724.

(cherry picked from commit e5dfcb5edd)
2019-11-29 16:02:44 +01:00
Rémi Verschelde
e647b5b73c HTML5: Fix support for Emscripten 1.39.1+
A change in upstream Emscripten 1.39.1+ made our buildsystem error
out where it was previously only issuing a warning:
```
[  5%] Linking Static Library ==> main/libmain.javascript.opt.bc
shared:WARNING: Assuming object file output in the absence of `-c`, based on output filename. Please add with `-c` or `-r` to avoid this warning
Ranlib Library         ==> main/libmain.javascript.opt.bc
/opt/emsdk/upstream/bin/llvm-ranlib: error: unable to load 'main/libmain.javascript.opt.bc': file too small to be an archive
```

As advised on emscripten-core/emscripten#9806, we should be using
`emar` here to create the static library and not `emcc`.
This was apparently done to workaround Emscripten issues in the past,
but evidently this is no longer necessary.

The rest of the `env` redefinitions should probably be re-assessed
against the current state of Emscripten.

Fixes #33374.

(cherry picked from commit e9e2a4b044)
2019-11-29 15:59:52 +01:00
Rémi Verschelde
f7eed5166b Update AUTHORS list
New contributors added to AUTHORS:
@kawa-yoiko, @m4gr3d, @QbieShay, @RevoluPowered, @rxlecky

(cherry picked from commit 62a09a2ee3)
2019-11-12 15:46:39 +01:00
Rémi Verschelde
5b28699eba tinyexr: Sync with upstream 656bb61
(cherry picked from commit 6a2c2e5062)
2019-11-12 09:54:48 +01:00
Rémi Verschelde
1ca01acfe4 nanosvg: Sync with upstream c1f6e20
Now formally unmaintained, so probably no further sync to expect
from this repository.

(cherry picked from commit 097b746fdd)
2019-11-12 09:53:18 +01:00
Rémi Verschelde
8c73f79492 Merge pull request #33558 from akien-mga/3.0-openssl-1.0.2t
openssl: Update to pristine 1.0.2t (security update)
2019-11-12 09:48:12 +01:00
Rémi Verschelde
21596fb992 openssl: Update to pristine 1.0.2t (security update) 2019-11-12 08:33:02 +01:00
Jonathan Mannancheril
f6ab796bf3 Update libogg to upstream c8fca6b
(cherry picked from commits 6eb8c11d32
and e70e894433)
2019-11-12 08:16:37 +01:00
volzhs
25007bdb61 Update libwebp to 1.0.3
(cherry picked from commit 074d421dca)
2019-11-12 08:15:03 +01:00
Jonathan Mannancheril
104b06e967 Update stb_vorbis to 1.17
(cherry picked from commit 97af5569d9)
2019-11-12 08:06:06 +01:00
Rémi Verschelde
9864066ec6 stb_vorbis: Update to upstream version 1.16
(cherry picked from commit 3e727bc659)
2019-11-12 08:05:29 +01:00
Rémi Verschelde
2fa9cae76c New contributors added to AUTHORS:
@DavidSichma, @ptrojahn

New Platinum sponsor, added to splash screen:
Interblock

New Gold sponsor:
Image Campus

(cherry picked from commit c663d65ffc)
2019-11-08 15:30:55 +01:00
Rémi Verschelde
0ce197f238 Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@creikey, @IronicallySerious, @LikeLakers2, @minraws, @NilsIrl,
@profan, @raphael10241024

New Platinum sponsor, added to splash screen:
Heroic Labs

Merged some duplicates via .mailmap to allow better tracking of
commit counts with `git shortlog -s -n -e --no-merges`.

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit 664d7e7336)
2019-11-08 15:30:33 +01:00
Rémi Verschelde
7fb435f787 Updated .mailmap for a better output in git shortlog -s -n -e --no-merges.
(cherry picked from commit e761af5794)
2019-11-08 15:30:18 +01:00
Max
82e52c32a6 Fix crash on exit or resume on iOS 13
Fixes #7966.

(cherry picked from commit 29bde8cd74)
2019-11-08 14:09:25 +01:00
Rémi Verschelde
2d386ec2fa Travis: Make scons cache branch-specific
(cherry picked from commit a99b7a5f88)
2019-11-08 13:08:29 +01:00
bruvzg
68ce59a12d Fix non-HiDPI mode on HiDPI displays on macOS Catalina.
(cherry picked from commit 509afcea92)
2019-10-25 16:32:38 +02:00
bruvzg
84a227b663 [macOS] Fix rendering on retina displays with HiDPI support disabled.
(cherry picked from commit 50e2c1e184)
2019-10-25 16:32:31 +02:00
Rémi Verschelde
455d1d3a7e Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@merumelu, @sparkart

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit 41beecaa08)
2019-09-24 13:21:26 +02:00
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
pshe94
4d610757af Use VScrollBar when calculating horiz. offset in ScrollContainer
Someone forgot to change `h_scroll` to `v_scroll` when copy-pasting the code ;)

(cherry picked from commit 554b3f77c7)
2019-07-03 15:02:26 +02:00
Ibrahn Sahir
0b2a884fe2 Assign pointer null in RegEx::clear to avoid double free on destruction.
(cherry picked from commit f8a1c77fcf)
2019-07-03 15:01:37 +02:00
bruvzg
f666a5f34a [macOS] Fix blank splash screen
(cherry picked from commit 30852d0237)
2019-07-03 14:59:46 +02:00
bruvzg
a110937a16 Fix initial blank screen on macOS Mojave (except splash).
(cherry picked from commit 07aee14dd7)
2019-07-03 14:59:22 +02:00
bruvzg
811b11c452 Fix .app bundle crash on macOS
(cherry picked from commit cfce8de0b5)
2019-07-03 14:58:46 +02:00
Colin Kinloch
9e91d4e5cb Update mouse location on background scroll and window focus in macOS
(cherry picked from commit 464842c62c)
2019-07-03 14:57:53 +02:00
Poommetee Ketson
0f5538e44d Fix formatting -0.0 by %+f displays +-0.0
(cherry picked from commit aa311320d9)
2019-07-03 14:53:16 +02:00
Ruslan Mustakov
e689fe0451 Notify node's moved children after sibling removed
Fixes #16213.

(cherry picked from commit 3b02cd3e71)
2019-07-03 14:52:49 +02:00
Marcelo Fernandez
c658929cf3 Fix possible crash with VideoPlayer _mix_audio function
(cherry picked from commit ea43218bca)
2019-07-03 14:51:46 +02:00
Leon Krause
53f484fbba Use BufferSubData instead of MapBufferRange in HTML5 platform
WebGL does not support MapBufferRange or UnmapBuffer.
Also used in non-ES platforms where an extra-copy is avoided.

(cherry picked from commit 92e7c8daf0)
2019-07-03 14:46:06 +02:00
Xavier Sellier
9776f0da4d Prevent a device to be added/deleted more than once on Android
cherry-picked from fb5a601217

(cherry picked from commit 7dcf779a8b)
2019-07-03 14:41:29 +02:00
Karen Schwane
6392a7d7f1 Move jcenter behind mavenCentral and google gradle repos to fix build problems
(cherry picked from commit a01ce6299c)
2019-07-03 14:41:03 +02:00
Sean McCarthy
6dcb5f5ed9 Fix "fill" justification in RichTextLabel to only affect lines that have automatically wrapped.
(cherry picked from commit 0ce185629d)
2019-07-03 14:40:35 +02:00
DualMatrix
1a703c3254 Fixed error when duplicating a scene which has connection
Fixed error when duplicating a scene which has connection

(cherry picked from commit 6afedaa498)
2019-07-03 14:39:52 +02:00
exts
a7d070d2d5 fixes #22828 - res://user had incorrect substr value
(cherry picked from commit 18b6f5a6c9)
2019-07-03 14:39:25 +02:00
Gleb Mineev
8ce8a45219 #21661: fixed GraphNode title offset
(cherry picked from commit 746ad820cf)
2019-07-03 14:27:49 +02:00
qonnop
b9ee398cbc Fixed DDS loader according to issue #22530
width and height attributes have to be switched according to the
official DDS header docs:
https://docs.microsoft.com/en-us/windows/desktop/direct3ddds/dds-header

(cherry picked from commit a93edeb307)
2019-07-03 14:27:25 +02:00
Sergey Lapin
661885dbd8 MeshDataTool memory corruption fix
Fix for incorrect types used in MeshDataTool for bones and weights.

If your mesh contains these memory accesses get OOB and might crash
the application

Closes #21713

(cherry picked from commit e50d56b4c6)
2019-07-03 14:26:51 +02:00
DualMatrix
251282d2cf Made Debugger's Video Memory tab show correct resource paths.
Made Debugger's Video Memory tab show correct resource paths.

The Icons are still missing but that is due to the get_icon(type, "EditorIcons") for type = "Texture" being missing. Adding that icon would fix it.

(cherry picked from commit 8f89e2b490)
2019-07-03 14:26:28 +02:00
Ibrahn Sahir
2e86a5f929 Fixed hang when segfaulting after OS object destroyed (OSX and X11)
The two POSIX style crash handlers (OSX and X11) now remove their signal
handlers when they are destroyed.
Additonally if they are called while no OS singleton is set, they will
simply abort(). This should not happen now that they remove themselves,
but if a future change seperates OS object and crash handler lifetimes,
this may be easier to report/debug than hanging on SIGSEGV.

(cherry picked from commit 653b832422)
2019-07-03 14:25:56 +02:00
volzhs
a3753eda62 Ignore invalid device for Android
(cherry picked from commit 3a2d707697)
2019-07-03 14:25:22 +02:00
cyclopsian
049c91f4d1 Check for absolute paths in OBJ loader
(cherry picked from commit 45ba58c123)
2019-07-03 14:23:11 +02:00
elasota
7ac73098fc Fix FileAccessCompressed::get_8 returning 0 for the last byte of a file
(cherry picked from commit 88c74aa017)
2019-07-03 14:22:06 +02:00
Bojidar Marinov
a2dae3379d Ensure --export implies --editor
Fixes #30149

(cherry picked from commit 9ebc146383)
2019-07-03 14:21:19 +02:00
Rémi Verschelde
6be8a83584 Make sure project manager gets editor hint set
Previous fix in e8e06b2 worked in most cases but not if you run e.g.
'godot -', where the '-' argument would mean that 'project_manager'
is false and yet that's what will be opened eventually.

(cherry picked from commits e8e06b2c9a
and c0df3b147e)
2019-07-03 14:19:56 +02:00
Hein-Pieter van Braam
c3ac242181 When resizing an X11 window wait for the WM to process our request
On X11 when we send an XResizeWindow request to the X server it is happy
to say it is done when the request has been handed over to the window
manager. The window manager itself may however take some time to
actually do the resize. Godot expects that a resize request is
immediate. To work around this issue we could implement the whole
_NET_WM_SYNC_REQUEST protocol. However this protocol does not fit very
well with the way we currently process X events and would when
implemented in the current framework still cause a 1 frame delay between
a resize request and the actual resize happening.

This fixes #21720

(cherry picked from commit 9a1deedb84)
2019-07-03 14:18:17 +02:00
Bastiaan Olij
2a66cfc2d0 Fixed a theoretical condition where prealpha prevents lighting
(cherry picked from commit 0625f5b546)
2019-07-03 14:14:55 +02:00
Leon Krause
0da50fecbf Fix missing texture-download error with OpenGL ES
(cherry picked from commit 57eaea571a)
2019-07-03 14:13:12 +02:00
Pedro J. Estébanez
61b6c9c348 Fix multitouch input not working on certain devices on Windows
Fixes #20474.

(cherry picked from commit 28019c71a6)
2019-07-03 14:07:11 +02:00
Andrea Catania
7957a7bd2e Fixed crash if convex has 0 vertices
(cherry picked from commit 9a67a07a2c)
2019-07-03 14:06:38 +02:00
Rémi Verschelde
5955526b25 Fix operator precedence in PhysicsBody2D::set_weight
Fixes #16038.

(cherry picked from commit 3b01bf94ad)
2019-07-03 14:05:52 +02:00
Fabio Alessandrelli
681c22375b Fix DNS resolution when cache is invalid.
Fix StreamPeerTCP.connect_to_host return value.

(cherry picked from commit 97757cd1d1)
2019-07-03 14:05:19 +02:00
Poommetee Ketson
3b89c2be89 Fix arg name in docs, some copy-paste errors
(cherry picked from commit 76adef2704)
2019-07-03 14:02:47 +02:00
Chaosus
ebe8bcd0cf Added FRAGCOORD to spatial light processing
(cherry picked from commit 37f5cc5b63)
2019-07-03 13:59:17 +02:00
Justin Abene
37bb769470 Prevent "cannot use a string pattern on a bytes-like object"
Fixes #21207

(cherry picked from commit c6a4ca5c9e)
2019-07-03 13:58:55 +02:00
Hein-Pieter van Braam
73fa1470b3 Remove faces in in QuickHull::build() that we don't need anymore
We delete the faces for consideration in this loop but we can still
sometimes find an edge that connects to this face. We now interate over
all edges and disconnect edges connecting to this face.

This fixes #16560 and fixes #17569

(cherry picked from commit 33669a8bca)
2019-07-03 13:58:27 +02:00
John Teasdale
75f1731232 Bullet picking will now ignore objects without input_ray_pickable
(cherry picked from commit 7323f7998b)
2019-07-03 13:58:07 +02:00
DualMatrix
7624e1009a Fixed !is_inside_tree() errors in file dialog
Fixed !is_inside_tree() errors appearing when current_file has a . in it.

(cherry picked from commit 2b13938459)
2019-07-03 13:57:37 +02:00
Rémi Verschelde
7586957720 Export dialog: Fix error color and link alignment
Also fix extraneous "- " line when there are more than 2 messages.

(cherry picked from commit 5542d4a830)
2019-07-03 13:56:28 +02:00
Hein-Pieter van Braam
68d09255bd Call minimum_size_changed() in PopupMenu::remove_item()
When removing an item from a PopupMenu we need to update the control's
size cache otherwise the size of the PopupMenu itself lags behind by 1
item size. Meaning the PopupMenu will remain too large.

(cherry picked from commit 2d032c1562)
2019-07-03 13:56:06 +02:00
Hein-Pieter van Braam
e4733c5fc4 Delay emitting pressed signals in PopupMenu
When processing items we may actually delete the item we're processing
in the callback for the signal. To avoid this, call the signal after
we're done processing the items. But before hiding the popupmenu itself.

Thanks to @reduz for writing the whole solution.

This fixes #19842

(cherry picked from commit fa7eac8a0d)
2019-07-03 13:55:23 +02:00
Hein-Pieter van Braam
5e25f40d83 Replace XRaiseWindow with a _NET_ACTIVE_WINDOW ClientRequest
This fixes the editor on X11 not getting put on the foreground when a
debugged project hits an error or breakpoint.

(cherry picked from commit 827cadafc8)
2019-07-03 13:53:55 +02:00
Teashrock
f7aaf161fb Fixed absent variable exception while trying to raise another exception.
(cherry picked from commits 51a0a38135
and 695b8d254e)
2019-07-03 13:48:46 +02:00
Thomas ten Cate
2e34a922f0 Reset caret blink when Ctrl+moving the cursor
There was a hardcoded exception to never reset caret blinking if Ctrl
(`command`) was pressed. This broke on Ctrl+arrows,
Ctrl+Home/End/PgUp/PgDn, Ctrl+C, Ctrl+V, Ctrl+Backspace and Ctrl+Delete.

Resetting blink only for those Ctrl operations that actually touch the
cursor somehow would clutter the code a lot, so I removed the check
entirely. That means we now also reset blinking on unrelated operations
like Ctrl+O, but that seems pretty harmless. I actually like the
additional bit of feedback even in that case (most of these will
immediately defocus the editor anyway, so you never see it).

Fixes #18100

(cherry picked from commit 44d761e55c)
2019-07-03 13:35:41 +02:00
Nick Hope
d3b67bde8a fixed: windows mono compile (#20598)
tidy: formatting.

(cherry picked from commit 24b4694313)
2019-07-03 13:35:41 +02:00
Marcin Zawiejski
771f1fe5c1 Fix Windows handles leak
Fixes thread and process handles leak when running and killing project
from editor (caused by a missing CloseHandle call) plus a potential leak
when calling OS_Windows::execute with p_blocking and !r_pipe.

The leak could be easily observed with a Handles counter in Task Manager
(or Performance Monitor) for the Godot editor process.

(cherry picked from commit b1e0da455b)
2019-07-03 13:35:41 +02:00
Swarnim Arun
209c6164f4 Fix Visual Script duplicate issue
(cherry picked from commit b893dc2028)
2019-07-03 13:35:41 +02:00
Chaosus
92fb290f69 Added conversions between matrixes in shaders
(cherry picked from commit ca0a6c3fca)
2019-07-03 13:35:41 +02:00
Chaosus
d2bf31bdad Fix crash when you pass invalid parameter to ImageTexture.set_data
(cherry picked from commit bde962dbdd)
2019-07-03 13:35:41 +02:00
K. S. Ernest (iFire) Lee
ff35310650 Bones are now named and their parents are correct.
(cherry picked from commit ac541f5d16)
2019-07-03 13:35:41 +02:00
Rémi Verschelde
005d1c8901 Fix loading PO files with missing newline after last msgstr
Fixes #20375.

(cherry picked from commit 12d69ef53e)
2019-07-03 13:35:41 +02:00
Ibrahn Sahir
112075b3ad correctly close handle in alsa audio driver.
(cherry picked from commit 3e85e89dc5)
2019-07-03 13:35:41 +02:00
Marcelo Fernandez
5c69f83c96 Fix possible crash at NativeScript::get_base_script
(cherry picked from commit 77f3c0b495)
2019-07-03 13:35:41 +02:00
Rémi Verschelde
754514df7e Shader lang: Properly assign INSTANCE_ID to gl_InstanceID
Note that gl_InstanceID is not supported in OpenGL ES 2.0,
so in the gles2 backend we assign it to 0.

Also clean up some duplicates/commented out code.
Fixes #20088.

(cherry picked from commit 00dfc9c8eb)
2019-07-03 13:35:41 +02:00
Marcelo Fernandez
0572b52ba1 Fix upper/lower case convertion for characters >= 0x80
(cherry picked from commit ecb071b221)
2019-07-03 13:35:41 +02:00
karroffel
f302888a47 fix nameclash with MSVC
(cherry picked from commit 43ae1c712f)
2019-07-03 13:23:41 +02:00
Rémi Verschelde
392d988228 Export: Properly reload preset when opening dialog
Fixes #20119 where newly installed templates were not detected.

Also fix a bug with preset deletion where it would attempt to
edit an already removed preset. For this I made it so that
ItemList::deselect_all() also resets `current` to -1, as a manual
ItemList::deselect(idx) already does.

(cherry picked from commit 13239cd4cc)
2019-07-03 13:23:10 +02:00
matthew1006
c68a465f47 Fixed OS.has_feature not using custom feature tags.
(cherry picked from commit 25e64ffa20)
2019-07-03 13:21:56 +02:00
volzhs
fd5dca2689 Fix copying ttf, otf by DND to editor
regression from d65ac7378c

(cherry picked from commit 4bb85b70e1)
2019-07-03 13:09:18 +02:00
Yar-Mukhamedov
47c7bfd678 Fix export templates installation error...
(cherry picked from commit bf37bd94b6)
2019-07-03 13:08:44 +02:00
Overblob
854fc3cb97 Fixed error due to bad cursor handling when parsing shader code
Fixed completion error log thrown on "no auto-completion found" for typings with no completion.

(cherry picked from commit 7a74d310aa)
2019-07-03 13:07:45 +02:00
Ibrahn Sahir
33a93311ec fix scrollbar icons with atlas texture.
Draw scrollbar icons through their textures, rather than calling
directly to the server. Allows atlas textures to manipulate the source
rect as required.

(cherry picked from commit e51a94905d)
2019-07-03 13:07:12 +02:00
Ibrahn Sahir
b890ed527b fixed branch on uninit and data race in editor android device polling
Initialised relevant variables before stating thread,
to prevent a branch on uninitialised data.
Fixed race condition in polling that could miss a device change.

(cherry picked from commit fe4265ad46)
2019-07-03 13:06:46 +02:00
karroffel
4b69ed4124 fix wrong loop condition in MultiMesh allocation
(cherry picked from commit 3d33da19bd)
2019-07-03 13:04:56 +02:00
Saracen
493e220ab9 Fix bits_per_pixel validation in BMP and TGA loader modules.
(cherry picked from commit 115f6d14a0)
2019-07-03 13:02:45 +02:00
Juan Linietsky
16e6d6fede Don't post process on tiny render targets, fixes #19628
(cherry picked from commit a78b42c058)
2019-07-03 13:01:53 +02:00
Josh Taylor
b1bb7e48ca Changed minimum visible viewport size
When the viewport's size.y becomes lower than 2, the storage->frame.current_rt->effects.mip_maps[0].sizes Vector during rendering becomes empty, resulting in crashes in at least GLES3. This is a temporary fix to stop rendering a viewport when its size is below 2 rather than below 1.

(cherry picked from commit 892a4b175a)
2019-07-03 13:01:02 +02:00
Will Nations
f4db382c50 Fix underline_meta not working in RichTextLabel
(cherry picked from commit a9ea06e73a)
2019-07-03 12:43:24 +02:00
Yasha Borevich
f17983e9cf Fix memory leak in GDScript during infinnity loops with yields
(cherry picked from commit 30317296af)
2019-07-03 12:42:41 +02:00
matthew1006
dae30964a2 Fixed project settings overrides not using custom feature tags.
(cherry picked from commit 1844704c20)
2019-07-03 12:41:27 +02:00
Duy-Nguyen Ta
f27c989829 bugfix: correct #ifdef for TOUCH_ENABLED and OPENGL_ENABLED
(cherry picked from commit 25ad5f8a35)
2019-07-03 12:40:34 +02:00
bruvzg
042a74a696 [macOS] Allow using user provided .icns files for exported app icons.
(cherry picked from commit 22ee26849e)
2019-07-03 12:33:25 +02:00
bruvzg
56a82b473e Fix macOS icon export (add 1024px PNG icon and 32px/16px RLE icons).
(cherry picked from commit 56b26c4369)
2019-07-03 12:33:25 +02:00
Marcelo Fernandez
deef878f6f Add missing NULL checks for add_child_below_node
(cherry picked from commit 8c1c7ff131)
2019-07-03 12:33:25 +02:00
Marcelo Fernandez
fab378abf5 Fix profiler not updating on realtime
(cherry picked from commit 34045051d2)
2019-07-03 12:33:25 +02:00
Rémi Verschelde
a41f7579c8 Fix property hint for ReflectionProbe extents
(cherry picked from commit 2fabb81318)
2019-07-03 12:33:25 +02:00
Emmanuel Leblond
3808544891 [Pluginscript] Fix not working exports in editor
(cherry picked from commit 380b85a32f)
2019-07-03 12:33:25 +02:00
Rémi Verschelde
69f08cd2cc Fix shortcuts using KEY_MASK_CTRL instead of KEY_MASK_CMD
KEY_MASK_CMD is automatically replaced by KEY_MASK_CTRL on non-OSX
and KEY_MASK_META (Command key) on OSX, so it should be used for all
Ctrl/Cmd + key shortcuts.

Also de-hacked the macOS shortcut replacements with proper conditional
definition. Not tested on macOS, cannot judge if they are good shortcuts.

Fixes #10761.

(cherry picked from commit 3f09cac267)
2019-07-03 12:33:25 +02:00
Oliver Rausch
2107517f2f Fix return type of isnan and isinf in the shader language
(cherry picked from commit 2368b31e1e)
2019-07-03 12:33:25 +02:00
Fabian
82e54db588 Fix for not picking up locale of some .po translation files
(cherry picked from commit 1065f06eef)
2019-07-03 12:33:25 +02:00
Webster Sheets
793a205ae1 Revert #14753, as it is buggy and no longer necessary.
(cherry picked from commit 1198662b2b)
2019-07-03 12:33:25 +02:00
George Marques
a5a9d887da Fix positive operator in GDScript compiler
(cherry picked from commit 3cec24baa8)
2019-07-03 12:33:25 +02:00
volzhs
12458ebe8c Fix updating mesh when reimporting
(cherry picked from commit 9d5e1228ea)
2019-07-03 12:33:25 +02:00
Chaosus
367bec2010 Fix bug in CubeMesh
(cherry picked from commit b3fccc5778)
2019-07-03 12:33:24 +02:00
Marcelo Fernandez
f85b2a62f7 Fix missing return on Navigation2D::get_closest_point_owner
(cherry picked from commit b9023715e2)
2019-07-03 12:33:24 +02:00
nemerle
13a90fdd89 Fix PoolAllocator::resize for too large p_new_size
The code had a subtle signed/unsigned bug -
```cpp
if( signed - unsigned < 0)
// signed - unsigned is unsigned in c++, so
if( unsigned < 0)
// and thus the if block will never be executed
```

Thus all the following code would be ran, including unnecessary retries
of compacting the pool.

(cherry picked from commit 2bbe6144ff)
2019-07-03 12:33:24 +02:00
Bojidar Marinov
761bfb156d Fix a corner-case bug in _copy_texscreen in the gles3 renderer
Fixes #17698

(cherry picked from commit ee52d12921)
2019-07-03 12:33:24 +02:00
Webster Sheets
46f091bfcb AtlasTexture fixes, part 2.
(cherry picked from commit c522fe05e0)
2019-07-03 12:33:24 +02:00
Webster Sheets
d1c93a0af3 Fix AtlasTexture usage in Sprite3D.
Changes as requested in b484d5c.

(cherry picked from commit 4b545e3105)
2019-07-03 12:33:24 +02:00
Peter Folkins
9d006730ad Fix script editor CTRL+CLICK on singleton functions
(cherry picked from commit 0c1a71b047)
2019-07-03 12:33:24 +02:00
Robin Hübner
e867befd46 Fix delay in rename_error windows save loop, should be 100msec, not 1sec
(cherry picked from commit caa887f317)
2019-07-03 12:27:24 +02:00
Brian Richardson
fdbef334bb Camera::project_local_ray_normal needs to be virtual so that ARVRCamera::project_local_ray_normal gets called.
(cherry picked from commit 680a5cbb0b)
2019-07-03 12:27:24 +02:00
Rémi Verschelde
dfb839ebce Fix Node2D::global_scale's PropertyInfo type
Was missed in #18391.

(cherry picked from commit 8852ca1455)
2019-07-03 12:27:24 +02:00
Ruslan Mustakov
6c9bddef53 Fix Node2D::global_position to have Vector2 type
(cherry picked from commit 8619b0d280)
2019-07-03 12:27:24 +02:00
Michael
cc8e1e93c3 Fixed 2D intersect_shape limiting broadphase results
Physics2DDirectSpaceStateSW was applying the result limit to broadphase
collision detection instead of narrow. This is inconsistent with its 3D
variant, as well as the rest of the 2D direct space state functions.

Broadphase is now limited by INTERSECTION_QUERY_MAX like everything else,
and narrow phase is exited early when the result limit has been reached.

(cherry picked from commit 1ba106a71e)
2019-07-03 12:27:24 +02:00
sheepandshepherd
3fcdb3198b Fix NativeScript property list
(cherry picked from commit bc110b3771)
2019-07-03 12:27:24 +02:00
Markus Ewald
3d5c5c28d5 Implement VisualServerScene::instance_set_extra_visibility_margin() method to actually apply extra culling margin and mark instance AABB dirty
(cherry picked from commit fc166f3ee1)
2019-07-03 12:27:24 +02:00
Bernhard Liebl
ac1520325c Catch NSException in macOS run loop to prevent crashs
(cherry picked from commit 3ff18ee61e)
2019-07-03 12:27:23 +02:00
Marcelo Fernandez
5a89810238 Fix missing const in CapsuleShapeSW::get_area
(cherry picked from commit 9042ef3836)
2019-07-03 12:27:23 +02:00
Thomas Karcher
b977e8ab0c Update of RigidBody2D class description
Added a hint in the RigidBody2D class description regarding the transformation issue mentioned in https://github.com/godotengine/godot/issues/5734

(cherry picked from commit 1170b78e28)
2019-07-03 11:07:05 +02:00
lopho
2ccca78929 Document CollisionObject2D pickable requires collision_layer
Documents CollisionObject2D mouse_entered, mouse_exited and input_event requiring at least one collision_layer to be set.

(cherry picked from commit da73bcca6f)
2019-07-03 11:06:30 +02:00
Jiří Procházka
768f5fd1ac Small documentation improvements
(cherry picked from commit 04b49264f2)
2019-07-03 11:05:23 +02:00
clayjohn
3066616e1a changed references to array types in arraymesh doc
(cherry picked from commit e8858a9a44)
2019-07-03 11:04:55 +02:00
Soham Kar
197ea38552 Fixed copy&paste error #28117
Changed "left to right" in VSplitContainer to "top to bottom".

(cherry picked from commit aa8b2f4448)
2019-07-03 11:03:44 +02:00
Rémi Verschelde
67a72a2759 doc: Add note about VisibilityNotifier.is_on_screen after instantiation
Fixes #9430.

(cherry picked from commit 3fc1f7dfbe)
2019-07-03 11:03:17 +02:00
Ignacio Etcheverry
64a7a6b2f4 Mono: Buildsystem support for finding MSBuild from VS2019
(cherry picked from commit e82b2def8e)
2019-07-03 11:02:10 +02:00
Sebastian Hartte
adb9815199 Add support for new MSBuild directory naming introduced in VS 2019.
(cherry picked from commit 7440295ad1)
2019-07-03 11:01:35 +02:00
Poommetee Ketson
3daca13f72 Fix error explanation in core_bind Thread::_start_func
(cherry picked from commit 2caaa7c97d)
2019-07-03 10:59:11 +02:00
Jared
68148b16d3 Documented set_point_cloud() for ConvexPolygonShape2D
(cherry picked from commit 1d238c1835)
2019-07-03 10:56:30 +02:00
Rémi Verschelde
1fae776445 Fix GeometryInstance extra_cull_margin step
Fixes #22369.

(cherry picked from commit d4c75e608e)
2019-07-03 10:53:46 +02:00
Bernhard M. Wiedemann
413f4db585 BuildSystem: Fix font list
We want to add the individual strings to the list
and not add a list object to the list.

Without this patch, sorting failed because "str < list"
is not a valid operation in python.

(cherry picked from commit f312582326)
2019-07-03 10:48:19 +02:00
Rémi Verschelde
c85d2d7420 AppVeyor: Skip saving cache on non-master branches
Otherwise we run into situations where commits to stable branches
induce very long build times, as they have to basically build from
scratch but also invalidate the cache for future commits on the
master branch.

This commit also makes the cache folder branch-specific, but since
it's still limited to 1 GB of total cache size, we don't enable it
for non-master, as we would still run into issues with non-master
build invalidating the master cache.

(cherry picked from commit b021bdbf1f)
2019-07-03 07:46:13 +02:00
Rémi Verschelde
e284ea344d SCons: Default to builtin libpng/freetype on Linux (+ openssl)
The rationale for keeping those shared by default is that they're typical
dependencies found on any Linux system, and it saves compilation time and
binary size to link their dynamically.

But since official builds default to all-builtin, and Debian/Ubuntu still
don't have libpng16 (which we now require) readily available on all their
supported releases, it's simpler to bundle all the things.

This does not change the fact that those dependencies *can* be unbundled
on Linux, it's only the default option changing.

(cherry picked from commit 1769cbc0e2)

For 3.0, also building by default against bundled openssl.
2019-07-02 15:00:59 +02:00
Rémi Verschelde
315abb0513 Update sponsors
Image Campus is no longer a Gold sponsor at this time.

(cherry picked from commit 328805ae31)
2019-06-04 12:58:34 +02:00
Rémi Verschelde
cae8e9fa8e openssl: Update to pristine 1.0.2s (security update) 2019-06-04 12:21:32 +02:00
Rémi Verschelde
069c4908c8 tinyexr: Sync with upstream 65f9859
(cherry picked from commit 9ce6588466)
2019-06-04 11:28:36 +02:00
Rémi Verschelde
2e18a4acdf TinyEXR: Sync with upstream master branch
Fixes #24247.

(cherry picked from commit 9105538b45)
2019-06-04 11:27:11 +02:00
elasota
0921e68913 Fix tiled EXR crash, update tinyexr to head to fix corrupted uncompressed EXR loading
(cherry picked from commit 4b7885fb1e)
2019-06-04 11:26:10 +02:00
Rémi Verschelde
c9fdaa412a nanosvg: Sync with upstream c1f6e20
(cherry picked from commit 43d6774dcc)
2019-06-04 11:25:29 +02:00
Jari Ronkainen
bed09c2af6 Do not use deprecated stuff that only glibc now implements
(cherry picked from commit 687b95b41f)
2019-06-04 11:23:26 +02:00
volzhs
b9e0da98bb Update minizip to 1.2.11
(cherry picked from commit 7e563f75b5)
2019-06-04 11:17:01 +02:00
Rémi Verschelde
73f3bf15ea Update DONORS list
(cherry picked from commit 33bcd97700)
2019-06-04 11:01:17 +02:00
Rémi Verschelde
4845b27126 Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@Kanabenki, @KoBeWi

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit 958c915f60)
2019-06-04 10:36:41 +02:00
Rémi Verschelde
37423caa06 stb: Update to upstream stb_truetype 1.21 and stb_vorbis 1.15
(cherry picked from commit f102546f34)
2019-06-04 10:33:47 +02:00
Guilherme Felipe
1b991ef095 Update stb_truetype to 1.19 and stb_vorbis to 1.14
(cherry picked from commit afbc66fccd)
2019-06-04 10:33:31 +02:00
Rémi Verschelde
9b8929cd28 libwebp: Sync with upstream 1.0.2
(cherry picked from commit 93f6a065f8)
2019-06-04 10:32:43 +02:00
volzhs
f5dbc64e10 Update libwebp to 1.0.1
(cherry picked from commit d4133ac844)
2019-06-04 10:32:38 +02:00
volzhs
c1b14b220b Update libwebp to 1.0.0
(cherry picked from commit 6ed8124923)
2019-06-04 10:32:30 +02:00
Guilherme Felipe
c3ad539b41 Update libvorbis to 1.3.6
(cherry picked from commit 4932c7ddcf)
2019-06-04 10:31:42 +02:00
Rémi Verschelde
3f94d2697a libpng: Update to upstream 1.6.37
Fixes CVE-2019-7317.

(cherry picked from commit 225b61ab2a)
2019-06-04 10:31:16 +02:00
Chaosus
51c3b1cf7c Update libpng (1.6.35 --> 1.6.36)
(cherry picked from commit 5a89d08e3f)
2019-06-04 10:30:57 +02:00
Rémi Verschelde
1c9e21ab8a certs: Sync with latest ca-certificates-2018.2.26-2.fc29
(cherry picked from commit e50407d2d2)
2019-06-04 10:30:07 +02:00
James Buck
cd25c9724f Fix editor tooltip formatting
Removed unnecessary word wrap which caused broken tags and general
ugliness. Fixes #24926

(cherry picked from commit 8b1b2f6a4c)
2019-04-20 19:55:19 +02:00
Rémi Verschelde
adadff09b8 Merge pull request #28197 from akien-mga/3.0-drop-thekla-rand48
thekla_atlas: Drop potentially GPL'ed nvmath/Rand48 code
2019-04-19 21:13:08 +02:00
Rémi Verschelde
dcdb707dec thekla_atlas: Clarify licensing for nvmesh and poshlib
Fixes #28180.
2019-04-19 13:17:46 +02:00
Rémi Verschelde
0dddfc12db thekla_atlas: Drop potentially GPL'ed nvmath/Rand48 code
We don't use it anyway.

Fixes #28182.
2019-04-19 12:57:39 +02:00
Rémi Verschelde
1949f8c7f5 Sync AUTHORS and DONORS with master branch 2019-04-07 21:50:07 +02:00
Rémi Verschelde
a68965f64a SCons: Fix python3 compat for builtin_bullet=no
(cherry picked from commit 44f1b390a3)
2019-04-03 17:01:46 +02:00
Rémi Verschelde
a3f901ecad AppVeyor: Force installing SCons 3.0.1
3.0.2 was released today and when installed via pip, it seems to be
missing from the PATH.

(cherry picked from commit fb47d8f554)
2019-03-26 15:38:32 +01:00
Rémi Verschelde
f4b3756e85 SCons: Fix import clash between Godot and system modules
See #24965 for details. `sys.path.insert` is hacky, but should work
relatively well for both Python 2 and Python 3. When we eventually
deprecate Python 2 support, we could look into using importlib.

Fixes #24965.

(cherry picked from commit 644b266bae)
2019-02-27 09:20:15 +01:00
Rémi Verschelde
917d027941 Android: Enable arm64-v8a export by default
From August 1, 2019, Google Play requires that all new apps and app updates
include 64-bit versions, so we enable ARM64 by default.

IINM support for x86 and x86_64 is still be optional, so not enabling them
out of the box.

Part of #25030.

(cherry picked from commit 9e820cdf20)
2019-01-16 13:59:41 +01:00
Rémi Verschelde
0aa350306b SCons: Drop unused MPC_FIXED_POINT define
(cherry picked from commit eebca76be5)
2019-01-16 13:02:53 +01:00
Rémi Verschelde
392e5cfa1e Android: Add support for x86_64 architecture
Like arm64v8, this is only supported by API 21 and later,
so we enforce 21 as min API for x86_64.

Part of #25030.

(cherry picked from commit 7f4ee36469)
2019-01-16 12:51:56 +01:00
Rémi Verschelde
9b226e60e3 SCons: Deprecate ios_sim option forcing x86, simulator needs x86_64
(cherry picked from commit 95e96947f6)
2019-01-16 12:35:29 +01:00
Hein-Pieter van Braam
49929c1e57 Fix OSXCROSS build with clang-6.0
Backport from Fabio Alessandrelli's commit at
875d822d77
2019-01-08 00:55:46 +01:00
Rémi Verschelde
0eab0d9343 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-03 11:41:35 +01:00
Rémi Verschelde
468b3dccab Fix missing/malformed license headers 2019-01-03 11:18:27 +01:00
Juan Linietsky
202528c557 Initalize font size to 16, closes #21165
(cherry picked from commit c399c41dfb)
2018-12-09 13:45:36 +01:00
Andrea Beconcini
134428aefd uwp export: fix existing template check
(cherry picked from commit 11a1624202)
2018-11-28 10:28:28 +01:00
Andrii Doroshenko (Xrayez)
bf6186449f Init ignore_camera_zoom property in parallax background constructor
The default value for `ignore_camera_zoom` property was initialized by garbage value,
leading to camera's zoom to be ignored even if unset in editor most of the time.

(cherry picked from commit 86eaded7b4)
2018-11-28 10:27:55 +01:00
Ibrahn Sahir
c02ef4d7b9 Moved dynamic font list from static to lifetime controlled by main.
Means the list is destroyed before the OS object, allowing it the
opportunity to print an error if there are still dynamic font objects
hanging around.

(cherry picked from commit 7d82bed4f4)
2018-11-28 10:27:42 +01:00
Juan Linietsky
b5866566d0 Make sky and ground energy do something, fixes #18856
(cherry picked from commit afe4f2080a)
2018-11-28 10:27:42 +01:00
Julien CATINEAU
22b105e421 add option to invert y-axis
(cherry picked from commit 57e6b8781c,
with later renaming from efd4228892
and 563356109b)
2018-11-28 10:27:42 +01:00
Juan Linietsky
9c8d84ed6c Get rid of gridmap error due to not yet valid cursor instance, fixes #17546
(cherry picked from commit 8306d60e85)
2018-11-28 10:27:42 +01:00
Juan Linietsky
586b73adf7 Do not error on empty shader, just treat it as invalid by default. Fixes #15998.
(cherry picked from commit 4d88721e62)
2018-11-28 10:27:42 +01:00
Rémi Verschelde
a1b748f5f4 Travis: Install libstdc++ >= 4.9 for clang-format-6.0
(cherry picked from commit 22b176f69d)
2018-11-28 10:27:42 +01:00
Rémi Verschelde
ce87428cfb Travis: Update style checks to clang-format 6.0.1
(cherry picked from commit 003ac67df1)
2018-11-28 10:27:42 +01:00
ShyRed
e7886978bd Remove disabled shapes from physics
Disabling a shape removes it from physics calculations. Enabling a shape adds it back to the physics calculations.

(cherry picked from commit 4d6bb43931)
2018-11-28 10:27:42 +01:00
Juan Linietsky
7e1e73c719 Avoid double underscore from breaking glsl compiler, fixes #12880
(cherry picked from commit f00b522705)
2018-11-28 10:27:42 +01:00
Leon Krause
701683e557 Fix HTML5 gamepad input
(cherry picked from commit cd7c0f67b9)
2018-11-28 10:27:42 +01:00
Rémi Verschelde
272c31c837 Settings: Sort text editor themes alphabetically
(cherry picked from commit f0051394da)
2018-11-28 10:27:42 +01:00
Dominique LaSalle
a142f89540 Fix gles3 shader to actually multiply specular light by rev_amount for fog calculations.
(cherry picked from commit f39d14dd61)
2018-11-28 10:27:42 +01:00
JFonS
07c85d3cdf Fix editor only lights
(cherry picked from commit 99a097aff2)
2018-11-28 10:27:42 +01:00
Toshiwo
5c8e340a3f fixed issue with PrismMesh size, ignore for VS code .code-workspace
(cherry picked from commit b27b1a99a0)
2018-11-28 10:27:42 +01:00
Hein-Pieter van Braam
3f5d9074e4 Properly export the various 'use dGPU' symbols when building with MingW
This fixes exporting the NvOptimusEnablement export when building with
MingW. This also adds the equivalent for AMD.

This fixes #23400

(cherry picked from commit 19d91f788d)
2018-11-28 10:27:42 +01:00
Hein-Pieter van Braam
96ed1801aa When starting up try creating directories recursively
Previously we had a check to see if cache and data directories exist and
another check to try to make them if they do not. However the second
check was never reached if we don't have the directories in question.

Furthermore for cache directories on Linux people who never started a
desktop environment we need to recurisively create the XDG directory as
well as the godot specific directory.

This fixes #17963

(cherry picked from commit 321ac5ae13)
2018-11-28 10:27:41 +01:00
volzhs
5dd8f775f9 Fix keep screen on property path for Android/iOS/UWP
(cherry picked from commit d18235bc38)
2018-11-28 10:27:41 +01:00
Rémi Verschelde
e08eb964c4 libpng: Update to upstream version 1.6.35
(cherry picked from commit f4e682d717)
2018-11-28 10:27:41 +01:00
Juan Linietsky
36027d425c Ensure index is only saved when scene is inherited, or parent node is not from the edited scene. Closes #17562.
(cherry picked from commit d5d83b754d)
2018-11-28 10:27:41 +01:00
Juan Linietsky
248eee819a Add support for line continuations (wtf) in obj format, fixes #7974
(cherry picked from commit 5a5614e8ad)
2018-11-28 10:27:41 +01:00
Juan Linietsky
8ff42771a4 Ensure process notification is received only if really enabled, fixes #7894
(cherry picked from commit 15db793ef2)
2018-11-28 10:27:41 +01:00
Juan Linietsky
a93e28291f Ensure one shot signals are not disconnected while edited, closes #7776
(cherry picked from commit ac52eb444f)
2018-11-28 10:27:41 +01:00
Juan Linietsky
10a71ab4d6 Added missing support for traditional chinese on Windows, fixes #7674
(cherry picked from commit e896261b87)
2018-11-28 10:27:41 +01:00
Juan Linietsky
4bcea9de74 Remove pointless check for no texture, fixes #7298
(cherry picked from commit 95a9e51975)
2018-11-28 10:27:41 +01:00
Juan Linietsky
a2297c64e6 Perform a name check when loading scenes and running on editor, fixes #6152
(cherry picked from commit 200c6cf630)
2018-11-28 10:27:41 +01:00
Rémi Verschelde
482d60854a Merge pull request #23904 from akien-mga/3.0-openssl-1.0.2q
[3.0] openssl: Update to pristine 1.0.2q (security update)
2018-11-22 19:56:49 +01:00
Rémi Verschelde
cff0913be8 openssl: Update to pristine 1.0.2q (security update) 2018-11-22 17:51:18 +01:00
Rémi Verschelde
8bde816efd openssl: Reorder sources alphabetically 2018-11-22 16:43:17 +01:00
Rémi Verschelde
176f5c648d Doc: Fix typo in File documentation
Fixes #19383.

(cherry picked from commit 8569a0db3c)
2018-11-05 16:00:39 +01:00
MrVallentin
4c35d33ef6 Fixed typos
(cherry picked from commit 693ee5dd56)
2018-11-05 08:52:23 +01:00
Alexander Holland
2b54f0e680 Doc RichTextLabel push strikethrough and align
(cherry picked from commit 1f271e4be6)
2018-11-01 11:44:47 +01:00
Rémi Verschelde
2b1f692455 doc: Sync classref with current source 2018-11-01 11:39:29 +01:00
Rémi Verschelde
aba24e6866 doc: Fix invalid [enum] uses
(cherry picked from commit 22b7489ab1)
2018-11-01 11:39:29 +01:00
Ibrahn Sahir
24269555a3 Corrected art depo link in editor icons readme.
(cherry picked from commit e1b14db86a)
2018-11-01 11:39:29 +01:00
Michael Alexsander Silva Dias
e2267c80a0 Small doc formating changes and Linux cursor theme note
(cherry picked from commit 79ab43299a)
2018-11-01 11:39:29 +01:00
Rémi Verschelde
67a108b196 DocData: Fix return type listed as "var" instead of "Variant"
(cherry picked from commit f92b87e5f8)
2018-11-01 11:39:28 +01:00
Ibrahn Sahir
d4e4c4f7e3 Fixed up a couple of license names in COPYRIGHT.txt
A couple of entries were using SPDX name over the Debian standard ones.
Switched these over and noted this policy at the top of the file to avoid
confusion.

(cherry picked from commit 6f2977f9c3)
2018-11-01 11:39:28 +01:00
Florian Jung
8514b4d403 Add documentation details about Image formats and color space conversion
(cherry picked from commit e37f408e70)
2018-11-01 11:39:28 +01:00
Chris Bradfield
5d53d6dd8c [DOCS] Classref additions and consistency fixes
(cherry picked from commit ec5cc708ce)
2018-11-01 11:39:28 +01:00
char0xff
51317569f9 Improve EditorPlugin.xml and EditorInterface.xml
(cherry picked from commit a0efe25c9e)
2018-11-01 11:39:28 +01:00
LikeLakers2
5d7a22e6d9 [Docs] Remove double-spaces from descriptions, as well a couple other small fixes
(cherry picked from commit eaac1e3b81)
2018-11-01 11:39:28 +01:00
lupoDharkael
8cdcd45561 Add code example to ArrayMesh class docs
(cherry picked from commit 9b85866c07)
2018-11-01 11:39:28 +01:00
Damien Picard
f7bd6c1948 Doc: fix example in Array sort_custom()
(cherry picked from commit 5e8e216ee0)
2018-11-01 11:39:27 +01:00
aBARICHELLO
f35e821d57 Add Input buttons and axes missing descriptions
(cherry picked from commit 6e0de76746)
2018-11-01 11:39:27 +01:00
Chris Bradfield
d9d1a91c5f [DOCS] Update VisibilityEnabler* and TileSet doc
(cherry picked from commit 49549ce93c)
2018-11-01 11:39:27 +01:00
florian
8970abd67f ItemList signals additional documentation
Signals:
* item_selected
* item_rmb_select

(cherry picked from commit 65d182a939)
2018-11-01 11:39:27 +01:00
florian
cee98e5a0b Document find_node()'s owner argument behaviour
(cherry picked from commit c14e034f06)
2018-11-01 11:39:27 +01:00
florian
acd6ef1b3b Add Behaviour of SceneTree pausing to the doc
(cherry picked from commit 353af122b8)
2018-11-01 11:39:27 +01:00
Nathan Lovato
2da5e51eee [DOC] Complete the TextureProgress reference
Added 6 missing entries, clarified one definition

(cherry picked from commit 86a138f154)
2018-11-01 11:39:27 +01:00
clayjohn
924f7c6261 added descriptions to MeshDataTool doc
(cherry picked from commit 596c36a9ac)
2018-11-01 11:39:27 +01:00
Zaven Muradyan
bba922c562 Add useful links for contributors to CONTRIBUTING and README docs.
(cherry picked from commit 172694ac4c)
2018-11-01 11:39:27 +01:00
Zaven Muradyan
27f606db1b Add comments to javascript wrapper parts.
The code in pre.js and engine.js is a bit confusing to see in isolation,
since the files aren't valid JS files by themselves. This just adds some
explanatory text to both files.

Fixes #22937.

(cherry picked from commit 61d5513525)
2018-11-01 11:39:27 +01:00
Alexander Holland
8b895dda3e Doc Tabs
(cherry picked from commit 3a875d3200)
2018-11-01 11:39:26 +01:00
Ashafix
f442bc4b18 more detailed example for usage of PackedScene
(cherry picked from commit 725bec7735)
2018-11-01 11:39:26 +01:00
santouits
9a867f3da1 NavigationPolygon descriptions of the class and methods
(cherry picked from commit 1c14b01422)
2018-11-01 11:39:26 +01:00
Ashafix
72000d7b35 Added section that coordinates can be accessed via indexes
(cherry picked from commit bbfa37a29c)
2018-11-01 11:39:26 +01:00
Max Hilbrunner
a9657c63f4 [DOCS] StreamPeerTCP
(cherry picked from commit 1df0900d8e)
2018-11-01 11:39:26 +01:00
M. Huri
e6ae704f32 Repaired mistyped of 'its' on several files.
(cherry picked from commit b46ba24e3b)
2018-11-01 11:39:26 +01:00
paul gruenbacher
f0cdf4294e added docs for lookeahead
Fix indenting

lookahead clarification

fix ahead

(cherry picked from commit 1c73443915)
2018-11-01 11:39:26 +01:00
Max Hilbrunner
b404e9da00 [DOCS] YSort
(cherry picked from commit 1511a66a98)
2018-11-01 11:39:25 +01:00
Alexander Holland
21be3316b8 Doc Tabcontainer rearrange tabs
(cherry picked from commit 44aa312881)
2018-11-01 11:39:25 +01:00
Alexander Holland
5581d12e44 Doc LineEdit MenuRedo and clear_button_enabled
(cherry picked from commit c6dbcb1474)
2018-11-01 11:39:25 +01:00
M. Huri
7e8736a47d [Docs] Fixed 'get_button_count's link and a typo related to 'button'.
(cherry picked from commit 967831d9a0)
2018-11-01 11:39:25 +01:00
Alexander Holland
ef66d357a7 Filled missing Doc for String and FileDialog
(cherry picked from commit e4b2a20cd6)
2018-11-01 11:39:25 +01:00
clayjohn
c6f8ceface update and expand surfacetool doc
(cherry picked from commit 84e82a387f)
2018-11-01 11:39:25 +01:00
Chris Bradfield
0cdcecb813 [DOCS] SpatialMaterial descriptions
(cherry picked from commit 5e42e45c04)
2018-11-01 11:39:25 +01:00
Kelly Thomas
2eeeb163ba [Docs] Fix some broken links
(cherry picked from commit b1ab7b4acf)
2018-11-01 11:39:25 +01:00
Michael Alexsander Silva Dias
9a126f75bb Add example to Animation doc
(cherry picked from commit a02f02b9ed)
2018-11-01 11:39:24 +01:00
Michael Alexsander Silva Dias
d2b6a0dc7a Add note in ParallaxLayer doc about ignoring position/scale changes after entering the scene
(cherry picked from commit 07e0f796af)
2018-11-01 11:39:24 +01:00
florian
0e992e6089 Add critical info to TreeItem.set_custom_draw documentation
Indicates that the method needs 2 arguments to be called

(cherry picked from commit 612193b77f)
2018-11-01 11:39:24 +01:00
florian
0f62f281ae Improve doc of ProjectSettings
Documentation added for:
* bool load_resource_pack(String)
* bool property_can_revert(String)
* Variant property_get_revert(String)
* Error save()
* Error save_custom(String)

(cherry picked from commit 73429cf9f5)
2018-11-01 11:39:24 +01:00
Max Hilbrunner
c4e827bba4 [DOCS] NetworkedMultiplayerPeer: TransferMode(s)
(cherry picked from commit 84b6394a4d)
2018-11-01 11:39:24 +01:00
FlamyAT
ef1376306a Fixed casting result in float.xml
The float-string parsing result in the documentation was inaccurate. 1e-3 is written as 0.001 when decimal.

(cherry picked from commit da296ce30f)
2018-11-01 11:39:24 +01:00
Kelly Thomas
000e3c8585 [DOCS] InputEventMouseButton: correct description for doubleclick property
(cherry picked from commit 7ecad927f3)
2018-11-01 11:39:24 +01:00
Jared
709c44485a Small documentation clarification added to CanvasItem.
(cherry picked from commit d286e98fd1)
2018-11-01 11:39:24 +01:00
char0xff
a8b2e475fa Fix mistake in ConfigFile.xml
(cherry picked from commit 77ff6de27e)
2018-11-01 11:39:24 +01:00
char0xff
0795dc22b9 Update EditorInterface.xml
(cherry picked from commit 0c10d3fc16)
2018-11-01 11:39:23 +01:00
Kelly Thomas
9355d9c5a2 Standardize documentation for the pool arrays' invert methods
(cherry picked from commit 3e0ab0a2f2)
2018-11-01 11:39:23 +01:00
Mel Collins
5bf8f2cf9e Clarify which direction RemoteTransform[2D] work
(cherry picked from commit 12448e659a)
2018-11-01 11:39:23 +01:00
Carl Scarlett
fa43d3b190 added clarification about Input.get_accelerometer only working when project is exported
(cherry picked from commit 91aa940b42)
2018-11-01 11:39:23 +01:00
VirtualBox
4afb9fcf1c Fix mistake in Array.xml
(cherry picked from commit cfb54df986)
2018-11-01 11:39:23 +01:00
Chris Bradfield
2fad317498 [DOCS] Classref additions and corrections
(cherry picked from commit c049c8fbb9)
2018-11-01 11:39:23 +01:00
Rémi Verschelde
0cceb0f261 RayCast2D: Fix reporting old collider after collision ended
It now behaves the same as RayCast (3D).
Fixed documentation accordingly and documented new configuration options.

Supersedes and closes #20567.

(cherry picked from commit 449fcc5a72)
2018-11-01 11:39:23 +01:00
Tiger C
6faa928979 Added documentation for some RigidBody methods, and copied the descriptions to matching PhysicsDirectBodyState methods.
(cherry picked from commit 74aa104607)
2018-11-01 11:39:23 +01:00
Chris Bradfield
fdc2bb1952 [DOCS] Corrections and clarifications
(cherry picked from commit 285234e8d9)
2018-11-01 11:39:22 +01:00
VirtualBox
3395a55db4 Update UndoRedo.xml
(cherry picked from commit 57f3e89f70)
2018-11-01 11:39:22 +01:00
Mel Collins
172c6c615e Clarify direction of input event propagation
(cherry picked from commit 2d0a55c86c)
2018-11-01 11:39:22 +01:00
Chris Bradfield
2d0e7bd484 [DOCS] Many class ref updates
(cherry picked from commit 2a0991dde6)
2018-11-01 11:39:22 +01:00
Chris Bradfield
d533bb9552 [DOCS] Updates to assorted class descriptions.
(cherry picked from commit 23b7edb214)
2018-11-01 11:39:22 +01:00
Rémi Verschelde
cb935f030f Doc: Clarify usage of dialog_hide_on_ok and caveat for FileDialog
Fixes #20817.

(cherry picked from commit 155fb45ca2)
2018-11-01 11:39:22 +01:00
clayjohn
c682baa97a removed reference to texscreen
(cherry picked from commit 333dfd562b)
2018-11-01 11:39:22 +01:00
Fluffel
a1134e861e [DOCS] get_indexed, tween
(cherry picked from commit a164d593c0)
2018-11-01 11:39:21 +01:00
Poommetee Ketson
9a3a714ee1 [DOCS] SceneTree stretching constants
(cherry picked from commit 5ed0861e81)
2018-11-01 11:39:21 +01:00
Poommetee Ketson
052919fe44 [DOCS] complete Tree.get_drop_section_at_position and Tree.drop_mode_flags
(cherry picked from commit 6536834d42)
2018-11-01 11:39:21 +01:00
PJB3005
08555b9bde Improve TileMap.get_used_cells docs.
(cherry picked from commit 338217c30b)
2018-11-01 11:39:21 +01:00
Saracen
548777910b Fixes the hyperlinks for enumerators inside classes in the editor help.
(cherry picked from commit 63c6a2487f)
2018-11-01 11:39:21 +01:00
Jason Anderson
13177d2635 Added AudioStream descriptions
(cherry picked from commits 17eb26a83a
and 512ae49f7d)
2018-11-01 11:39:21 +01:00
Noshyaar
b4b544ff73 Fix example code for EditorImportPlugin
(cherry picked from commit 817f315eae)
2018-11-01 11:39:21 +01:00
Rémi Verschelde
caea1601c4 Doc: Add example for array indexing
Supersedes and closes #20180.

(cherry picked from commit adb16be6b9)
2018-11-01 11:39:21 +01:00
toger5
2b954b0d55 mention load in texture class
(cherry picked from commit 533e026f9c)
2018-11-01 11:39:21 +01:00
Thomas ten Cate
5281636de4 Document return value of yield() with signals
Fixes godotengine/godot-docs#1478

(cherry picked from commit 117c666fce)
2018-11-01 11:39:20 +01:00
Hugo Locurcio
bb5312d3f7 Document Vector2.round() and Vector3.round()
(cherry picked from commit 61fd3cd32a)
2018-11-01 11:39:20 +01:00
Emmanuel Leblond
dd81ee9855 Correct test list returned by test_get_names
(cherry picked from commit 7e3b605ff4)
2018-11-01 11:39:20 +01:00
Rémi Verschelde
80e66a6214 Improve return value of OS.execute in blocking/non-blocking variants
Initialized the PID to -2, which will be the value returns in blocking-
mode where the PID is not available. (-1 was already taken to signify an
execution failure).

OS::execute will now properly return a non-OK error code when it fails
to execute the target file.

The documentation was rewritten to be very clear about the differences
between blocking and non-blocking mode.

Fixes #19056.

(cherry picked from commit f392650be2)
2018-11-01 11:39:20 +01:00
Daniel "Orangestar" O
d73de3fb97 Fix Error in the ScrollContainer Tooltips
(cherry picked from commit 40ec56801b)
2018-10-31 10:58:24 +01:00
Leon Krause
c9ab2bab22 Fix help/man for --export and --export-debug
(cherry picked from commit c4c7270cc7)
2018-10-31 10:57:39 +01:00
Leon Krause
ce362c03cf Allow exporting runnable presets from command line
(cherry picked from commit af7926cf98)
2018-10-31 10:56:44 +01:00
Rémi Verschelde
83b53ce6c8 Merge pull request #23033 from akien-mga/3.0
Backport of Android buildsystem improvements for 3.0
2018-10-16 14:32:28 +02:00
Wojciech Milkowski
74fe5968c1 Fix build with Android NDK r18
As a bonus there is no need to use undocumented Gradle API any more.

(cherry picked from commit 3598165c4d)
2018-10-15 16:27:40 +02:00
Wojciech Milkowski
8c714bf8cd No need to link with libandroid_support in NDK 17
According to https://github.com/bytedeco/javacpp/pull/244 in NDK 17
libandroid_support library is not needed any more, and on armv8 is
already gone which breaks compilation.

(cherry picked from commit 3a3ea6d514)
2018-10-09 09:23:19 +02:00
Ridwan Abdul Hafidh
d3ca68aee4 add support libc++_shared stl on android
(cherry picked from commit b0419db46f)
2018-10-09 09:23:03 +02:00
Tiago Quendera
a063074346 Update detect.py
Fixed a typo in detect.py

(cherry picked from commit aa594614db)
2018-10-09 09:20:31 +02:00
Rémi Verschelde
f16f9b2b8a i18n: Sync translations with Weblate 2018-08-23 13:37:15 +02:00
Rémi Verschelde
d95d136550 Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@dragmz, @fire

Thanks to all contributors and donors for making Godot possible!

[ci skip]

(cherry picked from commit 284b56f2fb)
2018-08-13 08:11:35 +02:00
Hein-Pieter van Braam
16ab5e091d 3.0.7-devel
Onwards my precious!
2018-07-31 20:13:10 +02:00
Hein-Pieter van Braam
8ac39d8863 3.0.6 changelog 2018-07-31 20:03:50 +02:00
Hein-Pieter van Braam
83140541dc Fix Mono compilation on Windows/Ming 2018-07-28 23:01:38 +02:00
Hein-Pieter van Braam
4491151aa9 Version 3.0.6-stable 2018-07-28 21:39:16 +02:00
Fabio Alessandrelli
5262d1bbcc Fix marshalls size checks.
Yesterday, when playing around with my network code, I realized there is
a security issue in decode_variant, at least when decoding PoolArrays.
Basically, the size of the PoolArray is encoded in a uint32_t, when
decoding it, that value is cast to int when comparing if the packet is
actually that size causing numbers with MSB=1 to be interpreted as
negative thus always passing the check. That same value though, is used
as uint32_t again to resize the output vector.  For this reason, sending
a malformed packet with declared type PoolByteArray and size of 2^31(+x)
causes the engine to try to allocate 2+GB of pool memory, causing the
engine to crash.
2018-07-28 21:21:19 +02:00
Ignacio Etcheverry
1a325e3580 Fix continuous attempt to reload domain with API assemblies out of sync
(cherry picked from commit 762c912e8e)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry
fc678567d7 Mono: Fix domain reload never triggering
(cherry picked from commit f1130f9a8a)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry
286ff21dd1 Fix '!valid' error spam on C# script instance create
(cherry picked from commit 8edf85b09c)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry
cf1c127c23 Mono: Fix null dereferences
(cherry picked from commit 5aefe5d936)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry
e7110984f3 Add Dictionary::erase_checked(key) method
Same as erase, but it returns a boolean value indicating whether the pair was erased or not.
This method should be removed during the next compatibility breakage, and 'Dictionary::erase(key)' should be changed to return a boolean.

(cherry picked from commit 2f69e36cef)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry
31f8d3525d Add Array and Dictionary wrapper classes to C#
(cherry picked from commit ee3c476c9a)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry
e1cf8dc2cb Mono: Pending exceptions and cleanup
(cherry picked from commit 4739cb8c00)
2018-07-28 16:06:30 +02:00
Rémi Verschelde
291be24742 Mono: Default to not shipping C# scripts content
Fixes #20053.

(cherry picked from commit df170d81cc)
2018-07-28 16:06:30 +02:00
Aaron Franke
3304c7620a [Mono] Improvements to GD.cs: PascalCasing and real_t
[Mono] Improvements to GD.cs: PascalCasing and real_t

(cherry picked from commit 174cf31d00)
2018-07-28 16:06:30 +02:00
Pieter-Jan Briers
ba441c48b0 Makes Mono bindings partial & adds GetNode<T>.
(cherry picked from commit a8c97eb094)
2018-07-28 16:06:30 +02:00
oisincar
e5aedf130f Fix bug with Basis.Transposed()
Fix bug where Basis.Transposed() incorrectly updated local basis, and
returned an unmodified copy. This also fixes Transform.Inverse().

(cherry picked from commit 7a4d593198)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry
94debea0a9 Make C# bindings generator ignore disabled classes
(cherry picked from commit 92c7fe422b)
2018-07-28 16:06:30 +02:00
Aaron Franke
c6a48e11e9 [Mono] Update about/warning text
I've removed the section about being unable to export games using C# - as you are now able to do this, as long as the export templates are installed. Also, I've made a few minor grammar tweaks.

(cherry picked from commit 69530ef614)
2018-07-28 16:06:30 +02:00
Mads Ynddal
327452cb09 Added path for Mono installed through Homebrew
On macOS, it is common to install packages like Mono through the third-party
package-manager Homebrew. This commit simply adds an additional path to
where Homebrew installs the Mono framework.

(cherry picked from commit 39aabba0a9)
2018-07-28 16:06:30 +02:00
Kelly Thomas
c751b66d38 convert unicode mono root path to ascii string
(cherry picked from commit 753230c275)
2018-07-28 16:06:30 +02:00
Nathan Warden
5928b18cf3 The build-solutions flag now forces editor mode.
(cherry picked from commit 03bb14bcc5)
2018-07-28 16:06:30 +02:00
Rémi Verschelde
f37779ba20 Travis: Build Mono module in linux tools job
(cherry picked from commit 7bf0c134a7)
2018-07-28 16:06:30 +02:00
Rémi Verschelde
ef67ef3155 Travis: Make dependencies follow the matrix requirements
Also make the coverity addon only applied to the static checks build job.

(cherry picked from commit c58f73fd35)
2018-07-28 16:06:30 +02:00
Rémi Verschelde
ba3406fffe Travis: Cleanup build matrix
Remove unused MinGW config, switch server build to gcc/tools.
Update COVERITY_SCAN_TOKEN's secure.

(cherry picked from commit f827dcba44)
2018-07-28 16:06:30 +02:00
Aaron Franke
68bfea5aa0 [Mono] Rename Fposmod to PosMod
[Mono] Rename Fposmod to PosMod

(cherry picked from commit 5b2b23c9a9)
2018-07-28 16:06:30 +02:00
Josh Faust
be588f9493 Fix crash on editor startup when running with platform=server
(cherry picked from commit 4e58db9f12)
2018-07-28 16:06:30 +02:00
Josh Faust
c3fcb18bc6 Fix scene import when platform=server
Adds code in RasterizerStorageDummy to store off mesh surface information,
rather than just throwing it away. Without this, all surface arrays were
just defaulting to empty when the packed scene was written.

(cherry picked from commit 5b639269a2)
2018-07-28 16:06:30 +02:00
chanon
4897227d04 fix can't set AudioStreamPlayer stream to null
(cherry picked from commit 2bdac0a5d9)
2018-07-28 16:06:30 +02:00
Chaosus
11cbf850a4 Fix vsync initialization
(cherry picked from commit 5c0a576630)
2018-07-28 16:06:30 +02:00
Konstantin Zaitsev
c00c3f10a4 Fix possible NullPointerException crash on cancel payment
(cherry picked from commit d05db4de8e)
2018-07-28 16:06:30 +02:00
Michael Lee
00fa61f8f5 Preventing an editor crash in the event that a plugin scene's root-node is null.
(cherry picked from commit 2adfdbe184)
2018-07-28 16:06:30 +02:00
Marcelo Fernandez
d3a482ab65 Fix possible bug with AudioStreamPlayer2D audio position
(cherry picked from commit 0c78a58b64)
2018-07-27 17:14:22 +02:00
Hein-Pieter van Braam
b64850e732 Make _ALWAYS_INLINE_ and _FORCE_INLINE_ equivalent
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and
non-debug builds. This is a lot faster for Vector in the editor and
while running tests. The reason why this difference used to exist is
because force-inlined methods used to give a bad debugging experience.
After extensive testing with modern compilers this is no longer the
case.
2018-07-27 17:14:22 +02:00
Pedro J. Estébanez
bc2ee93758 Fix touch issues on Windows
(cherry picked from commit 2f161ffd4f)
2018-07-27 17:14:22 +02:00
Hein-Pieter van Braam
2843a3f7e7 Merge pull request #20517 from akien-mga/openssl-1.0.2o
openssl: Update to pristine 1.0.2o (security update)
2018-07-27 17:10:51 +02:00
Rémi Verschelde
33a9bda1d9 openssl: Update to pristine 1.0.2o (security update) 2018-07-27 16:17:27 +02:00
bruvzg
d3c4f91c9c Workaround for clang 6 bug.
(cherry picked from commit b68222e4e7)
2018-07-26 16:09:42 +02:00
Rémi Verschelde
5c6c88ef15 i18n: Sync translations with Weblate 2018-07-26 11:22:43 +02:00
Rémi Verschelde
69cdb35820 Travis: Update clang-format version in shell script
(cherry picked from commit 36efa7d445)
2018-07-18 17:49:27 +02:00
Rémi Verschelde
4d89153e5f Travis: Install libstdc++ >= 4.9 for clang-format-6.0
(cherry picked from commit 22b176f69d)
2018-07-18 17:45:39 +02:00
Rémi Verschelde
c709dff1a2 Style: Format code with clang-format 6.0.1
(cherry picked from commit 7c9f7452f4)

Travis: Update style checks to clang-format 6.0.1

(cherry picked from commit 003ac67df1)
2018-07-18 16:37:23 +02:00
Rémi Verschelde
d859aa1438 Update AUTHORS and DONORS list
New contributor added to AUTHORS:
@JFonS
Also updated alphabetically sorting with `sort -d`.

Thanks to all contributors and donors for making Godot possible!

[ci skip]

(cherry picked from commit b631306de1)
2018-07-18 10:31:45 +02:00
Rodolfo Ribeiro Gomes
4fcb0d036c fix default glTF metallic & roughness factor values
The glTF 2.0 spec says that these pbrMetallicRoughness material
properties should be set as 1.0 by default.
In fact, KhronosGroup's official Blender Exporter does not even write
down those parameters if they are set as 1.0.

However, Godot import them as 0.0.

https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#pbrmetallicroughness

Fixes: #19613 https://github.com/godotengine/godot/issues/19613
(cherry picked from commit 01b01209a3)
2018-07-10 00:10:39 +02:00
Hein-Pieter van Braam
b5338b640f Bump to 3.0.6-devel 2018-07-09 14:32:35 +02:00
Hein-Pieter van Braam
6a88e22423 Version 3.0.5-stable 2018-07-08 16:03:43 +02:00
Hein-Pieter van Braam
861d341dff Write new permissions to the AndroidManifest.xml
Instead of editing the placeholder permissions actually write new ones.
This should solve the privacy statement problems for the Play store.
This means we also no longer need to placeholder permissions in the
template.

(cherry picked from commit 2a126242dd)
2018-07-08 15:48:08 +02:00
volzhs
a34daf6851 Fix segfault at quiting editor
(cherry picked from commit e639db0529)
2018-07-08 15:39:15 +02:00
Pedro J. Estébanez
59a00c3cdd Fix debugger focus stealing
At least on Windows, the authorization must be given every time, not only at startup.

(cherry picked from commit 2fcbf9dd81)
2018-07-08 15:39:15 +02:00
Kelly Thomas
e86ef017f2 allow undefined GODOT_DEBUG_MSBUILD environment variable
(cherry picked from commit 17516822f9)
2018-07-08 15:39:15 +02:00
Ignacio Etcheverry
d4a226500b Mono: Add 'View log' button to open the MSBuild log of a build
(cherry picked from commit 4a021fa7a2)
2018-07-08 15:39:15 +02:00
Ignacio Etcheverry
16550339ba Mono: Fix passing wrong logger assembly path to MSBuild
- Add option to print MSBuild's stdout and stderr instead of redirecting it. This can be enabled by setting the environment variable: Godot_DEBUG_MSBUILD=1

(cherry picked from commit 25f10b3c40)
2018-07-08 15:39:15 +02:00
Ignacio Etcheverry
84e1551c64 Mono: Null checks when marshaling from MonoArray* and managed Dictionary
(cherry picked from commit 7933a6cc9f)
2018-07-08 15:39:15 +02:00
Nathan Warden
af902dc042 Lerp now consistent with Godot API. InverseLerp fixed.
(cherry picked from commit c2315e3291)
2018-07-08 15:39:15 +02:00
Rémi Verschelde
d99b247cc7 Revert "Fix saving unmodified scenes and resources"
This reverts commits 28ab60422d
and 7821b70a00.

Fixes #19576, and likely the fact that subresources are no
longer saved when saving scenes with no change.

(cherry picked from commit 5d7f9f804a)
2018-07-08 15:39:15 +02:00
GagaPete
139185e543 Fix CORS problems due to added headers on JS target
Before this change, missing User-Agent and Accept headers were automatically
added on all platforms. Setting the User-Agent header forces the browser to
do a CORS preflight (see 1) which fails if the HTTP endpoint is not
configured appropriate. It's not neccesary to set either header as the
browser sets them and so this commit disables that functionality on the JS
target.

1: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
(cherry picked from commit 8a4dccc4ce)
2018-07-08 15:39:15 +02:00
=
64bcefb7cd Mono: Fixes annotated signal loading in exported binaries
(cherry picked from commit 489c9adf03)
2018-07-08 15:39:15 +02:00
Rémi Verschelde
4ac9932128 Merge pull request #19944 from PatrickKaster/feature/android_modules_asset_dir
asset_dir method in Android modules' gradle config
2018-07-04 23:29:38 +02:00
Patrick Kaster
9190ae2be7 added 'android_add_asset_dir('...') method to Android module gradle build config 2018-07-04 23:04:14 +02:00
Rémi Verschelde
a03cf8964f Fix date typo in changelog 2018-06-28 14:22:43 +02:00
Hein-Pieter van Braam
4bf441c32b Bump to 3.0.5
And onwards!
2018-06-23 17:05:45 +02:00
Hein-Pieter van Braam
b116a45f07 Add changelog for 3.0.4 2018-06-23 16:45:07 +02:00
Hein-Pieter van Braam
d91613592b Godot 3.0.4-stable 'brown paper bag' 2018-06-22 15:33:45 +02:00
Rémi Verschelde
e6df472e8f doc: Remove extraneous empty lines in descriptions 2018-06-22 14:51:59 +02:00
Mel Collins
f6abffdb4a Add longer description to ViewportTexture doc
(cherry picked from commit cf63abac36)
2018-06-22 14:47:09 +02:00
Max Hilbrunner
a1930b1772 [DOCS] Builtin keywords because search is terribad
(cherry picked from commit 5002db6be1)
2018-06-22 14:46:48 +02:00
Max Hilbrunner
9530ce9d3f [DOCS] TreeItem: Small fix for remove_child()
(cherry picked from commit 25b5242d9f)
2018-06-22 14:46:35 +02:00
Max Hilbrunner
3d8e49d9e8 [DOCS] InputEventMouseButton: Factor
(cherry picked from commit 03250259d3)
2018-06-22 14:46:17 +02:00
Mel Collins
64419a2ea1 Add a little to ViewportTexture docs
(cherry picked from commit b820056b38)
2018-06-22 14:45:44 +02:00
letheed
34eabc0602 Fix Vector2 doc of floor, add ceil doc
(cherry picked from commit d759d25aca)
2018-06-22 14:45:18 +02:00
tagcup
ade470352c Added some details in skeleton docs.
Workaround for #19551.

(cherry picked from commit 195e963613)
2018-06-22 14:44:53 +02:00
unknown
ae48b1b94a Added description for abs function in Rect2
(cherry picked from commit d1b3f36eab)
2018-06-22 14:44:34 +02:00
clayjohn
394838901d updated Viewport docs to correct wrong information and fill out empty sections
(cherry picked from commit 650ebdc832)
2018-06-22 14:44:06 +02:00
Bastiaan Olij
f49fcc960b Added some documentation to particles
(cherry picked from commit c4dfef58d9)
2018-06-22 14:43:45 +02:00
Rhody Lugo
2f3e4c1a7a add NoCache wrapper to Command
(cherry picked from commit 920224a535)
2018-06-22 14:42:14 +02:00
Rémi Verschelde
d04cc2855a i18n: Sync translations with Weblate 2018-06-22 10:57:15 +02:00
Rémi Verschelde
909eaede4c Disable threading in Asset Library
Threaded HTTPRequest appears to be crashy on 3.0.x.
Fixes #19336.
2018-06-22 09:30:17 +02:00
Marc Gilleron
4d7aa0b762 Make heightmap shape usable from PhysicsServer
- Fixed bad size check
- Fixed bad member initialization
- Removed unused cell_size (Bullet expects us to use localScaling)
- Accept precomputed min/max height, will be calculated if not provided

(cherry picked from commit a66e1af168)
2018-06-14 15:50:15 +00:00
Hein-Pieter van Braam
98609279b6 Bump version to 3.0.4
And onwards!
2018-06-14 15:37:51 +00:00
2624 changed files with 29319 additions and 19441 deletions

View File

@@ -12,13 +12,16 @@ environment:
TARGET: release_debug
ARCH: amd64
init:
- ps: if ($env:APPVEYOR_REPO_BRANCH -ne "master") { $env:APPVEYOR_CACHE_SKIP_SAVE = "true" }
cache:
- "%SCONS_CACHE_ROOT%"
install:
- SET "PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- pip install -U wheel # needed for pip install scons to work, otherwise a flag is missing
- pip install scons
- pip install scons==3.0.1
- if defined VS call "%VS%" %ARCH% # if defined - so we can also use mingw
before_build:
@@ -26,7 +29,7 @@ before_build:
- python --version
- scons --version
- cl.exe
- SET "SCONS_CACHE=%SCONS_CACHE_ROOT%\master"
- set "SCONS_CACHE=%SCONS_CACHE_ROOT%\%APPVEYOR_REPO_BRANCH%"
build_script:
- scons platform=%GD_PLATFORM% target=%TARGET% tools=%TOOLS% verbose=yes progress=no gdnative_wrapper=yes
- scons platform=%GD_PLATFORM% target=%TARGET% tools=%TOOLS% verbose=yes progress=no gdnative_wrapper=yes

View File

@@ -1,6 +1,6 @@
# Commented out parameters are those with the same value as base LLVM style
# We can uncomment them if we want to change their value, or enforce the
# chosen value in case the base style changes (last sync: Clang 5.0.0).
# chosen value in case the base style changes (last sync: Clang 6.0.1).
---
### General config, applies to all languages ###
BasedOnStyle: LLVM
@@ -32,6 +32,7 @@ AllowShortIfStatementsOnASingleLine: true
# AfterObjCDeclaration: false
# AfterStruct: false
# AfterUnion: false
# AfterExternBlock: false
# BeforeCatch: false
# BeforeElse: false
# IndentBraces: false
@@ -60,6 +61,7 @@ Cpp11BracedListStyle: false
# - foreach
# - Q_FOREACH
# - BOOST_FOREACH
# IncludeBlocks: Preserve
IncludeCategories:
- Regex: '".*"'
Priority: 1
@@ -69,6 +71,7 @@ IncludeCategories:
Priority: 3
# IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: true
# IndentPPDirectives: None
IndentWidth: 4
# IndentWrappedFunctionNames: false
# JavaScriptQuotes: Leave
@@ -86,6 +89,10 @@ IndentWidth: 4
# PenaltyExcessCharacter: 1000000
# PenaltyReturnTypeOnItsOwnLine: 60
# PointerAlignment: Right
# RawStringFormats:
# - Delimiter: pb
# Language: TextProto
# BasedOnStyle: google
# ReflowComments: true
# SortIncludes: true
# SortUsingDeclarations: true

3
.gitignore vendored
View File

@@ -309,5 +309,8 @@ platform/windows/godot_res.res
/.vs
/.vscode
# Visual Studio Code workspace file
*.code-workspace
# Scons progress indicator
.scons_node_count

106
.mailmap
View File

@@ -1,29 +1,115 @@
Alexander Holland <alexander.holland@live.de>
Alexander Holland <alexander.holland@live.de> <alexander.holland@haw-hamburg.de>
Alexander Holland <alexander.holland@live.de> <AlexHolly>
Andrea Catania <info@andreacatania.com>
Andreas Haas <liu.gam3@gmail.com>
Andreas Haas <Hinsbart@users.noreply.github.com>
Andreas Haas <entenflugstuhl@gmail.com>
Andreas Haas <liu.gam3@gmail.com> <hinsbart@gmail.com>
Andreas Haas <liu.gam3@gmail.com> <hinsbart@users.noreply.github.com>
Andreas Haas <liu.gam3@gmail.com> <entenflugstuhl@gmail.com>
Anish Bhobe <anishbhobe@hotmail.com>
Anutrix <numaanzaheerahmed@yahoo.com>
Aren Villanueva <arenvillanueva@yomogi-soft.com> <aren@displaysweet.com>
Ariel Manzur <ariel@godotengine.org>
Ariel Manzur <ariel@okamstudio.com>
Ariel Manzur <ariel@godotengine.org> <punto@godotengine.org>
Ariel Manzur <ariel@godotengine.org> <ariel@okamstudio.com>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini.local>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini-2.local>
Bastiaan Olij <mux213@gmail.com>
Bernhard Liebl <poke1024@gmx.de>
Bernhard Liebl <poke1024@gmx.org>
Benjamin <mafortion.benjamin@gmail.com>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.de>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.org>
Chaosus <chaosus89@gmail.com>
Chris Bradfield <chris@kidscancode.org> <cb@scribe.net>
Clay John <claynjohn@gmail.com>
Clay John <claynjohn@gmail.com> <clayjohn@shaw.ca>
Dana Olson <dana@shineuponthee.com> <adolson@gmail.com>
Daniel J. Ramirez <djrmuv@gmail.com>
Erik Selecký <35656626+rxlecky@users.noreply.github.com>
Erik Selecký <35656626+rxlecky@users.noreply.github.com> <35656626+SeleckyErik@users.noreply.github.com>
Fabian <supagu@gmail.com>
Ferenc Arn <tagcup@yahoo.com>
Ferenc Arn <tagcup@yahoo.com> <tagcup@users.noreply.github.com>
Fredia Huya-Kouadio <fhuyakou@gmail.com>
Fredia Huya-Kouadio <fhuyakou@gmail.com> <fhuya@google.com>
Geequlim <geequlim@gmail.com>
Hugo Locurcio <hugo.locurcio@hugo.pro>
Gilles Roudiere <gilles.roudiere@gmail.com>
Gilles Roudiere <gilles.roudiere@gmail.com> <gilles.roudiere@laas.fr>
Gordon MacPherson <gordon@gordonite.tech>
Guilherme Felipe <guilhermefelipecgs@gmail.com>
Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
Hein-Pieter van Braam-Stewart <hp@tmm.cx>
Hubert Jarosz <marqin.pl@gmail.com>
Hubert Jarosz <marqin.pl@gmail.com> <marqin.pl+git@gmail.com>
Hugo Locurcio <hugo.locurcio@hugo.pro> <hugo.l@openmailbox.org>
Hugo Locurcio <hugo.locurcio@hugo.pro> <Calinou@users.noreply.github.com>
Hugo Locurcio <hugo.locurcio@hugo.pro> Calinou <calinou@opmbx.org>
Ian Bishop <ianb96@gmail.com>
Ignacio Etcheverry <ignalfonsore@gmail.com>
Ignacio Etcheverry <ignalfonsore@gmail.com> <neikeq@users.noreply.github.com>
Ilaria Cislaghi <cislaghi.ilaria@gmail.com>
Ilaria Cislaghi <cislaghi.ilaria@gmail.com> <ilaria.cislaghi@simedis.com>
Indah Sylvia <ISylvox@yahoo.com>
J08nY <johny@neuromancer.sk> <jancar.jj@gmail.com>
J08nY <johny@neuromancer.sk> <J08nY@users.noreply.github.com>
Jakub Grzesik <kubecz3k@gmail.com>
Jérôme Gully <jerome.gully0@gmail.com>
JFonS <joan.fonssanchez@gmail.com>
Juan Linietsky <reduzio@gmail.com>
Juan Linietsky <juan@okamstudio.com>
Juan Linietsky <reduz@Juans-MBP.fibertel.com.ar>
Juan Linietsky <reduzio@gmail.com> <juan@godotengine.org>
Juan Linietsky <reduzio@gmail.com> <juan@okamstudio.com>
Juan Linietsky <reduzio@gmail.com> <reduz@Juans-MBP.fibertel.com.ar>
Juan Linietsky <reduzio@gmail.com> <red@kyoko>
Julian Murgia <the.straton@gmail.com>
Leon Krause <eska@eska.me>
Leon Krause <eska@eska.me> <eska014@users.noreply.github.com>
Kanabenki <lucien.menassol@gmail.com> <18357657+Kanabenki@users.noreply.github.com>
Kelly Thomas <kelly.thomas@hotmail.com.au>
K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Leon Krause <lk@leonkrause.com> <eska@eska.me>
Leon Krause <lk@leonkrause.com> <eska014@users.noreply.github.com>
Manuel Strey <manuel.strey@gmx.de>
Marcelo Fernandez <marcelofg55@gmail.com>
Marcin Zawiejski <dragmz@gmail.com>
Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Mario Schlack <m4r10.5ch14ck@gmail.com>
marxin <mliska@suse.cz>
marynate <mary.w.nate@gmail.com> <marynate@github.com>
Max Hilbrunner <m.hilbrunner@gmail.com>
Max Hilbrunner <m.hilbrunner@gmail.com> <mhilbrunner@users.noreply.github.com>
Michael Alexsander <michaelalexsander@protonmail.com>
Nathan Lovato <nathan@gdquest.com>
Nathan Warden <nathan@nathanwarden.com> <nathanwardenlee@icloud.com>
Nils ANDRÉ-CHANG <nils@nilsand.re>
Nils ANDRÉ-CHANG <nils@nilsand.re> <nils.andre.chang@gmail.com>
Nuno Donato <nunodonato@gmail.com> <n.donato@estrelasustentavel.pt>
Pedro J. Estébanez <pedrojrulez@gmail.com> <RandomShaper@users.noreply.github.com>
Paul Batty <p_batty@hotmail.co.uk>
Paul Batty <p_batty@hotmail.co.uk> <Paulb23@users.noreply.github.com>
Pawel Kowal <pkowal1982@gmail.com> <pawel.kowal@javart.eu>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com> <pieterjan.briers@gmail.com>
Poommetee Ketson <poommetee@protonmail.com>
Przemysław Gołąb (n-pigeon) <golab.przemyslaw@gmail.com>
Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@posteo.de>
Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@users.noreply.github.com>
Ramesh Ravone <ramesh.maran443@gmail.com>
RaphaelHunter <raphael10241024@gmail.com>
RaphaelHunter <raphael10241024@gmail.com> <Raphael10241024@gmail.com>
RaphaelHunter <raphael10241024@gmail.com> <raphael20141024@gmail.com>
Rémi Verschelde <rverschelde@gmail.com> <remi@verschelde.fr>
Rhody Lugo <rhodylugo@gmail.com> <rhodylugo@me.com>
Robin Hübner <profan@prfn.se> <robinhubner@gmail.com>
romulox_x <romulox_x@yahoo.com>
Ruslan Mustakov <r.mustakov@gmail.com> <ruslan.mustakov@xored.com>
Saracen <SaracenOne@gmail.com>
sheepandshepherd <sheepandshepherd@hotmail.com> <sheepandshepherd@users.noreply.github.com>
Swarnim Arun <swarnimarun11@gmail.com>
Theo Hallenius <redsymbzone@hotmail.com>
Thomas Herzog <therzog@mail.de>
Thomas Herzog <therzog@mail.de> <thomas.herzog@mail.com>
Thomas Herzog <therzog@mail.de> <thomas.herzog@simedis.com>
Twarit <wtwarit@gmail.com>
V.VamsiKrishna <vk@bsb.in> <vamsikrishna.v@gmail.com>
Wilhem Barbier <nounoursheureux@openmailbox.org> <wilhem.b@free.fr>
Wilhem Barbier <nounoursheureux@openmailbox.org> <schtroumps31@gmail.com>
Will Nations <willnationsdev@gmail.com>
yg2f <yoann@terminajones.com>
Zher Huei Lee <lee.zh.92@gmail.com>

View File

@@ -1,13 +1,15 @@
language: cpp
# OS config, depends on actual 'os' in build matrix
dist: trusty
sudo: false
env:
global:
- SCONS_CACHE=$HOME/.scons_cache
- SCONS_CACHE=$HOME/.scons_cache/$TRAVIS_BRANCH
- SCONS_CACHE_LIMIT=1024
- OPTIONS="verbose=yes progress=no gdnative_wrapper=yes"
- secure: "QLFRizqry/Y5pnEZvDlQz5S3YydQ+600u4rHEzFgUTd0heYeQaETXAQeMzp0ymuG1BkdRAl5YJoLVJgAzjwI9hrvugvoUlh2//SfpqZCHN/Q1fYbtGgNTn01R3VFEpcfYQL93I2EjrxVm0WTM4PwCvMO+hU0aWTRDvCt1Lty0kMR+RMDQOO/woqunoXh5wvFNxTJJkAmuLe0v962DJYOIwJAnqMLR0aFYjmeQJ20bc/2X5oLt+WuJDuf/lGj6WSlD6z/o/kL3YxHoUyw4A/HAZ2IX0IfNHKuay60ESWzl/NlobnePiPwHAE2pdDVu//q16fanb9VeYnBYRFse49TpFRb86Lo+Qz8nKDJqpQEIY0YKNCFqekrubqTM++Lj6QvGpykQZNxUhybmELcEsRG4PS0UMvCpebdnJD46nNB+DtO2Lgb4xXDLQwpq19z1wizq/XDQ5hz61TIIx8+i8TsgdSQKCTeWovd4HcD4CVjAD5XTLGgyRmI/zC2d+lTnKo6W9diLq/bX/Goq2QPeaTPABqv817IaJka2JyugQ7Qal/+gNTjYRRsimRCL9B2tVh+Uh8rWhTFhQL4QbP5P65HF+p8qojUzqtAhPMbZ8mxUtNukUI3liVgPgiMss96sG0nTVglFgkkAkEjIMFnqMSKnTfG812K4jIhp2jCO2Q3NeI="
cache:
directories:
@@ -17,60 +19,70 @@ matrix:
include:
- env: STATIC_CHECKS=yes
os: linux
compiler: clang
- env: GODOT_TARGET=x11 TOOLS=yes CACHE_NAME=${GODOT_TARGET}-gcc-tools
compiler: gcc
addons:
apt:
sources:
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
packages:
- clang-format-6.0
- libstdc++6 # >= 4.9 needed for clang-format-6.0
coverity_scan:
project:
name: "godotengine/godot"
description: "Godot Engine Coverity scans"
notification_email: coverity@godotengine.org
build_command_prepend: ""
build_command: "scons p=x11 -j2 $OPTIONS"
branch_pattern: coverity_scan
- env: GODOT_TARGET=x11 TOOLS=yes CACHE_NAME=${GODOT_TARGET}-tools-mono-gcc EXTRA_ARGS="module_mono_enabled=yes mono_glue=no"
os: linux
compiler: gcc
addons:
apt:
sources:
- mono
packages:
- &linux_deps [libasound2-dev, libfreetype6-dev, libgl1-mesa-dev, libglu1-mesa-dev, libx11-dev, libxcursor-dev, libxi-dev, libxinerama-dev, libxrandr-dev]
- &linux_mono_deps [mono-devel, msbuild]
- env: GODOT_TARGET=x11 TOOLS=no CACHE_NAME=${GODOT_TARGET}-clang
os: linux
compiler: clang
#- env: GODOT_TARGET=windows TOOLS=yes CACHE_NAME=${GODOT_TARGET}-gcc-tools
# os: linux
# compiler: gcc
- env: GODOT_TARGET=android TOOLS=no CACHE_NAME=${GODOT_TARGET}-gcc
os: linux
compiler: gcc
#- env: GODOT_TARGET=osx TOOLS=yes CACHE_NAME=${GODOT_TARGET}-clang-tools
# os: osx
# compiler: clang
#- env: GODOT_TARGET=iphone TOOLS=no CACHE_NAME=${GODOT_TARGET}-clang
# os: osx
# compiler: clang
- env: GODOT_TARGET=server TOOLS=no CACHE_NAME=${GODOT_TARGET}-clang"
addons:
apt:
packages:
- *linux_deps
- env: GODOT_TARGET=android TOOLS=no CACHE_NAME=${GODOT_TARGET}-clang
os: linux
compiler: clang
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
packages:
- build-essential
- scons
- pkg-config
- libx11-dev
- libxcursor-dev
- libxi-dev
- libxinerama-dev
- libxrandr-dev
- libgl1-mesa-dev
- libglu1-mesa-dev
- libasound2-dev
- libfreetype6-dev
- libssl-dev
- env: GODOT_TARGET=osx TOOLS=yes CACHE_NAME=${GODOT_TARGET}-tools-clang
os: osx
osx_image: xcode9.3
compiler: clang
# For cross-compiling to Windows.
#- binutils-mingw-w64-i686
#- binutils-mingw-w64-x86-64
#- gcc-mingw-w64-i686
#- gcc-mingw-w64-x86-64
#- g++-mingw-w64-i686
#- g++-mingw-w64-x86-64
#- mingw-w64
- env: GODOT_TARGET=iphone TOOLS=no CACHE_NAME=${GODOT_TARGET}-clang
os: osx
osx_image: xcode9.3
compiler: clang
# For style checks.
- clang-format-5.0
- env: GODOT_TARGET=server TOOLS=yes CACHE_NAME=${GODOT_TARGET}-tools-gcc
os: linux
compiler: gcc
addons:
apt:
packages:
- *linux_deps
before_install:
- if [ "$STATIC_CHECKS" = "yes" ]; then
unset SCONS_CACHE;
fi
install:
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$GODOT_TARGET" = "android" ]; then
@@ -93,5 +105,5 @@ script:
- if [ "$STATIC_CHECKS" = "yes" ]; then
sh ./misc/travis/clang-format.sh;
else
scons -j2 CC=$CC CXX=$CXX platform=$GODOT_TARGET TOOLS=$TOOLS verbose=yes progress=no openmp=no gdnative_wrapper=yes;
scons -j2 CC=$CC CXX=$CXX platform=$GODOT_TARGET TOOLS=$TOOLS $EXTRA_ARGS $OPTIONS;
fi

View File

@@ -25,49 +25,77 @@ name is available.
## Developers
(in alphabetical order, with 10 commits or more excluding merges)
(in alphabetical order, with over 10 commits excluding merges)
Aaron Franke (aaronfranke)
Alexander Holland (AlexHolly)
Alexey Velikiy (jonyrock)
Alexey Khoroshavin (allkhor)
Alket Rexhepi (alketii)
Andrea Catania (AndreaCatania)
Andreas Haas (Hinsbart)
Andrii Doroshenko (Xrayez)
Andy Moss (MillionOstrich)
Anish Bhobe (KidRigger)
Anton Yabchinskiy (a12n)
Anutrix
Aren Villanueva (kurikaesu)
Ariel Manzur (punto-)
Bastiaan Olij (BastiaanOlij)
Ben Brookshire (sheepandshepherd)
Benjamin (Nallebeorn)
Benjamin Larsson (Nallebeorn)
Bernard Liebl (poke1024)
Bojidar Marinov (bojidar-bg)
Błażej Szczygieł (zaps166)
Bojidar Marinov (bojidar-bg)
Bruno Lourenço (MadEqua)
bruvzg
Cameron Reikes (creikey)
Camille Mohr-Daurat (pouleyKetchoupp)
Carl Olsson (not-surt)
Carter Anderson (cart)
Chris Bradfield (cbscribe)
Clay John (clayjohn)
Dana Olson (adolson)
Daniel J. Ramirez (djrm)
Daniel Rakos (aqnuep)
dankan1890
David Sichma (DavidSichma)
Dharkael (lupoDharkael)
Dmitry Koteroff (Krakean)
Дмитрий Сальников (DmitriySalnikov)
DualMatrix
Emmanuel Barroga (codecustard)
Emmanuel Leblond (touilleMan)
Eoin O'Neill (Eoin-ONeill-Yokai)
Eric Lasota (elasota)
Eric Rybicki (ericrybick)
Erik Selecký (rxlecky)
est31
Fabian Mathews (supagu)
Fabio Alessandrelli (Faless)
Ferenc Arn (tagcup)
Franklin Sobrinho (TheHX)
Fredia Huya-Kouadio (m4gr3d)
Geequlim
Gen (dbsGen)
George Marques (vnen)
Gerrit Großkopf (Grosskopf)
Gilles Roudiere (groud)
Gordon MacPherson (RevoluPowered)
Guilherme Felipe de C. G. da Silva (guilhermefelipecgs)
Hein-Pieter van Braam (hpvb)
Hanif Bin Ariffin (hbina)
Haoyu Qiu (timothyqiu)
Hein-Pieter van Braam-Stewart (hpvb)
Hiroshi Ogawa (hi-ogawa)
homer666
Hubert Jarosz (Marqin)
Hugo Locurcio (Calinou)
Ian Bishop (ianb96)
Ibrahn Sahir (ibrahn)
Ignacio Etcheverry (neikeq)
Ilaria Cislaghi (QbieShay)
Indah Sylvia (ISylvox)
J08nY
Jakub Grzesik (kubecz3k)
Jérôme GULLY (Nutriz)
Jérôme Gully (Nutriz)
Joan Fons Sanchez (JFonS)
Johan Manuel (29jm)
Joshua Grams (JoshuaGrams)
Juan Linietsky (reduz)
@@ -75,55 +103,75 @@ name is available.
Justo Delgado (mrcdk)
Kelly Thomas (KellyThomas)
Kostadin Damyanov (Max-Might)
K. S. Ernest (iFire) Lee (fire)
Leon Krause (eska014)
Marc Gilleron (Zylann)
Lucien Menassol (Kanabenki)
m4nu3lf
Marcel Admiraal (madmiraal)
Marcelo Fernandez (marcelofg55)
Marc Gilleron (Zylann)
Marcin Zawiejski (dragmz)
Mariano Javier Suligoy (MarianoGnu)
Mario Schlack (hurikhan)
Martin Capitanio (capnm)
Martin Liška (marxin)
Martin Sjursen (binbitten)
marynate
Masoud BH (masoudbh3)
Matthias Hölzl (hoelzl)
Max Hilbrunner (mhilbrunner)
Michael Alexsander Silva Dias (YeldhamDev)
merumelu
Michael Alexsander (YeldhamDev)
MichiRecRoom (LikeLakers2)
mrezai
muiroc
Nathan Warden (NathanWarden)
Nils André-Chang (NilsIrl)
Nuno Donato (nunodonato)
Ovnuniarchos
Pascal Richter (ShyRed)
Patrick (firefly2442)
Paul Batty (Paulb23)
Paul Joannon (paulloz)
Paul Trojahn (ptrojahn)
Pawel Kowal (pkowal1982)
Pedro J. Estébanez (RandomShaper)
Pieter-Jan Briers (PJB3005)
Poommetee Ketson (Noshyaar)
Przemysław Gołąb (n-pigeon)
Rafał Mikrut (qarmin)
Ralf Hölzemer (rollenrolm)
Ramesh Ravone (RameshRavone)
raphael10241024
Ray Koopa (RayKoopa)
Rémi Verschelde (akien-mga)
Rhody Lugo (rraallvv)
Roberto F. Arroyo (robfram)
Robin Hübner (profan)
romulox-x
Ruslan Mustakov (endragor)
Saniko (sanikoyes)
santouits
SaracenOne
sersoong
Shiqing (kawa-yoiko)
Simon Wenner (swenner)
Swarnim Arun (minraws)
Theo Hallenius (TheoXD)
Thomas Herzog (karroffel)
Timo Schwarzer (timoschwarzer)
Timo (toger5)
V. Vamsi Krishna (vkbsb)
Tomasz Chabora (KoBeWi)
Twarit Waikar (IronicallySerious)
Vinzenz Feenstra (vinzenz)
박한얼 (volzhs)
V. Vamsi Krishna (vkbsb)
Wilhem Barbier (nounoursheureux)
Will Nations (willnationsdev)
Wilson E. Alvarez (Rubonnek)
Xavier Cho (mysticfall)
Yuri Roubinski (Chaosus)
yg2f (SuperUserNameMan)
Yuri Roubinsky (Chaosus)
Zak Stam (zaksnet)
Zher Huei Lee (leezh)
ZuBsPaCe
박한얼 (volzhs)
bruvzg
est31
m4nu3lf
marynate
mrezai
romulox-x
rraallvv
sersoong
yg2f (SuperUserNameMan)

View File

@@ -4,7 +4,50 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
## [3.0.3] - 2018-07-13
## [3.0.6] - 2018-07-29
### Added
- Upgrade bundled OpenSSL to 1.0.2o.
### Fixed
- Security issue relating to deserializing Variants.
- Several editor crashes.
- GLTF import fixes.
- Windows: Fix touch/pen input.
- Mono: --build-solutions now forces editor mode.
- Mono: Several bugfixes.
- Headless: Fix scene imports.
## [3.0.5] - 2018-07-08
### Added
- 'android_add_asset_dir('...') method to Android module gradle build config.
### Fixed
- Android exporter no longer writes unnecessary permissions to the exported APK.
- Segfault when quitting the editor.
- Debugger 'focus stealing' now works more reliably.
- Subresources are now always saved when saving a scene.
- WebAssembly: Supply proper CORS heards.
- Mono: Annotated signal loading in exported projects.
- Mono: Serveral fixes.
## [3.0.4] - 2018-06-23
### Added
- Fix for Bullet's heightmap collider.
- Several documentation fixes.
### Fixed
- Threading problem causing asset library to crash on low threadcount systems.
## [3.0.3] - 2018-06-13
### Added

View File

@@ -70,11 +70,15 @@ Similar rules can be applied when contributing bug fixes - it's always best to
discuss the implementation in the bug report first if you are not 100% about
what would be the best fix.
In addition to the following tips, also take a look at the
[Engine development guide](http://docs.godotengine.org/en/latest/development/cpp/)
for an introduction to developing on Godot.
#### Be nice to the git history
Try to make simple PRs with that handle one specific topic. Just like for
reporting issues, it's better to open 3 different PRs that each address a
different issue than one big PR with three commits.
Try to make simple PRs that handle one specific topic. Just like for reporting
issues, it's better to open 3 different PRs that each address a different issue
than one big PR with three commits.
When updating your fork with upstream changes, please use ``git pull --rebase``
to avoid creating "merge commits". Those commits unnecessarily pollute the git

View File

@@ -10,8 +10,9 @@
# all corresponding files (also recursively in subfolders), apart from those
# with a more explicit copyright statement.
#
# Licenses are given with their SPDX identifier, and are all included in
# plain text at the end of this file (in alphabetical order).
# Licenses are given with their debian/copyright short name (or SPDX identifier
# if no standard short name exists) and are all included in plain text at the
# end of this file (in alphabetical order).
#
# Disclaimer for thirdparty libraries:
# ------------------------------------
@@ -42,8 +43,8 @@ Source: https://github.com/godotengine/godot
Files: *
Comment: Godot Engine
Copyright: 2007-2018, Juan Linietsky, Ariel Manzur.
2014-2018, Godot Engine contributors.
Copyright: 2007-2019, Juan Linietsky, Ariel Manzur.
2014-2019, Godot Engine contributors.
License: Expat
Files: ./icon.png
@@ -91,8 +92,8 @@ Files: ./platform/android/power_android.cpp
./platform/x11/power_x11.cpp
Comment: Simple DirectMedia Layer
Copyright: 1997-2017, Sam Lantinga
2007-2018, Juan Linietsky, Ariel Manzur.
2014-2018, Godot Engine contributors.
2007-2019, Juan Linietsky, Ariel Manzur.
2014-2019, Godot Engine contributors.
License: Expat and Zlib
Files: ./servers/physics/gjk_epa.cpp
@@ -107,16 +108,16 @@ Files: ./servers/physics/gjk_epa.cpp
./servers/physics/joints/slider_joint_sw.h
Comment: Bullet Continuous Collision Detection and Physics Library
Copyright: 2003-2008, Erwin Coumans
2007-2018, Juan Linietsky, Ariel Manzur.
2014-2018, Godot Engine contributors.
2007-2019, Juan Linietsky, Ariel Manzur.
2014-2019, Godot Engine contributors.
License: Expat and Zlib
Files: ./servers/physics/joints/cone_twist_joint_sw.cpp
./servers/physics/joints/cone_twist_joint_sw.h
Comment: Bullet Continuous Collision Detection and Physics Library
Copyright: 2007, Starbreeze Studios
2007-2018, Juan Linietsky, Ariel Manzur.
2014-2018, Godot Engine contributors.
2007-2019, Juan Linietsky, Ariel Manzur.
2014-2019, Godot Engine contributors.
License: Expat and Zlib
Files: ./thirdparty/b2d_convexdecomp/
@@ -183,9 +184,11 @@ License: BSD-3-clause
Files: ./thirdparty/libpng/
Comment: libpng
Copyright: 1995-1996, Guy Eric Schalnat, Group 42, Inc.
1996-1997, Andreas Dilger
1998-2016, Glenn Randers-Pehrson
Copyright: 1995-2019, The PNG Reference Library Authors.
2018-2019, Cosmin Truta.
2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
1996-1997, Andreas Dilger.
1995-1996, Guy Eric Schalnat, Group 42, Inc.
License: Zlib
Files: ./thirdparty/libsimplewebm/
@@ -284,7 +287,7 @@ License: BSD-3-clause
Files: ./thirdparty/misc/stb_truetype.h
./thirdparty/misc/stb_vorbis.c
Comment: stb libraries
Copyright: 2007-2017, Sean Barrett
Copyright: 2007-2019, Sean Barrett
License: public-domain
Files: ./thirdparty/misc/triangulator.cpp
@@ -305,7 +308,7 @@ License: Zlib
Files: ./thirdparty/openssl/
Comment: The OpenSSL Project
Copyright: 1998-2017, The OpenSSL Project.
Copyright: 1998-2019, The OpenSSL Project.
License: OpenSSL
Files: ./thirdparty/opus/
@@ -345,13 +348,16 @@ License: Expat
Files: ./thirdparty/thekla_atlas/
Comment: Thekla Atlas
Copyright: 2013, Thekla, Inc
License: Expat
2009-2017, Ignacio Castaño
2007-2009, NVIDIA Corporation
2004, Brian Hook
License: Expat and BSD-3-clause
Files: ./thirdparty/tinyexr/
Comment: TinyEXR
Copyright: 2014-2017, Syoyo Fujita
Copyright: 2014-2018, Syoyo Fujita
2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC
License: BSD-3-Clause
License: BSD-3-clause
Files: ./thirdparty/zlib/
Comment: zlib
@@ -361,7 +367,7 @@ License: Zlib
Files: ./thirdparty/zstd/
Comment: Zstandard
Copyright: 2016-2018, Facebook, Inc.
License: BSD-3-Clause
License: BSD-3-clause

575
DONORS.md
View File

@@ -12,279 +12,516 @@ generous deed immortalized in the next stable release of Godot Engine.
## Platinum sponsors
Enjin Coin <https://enjincoin.io>
Heroic Labs <https://heroiclabs.com>
Interblock <http://interblockgaming.com>
## Gold sponsors
Gamblify <https://www.gamblify.com>
GameDev.TV <https://www.gamedev.tv>
Skirmish <https://skirmish.io>
Moonwards <https://www.moonwards.com>
## Mini sponsors
AD Ford
Alan Beauchamp
Anand Mallik
Andres Hernandez
Andrew Dunai
Brandon Lamb
Christian Uldall Pedersen
Christopher Igoe
Christoph Woinke
Claudiu Dumitru
E Hewert
Christian Baune
Christopher Montesano
Darkhan Baimyrza
Darrin Massena
Dov Zimring
Edward Flick
Gamechuck
GameDev.net
GameDev.tv
Grady
Hein-Pieter van Braam
Igors Vaitkus
Jamal Alyafei
Jay Sistar
Jacob McKenney
Javary Co.
Jeffery Chiu
Justin Arnold
Justo Delgado Baudí
Kyle Szklenski
Matthieu Huvé
Maxim Karsten
Mike King
Nathan Warden
Neal Gompa (Conan Kudo)
Pascal Julien
Ruslan Mustakov
Sébastien Manin
Péter Magyar
Slobodan Milnovic
Stephan Lanfermann
Stoney Meyerhoeffer
Thomas Mathews
Steve
Tristan Pemble
VilliHaukka
## Gold donors
3Dexplorer
Alexander Otto
Asdf
cheese65536
K9Kraken
Kris Michael
Andrei
Dave
David Gehrig
David Snopek
Ed Morley
Florian Krick
Florian Rämisch
Jakub Grzesik
Manuele Finocchiaro
Nathanael Beisiegel
Officine Pixel S.n.c.
Retro Village
Ronan Zeegers
Sofox
Taylor Ritenour
Zaven Muradyan
Allen Schade
Andreas Schüle
Asher Glick
Austen McRae
Bernhard Liebl
Catalin Moldovan
DeepSquid
Fidget Sinner
Bernhard Werner
beVR
Carlo Cabanilla
Daniel James
David Giardi
Default Name
eggs
Felix Bohmann
Florian Breisch
Gary Oberbrunner
Johannes Wuensch
Josep G. Camarasa
Joshua Lesperance
Libre-Dépanne
Matthew Bennett
Olafur Gislason
Paul LaMotte
Ranoller
Svenne Krap
Timothy Hagberg
Gamejunkey
Javier Roman
Jay Horton
Jon Woodward
Karl Werf
Keinan Powers
Klavdij Voncina
Lex Steers
Luke
Maciej Pendolski
Matthew Hillier
Mohamed Ikbel Boulabiar
Mored4u
Rob Messick
Ryan Badour
Sandro Jenny
Scott Wadden
Sergey
thechris
Tom Langwaldt
tukon
William Wold
BanjoNode2D
Beliar
Alex Khayrullin
Chris Goddard
Chris Serino
Christian Padilla
Conrad Curry
Craig Smith
Daniel Egger
David Churchill
Dean Harmon
Dexter Miguel
Guilherme Felipe de C. G. da Silva
John
Justo Delgado Baudí
KTL
Laurence Bannister
Darrian Little
Horváth Péter
Ivan Trombley
Jakub Dering
Joan Fons
Joshua Flores
Krzysztof Jankowski
Lord Bloodhound
Pascal Grüter
Petr Malac
Rami
Reneator
Rob
Robert Willes
Robin Arys
Ronnie Ashlock
Rufus Xavier Sarsaparilla
ScottMakesGames
SKison
Thomas Bjarnelöf
William Connell
Unseen Domains
Valryia
Vincent Henderson
Wojciech Chojnacki
Xavier Tan
Zaq Poi
Xavier PATRICELLI
Alessandra Pereyra
Adam Nakonieczny
Adam Neumann
Alexander J Maynard
Alexey Dyadchenko
Amanda Haldy
Chris Brown
Alex Z
Andreas Funke
André Frélicot
aoshiwik
Ben Powell
Carlos de Sousa Marques
Charlie Whitfield
Chase Taranto
Chris Petrich
Chris Wilson
Christian Leth Jeppesen
Christoph Schröder
Cody Parker
Corey Auger
Coldragon
Craig Ostrin
D
Daniel Eliasinski
E.G.
Daniel Eichler
David White
Denis Janßen
Easypete
Eric Monson
ethan ball
Eugenio Hugo Salgüero Jáñez
Fain
flesk
G Barnes
Gary Hulst
gavlig
GGGames.org
Giovanni Solimeno
Hasen Judy
Green Fox
Guilherme Felipe de C. G. da Silva
Halom Vered
Heath Hayes
Jay Horton
Jeppe Zapp
joe513
Jordan M Lucas
Idzard Kwadijk
Isaac Clausman
Jared White
Jeff Nyte
Jeremy Sims
Jerry Ling
Joe Flood
John G Gentzel
Jon Hermansen
Jose Malheiro
Joshua Lesperance
Juan Velandia
Juraj Móza
Justin Arnold
Leandro Voltolino
Lisandro Lorea
kinfox
Marcelo Dornbusch Lopes
Markus Fehr
Markus Wiesner
Marvin
Mohammad Taleb
Martin Eigel
Matt Eunson
Max Bulai
MuffinManKen
Nick Nikitin
Pablo Cholaky
Patrick Schnorbus
Oliver Dick
Patrick Ting
Paul Hocker
Paul Von Zimmerman
Pete Goodwin
Phyronnaz
Ruben Soares Luis
Sofox
pl
Ranoller
Robert Larnach
Rocknight Studios
Romildo Franco
Samuel Judd
Scott Pilet
Sean Morgan
SleepCircle
spilldata
Steve Hyatt
Stoned Xander
Ted
Tim Dalporto
Trent McPheron
Vladimir
TheLevelOfDetail .
Thomas Krampl
Thomas Kurz
Tobias Bocanegra
Tricky Fat Cat
Urho
William Foster
Zhou Tuizhi
Zie Weaver
蕭惟允
## Silver donors
1D_Inc
Abraham Haskins
Adam
Adam Brunnmeier
Adam Carr
Adam Long
Adam McCurdy
Adam N Webber
Adam Smeltzer
Adam Szymański
Adisibio
Adrian Demetrescu
Agustinus Arya
Aidan O'Flannagain
Aki Mimoto
Alan Mervitz
Alan Stice
Albin Jonasson Svärdsby
Alder Stefano
Alessandro Senese
Álvaro Domínguez López
Anders Jensen-Urstad
Anthony Bongiovanni
Alexander Erlemann
alex clavelle
Allan Davis
Allen Schade
Andreas Evers
Andreas Krampitz
André Simões
Andrew Thomas
Anthony Staunton
AP Condomines
Arda Erol
Armin Preiml
Arseniy M
Arthur S. Muszynski
Asger
Aubrey Falconer
Avencherus
Bailey
Bastian Böhm
B A
Balázs Batári
Benedikt
Benjamin Beshara
Ben G
Ben Phelan
Ben Vercammen
Bernd Jänichen
Black Block
Blair Allen
Brandon
Bryan Stevenson
Bobby CC Wong
brian
bugcaptor
Burney Waring
Cameron Meyer
Carl van der Geest
Carwyn Edwards
Casey Foote
Cassidy James
Chris Brown
Chris Chapin
Christian Baune
Christian Winter
Christoffer Sundbom
Christoph Brodmann
Christopher Schmitt
Collin Shooltz
Daniel Delgado Corona
Christoph Woinke
Clay Heaton
Curt King
Dancin Liao
Daniel Johnson
Daniel Kaplan
DanielMaximiano
Daniel Mircea
David
David Cravens
Daniel Kimblad
Daniel Pontillo
David May
David Woodard
DiCola Jamn
Dominic Cooney
Dominik Wetzel
Duy Kevin Nguyen
Donn Eddy
Donovan Hutcheon
Dragontrapper
Dr Ewan Murray
Duobix
Duodecimal
Dylan Todd
Eduardo Teixeira
Edward Herbert
Eric Martini
Fabian Becker
fengjiongmax
Francesco Lisi
G3Dev sàrl
Gerrit Großkopf
Gerrit Procee
Gilberto K. Otubo
Edward Moulsdale
Edward Swartz
Egon Elbre
Elias Nykrem
Elmeri '- Duy Kevin Nguyen
Ephemeral
Eric Ellingson
Eric Rogers
Eric Williams
Erkki Seppälä
Evan Rose
Fancy Ants Studios
Fekinox
Felix Kollmann
Flaredown
Forty Doubleu
FuDiggity
Gadzhi Kharkharov
gamedev by Celio
Gary Thomas
George Marques
GiulianoB
Gordian Arragon
Greg Olson
GREGORY C FEIN
Greg P
Greyson Richey
Grid
Guldoman
Gumichan01
Hal A
Heribert Hirth
hubert jenkins
Hudson Thorpe-Doubble
Hunter Jones
ialex32x
Ivan Vodopiviz
Jahn Johansen
Hylpher
Ichiro Dohi
Iiari
iKlem
IndustrialRobot
Jaiden Gerig
Jaime Ruiz-Borau Vizárraga
Jed
Jako Danar
James A F Manley
Janders
Jannik Gröger
JARKKO PARVIAINEN
Jarrod Davis
Jeff Hungerford
Jennifer Graves
Jeremy Kahn
Jesse Dubay
Joel Fivat
Johan Lindberg
Joel Höglund
Joel Setterberg
Johannes Wuensch
John Gabriel
Jomei Jackson
Jonas Rudlang
Jonas Yamazaki
Jonathan Martin
Jonathan Nieto
Jonathan G
Jonathon
Josh 'Cheeseness' Bush
Juan Negrier
Jon Bonazza
Jon Sully
Jorge Caballero
Jose Aleman
Jose C. Rubio
Joseph Catrambone
Juanfran
Judd
Julian Murgia
Justin Luk
KC Chan
Kevin Boyer
Kevin Kamper Meejach Petersen
Klavdij Voncina
Krzysztof Jankowski
Lars pfeffer
JungleRobba
Justin Spedding
KaDokta
Kauzig
Keedong Park
Keith Bradner
Kevin McPhillips
kickmaniac
Kiyohiro Kawamura (kyorohiro)
Kjetil Haugland
Klagsam
KR McGinley
KsyTek Games
Kuan Cheang
kycho
Kyle Appelgate
Laurent Tréguier
Leonardo Dimano
Levi Lindsey
Linus Lind Lundgren
Luis Moraes
Macil
magodev
Martin Eigel
Martins Odabi
Matthew Fitzpatrick
Max R.R. Collada
Lionel Gaillard
Luigi Renna
LunaticInAHat
Lurkars
Major Haul
Malcolm
Malik Ahmed
Malik Nejer
Markus Michael Egger
Martin Holas
Martin Liška
Marvin
Mathieu Rimelen
Matt Edwards
Matthew Little
Matti Pohjanvirta
Maxime Blade
Maxwell
medecau
Megasploot
Melissa Mears
mewin
mhilbrunner
Michael Dürwald
Michael Gringauz
Michael Haney
Michael Labbe
Mikael Olsson
Mikayla
Mike Birkhead
Mike Cunningham
Mitchell J. Wagner
MoM
Moritz Laass
Nathan Fish
Natrim
nee
Neil Blakey-Milner
Nick Pavlica
Niclas Eriksen
Neil Wang
Nerdforge
Nicholas
Nicholas Girga
Nick Macholl
Nicolás Montaña
Nicolas SAN AGUSTIN
Niko Leopold
nivardus
Noi Sek
Oleg Tyshchenko
Oleksandr Yemets
Pablo Seibelt
Nima Farid
NZ
Oleg Reva
Olivier
Omar Delarosa
Oscar Norlander
Pan Ip
Pat LaBine
Patrick Nafarrete
Patric Vormstein
Paul Gieske
Paul Mason
Paweł Kowal
Pierre-Igor Berthet
Pietro Vertechi
Piotr Kaczmarski
Rea
Pedro Assuncao
Penguin
Petrus Prinsloo
Philip Cohoe
Point08
Rad Cat
Rafa Laguna
rainerLinux
Raphael Leroux
Remi Rampin
Rémi Verschelde
Richman Stewart
Roger Burgess
Ricardo Alcantara
Richard Diss
Richard Ivánek
Robert Farr (Larington)
Robert Hernandez
Roberto Sánchez
Roger Smith
Roland Rząsa
Roman Tinkov
Ryan Whited
Samuel El-Borai
Ronald Ho Hip (CrimsonZA)
Ronan
Ryan Groom
Ryan Hentz
Sam.C
Sam Edson
Samuele Zolfanelli
Sasori Olkof
Sootstone
Stefan Butucea
Theo Cranmore
Thibault Barbaroux
Thomas Bell
Thomas Kurz
Tomasz Wacławek
Tom Larrow
Scott D. Yelich
Scott Longley
Sebastian Michailidis
Sergio Mello-Grand
sgnsajgon
Shane
Shane Sicienski
Shane Spoor
Siim Raidma
Simon Wenner
SK
smbe19
smo1704
Svenne Krap
Terry
tezuvholovdr
thomas
Thomas Bechtold
Thomas Detoy
Thomas Kelly
Tim Drumheller
Timothy B. MacDonald
Tobbun
Torgeir Lilleskog
Torsten Crass
Travis O'Brien
Trent Skinner
Troy Bonneau
Tryggve Sollid
Turgut Temucin
Tyler Compton
Tyler Stafos
UltyX
Vaughan Ling
Victor
Victor Gonzalez Fernandez
Viktor Ferenczi
Vigilant Watch
Vincent Cloutier
waka nya
Wayne Haak
werner mendizabal
Wout Standaert
Yu He
Wiley Thompson
Will
William Hogben
Wyatt Goodin
Yegor
Yuri Sizov
## Bronze donors

View File

@@ -1,5 +1,5 @@
Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.
Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)
Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur.
Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -40,7 +40,7 @@ Official binaries for the Godot editor and the export templates can be found
[See the official docs](http://docs.godotengine.org/en/latest/development/compiling/)
for compilation instructions for every supported platform.
### Community
### Community and contributing
Godot is not only an engine but an ever-growing community of users and engine
developers. The main community channels are listed [on the homepage](https://godotengine.org/community).
@@ -49,6 +49,8 @@ To get in touch with the developers, the best way is to join the
[#godotengine IRC channel](https://webchat.freenode.net/?channels=godotengine)
on Freenode.
To get started contributing to the project, see the [contributing guide](CONTRIBUTING.md).
### Documentation and demos
The official documentation is hosted on [ReadTheDocs](http://docs.godotengine.org).

View File

@@ -2,12 +2,13 @@
EnsureSConsVersion(0, 98, 1)
import string
import os
import os.path
# System
import glob
import os
import string
import sys
# Local
import methods
# moved below to compensate with module version string
@@ -30,7 +31,7 @@ for x in glob.glob("platform/*"):
continue
tmppath = "./" + x
sys.path.append(tmppath)
sys.path.insert(0, tmppath)
import detect
if (os.path.exists(x + "/export/export.cpp")):
@@ -81,6 +82,7 @@ env_base.android_gradle_plugins = []
env_base.android_gradle_classpath = []
env_base.android_java_dirs = []
env_base.android_res_dirs = []
env_base.android_asset_dirs = []
env_base.android_aidl_dirs = []
env_base.android_jni_dirs = []
env_base.android_default_config = []
@@ -106,6 +108,7 @@ env_base.__class__.android_add_flat_dir = methods.android_add_flat_dir
env_base.__class__.android_add_dependency = methods.android_add_dependency
env_base.__class__.android_add_java_dir = methods.android_add_java_dir
env_base.__class__.android_add_res_dir = methods.android_add_res_dir
env_base.__class__.android_add_asset_dir = methods.android_add_asset_dir
env_base.__class__.android_add_aidl_dir = methods.android_add_aidl_dir
env_base.__class__.android_add_jni_dir = methods.android_add_jni_dir
env_base.__class__.android_add_default_config = methods.android_add_default_config
@@ -125,6 +128,7 @@ env_base.__class__.split_lib = methods.split_lib
env_base.__class__.add_shared_library = methods.add_shared_library
env_base.__class__.add_library = methods.add_library
env_base.__class__.add_program = methods.add_program
env_base.__class__.CommandNoCache = methods.CommandNoCache
env_base["x86_libtheora_opt_gcc"] = False
env_base["x86_libtheora_opt_vc"] = False
@@ -135,7 +139,6 @@ customs = ['custom.py']
profile = ARGUMENTS.get("profile", False)
if profile:
import os.path
if os.path.isfile(profile):
customs.append(profile)
elif os.path.isfile(profile + ".py"):
@@ -211,7 +214,7 @@ for k in platform_opts.keys():
for x in module_list:
module_enabled = True
tmppath = "./modules/" + x
sys.path.append(tmppath)
sys.path.insert(0, tmppath)
import config
enabled_attr = getattr(config, "is_enabled", None)
if (callable(enabled_attr) and not config.is_enabled()):
@@ -231,14 +234,6 @@ env_base.Append(CPPPATH=['#core', '#core/math', '#editor', '#drivers', '#'])
env_base.platform_exporters = platform_exporters
env_base.platform_apis = platform_apis
"""
sys.path.append("./platform/"+env_base["platform"])
import detect
detect.configure(env_base)
sys.path.remove("./platform/"+env_base["platform"])
sys.modules.pop('detect')
"""
if (env_base['target'] == 'debug'):
env_base.Append(CPPFLAGS=['-DDEBUG_MEMORY_ALLOC'])
env_base.Append(CPPFLAGS=['-DSCI_NAMESPACE'])
@@ -262,8 +257,8 @@ elif env_base['p'] != "":
if selected_platform in platform_list:
sys.path.append("./platform/" + selected_platform)
tmppath = "./platform/" + selected_platform
sys.path.insert(0, tmppath)
import detect
if "create" in dir(detect):
env = detect.create(env_base)
@@ -388,7 +383,7 @@ if selected_platform in platform_list:
suffix += env.extra_suffix
sys.path.remove("./platform/" + selected_platform)
sys.path.remove(tmppath)
sys.modules.pop('detect')
env.module_list = []
@@ -398,7 +393,7 @@ if selected_platform in platform_list:
if not env['module_' + x + '_enabled']:
continue
tmppath = "./modules/" + x
sys.path.append(tmppath)
sys.path.insert(0, tmppath)
env.current_module = x
import config
if (config.can_build(selected_platform)):

View File

@@ -93,7 +93,7 @@ env.add_source_files(env.core_sources, "*.cpp")
# Make binders
import make_binders
env.Command(['method_bind.gen.inc', 'method_bind_ext.gen.inc'], 'make_binders.py', make_binders.run)
env.CommandNoCache(['method_bind.gen.inc', 'method_bind_ext.gen.inc'], 'make_binders.py', make_binders.run)
# Chain load SCsubs

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -375,7 +375,7 @@ Error _OS::shell_open(String p_uri) {
int _OS::execute(const String &p_path, const Vector<String> &p_arguments, bool p_blocking, Array p_output) {
OS::ProcessID pid;
OS::ProcessID pid = -2;
List<String> args;
for (int i = 0; i < p_arguments.size(); i++)
args.push_back(p_arguments[i]);
@@ -388,6 +388,7 @@ int _OS::execute(const String &p_path, const Vector<String> &p_arguments, bool p
else
return pid;
}
Error _OS::kill(int p_pid) {
return OS::get_singleton()->kill(p_pid);
@@ -2301,7 +2302,7 @@ void _Thread::_start_func(void *ud) {
} break;
case Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS: {
reason = "Too Many Arguments";
reason = "Too Few Arguments";
} break;
case Variant::CallError::CALL_ERROR_INVALID_METHOD: {

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -114,6 +114,11 @@ void Dictionary::erase(const Variant &p_key) {
_p->variant_map.erase(p_key);
}
bool Dictionary::erase_checked(const Variant &p_key) {
return _p->variant_map.erase(p_key);
}
bool Dictionary::operator==(const Dictionary &p_dictionary) const {
return _p == p_dictionary._p;

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -64,6 +64,7 @@ public:
bool has_all(const Array &p_keys) const;
void erase(const Variant &p_key);
bool erase_checked(const Variant &p_key);
bool operator==(const Dictionary &p_dictionary) const;

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -150,7 +150,7 @@ class PoolVector {
}
if (old_alloc->refcount.unref() == true) {
//this should never happen but..
//this should never happen but..
#ifdef DEBUG_ENABLED
MemoryPool::alloc_mutex->lock();

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -1505,7 +1505,7 @@ Error Image::decompress() {
_image_decompress_pvrtc(this);
else if (format == FORMAT_ETC && _image_decompress_etc1)
_image_decompress_etc1(this);
else if (format >= FORMAT_ETC2_R11 && format <= FORMAT_ETC2_RGB8A1 && _image_decompress_etc1)
else if (format >= FORMAT_ETC2_R11 && format <= FORMAT_ETC2_RGB8A1 && _image_decompress_etc2)
_image_decompress_etc2(this);
else
return ERR_UNAVAILABLE;
@@ -1636,7 +1636,8 @@ void Image::blit_rect(const Ref<Image> &p_src, const Rect2 &p_src_rect, const Po
if (clipped_src_rect.size.x <= 0 || clipped_src_rect.size.y <= 0)
return;
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest, clipped_src_rect.size));
Point2 src_underscan = Point2(MIN(0, p_src_rect.position.x), MIN(0, p_src_rect.position.y));
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest - src_underscan, clipped_src_rect.size));
PoolVector<uint8_t>::Write wp = data.write();
uint8_t *dst_data_ptr = wp.ptr();
@@ -1684,7 +1685,8 @@ void Image::blit_rect_mask(const Ref<Image> &p_src, const Ref<Image> &p_mask, co
if (clipped_src_rect.size.x <= 0 || clipped_src_rect.size.y <= 0)
return;
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest, clipped_src_rect.size));
Point2 src_underscan = Point2(MIN(0, p_src_rect.position.x), MIN(0, p_src_rect.position.y));
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest - src_underscan, clipped_src_rect.size));
PoolVector<uint8_t>::Write wp = data.write();
uint8_t *dst_data_ptr = wp.ptr();
@@ -1735,7 +1737,8 @@ void Image::blend_rect(const Ref<Image> &p_src, const Rect2 &p_src_rect, const P
if (clipped_src_rect.size.x <= 0 || clipped_src_rect.size.y <= 0)
return;
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest, clipped_src_rect.size));
Point2 src_underscan = Point2(MIN(0, p_src_rect.position.x), MIN(0, p_src_rect.position.y));
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest - src_underscan, clipped_src_rect.size));
lock();
Ref<Image> img = p_src;
@@ -1783,7 +1786,8 @@ void Image::blend_rect_mask(const Ref<Image> &p_src, const Ref<Image> &p_mask, c
if (clipped_src_rect.size.x <= 0 || clipped_src_rect.size.y <= 0)
return;
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest, clipped_src_rect.size));
Point2 src_underscan = Point2(MIN(0, p_src_rect.position.x), MIN(0, p_src_rect.position.y));
Rect2i dest_rect = Rect2i(0, 0, width, height).clip(Rect2i(p_dest - src_underscan, clipped_src_rect.size));
lock();
Ref<Image> img = p_src;
@@ -2299,6 +2303,9 @@ void Image::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "_set_data", "_get_data");
BIND_CONSTANT(MAX_WIDTH);
BIND_CONSTANT(MAX_HEIGHT);
BIND_ENUM_CONSTANT(FORMAT_L8); //luminance
BIND_ENUM_CONSTANT(FORMAT_LA8); //luminance-alpha
BIND_ENUM_CONSTANT(FORMAT_R8);

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -51,14 +51,14 @@ typedef Error (*SavePNGFunc)(const String &p_path, const Ref<Image> &p_img);
class Image : public Resource {
GDCLASS(Image, Resource);
public:
static SavePNGFunc save_png_func;
enum {
MAX_WIDTH = 16384, // force a limit somehow
MAX_HEIGHT = 16384 // force a limit somehow
};
public:
static SavePNGFunc save_png_func;
enum Format {
FORMAT_L8, //luminance

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -291,7 +291,6 @@ uint8_t FileAccessCompressed::get_8() const {
} else {
read_block--;
at_end = true;
ret = 0;
}
}

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -30,6 +30,7 @@
#include "http_client.h"
#include "io/stream_peer_ssl.h"
#include "version.h"
const char *HTTPClient::_methods[METHOD_MAX] = {
"GET",
@@ -121,16 +122,30 @@ Error HTTPClient::request_raw(Method p_method, const String &p_url, const Vector
request += "Host: " + conn_host + ":" + itos(conn_port) + "\r\n";
}
bool add_clen = p_body.size() > 0;
bool add_uagent = true;
bool add_accept = true;
for (int i = 0; i < p_headers.size(); i++) {
request += p_headers[i] + "\r\n";
if (add_clen && p_headers[i].find("Content-Length:") == 0) {
if (add_clen && p_headers[i].findn("Content-Length:") == 0) {
add_clen = false;
}
if (add_uagent && p_headers[i].findn("User-Agent:") == 0) {
add_uagent = false;
}
if (add_accept && p_headers[i].findn("Accept:") == 0) {
add_accept = false;
}
}
if (add_clen) {
request += "Content-Length: " + itos(p_body.size()) + "\r\n";
// Should it add utf8 encoding?
}
if (add_uagent) {
request += "User-Agent: GodotEngine/" + String(VERSION_FULL_BUILD) + " (" + OS::get_singleton()->get_name() + ")\r\n";
}
if (add_accept) {
request += "Accept: */*\r\n";
}
request += "\r\n";
CharString cs = request.utf8();
@@ -173,17 +188,31 @@ Error HTTPClient::request(Method p_method, const String &p_url, const Vector<Str
} else {
request += "Host: " + conn_host + ":" + itos(conn_port) + "\r\n";
}
bool add_uagent = true;
bool add_accept = true;
bool add_clen = p_body.length() > 0;
for (int i = 0; i < p_headers.size(); i++) {
request += p_headers[i] + "\r\n";
if (add_clen && p_headers[i].find("Content-Length:") == 0) {
if (add_clen && p_headers[i].findn("Content-Length:") == 0) {
add_clen = false;
}
if (add_uagent && p_headers[i].findn("User-Agent:") == 0) {
add_uagent = false;
}
if (add_accept && p_headers[i].findn("Accept:") == 0) {
add_accept = false;
}
}
if (add_clen) {
request += "Content-Length: " + itos(p_body.utf8().length()) + "\r\n";
// Should it add utf8 encoding?
}
if (add_uagent) {
request += "User-Agent: GodotEngine/" + String(VERSION_FULL_BUILD) + " (" + OS::get_singleton()->get_name() + ")\r\n";
}
if (add_accept) {
request += "Accept: */*\r\n";
}
request += "\r\n";
request += p_body;

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -117,7 +117,7 @@ IP_Address IP::resolve_hostname(const String &p_hostname, IP::Type p_type) {
resolver->mutex->lock();
String key = _IP_ResolverPrivate::get_cache_key(p_hostname, p_type);
if (resolver->cache.has(key)) {
if (resolver->cache.has(key) && resolver->cache[key].is_valid()) {
IP_Address res = resolver->cache[key];
resolver->mutex->unlock();
return res;
@@ -144,7 +144,7 @@ IP::ResolverID IP::resolve_hostname_queue_item(const String &p_hostname, IP::Typ
String key = _IP_ResolverPrivate::get_cache_key(p_hostname, p_type);
resolver->queue[id].hostname = p_hostname;
resolver->queue[id].type = p_type;
if (resolver->cache.has(key)) {
if (resolver->cache.has(key) && resolver->cache[key].is_valid()) {
resolver->queue[id].response = resolver->cache[key];
resolver->queue[id].status = IP::RESOLVER_STATUS_DONE;
} else {

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -32,8 +32,13 @@
#include "os/keyboard.h"
#include "print_string.h"
#include "reference.h"
#include <limits.h>
#include <stdio.h>
#define _S(a) ((int32_t)a)
#define ERR_FAIL_ADD_OF(a, b, err) ERR_FAIL_COND_V(_S(b) < 0 || _S(a) < 0 || _S(a) > INT_MAX - _S(b), err)
#define ERR_FAIL_MUL_OF(a, b, err) ERR_FAIL_COND_V(_S(a) < 0 || _S(b) <= 0 || _S(a) > INT_MAX / _S(b), err)
void EncodedObjectAsID::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_object_id", "id"), &EncodedObjectAsID::set_object_id);
ClassDB::bind_method(D_METHOD("get_object_id"), &EncodedObjectAsID::get_object_id);
@@ -60,23 +65,31 @@ EncodedObjectAsID::EncodedObjectAsID() {
static Error _decode_string(const uint8_t *&buf, int &len, int *r_len, String &r_string) {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t strlen = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)strlen > len, ERR_FILE_EOF);
int32_t strlen = decode_uint32(buf);
int32_t pad = 0;
String str;
str.parse_utf8((const char *)buf, strlen);
r_string = str;
//handle padding
// Handle padding
if (strlen % 4) {
strlen += 4 - strlen % 4;
pad = 4 - strlen % 4;
}
buf += 4;
len -= 4;
// Ensure buffer is big enough
ERR_FAIL_ADD_OF(strlen, pad, ERR_FILE_EOF);
ERR_FAIL_COND_V(strlen < 0 || strlen + pad > len, ERR_FILE_EOF);
String str;
ERR_FAIL_COND_V(str.parse_utf8((const char *)buf, strlen), ERR_INVALID_DATA);
r_string = str;
// Add padding
strlen += pad;
// Update buffer pos, left data count, and return size
buf += strlen;
len -= strlen;
if (r_len) {
(*r_len) += 4 + strlen;
}
@@ -119,14 +132,15 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::INT: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
if (type & ENCODE_FLAG_64) {
ERR_FAIL_COND_V(len < 8, ERR_INVALID_DATA);
int64_t val = decode_uint64(buf);
r_variant = val;
if (r_len)
(*r_len) += 8;
} else {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
int32_t val = decode_uint32(buf);
r_variant = val;
if (r_len)
@@ -136,14 +150,14 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::REAL: {
ERR_FAIL_COND_V(len < (int)4, ERR_INVALID_DATA);
if (type & ENCODE_FLAG_64) {
ERR_FAIL_COND_V(len < 8, ERR_INVALID_DATA);
double val = decode_double(buf);
r_variant = val;
if (r_len)
(*r_len) += 8;
} else {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
float val = decode_float(buf);
r_variant = val;
if (r_len)
@@ -164,7 +178,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
// math types
case Variant::VECTOR2: {
ERR_FAIL_COND_V(len < (int)4 * 2, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 2, ERR_INVALID_DATA);
Vector2 val;
val.x = decode_float(&buf[0]);
val.y = decode_float(&buf[4]);
@@ -176,7 +190,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break; // 5
case Variant::RECT2: {
ERR_FAIL_COND_V(len < (int)4 * 4, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 4, ERR_INVALID_DATA);
Rect2 val;
val.position.x = decode_float(&buf[0]);
val.position.y = decode_float(&buf[4]);
@@ -190,7 +204,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::VECTOR3: {
ERR_FAIL_COND_V(len < (int)4 * 3, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 3, ERR_INVALID_DATA);
Vector3 val;
val.x = decode_float(&buf[0]);
val.y = decode_float(&buf[4]);
@@ -203,7 +217,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::TRANSFORM2D: {
ERR_FAIL_COND_V(len < (int)4 * 6, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 6, ERR_INVALID_DATA);
Transform2D val;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
@@ -220,7 +234,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::PLANE: {
ERR_FAIL_COND_V(len < (int)4 * 4, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 4, ERR_INVALID_DATA);
Plane val;
val.normal.x = decode_float(&buf[0]);
val.normal.y = decode_float(&buf[4]);
@@ -234,7 +248,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::QUAT: {
ERR_FAIL_COND_V(len < (int)4 * 4, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 4, ERR_INVALID_DATA);
Quat val;
val.x = decode_float(&buf[0]);
val.y = decode_float(&buf[4]);
@@ -248,7 +262,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::AABB: {
ERR_FAIL_COND_V(len < (int)4 * 6, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 6, ERR_INVALID_DATA);
AABB val;
val.position.x = decode_float(&buf[0]);
val.position.y = decode_float(&buf[4]);
@@ -264,7 +278,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::BASIS: {
ERR_FAIL_COND_V(len < (int)4 * 9, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 9, ERR_INVALID_DATA);
Basis val;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
@@ -281,7 +295,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} break;
case Variant::TRANSFORM: {
ERR_FAIL_COND_V(len < (int)4 * 12, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 12, ERR_INVALID_DATA);
Transform val;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
@@ -303,7 +317,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
// misc types
case Variant::COLOR: {
ERR_FAIL_COND_V(len < (int)4 * 4, ERR_INVALID_DATA);
ERR_FAIL_COND_V(len < 4 * 4, ERR_INVALID_DATA);
Color val;
val.r = decode_float(&buf[0]);
val.g = decode_float(&buf[4]);
@@ -318,7 +332,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::NODE_PATH: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t strlen = decode_uint32(buf);
int32_t strlen = decode_uint32(buf);
if (strlen & 0x80000000) {
//new format
@@ -343,31 +357,15 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
for (uint32_t i = 0; i < total; i++) {
ERR_FAIL_COND_V((int)len < 4, ERR_INVALID_DATA);
strlen = decode_uint32(buf);
int pad = 0;
if (strlen % 4)
pad += 4 - strlen % 4;
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)strlen + pad > len, ERR_INVALID_DATA);
String str;
str.parse_utf8((const char *)buf, strlen);
Error err = _decode_string(buf, len, r_len, str);
if (err)
return err;
if (i < namecount)
names.push_back(str);
else
subnames.push_back(str);
buf += strlen + pad;
len -= strlen + pad;
if (r_len)
(*r_len) += 4 + strlen + pad;
}
r_variant = NodePath(names, subnames, flags & 1);
@@ -375,17 +373,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
} else {
//old format, just a string
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)strlen > len, ERR_INVALID_DATA);
String str;
str.parse_utf8((const char *)buf, strlen);
r_variant = NodePath(str);
if (r_len)
(*r_len) += 4 + strlen;
ERR_FAIL_V(ERR_INVALID_DATA);
}
} break;
@@ -402,6 +390,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
if (type & ENCODE_FLAG_OBJECT_AS_ID) {
//this _is_ allowed
ERR_FAIL_COND_V(len < 8, ERR_INVALID_DATA);
ObjectID val = decode_uint64(buf);
if (r_len)
(*r_len) += 8;
@@ -475,7 +464,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::DICTIONARY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
// bool shared = count&0x80000000;
count &= 0x7FFFFFFF;
@@ -488,7 +477,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
Dictionary d;
for (uint32_t i = 0; i < count; i++) {
for (int i = 0; i < count; i++) {
Variant key, value;
@@ -520,7 +509,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
// bool shared = count&0x80000000;
count &= 0x7FFFFFFF;
@@ -533,7 +522,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
Array varr;
for (uint32_t i = 0; i < count; i++) {
for (int i = 0; i < count; i++) {
int used = 0;
Variant v;
@@ -555,17 +544,17 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::POOL_BYTE_ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)count > len, ERR_INVALID_DATA);
ERR_FAIL_COND_V(count < 0 || count > len, ERR_INVALID_DATA);
PoolVector<uint8_t> data;
if (count) {
data.resize(count);
PoolVector<uint8_t>::Write w = data.write();
for (uint32_t i = 0; i < count; i++) {
for (int32_t i = 0; i < count; i++) {
w[i] = buf[i];
}
@@ -585,10 +574,11 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::POOL_INT_ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)count * 4 > len, ERR_INVALID_DATA);
ERR_FAIL_MUL_OF(count, 4, ERR_INVALID_DATA);
ERR_FAIL_COND_V(count < 0 || count * 4 > len, ERR_INVALID_DATA);
PoolVector<int> data;
@@ -596,7 +586,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
//const int*rbuf=(const int*)buf;
data.resize(count);
PoolVector<int>::Write w = data.write();
for (uint32_t i = 0; i < count; i++) {
for (int32_t i = 0; i < count; i++) {
w[i] = decode_uint32(&buf[i * 4]);
}
@@ -612,10 +602,11 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::POOL_REAL_ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)count * 4 > len, ERR_INVALID_DATA);
ERR_FAIL_MUL_OF(count, 4, ERR_INVALID_DATA);
ERR_FAIL_COND_V(count < 0 || count * 4 > len, ERR_INVALID_DATA);
PoolVector<float> data;
@@ -623,7 +614,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
//const float*rbuf=(const float*)buf;
data.resize(count);
PoolVector<float>::Write w = data.write();
for (uint32_t i = 0; i < count; i++) {
for (int32_t i = 0; i < count; i++) {
w[i] = decode_float(&buf[i * 4]);
}
@@ -640,7 +631,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::POOL_STRING_ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
PoolVector<String> strings;
buf += 4;
@@ -650,35 +641,14 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
(*r_len) += 4;
//printf("string count: %i\n",count);
for (int i = 0; i < (int)count; i++) {
for (int32_t i = 0; i < count; i++) {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t strlen = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)strlen > len, ERR_INVALID_DATA);
//printf("loaded string: %s\n",(const char*)buf);
String str;
str.parse_utf8((const char *)buf, strlen);
Error err = _decode_string(buf, len, r_len, str);
if (err)
return err;
strings.push_back(str);
buf += strlen;
len -= strlen;
if (r_len)
(*r_len) += 4 + strlen;
if (strlen % 4) {
int pad = 4 - (strlen % 4);
buf += pad;
len -= pad;
if (r_len) {
(*r_len) += pad;
}
}
}
r_variant = strings;
@@ -687,11 +657,12 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::POOL_VECTOR2_ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)count * 4 * 2 > len, ERR_INVALID_DATA);
ERR_FAIL_MUL_OF(count, 4 * 2, ERR_INVALID_DATA);
ERR_FAIL_COND_V(count < 0 || count * 4 * 2 > len, ERR_INVALID_DATA);
PoolVector<Vector2> varray;
if (r_len) {
@@ -702,7 +673,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
varray.resize(count);
PoolVector<Vector2>::Write w = varray.write();
for (int i = 0; i < (int)count; i++) {
for (int32_t i = 0; i < count; i++) {
w[i].x = decode_float(buf + i * 4 * 2 + 4 * 0);
w[i].y = decode_float(buf + i * 4 * 2 + 4 * 1);
@@ -722,11 +693,13 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::POOL_VECTOR3_ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)count * 4 * 3 > len, ERR_INVALID_DATA);
ERR_FAIL_MUL_OF(count, 4 * 3, ERR_INVALID_DATA);
ERR_FAIL_COND_V(count < 0 || count * 4 * 3 > len, ERR_INVALID_DATA);
PoolVector<Vector3> varray;
if (r_len) {
@@ -737,7 +710,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
varray.resize(count);
PoolVector<Vector3>::Write w = varray.write();
for (int i = 0; i < (int)count; i++) {
for (int32_t i = 0; i < count; i++) {
w[i].x = decode_float(buf + i * 4 * 3 + 4 * 0);
w[i].y = decode_float(buf + i * 4 * 3 + 4 * 1);
@@ -758,11 +731,13 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
case Variant::POOL_COLOR_ARRAY: {
ERR_FAIL_COND_V(len < 4, ERR_INVALID_DATA);
uint32_t count = decode_uint32(buf);
int32_t count = decode_uint32(buf);
buf += 4;
len -= 4;
ERR_FAIL_COND_V((int)count * 4 * 4 > len, ERR_INVALID_DATA);
ERR_FAIL_MUL_OF(count, 4 * 4, ERR_INVALID_DATA);
ERR_FAIL_COND_V(count < 0 || count * 4 * 4 > len, ERR_INVALID_DATA);
PoolVector<Color> carray;
if (r_len) {
@@ -773,7 +748,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
carray.resize(count);
PoolVector<Color>::Write w = carray.write();
for (int i = 0; i < (int)count; i++) {
for (int32_t i = 0; i < count; i++) {
w[i].r = decode_float(buf + i * 4 * 4 + 4 * 0);
w[i].g = decode_float(buf + i * 4 * 4 + 4 * 1);
@@ -1321,7 +1296,7 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo
while (r_len % 4) {
r_len++; //pad
if (buf)
buf++;
*(buf++) = 0;
}
}

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -162,7 +162,7 @@ Error PCKPacker::flush(bool p_verbose) {
src->close();
memdelete(src);
count += 1;
if (p_verbose) {
if (p_verbose && files.size() > 0) {
if (count % 100 == 0) {
printf("%i/%i (%.2f)\r", count, files.size(), float(count) / files.size() * 100);
fflush(stdout);

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */

Some files were not shown because too many files have changed in this diff Show More