Compare commits
59 Commits
3.0.4-stab
...
3.0.6-stab
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
@ -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
|
||||
|
||||
102
.travis.yml
102
.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_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
|
||||
|
||||
29
AUTHORS.md
29
AUTHORS.md
@ -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)
|
||||
|
||||
36
CHANGELOG.md
36
CHANGELOG.md
@ -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
|
||||
|
||||
|
||||
@ -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/
|
||||
|
||||
32
DONORS.md
32
DONORS.md
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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();
|
||||
};
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
Reference in New Issue
Block a user