mirror of
https://github.com/godotengine/godot.git
synced 2025-10-15 02:49:24 +00:00
Compare commits
417 Commits
3.0.3-stab
...
3.0
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b7a00df980 | ||
![]() |
362774c617 | ||
![]() |
040254ef7c | ||
![]() |
7bfb7df673 | ||
![]() |
ffa4e3fa7d | ||
![]() |
fe3d7ba5b0 | ||
![]() |
5bfb10f585 | ||
![]() |
e647b5b73c | ||
![]() |
f7eed5166b | ||
![]() |
5b28699eba | ||
![]() |
1ca01acfe4 | ||
![]() |
8c73f79492 | ||
![]() |
21596fb992 | ||
![]() |
f6ab796bf3 | ||
![]() |
25007bdb61 | ||
![]() |
104b06e967 | ||
![]() |
9864066ec6 | ||
![]() |
2fa9cae76c | ||
![]() |
0ce197f238 | ||
![]() |
7fb435f787 | ||
![]() |
82e52c32a6 | ||
![]() |
2d386ec2fa | ||
![]() |
68ce59a12d | ||
![]() |
84a227b663 | ||
![]() |
455d1d3a7e | ||
![]() |
5385f52486 | ||
![]() |
38f1a2c5dd | ||
![]() |
56b5af2ba7 | ||
![]() |
1b05404dbf | ||
![]() |
41fe1bd887 | ||
![]() |
6aaca81d2b | ||
![]() |
0621d2a28c | ||
![]() |
3b5837e4d9 | ||
![]() |
b87d819aad | ||
![]() |
d092798038 | ||
![]() |
57e19f1e8c | ||
![]() |
b896eb5fd4 | ||
![]() |
3600735b24 | ||
![]() |
0c4881f1db | ||
![]() |
57a03a051f | ||
![]() |
bcbc198992 | ||
![]() |
ad8f85f8b7 | ||
![]() |
6604638d82 | ||
![]() |
816366ba05 | ||
![]() |
d9992a2b78 | ||
![]() |
c27f44f525 | ||
![]() |
95fe095a5a | ||
![]() |
0b4dec63a9 | ||
![]() |
733668074a | ||
![]() |
41cda84b11 | ||
![]() |
d127f92bd5 | ||
![]() |
0f2e3976d0 | ||
![]() |
aca8176341 | ||
![]() |
633ac4f753 | ||
![]() |
2ff2b727b6 | ||
![]() |
c2541188f2 | ||
![]() |
8718f898c1 | ||
![]() |
194ed96e89 | ||
![]() |
740e77f47f | ||
![]() |
0195619925 | ||
![]() |
cada03eedb | ||
![]() |
c6cc6c86e5 | ||
![]() |
cf2ebf5d47 | ||
![]() |
49d724ac52 | ||
![]() |
69673367a1 | ||
![]() |
c42cacfc3d | ||
![]() |
fc38c87030 | ||
![]() |
58c87e5d26 | ||
![]() |
dafdd9a08e | ||
![]() |
a2381b9049 | ||
![]() |
b680939036 | ||
![]() |
94476aba94 | ||
![]() |
a1b0e7b12c | ||
![]() |
08fd792c45 | ||
![]() |
02585688cd | ||
![]() |
4d610757af | ||
![]() |
0b2a884fe2 | ||
![]() |
f666a5f34a | ||
![]() |
a110937a16 | ||
![]() |
811b11c452 | ||
![]() |
9e91d4e5cb | ||
![]() |
0f5538e44d | ||
![]() |
e689fe0451 | ||
![]() |
c658929cf3 | ||
![]() |
53f484fbba | ||
![]() |
9776f0da4d | ||
![]() |
6392a7d7f1 | ||
![]() |
6dcb5f5ed9 | ||
![]() |
1a703c3254 | ||
![]() |
a7d070d2d5 | ||
![]() |
8ce8a45219 | ||
![]() |
b9ee398cbc | ||
![]() |
661885dbd8 | ||
![]() |
251282d2cf | ||
![]() |
2e86a5f929 | ||
![]() |
a3753eda62 | ||
![]() |
049c91f4d1 | ||
![]() |
7ac73098fc | ||
![]() |
a2dae3379d | ||
![]() |
6be8a83584 | ||
![]() |
c3ac242181 | ||
![]() |
2a66cfc2d0 | ||
![]() |
0da50fecbf | ||
![]() |
61b6c9c348 | ||
![]() |
7957a7bd2e | ||
![]() |
5955526b25 | ||
![]() |
681c22375b | ||
![]() |
3b89c2be89 | ||
![]() |
ebe8bcd0cf | ||
![]() |
37bb769470 | ||
![]() |
73fa1470b3 | ||
![]() |
75f1731232 | ||
![]() |
7624e1009a | ||
![]() |
7586957720 | ||
![]() |
68d09255bd | ||
![]() |
e4733c5fc4 | ||
![]() |
5e25f40d83 | ||
![]() |
f7aaf161fb | ||
![]() |
2e34a922f0 | ||
![]() |
d3b67bde8a | ||
![]() |
771f1fe5c1 | ||
![]() |
209c6164f4 | ||
![]() |
92fb290f69 | ||
![]() |
d2bf31bdad | ||
![]() |
ff35310650 | ||
![]() |
005d1c8901 | ||
![]() |
112075b3ad | ||
![]() |
5c69f83c96 | ||
![]() |
754514df7e | ||
![]() |
0572b52ba1 | ||
![]() |
f302888a47 | ||
![]() |
392d988228 | ||
![]() |
c68a465f47 | ||
![]() |
fd5dca2689 | ||
![]() |
47c7bfd678 | ||
![]() |
854fc3cb97 | ||
![]() |
33a93311ec | ||
![]() |
b890ed527b | ||
![]() |
4b69ed4124 | ||
![]() |
493e220ab9 | ||
![]() |
16e6d6fede | ||
![]() |
b1bb7e48ca | ||
![]() |
f4db382c50 | ||
![]() |
f17983e9cf | ||
![]() |
dae30964a2 | ||
![]() |
f27c989829 | ||
![]() |
042a74a696 | ||
![]() |
56a82b473e | ||
![]() |
deef878f6f | ||
![]() |
fab378abf5 | ||
![]() |
a41f7579c8 | ||
![]() |
3808544891 | ||
![]() |
69f08cd2cc | ||
![]() |
2107517f2f | ||
![]() |
82e54db588 | ||
![]() |
793a205ae1 | ||
![]() |
a5a9d887da | ||
![]() |
12458ebe8c | ||
![]() |
367bec2010 | ||
![]() |
f85b2a62f7 | ||
![]() |
13a90fdd89 | ||
![]() |
761bfb156d | ||
![]() |
46f091bfcb | ||
![]() |
d1c93a0af3 | ||
![]() |
9d006730ad | ||
![]() |
e867befd46 | ||
![]() |
fdbef334bb | ||
![]() |
dfb839ebce | ||
![]() |
6c9bddef53 | ||
![]() |
cc8e1e93c3 | ||
![]() |
3fcdb3198b | ||
![]() |
3d5c5c28d5 | ||
![]() |
ac1520325c | ||
![]() |
5a89810238 | ||
![]() |
b977e8ab0c | ||
![]() |
2ccca78929 | ||
![]() |
768f5fd1ac | ||
![]() |
3066616e1a | ||
![]() |
197ea38552 | ||
![]() |
67a72a2759 | ||
![]() |
64a7a6b2f4 | ||
![]() |
adb9815199 | ||
![]() |
3daca13f72 | ||
![]() |
68148b16d3 | ||
![]() |
1fae776445 | ||
![]() |
413f4db585 | ||
![]() |
c85d2d7420 | ||
![]() |
e284ea344d | ||
![]() |
315abb0513 | ||
![]() |
cae8e9fa8e | ||
![]() |
069c4908c8 | ||
![]() |
2e18a4acdf | ||
![]() |
0921e68913 | ||
![]() |
c9fdaa412a | ||
![]() |
bed09c2af6 | ||
![]() |
b9e0da98bb | ||
![]() |
73f3bf15ea | ||
![]() |
4845b27126 | ||
![]() |
37423caa06 | ||
![]() |
1b991ef095 | ||
![]() |
9b8929cd28 | ||
![]() |
f5dbc64e10 | ||
![]() |
c1b14b220b | ||
![]() |
c3ad539b41 | ||
![]() |
3f94d2697a | ||
![]() |
51c3b1cf7c | ||
![]() |
1c9e21ab8a | ||
![]() |
cd25c9724f | ||
![]() |
adadff09b8 | ||
![]() |
dcdb707dec | ||
![]() |
0dddfc12db | ||
![]() |
1949f8c7f5 | ||
![]() |
a68965f64a | ||
![]() |
a3f901ecad | ||
![]() |
f4b3756e85 | ||
![]() |
917d027941 | ||
![]() |
0aa350306b | ||
![]() |
392e5cfa1e | ||
![]() |
9b226e60e3 | ||
![]() |
49929c1e57 | ||
![]() |
0eab0d9343 | ||
![]() |
468b3dccab | ||
![]() |
202528c557 | ||
![]() |
134428aefd | ||
![]() |
bf6186449f | ||
![]() |
c02ef4d7b9 | ||
![]() |
b5866566d0 | ||
![]() |
22b105e421 | ||
![]() |
9c8d84ed6c | ||
![]() |
586b73adf7 | ||
![]() |
a1b748f5f4 | ||
![]() |
ce87428cfb | ||
![]() |
e7886978bd | ||
![]() |
7e1e73c719 | ||
![]() |
701683e557 | ||
![]() |
272c31c837 | ||
![]() |
a142f89540 | ||
![]() |
07c85d3cdf | ||
![]() |
5c8e340a3f | ||
![]() |
3f5d9074e4 | ||
![]() |
96ed1801aa | ||
![]() |
5dd8f775f9 | ||
![]() |
e08eb964c4 | ||
![]() |
36027d425c | ||
![]() |
248eee819a | ||
![]() |
8ff42771a4 | ||
![]() |
a93e28291f | ||
![]() |
10a71ab4d6 | ||
![]() |
4bcea9de74 | ||
![]() |
a2297c64e6 | ||
![]() |
482d60854a | ||
![]() |
cff0913be8 | ||
![]() |
8bde816efd | ||
![]() |
176f5c648d | ||
![]() |
4c35d33ef6 | ||
![]() |
2b54f0e680 | ||
![]() |
2b1f692455 | ||
![]() |
aba24e6866 | ||
![]() |
24269555a3 | ||
![]() |
e2267c80a0 | ||
![]() |
67a108b196 | ||
![]() |
d4e4c4f7e3 | ||
![]() |
8514b4d403 | ||
![]() |
5d53d6dd8c | ||
![]() |
51317569f9 | ||
![]() |
5d7a22e6d9 | ||
![]() |
8cdcd45561 | ||
![]() |
f7bd6c1948 | ||
![]() |
f35e821d57 | ||
![]() |
d9d1a91c5f | ||
![]() |
8970abd67f | ||
![]() |
cee98e5a0b | ||
![]() |
acd6ef1b3b | ||
![]() |
2da5e51eee | ||
![]() |
924f7c6261 | ||
![]() |
bba922c562 | ||
![]() |
27f606db1b | ||
![]() |
8b895dda3e | ||
![]() |
f442bc4b18 | ||
![]() |
9a867f3da1 | ||
![]() |
72000d7b35 | ||
![]() |
a9657c63f4 | ||
![]() |
e6ae704f32 | ||
![]() |
f0cdf4294e | ||
![]() |
b404e9da00 | ||
![]() |
21be3316b8 | ||
![]() |
5581d12e44 | ||
![]() |
7e8736a47d | ||
![]() |
ef66d357a7 | ||
![]() |
c6f8ceface | ||
![]() |
0cdcecb813 | ||
![]() |
2eeeb163ba | ||
![]() |
9a126f75bb | ||
![]() |
d2b6a0dc7a | ||
![]() |
0e992e6089 | ||
![]() |
0f62f281ae | ||
![]() |
c4e827bba4 | ||
![]() |
ef1376306a | ||
![]() |
000e3c8585 | ||
![]() |
709c44485a | ||
![]() |
a8b2e475fa | ||
![]() |
0795dc22b9 | ||
![]() |
9355d9c5a2 | ||
![]() |
5bf8f2cf9e | ||
![]() |
fa43d3b190 | ||
![]() |
4afb9fcf1c | ||
![]() |
2fad317498 | ||
![]() |
0cceb0f261 | ||
![]() |
6faa928979 | ||
![]() |
fdc2bb1952 | ||
![]() |
3395a55db4 | ||
![]() |
172c6c615e | ||
![]() |
2d0e7bd484 | ||
![]() |
d533bb9552 | ||
![]() |
cb935f030f | ||
![]() |
c682baa97a | ||
![]() |
a1134e861e | ||
![]() |
9a3a714ee1 | ||
![]() |
052919fe44 | ||
![]() |
08555b9bde | ||
![]() |
548777910b | ||
![]() |
13177d2635 | ||
![]() |
b4b544ff73 | ||
![]() |
caea1601c4 | ||
![]() |
2b954b0d55 | ||
![]() |
5281636de4 | ||
![]() |
bb5312d3f7 | ||
![]() |
dd81ee9855 | ||
![]() |
80e66a6214 | ||
![]() |
d73de3fb97 | ||
![]() |
c9ab2bab22 | ||
![]() |
ce362c03cf | ||
![]() |
83b53ce6c8 | ||
![]() |
74fe5968c1 | ||
![]() |
8c714bf8cd | ||
![]() |
d3ca68aee4 | ||
![]() |
a063074346 | ||
![]() |
f16f9b2b8a | ||
![]() |
d95d136550 | ||
![]() |
16ab5e091d | ||
![]() |
8ac39d8863 | ||
![]() |
83140541dc | ||
![]() |
4491151aa9 | ||
![]() |
5262d1bbcc | ||
![]() |
1a325e3580 | ||
![]() |
fc678567d7 | ||
![]() |
286ff21dd1 | ||
![]() |
cf1c127c23 | ||
![]() |
e7110984f3 | ||
![]() |
31f8d3525d | ||
![]() |
e1cf8dc2cb | ||
![]() |
291be24742 | ||
![]() |
3304c7620a | ||
![]() |
ba441c48b0 | ||
![]() |
e5aedf130f | ||
![]() |
94debea0a9 | ||
![]() |
c6a48e11e9 | ||
![]() |
327452cb09 | ||
![]() |
c751b66d38 | ||
![]() |
5928b18cf3 | ||
![]() |
f37779ba20 | ||
![]() |
ef67ef3155 | ||
![]() |
ba3406fffe | ||
![]() |
68bfea5aa0 | ||
![]() |
be588f9493 | ||
![]() |
c3fcb18bc6 | ||
![]() |
4897227d04 | ||
![]() |
11cbf850a4 | ||
![]() |
c00c3f10a4 | ||
![]() |
00fa61f8f5 | ||
![]() |
d3a482ab65 | ||
![]() |
b64850e732 | ||
![]() |
bc2ee93758 | ||
![]() |
2843a3f7e7 | ||
![]() |
33a9bda1d9 | ||
![]() |
d3c4f91c9c | ||
![]() |
5c6c88ef15 | ||
![]() |
69cdb35820 | ||
![]() |
4d89153e5f | ||
![]() |
c709dff1a2 | ||
![]() |
d859aa1438 | ||
![]() |
4fcb0d036c | ||
![]() |
b5338b640f | ||
![]() |
6a88e22423 | ||
![]() |
861d341dff | ||
![]() |
a34daf6851 | ||
![]() |
59a00c3cdd | ||
![]() |
e86ef017f2 | ||
![]() |
d4a226500b | ||
![]() |
16550339ba | ||
![]() |
84e1551c64 | ||
![]() |
af902dc042 | ||
![]() |
d99b247cc7 | ||
![]() |
139185e543 | ||
![]() |
64bcefb7cd | ||
![]() |
4ac9932128 | ||
![]() |
9190ae2be7 | ||
![]() |
a03cf8964f | ||
![]() |
4bf441c32b | ||
![]() |
b116a45f07 | ||
![]() |
d91613592b | ||
![]() |
e6df472e8f | ||
![]() |
f6abffdb4a | ||
![]() |
a1930b1772 | ||
![]() |
9530ce9d3f | ||
![]() |
3d8e49d9e8 | ||
![]() |
64419a2ea1 | ||
![]() |
34eabc0602 | ||
![]() |
ade470352c | ||
![]() |
ae48b1b94a | ||
![]() |
394838901d | ||
![]() |
f49fcc960b | ||
![]() |
2f3e4c1a7a | ||
![]() |
d04cc2855a | ||
![]() |
909eaede4c | ||
![]() |
4d7aa0b762 | ||
![]() |
98609279b6 |
@@ -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
|
||||
|
@@ -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
3
.gitignore
vendored
@@ -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
106
.mailmap
@@ -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>
|
||||
|
106
.travis.yml
106
.travis.yml
@@ -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
|
||||
|
92
AUTHORS.md
92
AUTHORS.md
@@ -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)
|
||||
|
45
CHANGELOG.md
45
CHANGELOG.md
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
575
DONORS.md
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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).
|
||||
|
33
SConstruct
33
SConstruct
@@ -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)):
|
||||
|
@@ -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
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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: {
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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();
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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);
|
||||
|
10
core/image.h
10
core/image.h
@@ -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
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 {
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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);
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
@@ -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
Reference in New Issue
Block a user