Compare commits

...

59 Commits

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

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

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

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

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

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

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

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

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

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

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

Travis: Update style checks to clang-format 6.0.1

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

Thanks to all contributors and donors for making Godot possible!

[ci skip]

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

However, Godot import them as 0.0.

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

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

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

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

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

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

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

1: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
(cherry picked from commit 8a4dccc4ce)
2018-07-08 15:39:15 +02:00
=
64bcefb7cd Mono: Fixes annotated signal loading in exported binaries
(cherry picked from commit 489c9adf03)
2018-07-08 15:39:15 +02:00
4ac9932128 Merge pull request #19944 from PatrickKaster/feature/android_modules_asset_dir
asset_dir method in Android modules' gradle config
2018-07-04 23:29:38 +02:00
9190ae2be7 added 'android_add_asset_dir('...') method to Android module gradle build config 2018-07-04 23:04:14 +02:00
a03cf8964f Fix date typo in changelog 2018-06-28 14:22:43 +02:00
4bf441c32b Bump to 3.0.5
And onwards!
2018-06-23 17:05:45 +02:00
737 changed files with 4941 additions and 2585 deletions

View File

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

View File

@ -1,13 +1,15 @@
language: cpp
# OS config, depends on actual 'os' in build matrix
dist: trusty
sudo: false
env:
global:
- SCONS_CACHE=$HOME/.scons_cache
- SCONS_CACHE_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,68 @@ 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-5.0
packages:
- clang-format-5.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 +103,5 @@ script:
- if [ "$STATIC_CHECKS" = "yes" ]; then
sh ./misc/travis/clang-format.sh;
else
scons -j2 CC=$CC CXX=$CXX platform=$GODOT_TARGET TOOLS=$TOOLS verbose=yes progress=no openmp=no gdnative_wrapper=yes;
scons -j2 CC=$CC CXX=$CXX platform=$GODOT_TARGET TOOLS=$TOOLS $EXTRA_ARGS $OPTIONS;
fi

View File

@ -40,14 +40,15 @@ name is available.
Ben Brookshire (sheepandshepherd)
Benjamin (Nallebeorn)
Bernard Liebl (poke1024)
Bojidar Marinov (bojidar-bg)
Błażej Szczygieł (zaps166)
Bojidar Marinov (bojidar-bg)
bruvzg
Carl Olsson (not-surt)
Dana Olson (adolson)
Daniel J. Ramirez (djrm)
Dmitry Koteroff (Krakean)
Дмитрий Сальников (DmitriySalnikov)
Emmanuel Leblond (touilleMan)
est31
Fabio Alessandrelli (Faless)
Ferenc Arn (tagcup)
Franklin Sobrinho (TheHX)
@ -68,6 +69,7 @@ name is available.
J08nY
Jakub Grzesik (kubecz3k)
Jérôme GULLY (Nutriz)
JFonS
Johan Manuel (29jm)
Joshua Grams (JoshuaGrams)
Juan Linietsky (reduz)
@ -76,15 +78,18 @@ name is available.
Kelly Thomas (KellyThomas)
Kostadin Damyanov (Max-Might)
Leon Krause (eska014)
Marc Gilleron (Zylann)
m4nu3lf
Marcelo Fernandez (marcelofg55)
Marc Gilleron (Zylann)
Mariano Javier Suligoy (MarianoGnu)
Mario Schlack (hurikhan)
Martin Sjursen (binbitten)
marynate
Masoud BH (masoudbh3)
Matthias Hölzl (hoelzl)
Max Hilbrunner (mhilbrunner)
Michael Alexsander Silva Dias (YeldhamDev)
mrezai
Nathan Warden (NathanWarden)
Nuno Donato (nunodonato)
Ovnuniarchos
@ -102,28 +107,24 @@ name is available.
Ray Koopa (RayKoopa)
Rémi Verschelde (akien-mga)
Roberto F. Arroyo (robfram)
romulox-x
rraallvv
Ruslan Mustakov (endragor)
Saniko (sanikoyes)
SaracenOne
sersoong
Theo Hallenius (TheoXD)
Thomas Herzog (karroffel)
Timo (toger5)
V. Vamsi Krishna (vkbsb)
Vinzenz Feenstra (vinzenz)
박한얼 (volzhs)
V. Vamsi Krishna (vkbsb)
Wilhem Barbier (nounoursheureux)
Will Nations (willnationsdev)
Wilson E. Alvarez (Rubonnek)
Xavier Cho (mysticfall)
yg2f (SuperUserNameMan)
Yuri Roubinski (Chaosus)
Zher Huei Lee (leezh)
ZuBsPaCe
박한얼 (volzhs)
bruvzg
est31
m4nu3lf
marynate
mrezai
romulox-x
rraallvv
sersoong
yg2f (SuperUserNameMan)
Дмитрий Сальников (DmitriySalnikov)

View File

@ -4,7 +4,39 @@ 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.4] - 2018-07-23
## [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
@ -15,7 +47,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Threading problem causing asset library to crash on low threadcount systems.
## [3.0.3] - 2018-07-13
## [3.0.3] - 2018-06-13
### Added

View File

@ -305,7 +305,7 @@ License: Zlib
Files: ./thirdparty/openssl/
Comment: The OpenSSL Project
Copyright: 1998-2017, The OpenSSL Project.
Copyright: 1998-2018, The OpenSSL Project.
License: OpenSSL
Files: ./thirdparty/opus/

View File

@ -70,6 +70,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Johannes Wuensch
Josep G. Camarasa
Joshua Lesperance
Kyle Szklenski
Libre-Dépanne
Matthew Bennett
Olafur Gislason
@ -87,21 +88,21 @@ generous deed immortalized in the next stable release of Godot Engine.
David Churchill
Dean Harmon
Dexter Miguel
Guilherme Felipe de C. G. da Silva
John
Justo Delgado Baudí
KTL
Laurence Bannister
paul gruenbacher
Rami
Robert Willes
Robin Arys
Rodrigo Loli
Ronnie Ashlock
Rufus Xavier Sarsaparilla
ScottMakesGames
Thomas Bjarnelöf
William Connell
Wojciech Chojnacki
Xavier Tan
Zaq Poi
Alessandra Pereyra
@ -113,13 +114,15 @@ generous deed immortalized in the next stable release of Godot Engine.
Cody Parker
Corey Auger
D
Daniel Eliasinski
E.G.
Eric
Eric Monson
flesk
floopf
G Barnes
GGGames.org
Giovanni Solimeno
Guilherme Felipe de C. G. da Silva
Hasen Judy
Heath Hayes
Jay Horton
@ -133,31 +136,32 @@ generous deed immortalized in the next stable release of Godot Engine.
Markus Wiesner
Marvin
Mohammad Taleb
Neal Barry
Nick Nikitin
Pablo Cholaky
Patrick Schnorbus
Pete Goodwin
Phyronnaz
Ruben Soares Luis
Sindre Sømme
Sofox
Stoned Xander
Ted
Tim Dalporto
Trent McPheron
Vladimir
## Silver donors
1D_Inc
Adam Carr
Adam Smeltzer
Adisibio
Alder Stefano
Alessandro Senese
Álvaro Domínguez López
Anders Jensen-Urstad
Anthony Bongiovanni
Arda Erol
Arthur S. Muszynski
Artur Barichello
Aubrey Falconer
Avencherus
Bailey
@ -168,6 +172,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Blair Allen
Brandon
Bryan Stevenson
Carl Winder
Carwyn Edwards
Casey Foote
Chris Chapin
@ -175,7 +180,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Christian Winter
Christopher Schmitt
Collin Shooltz
Daniel Delgado Corona
Daniel Johnson
Daniel Kaplan
DanielMaximiano
@ -186,6 +190,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Dominik Wetzel
Duy Kevin Nguyen
Edward Herbert
Edwin Acosta
Eric Martini
Fabian Becker
fengjiongmax
@ -194,10 +199,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Gerrit Großkopf
Gerrit Procee
Gilberto K. Otubo
Guillaume Laforte
Guldoman
Gumichan01
Heribert Hirth
hubert jenkins
Hunter Jones
ialex32x
Ivan Vodopiviz
@ -222,16 +227,15 @@ generous deed immortalized in the next stable release of Godot Engine.
Kevin Kamper Meejach Petersen
Klavdij Voncina
Krzysztof Jankowski
Lars pfeffer
Linus Lind Lundgren
Luis Moraes
Macil
magodev
Martin Eigel
Martins Odabi
Matthew Fitzpatrick
Max R.R. Collada
Maxwell
Mertcan Mermerkaya
mhilbrunner
Michael Dürwald
Michael Gringauz
@ -246,10 +250,8 @@ generous deed immortalized in the next stable release of Godot Engine.
Niclas Eriksen
Nicolas SAN AGUSTIN
Niko Leopold
nivardus
Noi Sek
Oleg Tyshchenko
Oleksandr Yemets
Pablo Seibelt
Pan Ip
Pat LaBine
@ -260,28 +262,28 @@ generous deed immortalized in the next stable release of Godot Engine.
Pierre-Igor Berthet
Pietro Vertechi
Piotr Kaczmarski
Rea
Rémi Verschelde
Richman Stewart
Roger Burgess
Roger Smith
Roman Tinkov
Ryan Whited
Samuel El-Borai
Sasori Olkof
Sootstone
Stefan Butucea
Theo Cranmore
Thibault Barbaroux
Thomas Bell
Thomas Hermansen
Thomas Holmes
Thomas Kurz
Tomasz Wacławek
Tom Larrow
Tyler Stafos
UltyX
Victor
Victor Gonzalez Fernandez
Viktor Ferenczi
waka nya
werner mendizabal
Wout Standaert
Yu He

View File

@ -81,6 +81,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 +107,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

View File

@ -114,6 +114,11 @@ void Dictionary::erase(const Variant &p_key) {
_p->variant_map.erase(p_key);
}
bool Dictionary::erase_checked(const Variant &p_key) {
return _p->variant_map.erase(p_key);
}
bool Dictionary::operator==(const Dictionary &p_dictionary) const {
return _p == p_dictionary._p;

View File

@ -64,6 +64,7 @@ public:
bool has_all(const Array &p_keys) const;
void erase(const Variant &p_key);
bool erase_checked(const Variant &p_key);
bool operator==(const Dictionary &p_dictionary) const;

View File

@ -150,7 +150,7 @@ class PoolVector {
}
if (old_alloc->refcount.unref() == true) {
//this should never happen but..
//this should never happen but..
#ifdef DEBUG_ENABLED
MemoryPool::alloc_mutex->lock();

View File

@ -30,6 +30,7 @@
#include "http_client.h"
#include "io/stream_peer_ssl.h"
#include "version.h"
const char *HTTPClient::_methods[METHOD_MAX] = {
"GET",
@ -121,16 +122,30 @@ Error HTTPClient::request_raw(Method p_method, const String &p_url, const Vector
request += "Host: " + conn_host + ":" + itos(conn_port) + "\r\n";
}
bool add_clen = p_body.size() > 0;
bool add_uagent = true;
bool add_accept = true;
for (int i = 0; i < p_headers.size(); i++) {
request += p_headers[i] + "\r\n";
if (add_clen && p_headers[i].find("Content-Length:") == 0) {
if (add_clen && p_headers[i].findn("Content-Length:") == 0) {
add_clen = false;
}
if (add_uagent && p_headers[i].findn("User-Agent:") == 0) {
add_uagent = false;
}
if (add_accept && p_headers[i].findn("Accept:") == 0) {
add_accept = false;
}
}
if (add_clen) {
request += "Content-Length: " + itos(p_body.size()) + "\r\n";
// Should it add utf8 encoding?
}
if (add_uagent) {
request += "User-Agent: GodotEngine/" + String(VERSION_FULL_BUILD) + " (" + OS::get_singleton()->get_name() + ")\r\n";
}
if (add_accept) {
request += "Accept: */*\r\n";
}
request += "\r\n";
CharString cs = request.utf8();
@ -173,17 +188,31 @@ Error HTTPClient::request(Method p_method, const String &p_url, const Vector<Str
} else {
request += "Host: " + conn_host + ":" + itos(conn_port) + "\r\n";
}
bool add_uagent = true;
bool add_accept = true;
bool add_clen = p_body.length() > 0;
for (int i = 0; i < p_headers.size(); i++) {
request += p_headers[i] + "\r\n";
if (add_clen && p_headers[i].find("Content-Length:") == 0) {
if (add_clen && p_headers[i].findn("Content-Length:") == 0) {
add_clen = false;
}
if (add_uagent && p_headers[i].findn("User-Agent:") == 0) {
add_uagent = false;
}
if (add_accept && p_headers[i].findn("Accept:") == 0) {
add_accept = false;
}
}
if (add_clen) {
request += "Content-Length: " + itos(p_body.utf8().length()) + "\r\n";
// Should it add utf8 encoding?
}
if (add_uagent) {
request += "User-Agent: GodotEngine/" + String(VERSION_FULL_BUILD) + " (" + OS::get_singleton()->get_name() + ")\r\n";
}
if (add_accept) {
request += "Accept: */*\r\n";
}
request += "\r\n";
request += p_body;

View File

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

View File

@ -158,6 +158,10 @@ void ScriptDebuggerRemote::debug(ScriptLanguage *p_script, bool p_can_continue)
ERR_FAIL();
}
if (allow_focus_steal_pid) {
OS::get_singleton()->enable_for_stealing_focus(allow_focus_steal_pid);
}
packet_peer_stream->put_var("debug_enter");
packet_peer_stream->put_var(2);
packet_peer_stream->put_var(p_can_continue);
@ -1031,6 +1035,10 @@ void ScriptDebuggerRemote::profiling_set_frame_times(float p_frame_time, float p
physics_frame_time = p_physics_frame_time;
}
void ScriptDebuggerRemote::set_allow_focus_steal_pid(OS::ProcessID p_pid) {
allow_focus_steal_pid = p_pid;
}
ScriptDebuggerRemote::ResourceUsageFunc ScriptDebuggerRemote::resource_usage_func = NULL;
ScriptDebuggerRemote::ScriptDebuggerRemote() :
@ -1052,6 +1060,7 @@ ScriptDebuggerRemote::ScriptDebuggerRemote() :
n_errors_dropped(0),
last_msec(0),
msec_count(0),
allow_focus_steal_pid(0),
locking(false),
poll_every(0),
request_scene_tree(NULL),

View File

@ -34,6 +34,7 @@
#include "io/packet_peer.h"
#include "io/stream_peer_tcp.h"
#include "list.h"
#include "os/os.h"
#include "script_language.h"
class ScriptDebuggerRemote : public ScriptDebugger {
@ -98,6 +99,8 @@ class ScriptDebuggerRemote : public ScriptDebugger {
uint64_t last_msec;
uint64_t msec_count;
OS::ProcessID allow_focus_steal_pid;
bool locking; //hack to avoid a deadloop
static void _print_handler(void *p_this, const String &p_string, bool p_error);
@ -169,6 +172,8 @@ public:
virtual void profiling_end();
virtual void profiling_set_frame_times(float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time);
void set_allow_focus_steal_pid(OS::ProcessID p_pid);
ScriptDebuggerRemote();
~ScriptDebuggerRemote();
};

View File

@ -58,12 +58,8 @@
#endif
#ifndef _FORCE_INLINE_
#ifdef DEBUG_ENABLED
#define _FORCE_INLINE_ inline
#else
#define _FORCE_INLINE_ _ALWAYS_INLINE_
#endif
#endif
//custom, gcc-safe offsetof, because gcc complains a lot.
template <class T>
@ -74,7 +70,7 @@ T *_nullptr() {
#define OFFSET_OF(st, m) \
((size_t)((char *)&(_nullptr<st>()->m) - (char *)0))
/**
/**
* Some platforms (devices) not define NULL
*/
@ -82,7 +78,7 @@ T *_nullptr() {
#define NULL 0
#endif
/**
/**
* Windows defines a lot of badly stuff we'll never ever use. undefine it.
*/
@ -104,7 +100,7 @@ T *_nullptr() {
#include "error_list.h"
#include "error_macros.h"
/** Generic ABS function, for math uses please use Math::abs */
/** Generic ABS function, for math uses please use Math::abs */
#ifndef ABS
#define ABS(m_v) ((m_v < 0) ? (-(m_v)) : (m_v))
@ -266,7 +262,7 @@ static inline uint64_t BSWAP64(uint64_t x) {
template <class T>
struct Comparator {
inline bool operator()(const T &p_a, const T &p_b) const { return (p_a < p_b); }
_ALWAYS_INLINE_ bool operator()(const T &p_a, const T &p_b) const { return (p_a < p_b); }
};
void _global_lock();

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="@GDScript" category="Core" version="3.0.4">
<class name="@GDScript" category="Core" version="3.0.6">
<brief_description>
Built-in GDScript functions.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="@GlobalScope" category="Core" version="3.0.4">
<class name="@GlobalScope" category="Core" version="3.0.6">
<brief_description>
Global scope constants and variables.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="@NativeScript" category="Core" version="3.0.4">
<class name="@NativeScript" category="Core" version="3.0.6">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="@VisualScript" category="Core" version="3.0.4">
<class name="@VisualScript" category="Core" version="3.0.6">
<brief_description>
Built-in visual script functions.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AABB" category="Built-In Types" version="3.0.4">
<class name="AABB" category="Built-In Types" version="3.0.6">
<brief_description>
Axis-Aligned Bounding Box.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRAnchor" inherits="Spatial" category="Core" version="3.0.4">
<class name="ARVRAnchor" inherits="Spatial" category="Core" version="3.0.6">
<brief_description>
Anchor point in AR Space.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRCamera" inherits="Camera" category="Core" version="3.0.4">
<class name="ARVRCamera" inherits="Camera" category="Core" version="3.0.6">
<brief_description>
A camera node with a few overrules for AR/VR applied such as location tracking.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRController" inherits="Spatial" category="Core" version="3.0.4">
<class name="ARVRController" inherits="Spatial" category="Core" version="3.0.6">
<brief_description>
A spatial node representing a spatially tracked controller.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRInterface" inherits="Reference" category="Core" version="3.0.4">
<class name="ARVRInterface" inherits="Reference" category="Core" version="3.0.6">
<brief_description>
Base class for ARVR interface implementation.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVROrigin" inherits="Spatial" category="Core" version="3.0.4">
<class name="ARVROrigin" inherits="Spatial" category="Core" version="3.0.6">
<brief_description>
Our origin point in AR/VR.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRPositionalTracker" inherits="Object" category="Core" version="3.0.4">
<class name="ARVRPositionalTracker" inherits="Object" category="Core" version="3.0.6">
<brief_description>
A tracked object
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ARVRServer" inherits="Object" category="Core" version="3.0.4">
<class name="ARVRServer" inherits="Object" category="Core" version="3.0.6">
<brief_description>
This is our AR/VR Server.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AStar" inherits="Reference" category="Core" version="3.0.4">
<class name="AStar" inherits="Reference" category="Core" version="3.0.6">
<brief_description>
AStar class representation that uses vectors as edges.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AcceptDialog" inherits="WindowDialog" category="Core" version="3.0.4">
<class name="AcceptDialog" inherits="WindowDialog" category="Core" version="3.0.6">
<brief_description>
Base dialog for user notification.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimatedSprite" inherits="Node2D" category="Core" version="3.0.4">
<class name="AnimatedSprite" inherits="Node2D" category="Core" version="3.0.6">
<brief_description>
Sprite node that can use multiple textures for animation.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimatedSprite3D" inherits="SpriteBase3D" category="Core" version="3.0.4">
<class name="AnimatedSprite3D" inherits="SpriteBase3D" category="Core" version="3.0.6">
<brief_description>
2D sprite node in 3D world, that can use multiple 2D textures for animation.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Animation" inherits="Resource" category="Core" version="3.0.4">
<class name="Animation" inherits="Resource" category="Core" version="3.0.6">
<brief_description>
Contains data used to animate everything in the engine.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationPlayer" inherits="Node" category="Core" version="3.0.4">
<class name="AnimationPlayer" inherits="Node" category="Core" version="3.0.6">
<brief_description>
Container and player of [Animation] resources.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationTreePlayer" inherits="Node" category="Core" version="3.0.4">
<class name="AnimationTreePlayer" inherits="Node" category="Core" version="3.0.6">
<brief_description>
Animation Player that uses a node graph for blending Animations.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Area" inherits="CollisionObject" category="Core" version="3.0.4">
<class name="Area" inherits="CollisionObject" category="Core" version="3.0.6">
<brief_description>
General purpose area node for detection and 3D physics influence.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Area2D" inherits="CollisionObject2D" category="Core" version="3.0.4">
<class name="Area2D" inherits="CollisionObject2D" category="Core" version="3.0.6">
<brief_description>
2D area for detection and 2D physics influence.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Array" category="Built-In Types" version="3.0.4">
<class name="Array" category="Built-In Types" version="3.0.6">
<brief_description>
Generic array datatype.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ArrayMesh" inherits="Mesh" category="Core" version="3.0.4">
<class name="ArrayMesh" inherits="Mesh" category="Core" version="3.0.6">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AtlasTexture" inherits="Texture" category="Core" version="3.0.4">
<class name="AtlasTexture" inherits="Texture" category="Core" version="3.0.6">
<brief_description>
Packs multiple small textures in a single, bigger one. Helps to optimize video memory costs and render calls.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioBusLayout" inherits="Resource" category="Core" version="3.0.4">
<class name="AudioBusLayout" inherits="Resource" category="Core" version="3.0.6">
<brief_description>
Stores information about the audiobusses.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffect" inherits="Resource" category="Core" version="3.0.4">
<class name="AudioEffect" inherits="Resource" category="Core" version="3.0.6">
<brief_description>
Audio Effect For Audio.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectAmplify" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectAmplify" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Amplify audio effect to an Audio bus.
Increases or decreases the volume of the selected audio bus.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectBandLimitFilter" inherits="AudioEffectFilter" category="Core" version="3.0.4">
<class name="AudioEffectBandLimitFilter" inherits="AudioEffectFilter" category="Core" version="3.0.6">
<brief_description>
Adds a band limit filter to the Audio Bus.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectBandPassFilter" inherits="AudioEffectFilter" category="Core" version="3.0.4">
<class name="AudioEffectBandPassFilter" inherits="AudioEffectFilter" category="Core" version="3.0.6">
<brief_description>
Adds a band pass filter to the Audio Bus.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectChorus" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectChorus" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a chorus audio effect.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectCompressor" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectCompressor" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Compressor audio effect to an Audio bus.
Reduces sounds that exceed a certain threshold level, smooths out the dynamics and increases the overall volume.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectDelay" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectDelay" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Delay audio effect to an Audio bus. Plays input signal back after a period of time.
Two tap delay and feedback options.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectDistortion" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectDistortion" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Distortion audio effect to an Audio bus.
Modify the sound to make it dirty.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectEQ" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectEQ" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Base class for audio equalizers. Gives you control over frequencies.
Use it to create a custom equalizer if [AudioEffectEQ6], [AudioEffectEQ10] or [AudioEffectEQ21] don't fit your needs.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectEQ10" inherits="AudioEffectEQ" category="Core" version="3.0.4">
<class name="AudioEffectEQ10" inherits="AudioEffectEQ" category="Core" version="3.0.6">
<brief_description>
Adds a 10-band equalizer audio effect to an Audio bus. Gives you control over frequencies from 31 Hz to 16000 Hz.
Each frequency can be modulated between -60/+24 dB.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectEQ21" inherits="AudioEffectEQ" category="Core" version="3.0.4">
<class name="AudioEffectEQ21" inherits="AudioEffectEQ" category="Core" version="3.0.6">
<brief_description>
Adds a 21-band equalizer audio effect to an Audio bus. Gives you control over frequencies from 22 Hz to 22000 Hz.
Each frequency can be modulated between -60/+24 dB.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectEQ6" inherits="AudioEffectEQ" category="Core" version="3.0.4">
<class name="AudioEffectEQ6" inherits="AudioEffectEQ" category="Core" version="3.0.6">
<brief_description>
Adds a 6-band equalizer audio effect to an Audio bus. Gives you control over frequencies from 32 Hz to 10000 Hz.
Each frequency can be modulated between -60/+24 dB.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectFilter" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectFilter" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a filter to the Audio Bus.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectHighPassFilter" inherits="AudioEffectFilter" category="Core" version="3.0.4">
<class name="AudioEffectHighPassFilter" inherits="AudioEffectFilter" category="Core" version="3.0.6">
<brief_description>
Adds a high pass filter to the Audio Bus.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectHighShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.0.4">
<class name="AudioEffectHighShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.0.6">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectLimiter" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectLimiter" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a soft clip Limiter audio effect to an Audio bus.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectLowPassFilter" inherits="AudioEffectFilter" category="Core" version="3.0.4">
<class name="AudioEffectLowPassFilter" inherits="AudioEffectFilter" category="Core" version="3.0.6">
<brief_description>
Adds a low pass filter to the Audio Bus.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectLowShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.0.4">
<class name="AudioEffectLowShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.0.6">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectNotchFilter" inherits="AudioEffectFilter" category="Core" version="3.0.4">
<class name="AudioEffectNotchFilter" inherits="AudioEffectFilter" category="Core" version="3.0.6">
<brief_description>
Adds a notch filter to the Audio Bus.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectPanner" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectPanner" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Panner audio effect to an Audio bus. Pans sound left or right.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectPhaser" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectPhaser" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Phaser audio effect to an Audio bus.
Combines the original signal with a copy that is slightly out of phase with the original.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectPitchShift" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectPitchShift" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Pitch shift audio effect to an Audio bus.
Raises or lowers the pitch of original sound.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectReverb" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectReverb" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
Adds a Reverb audio effect to an Audio bus.
Simulates the sound of acoustic environments such as rooms, concert halls, caverns, or an open spaces.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectStereoEnhance" inherits="AudioEffect" category="Core" version="3.0.4">
<class name="AudioEffectStereoEnhance" inherits="AudioEffect" category="Core" version="3.0.6">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioServer" inherits="Object" category="Core" version="3.0.4">
<class name="AudioServer" inherits="Object" category="Core" version="3.0.6">
<brief_description>
Server interface for low level audio access.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStream" inherits="Resource" category="Core" version="3.0.4">
<class name="AudioStream" inherits="Resource" category="Core" version="3.0.6">
<brief_description>
Base class for audio streams.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamPlayback" inherits="Reference" category="Core" version="3.0.4">
<class name="AudioStreamPlayback" inherits="Reference" category="Core" version="3.0.6">
<brief_description>
Meta class for playing back audio.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamPlayer" inherits="Node" category="Core" version="3.0.4">
<class name="AudioStreamPlayer" inherits="Node" category="Core" version="3.0.6">
<brief_description>
Plays back audio.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamPlayer2D" inherits="Node2D" category="Core" version="3.0.4">
<class name="AudioStreamPlayer2D" inherits="Node2D" category="Core" version="3.0.6">
<brief_description>
Plays audio in 2D.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamPlayer3D" inherits="Spatial" category="Core" version="3.0.4">
<class name="AudioStreamPlayer3D" inherits="Spatial" category="Core" version="3.0.6">
<brief_description>
Plays 3D sound in 3D space.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamRandomPitch" inherits="AudioStream" category="Core" version="3.0.4">
<class name="AudioStreamRandomPitch" inherits="AudioStream" category="Core" version="3.0.6">
<brief_description>
Plays audio with random pitch tweaking.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamSample" inherits="AudioStream" category="Core" version="3.0.4">
<class name="AudioStreamSample" inherits="AudioStream" category="Core" version="3.0.6">
<brief_description>
Plays audio.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BackBufferCopy" inherits="Node2D" category="Core" version="3.0.4">
<class name="BackBufferCopy" inherits="Node2D" category="Core" version="3.0.6">
<brief_description>
Copies a region of the screen (or the whole screen) to a buffer so it can be accessed with the texscreen() shader instruction.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BakedLightmap" inherits="VisualInstance" category="Core" version="3.0.4">
<class name="BakedLightmap" inherits="VisualInstance" category="Core" version="3.0.6">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BakedLightmapData" inherits="Resource" category="Core" version="3.0.4">
<class name="BakedLightmapData" inherits="Resource" category="Core" version="3.0.6">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BaseButton" inherits="Control" category="Core" version="3.0.4">
<class name="BaseButton" inherits="Control" category="Core" version="3.0.6">
<brief_description>
Base class for different kinds of buttons.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Basis" category="Built-In Types" version="3.0.4">
<class name="Basis" category="Built-In Types" version="3.0.6">
<brief_description>
3x3 matrix datatype.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BitMap" inherits="Resource" category="Core" version="3.0.4">
<class name="BitMap" inherits="Resource" category="Core" version="3.0.6">
<brief_description>
Boolean matrix.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BitmapFont" inherits="Font" category="Core" version="3.0.4">
<class name="BitmapFont" inherits="Font" category="Core" version="3.0.6">
<brief_description>
Renders text using [code]*.fnt[/code] fonts.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BoneAttachment" inherits="Spatial" category="Core" version="3.0.4">
<class name="BoneAttachment" inherits="Spatial" category="Core" version="3.0.6">
<brief_description>
A node that will attach to a bone.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BoxContainer" inherits="Container" category="Core" version="3.0.4">
<class name="BoxContainer" inherits="Container" category="Core" version="3.0.6">
<brief_description>
Base class for box containers.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BoxShape" inherits="Shape" category="Core" version="3.0.4">
<class name="BoxShape" inherits="Shape" category="Core" version="3.0.6">
<brief_description>
Box shape resource.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Button" inherits="BaseButton" category="Core" version="3.0.4">
<class name="Button" inherits="BaseButton" category="Core" version="3.0.6">
<brief_description>
Standard themed Button.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ButtonGroup" inherits="Resource" category="Core" version="3.0.4">
<class name="ButtonGroup" inherits="Resource" category="Core" version="3.0.6">
<brief_description>
Group of Buttons.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Camera" inherits="Spatial" category="Core" version="3.0.4">
<class name="Camera" inherits="Spatial" category="Core" version="3.0.6">
<brief_description>
Camera node, displays from a point of view.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Camera2D" inherits="Node2D" category="Core" version="3.0.4">
<class name="Camera2D" inherits="Node2D" category="Core" version="3.0.6">
<brief_description>
Camera node for 2D scenes.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CanvasItem" inherits="Node" category="Core" version="3.0.4">
<class name="CanvasItem" inherits="Node" category="Core" version="3.0.6">
<brief_description>
Base class of anything 2D.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CanvasItemMaterial" inherits="Material" category="Core" version="3.0.4">
<class name="CanvasItemMaterial" inherits="Material" category="Core" version="3.0.6">
<brief_description>
A material for [CanvasItem]s.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CanvasLayer" inherits="Node" category="Core" version="3.0.4">
<class name="CanvasLayer" inherits="Node" category="Core" version="3.0.6">
<brief_description>
Canvas drawing layer.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CanvasModulate" inherits="Node2D" category="Core" version="3.0.4">
<class name="CanvasModulate" inherits="Node2D" category="Core" version="3.0.6">
<brief_description>
Tint the entire canvas.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CapsuleMesh" inherits="PrimitiveMesh" category="Core" version="3.0.4">
<class name="CapsuleMesh" inherits="PrimitiveMesh" category="Core" version="3.0.6">
<brief_description>
Class representing a capsule-shaped [PrimitiveMesh].
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CapsuleShape" inherits="Shape" category="Core" version="3.0.4">
<class name="CapsuleShape" inherits="Shape" category="Core" version="3.0.6">
<brief_description>
Capsule shape for collisions.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CapsuleShape2D" inherits="Shape2D" category="Core" version="3.0.4">
<class name="CapsuleShape2D" inherits="Shape2D" category="Core" version="3.0.6">
<brief_description>
Capsule shape for 2D collisions.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CenterContainer" inherits="Container" category="Core" version="3.0.4">
<class name="CenterContainer" inherits="Container" category="Core" version="3.0.6">
<brief_description>
Keeps children controls centered.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CheckBox" inherits="Button" category="Core" version="3.0.4">
<class name="CheckBox" inherits="Button" category="Core" version="3.0.6">
<brief_description>
Binary choice user interface widget.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CheckButton" inherits="Button" category="Core" version="3.0.4">
<class name="CheckButton" inherits="Button" category="Core" version="3.0.6">
<brief_description>
Checkable button.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CircleShape2D" inherits="Shape2D" category="Core" version="3.0.4">
<class name="CircleShape2D" inherits="Shape2D" category="Core" version="3.0.6">
<brief_description>
Circular shape for 2D collisions.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ClassDB" inherits="Object" category="Core" version="3.0.4">
<class name="ClassDB" inherits="Object" category="Core" version="3.0.6">
<brief_description>
Class information repository.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CollisionObject" inherits="Spatial" category="Core" version="3.0.4">
<class name="CollisionObject" inherits="Spatial" category="Core" version="3.0.6">
<brief_description>
Base node for collision objects.
</brief_description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CollisionObject2D" inherits="Node2D" category="Core" version="3.0.4">
<class name="CollisionObject2D" inherits="Node2D" category="Core" version="3.0.6">
<brief_description>
Base node for 2D collision objects.
</brief_description>

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