summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap38
-rw-r--r--AUTHORS.md18
-rw-r--r--DONORS.md107
-rw-r--r--editor/plugins/animation_player_editor_plugin.cpp4
-rw-r--r--editor/plugins/animation_player_editor_plugin.h1
-rw-r--r--editor/plugins/script_text_editor.cpp2
-rw-r--r--editor/plugins/shader_editor_plugin.cpp4
-rw-r--r--main/splash_editor.pngbin39571 -> 45062 bytes
-rw-r--r--misc/scripts/sort-demos.sh29
-rw-r--r--modules/gdscript/editor/gdscript_highlighter.cpp28
-rw-r--r--modules/jsonrpc/jsonrpc.cpp10
-rw-r--r--scene/2d/cpu_particles_2d.cpp18
-rw-r--r--scene/3d/camera.cpp6
-rw-r--r--scene/animation/animation_blend_tree.cpp4
-rw-r--r--scene/resources/visual_shader.cpp8
15 files changed, 162 insertions, 115 deletions
diff --git a/.mailmap b/.mailmap
index 1669494cb5..c54fa4dd79 100644
--- a/.mailmap
+++ b/.mailmap
@@ -6,25 +6,35 @@ Andreas Haas <liu.gam3@gmail.com>
Andreas Haas <liu.gam3@gmail.com> <hinsbart@gmail.com>
Andreas Haas <liu.gam3@gmail.com> <hinsbart@users.noreply.github.com>
Andreas Haas <liu.gam3@gmail.com> <entenflugstuhl@gmail.com>
+Anish Bhobe <anishbhobe@hotmail.com>
+Anutrix <numaanzaheerahmed@yahoo.com>
+Aren Villanueva <arenvillanueva@yomogi-soft.com> <aren@displaysweet.com>
Ariel Manzur <ariel@godotengine.org>
Ariel Manzur <ariel@godotengine.org> <punto@godotengine.org>
Ariel Manzur <ariel@godotengine.org> <ariel@okamstudio.com>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini.local>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini-2.local>
Bastiaan Olij <mux213@gmail.com>
+Benjamin <mafortion.benjamin@gmail.com>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.de>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.org>
+Chaosus <chaosus89@gmail.com>
Chris Bradfield <chris@kidscancode.org> <cb@scribe.net>
Clay John <claynjohn@gmail.com>
Clay John <claynjohn@gmail.com> <clayjohn@shaw.ca>
Dana Olson <dana@shineuponthee.com> <adolson@gmail.com>
Daniel J. Ramirez <djrmuv@gmail.com>
+Fabian <supagu@gmail.com>
Ferenc Arn <tagcup@yahoo.com>
Ferenc Arn <tagcup@yahoo.com> <tagcup@users.noreply.github.com>
Geequlim <geequlim@gmail.com>
Gilles Roudiere <gilles.roudiere@gmail.com>
Gilles Roudiere <gilles.roudiere@gmail.com> <gilles.roudiere@laas.fr>
Guilherme Felipe <guilhermefelipecgs@gmail.com>
+Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
+Hein-Pieter van Braam-Stewart <hp@tmm.cx>
+Hubert Jarosz <marqin.pl@gmail.com>
+Hubert Jarosz <marqin.pl@gmail.com> <marqin.pl+git@gmail.com>
Hugo Locurcio <hugo.locurcio@hugo.pro> <hugo.l@openmailbox.org>
Hugo Locurcio <hugo.locurcio@hugo.pro> <Calinou@users.noreply.github.com>
Hugo Locurcio <hugo.locurcio@hugo.pro> Calinou <calinou@opmbx.org>
@@ -36,34 +46,62 @@ J08nY <johny@neuromancer.sk> <jancar.jj@gmail.com>
J08nY <johny@neuromancer.sk> <J08nY@users.noreply.github.com>
Jakub Grzesik <kubecz3k@gmail.com>
Jérôme Gully <jerome.gully0@gmail.com>
+JFonS <joan.fonssanchez@gmail.com>
Juan Linietsky <reduzio@gmail.com>
Juan Linietsky <reduzio@gmail.com> <juan@godotengine.org>
Juan Linietsky <reduzio@gmail.com> <juan@okamstudio.com>
Juan Linietsky <reduzio@gmail.com> <reduz@Juans-MBP.fibertel.com.ar>
Juan Linietsky <reduzio@gmail.com> <red@kyoko>
Julian Murgia <the.straton@gmail.com>
+Kanabenki <lucien.menassol@gmail.com> <18357657+Kanabenki@users.noreply.github.com>
Kelly Thomas <kelly.thomas@hotmail.com.au>
+K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Leon Krause <lk@leonkrause.com> <eska@eska.me>
Leon Krause <lk@leonkrause.com> <eska014@users.noreply.github.com>
Marcelo Fernandez <marcelofg55@gmail.com>
Marcin Zawiejski <dragmz@gmail.com>
Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Mario Schlack <m4r10.5ch14ck@gmail.com>
+marxin <mliska@suse.cz>
+marynate <mary.w.nate@gmail.com> <marynate@github.com>
Max Hilbrunner <m.hilbrunner@gmail.com>
Max Hilbrunner <m.hilbrunner@gmail.com> <mhilbrunner@users.noreply.github.com>
+Michael Alexsander Silva Dias <michaelalexsander@protonmail.com>
+Nathan Lovato <nathan@gdquest.com>
Nathan Warden <nathan@nathanwarden.com> <nathanwardenlee@icloud.com>
+Nils ANDRÉ-CHANG <nils@nilsand.re>
+Nils ANDRÉ-CHANG <nils@nilsand.re> <nils.andre.chang@gmail.com>
Nuno Donato <nunodonato@gmail.com> <n.donato@estrelasustentavel.pt>
Pedro J. Estébanez <pedrojrulez@gmail.com> <RandomShaper@users.noreply.github.com>
Paul Batty <p_batty@hotmail.co.uk>
Paul Batty <p_batty@hotmail.co.uk> <Paulb23@users.noreply.github.com>
+Pawel Kowal <pkowal1982@gmail.com> <pawel.kowal@javart.eu>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com> <pieterjan.briers@gmail.com>
Poommetee Ketson <poommetee@protonmail.com>
+Przemysław Gołąb (n-pigeon) <golab.przemyslaw@gmail.com>
+Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@posteo.de>
+Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@users.noreply.github.com>
+Ramesh Ravone <ramesh.maran443@gmail.com>
+RaphaelHunter <raphael10241024@gmail.com>
+RaphaelHunter <raphael10241024@gmail.com> <Raphael10241024@gmail.com>
+RaphaelHunter <raphael10241024@gmail.com> <raphael20141024@gmail.com>
Rémi Verschelde <rverschelde@gmail.com> <remi@verschelde.fr>
+Rhody Lugo <rhodylugo@gmail.com> <rhodylugo@me.com>
+Robin Hübner <profan@prfn.se> <robinhubner@gmail.com>
+romulox_x <romulox_x@yahoo.com>
Ruslan Mustakov <r.mustakov@gmail.com> <ruslan.mustakov@xored.com>
Saracen <SaracenOne@gmail.com>
+sheepandshepherd <sheepandshepherd@hotmail.com> <sheepandshepherd@users.noreply.github.com>
+Swarnim Arun <swarnimarun11@gmail.com>
Theo Hallenius <redsymbzone@hotmail.com>
Thomas Herzog <therzog@mail.de>
Thomas Herzog <therzog@mail.de> <thomas.herzog@mail.com>
Thomas Herzog <therzog@mail.de> <thomas.herzog@simedis.com>
+Twarit <wtwarit@gmail.com>
+V.VamsiKrishna <vk@bsb.in> <vamsikrishna.v@gmail.com>
+Wilhem Barbier <nounoursheureux@openmailbox.org> <wilhem.b@free.fr>
+Wilhem Barbier <nounoursheureux@openmailbox.org> <schtroumps31@gmail.com>
+Will Nations <willnationsdev@gmail.com>
+yg2f <yoann@terminajones.com>
Zher Huei Lee <lee.zh.92@gmail.com>
diff --git a/AUTHORS.md b/AUTHORS.md
index 523f253228..4ae6db35d7 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -41,11 +41,12 @@ name is available.
Ariel Manzur (punto-)
Bastiaan Olij (BastiaanOlij)
Ben Brookshire (sheepandshepherd)
- Benjamin (Nallebeorn)
+ Benjamin Larsson (Nallebeorn)
Bernard Liebl (poke1024)
Błażej Szczygieł (zaps166)
Bojidar Marinov (bojidar-bg)
bruvzg
+ Cameron Reikes (creikey)
Camille Mohr-Daurat (pouleyKetchoupp)
Carl Olsson (not-surt)
Carter Anderson (cart)
@@ -57,7 +58,7 @@ name is available.
Dharkael (lupoDharkael)
Dmitry Koteroff (Krakean)
DualMatrix
- Emmanuel Barroga (sparkart)
+ Emmanuel Barroga (codecustard)
Emmanuel Leblond (touilleMan)
Eric Lasota (elasota)
est31
@@ -70,8 +71,8 @@ name is available.
Gerrit Großkopf (Grosskopf)
Gilles Roudiere (groud)
Guilherme Felipe de C. G. da Silva (guilhermefelipecgs)
- Hanif A (hbina)
- Hein-Pieter van Braam (hpvb)
+ Hanif Bin Ariffin (hbina)
+ Hein-Pieter van Braam-Stewart (hpvb)
Hiroshi Ogawa (hi-ogawa)
homer666
Hubert Jarosz (Marqin)
@@ -109,8 +110,10 @@ name is available.
Max Hilbrunner (mhilbrunner)
merumelu
Michael Alexsander Silva Dias (YeldhamDev)
+ MichiRecRoom (LikeLakers2)
mrezai
Nathan Warden (NathanWarden)
+ Nils André-Chang (NilsIrl)
Nuno Donato (nunodonato)
Ovnuniarchos
Pascal Richter (ShyRed)
@@ -125,10 +128,12 @@ name is available.
Rafał Mikrut (qarmin)
Ralf Hölzemer (rollenrolm)
Ramesh Ravone (RameshRavone)
+ raphael10241024
Ray Koopa (RayKoopa)
Rémi Verschelde (akien-mga)
Rhody Lugo (rraallvv)
Roberto F. Arroyo (robfram)
+ Robin Hübner (profan)
romulox-x
Ruslan Mustakov (endragor)
Saniko (sanikoyes)
@@ -136,11 +141,13 @@ name is available.
SaracenOne
sersoong
Simon Wenner (swenner)
+ Swarnim Arun (minraws)
Theo Hallenius (TheoXD)
Thomas Herzog (karroffel)
Timo (toger5)
Timo Schwarzer (timoschwarzer)
Tomasz Chabora (KoBeWi)
+ Twarit Waikar (IronicallySerious)
Vinzenz Feenstra (vinzenz)
박한얼 (volzhs)
V. Vamsi Krishna (vkbsb)
@@ -149,7 +156,6 @@ name is available.
Wilson E. Alvarez (Rubonnek)
Xavier Cho (mysticfall)
yg2f (SuperUserNameMan)
- Yuri Roubinski (Chaosus)
+ Yuri Roubinsky (Chaosus)
Zher Huei Lee (leezh)
ZuBsPaCe
- Дмитрий Сальников (DmitriySalnikov)
diff --git a/DONORS.md b/DONORS.md
index ce58721697..ffb7bf125e 100644
--- a/DONORS.md
+++ b/DONORS.md
@@ -13,6 +13,7 @@ generous deed immortalized in the next stable release of Godot Engine.
## Platinum sponsors
Enjin Coin <https://enjincoin.io>
+ Heroic Labs <https://heroiclabs.com>
## Gold sponsors
@@ -29,6 +30,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Christian Chipont
Christian Uldall Pedersen
Christoph Woinke
+ Darkhan Baimyrza
Denis Malyavin
Edward Flick
Gamechuck
@@ -38,23 +40,25 @@ generous deed immortalized in the next stable release of Godot Engine.
Hein-Pieter van Braam
Jacob McKenney
Javary Co.
+ Jeffery Chiu
Jeppe Zapp
Justin Arnold
Justo Delgado Baudí
Kyle Szklenski
Leonard Meagher
+ Mariano Suligoy
Matthieu Huvé
Maxim Karsten
Mike King
Nathan Warden
Neal Gompa (Conan Kudo)
Patrick Aarstad
+ ScottMakesGames
Slobodan Milnovic
Stephan Lanfermann
Steve
+ Tristan Pemble
VilliHaukka
- Xananax
- Zashi
## Gold donors
@@ -63,8 +67,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Daniel Hartmann
Dave
David Gehrig
+ David Snopek
Ed Morley
Florian Krick
+ Florian Rämisch
+ GiulianoB
Jakub Grzesik
K9Kraken
Manuele Finocchiaro
@@ -72,30 +79,31 @@ generous deed immortalized in the next stable release of Godot Engine.
Retro Village
Ronan Zeegers
Sofox
+ Taylor Ritenour
Zaven Muradyan
Alexander Trey Saunders
Asher Glick
Austen McRae
+ Bernhard Werner
beVR
Brian van der Stel
Cameron MacNair
Carlo Cabanilla
Daniel James
David Giardi
- David Snopek
Default Name
Edward E
Florian Breisch
+ Gamejunkey
Gero
- GiulianoB
Javier Roman
Jay Horton
- Jonathan Turner
+ Joel Höglund
Jon Woodward
Jose Fernando Alexandre
Karl Werf
- Kommentgames
+ Lex Steers
Luke
Maciej Pendolski
Matthew Hillier
@@ -107,11 +115,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Scott Wadden
Sergey
Shawn Yu
- Svenne Krap
thechris
Tom Langwaldt
tukon
- William Wold
+ Unseen Domains
+ wmww
Alex Khayrullin
Branwyn Tylwyth
@@ -122,7 +130,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Craig Smith
Darrian Little
Dean Harmon
- Ian Richard Kunert
Ivan Trombley
Joan Fons
Joshua Flores
@@ -136,10 +143,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Rami
Reneator
Robert Willes
- Robin Arys
Ronnie Ashlock
- ScottMakesGames
- Tad C Johnson
Thomas Bjarnelöf
Vincent Henderson
Wojciech Chojnacki
@@ -148,12 +152,13 @@ generous deed immortalized in the next stable release of Godot Engine.
Adam Neumann
Alexander J Maynard
Alexey Dyadchenko
+ Andreas Funke
André Frélicot
andres eduardo lopez
Andrew Bowen
- Asdf
Ben Botwin
Carlos de Sousa Marques
+ Chase Taranto
Chris Petrich
Christian Leth Jeppesen
Christoph Schröder
@@ -162,9 +167,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Daniel Eichler
David White
Eric
- Eric Churches
Eric Monson
+ Erik Hatfield
Eugenio Hugo Salgüero Jáñez
+ Fain
flesk
gavlig
GGGames.org
@@ -173,14 +179,17 @@ generous deed immortalized in the next stable release of Godot Engine.
Hysteria
Idzard Kwadijk
Jared White
+ Jeremy Sims
+ Jerry Ling
Joe Flood
Jose Malheiro
Joshua Lesperance
Juan T Chen
+ Juan Velandia
Juraj Móza
Kasper Jeppesen
kinfox
- Klaus The.
+ Klaus The
Klavdij Voncina
Maarten Elings
Marcelo Dornbusch Lopes
@@ -191,7 +200,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Matt Eunson
Max Bulai
Max R.R. Collada
- M H
+ MuffinManKen
Nick Nikitin
Oliver Dick
Patrick Ting
@@ -200,7 +209,11 @@ generous deed immortalized in the next stable release of Godot Engine.
Pete Goodwin
pl
Ranoller
+ Robert Larnach
+ Robin Arys
+ Rocknight Studios
Romildo Franco
+ Ryan
Samuel Judd
Scott Pilet
spilldata
@@ -213,11 +226,13 @@ generous deed immortalized in the next stable release of Godot Engine.
## Silver donors
1D_Inc
- Abby Jones
Abraham Haskins
+ Adam
Adam Brunnmeier
Adam Carr
+ Adam Long
Adam Nakonieczny
+ Adam N Webber
Adam Smeltzer
Adisibio
Adrian Demetrescu
@@ -228,14 +243,15 @@ generous deed immortalized in the next stable release of Godot Engine.
Alder Stefano
Alessandro Senese
Alexander Koppe
+ Alexandre
Alex Davies-Moore
Allen Schade
Andreas Evers
Andreas Krampitz
- Andreas Lundmark
Andreas Schüle
André Simões
Andrés Rodríguez
+ Andrew Thomas
Andrzej Skalski
Anthony Bongiovanni
Anthony Staunton
@@ -243,13 +259,16 @@ generous deed immortalized in the next stable release of Godot Engine.
Antony K. Jones
AP Condomines
Arda Erol
+ Arseniy M
Arthur S. Muszynski
+ Atilla Kiran
Aubrey Falconer
Avencherus
B A
Balázs Batári
Beliar
Benedikt
+ Ben G
Ben Phelan
Ben Vercammen
Bernd Jänichen
@@ -257,7 +276,7 @@ generous deed immortalized in the next stable release of Godot Engine.
Blair Allen
Bobby CC Wong
Bryan Stevenson
- Caleb Dumitry
+ Carl van der Geest
Carwyn Edwards
Chris Brown
Chris Chapin
@@ -268,21 +287,20 @@ generous deed immortalized in the next stable release of Godot Engine.
Clay Heaton
Cobaltum
Collin Shooltz
- Dag Sundin Söderström
- Dan H. Bentsen
Daniel Johnson
DanielMaximiano
Daniel Pontillo
Daniel Reed
- Daniel Tebbutt
- David Bullock
David Cravens
David May
David Rapisarda
David Woodard
Dominic Cooney
Dominik Wetzel
+ Donn Eddy
Donovan Hutcheon
+ Dragontrapper
+ Dr Ewan Murray
Duobix
Eduardo Teixeira
Edward Herbert
@@ -318,6 +336,8 @@ generous deed immortalized in the next stable release of Godot Engine.
Iiari
IndustrialRobot
Isaac Morton
+ Jack Newley
+ Jaiden Gerig
Jaime Ruiz-Borau Vizárraga
Jako Danar
James A F Manley
@@ -325,37 +345,41 @@ generous deed immortalized in the next stable release of Godot Engine.
Jed
Jeff Hungerford
Jeff Nyte
+ Jennifer Graves
Jeremy Kahn
Jesse Dubay
+ Joao Senerchia
Joe Alden
Joel Fivat
Joel Setterberg
- Johannes Eichler
Johannes Wuensch
+ John Selig
Jomei Jackson
Jonas Rudlang
Jonas Yamazaki
Jonathan G
- Jonathan Nieto
Jonathon
Jon Bonazza
Jon Sully
Jose Aleman
Jose Andrés Mejias Rojas
+ Jose C. Rubio
Joseph Catrambone
Josh 'Cheeseness' Bush
Juanfran
Juan Negrier
- Juan Velandia
Judd
- Jueast
Julian Murgia
+ JungleRobba
Justin Spedding
Kaiser Bald0
Kamuna
Kauzig
KC Chan
Keedong Park
+ Keith Bradner
+ Kevin Kolcheck
+ Kevin McPhillips
kickmaniac
Kiyohiro Kawamura (kyorohiro)
Kjetil Haugland
@@ -378,12 +402,15 @@ generous deed immortalized in the next stable release of Godot Engine.
Marcus Richter
Markus Lohaus
Markus Michael Egger
+ Martin Candela
Martin Holas
Martin Liška
- Matt Edwards
Matthew Little
+ Maxime Blade
Maxwell
medecau
+ Melissa Mears
+ M H
mhilbrunner
Michael Dürwald
Michael Gringauz
@@ -392,11 +419,10 @@ generous deed immortalized in the next stable release of Godot Engine.
Mikael Olsson
Mikayla Hutchinson
Mike Birkhead
- Mike Cunningham
Mitchell J. Wagner
MoM
- MuffinManKen
Nathan Fish
+ Nathan W
Natrim
nee
Neil Blakey-Milner
@@ -410,13 +436,12 @@ generous deed immortalized in the next stable release of Godot Engine.
Nima Farid
Nithin Jino
NZ
+ Oleg Reva
Olivier
Omar Delarosa
- omzee
Oscar Norlander
Pafka
Pan Ip
- Pat LaBine
Patrick Forringer
Patrick Nafarrete
Paul Gieske
@@ -429,24 +454,25 @@ generous deed immortalized in the next stable release of Godot Engine.
Poryg
Rafa Laguna
Rafal Wyszomirski
+ rainerLinux
Raphael Leroux
Remi Rampin
Rémi Verschelde
Rezgi
Ricardo Alcantara
+ Richard Diss
+ Richard Ivánek
Robert Farr (Larington)
Robert Hernandez
- Robert Larnach
Rodrigo Loli
Roger Smith
Roland Rząsa
Roman Tinkov
Ronan Jouchet
- Ryan
- Ryan Brooks
Ryan Groom
Ryan Hentz
Saad Khoudmi
+ Sam Edson
Samuele Zolfanelli
Sanka.X
Sasori Olkof
@@ -459,20 +485,22 @@ generous deed immortalized in the next stable release of Godot Engine.
Simon Ledam
Simon Wenner
SK
+ smbe19
Sootstone
- Taylor Fahlman
+ Stonepyre
+ Svenne Krap
+ The Architect
thomas
- Thomas Bell
+ Thomas Bechtold
Thomas Kelly
Thomas Kurz
tiansheng li
Tim Drumheller
- Tim Gudex
Timothy B. MacDonald
+ TJRHTK
Tobbun
Tom Fulp
Tom Glenn
- Tom Larrow
Torsten Crass
Travis O'Brien
Trent Skinner
@@ -487,7 +515,6 @@ generous deed immortalized in the next stable release of Godot Engine.
Vigilant Watch
Vincent Cloutier
waka nya
- Walter Byers
Wayne Haak
werner mendizabal
Wiley Thompson
diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp
index 2d00324c84..60ef88d2e3 100644
--- a/editor/plugins/animation_player_editor_plugin.cpp
+++ b/editor/plugins/animation_player_editor_plugin.cpp
@@ -304,6 +304,7 @@ void AnimationPlayerEditor::_animation_selected(int p_which) {
AnimationPlayerEditor::singleton->get_track_editor()->update_keying();
EditorNode::get_singleton()->update_keying();
+ _animation_key_editor_seek(timeline_position, false);
}
void AnimationPlayerEditor::_animation_new() {
@@ -1072,6 +1073,8 @@ void AnimationPlayerEditor::_animation_key_editor_anim_len_changed(float p_len)
void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos, bool p_drag) {
+ timeline_position = p_pos;
+
if (!is_visible_in_tree())
return;
if (!player)
@@ -1753,6 +1756,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
renaming = false;
last_active = false;
+ timeline_position = 0;
set_process_unhandled_key_input(true);
diff --git a/editor/plugins/animation_player_editor_plugin.h b/editor/plugins/animation_player_editor_plugin.h
index eed7344395..663ffd57f3 100644
--- a/editor/plugins/animation_player_editor_plugin.h
+++ b/editor/plugins/animation_player_editor_plugin.h
@@ -107,6 +107,7 @@ class AnimationPlayerEditor : public VBoxContainer {
UndoRedo *undo_redo;
Ref<Texture> autoplay_icon;
bool last_active;
+ float timeline_position;
EditorFileDialog *file;
AcceptDialog *accept;
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index 9d3c580f02..ecb2354aa1 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -814,7 +814,7 @@ void ScriptTextEditor::_code_complete_script(const String &p_code, List<ScriptCo
}
String hint;
Error err = script->get_language()->complete_code(p_code, script->get_path(), base, r_options, r_force, hint);
- if (err == OK && hint != "") {
+ if (err == OK) {
code_editor->get_text_edit()->set_code_hint(hint);
}
}
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp
index 791fd4a4be..97f194e40f 100644
--- a/editor/plugins/shader_editor_plugin.cpp
+++ b/editor/plugins/shader_editor_plugin.cpp
@@ -200,9 +200,7 @@ void ShaderTextEditor::_code_complete_script(const String &p_code, List<ScriptCo
sl.complete(p_code, ShaderTypes::get_singleton()->get_functions(VisualServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_modes(VisualServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_types(), r_options, calltip);
- if (calltip != "") {
- get_text_edit()->set_code_hint(calltip);
- }
+ get_text_edit()->set_code_hint(calltip);
}
void ShaderTextEditor::_validate_script() {
diff --git a/main/splash_editor.png b/main/splash_editor.png
index d8677f1749..ab10716a2e 100644
--- a/main/splash_editor.png
+++ b/main/splash_editor.png
Binary files differ
diff --git a/misc/scripts/sort-demos.sh b/misc/scripts/sort-demos.sh
deleted file mode 100644
index 5e01b86b46..0000000000
--- a/misc/scripts/sort-demos.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-# When scanning for demos, the project manager sorts them based on their
-# timestamp, i.e. last modification date. This can make for a pretty
-# messy output, so this script 'touches' each project.godot file in reverse
-# alphabetical order to ensure a nice listing.
-#
-# It's good practice to run it once before packaging demos on the build
-# server.
-
-if [ ! -d "demos" ]; then
- echo "Run this script from the root directory where 'demos/' is contained."
- exit 1
-fi
-
-if [ -e demos.list ]; then
- rm -f demos.list
-fi
-
-for dir in 2d 3d gui misc viewport; do
- find "demos/$dir" -name "project.godot" |sort >> demos.list
-done
-cat demos.list |sort -r > demos_r.list
-
-while read line; do
- touch $line
- sleep 0.2
-done < demos_r.list
-
-#rm -f demos.list demos_r.list
diff --git a/modules/gdscript/editor/gdscript_highlighter.cpp b/modules/gdscript/editor/gdscript_highlighter.cpp
index ee7313957c..4d6279074c 100644
--- a/modules/gdscript/editor/gdscript_highlighter.cpp
+++ b/modules/gdscript/editor/gdscript_highlighter.cpp
@@ -364,20 +364,28 @@ void GDScriptSyntaxHighlighter::_update_cache() {
number_color = text_editor->get_color("number_color");
member_color = text_editor->get_color("member_variable_color");
- EditorSettings *settings = EditorSettings::get_singleton();
- String text_editor_color_theme = settings->get("text_editor/theme/color_theme");
-
- bool default_theme = text_editor_color_theme == "Default";
- bool dark_theme = settings->is_dark_theme();
-
- function_definition_color = default_theme ? Color(0.0, 0.88, 1.0) : dark_theme ? Color(0.0, 0.88, 1.0) : Color(0.0, 0.65, 0.73);
- node_path_color = default_theme ? Color(0.39, 0.76, 0.35) : dark_theme ? Color(0.39, 0.76, 0.35) : Color(0.32, 0.55, 0.29);
+ const String text_editor_color_theme = EditorSettings::get_singleton()->get("text_editor/theme/color_theme");
+ const bool default_theme = text_editor_color_theme == "Default";
+
+ if (default_theme || EditorSettings::get_singleton()->is_dark_theme()) {
+ function_definition_color = Color(0.4, 0.9, 1.0);
+ node_path_color = Color(0.39, 0.76, 0.35);
+ } else {
+ function_definition_color = Color(0.0, 0.65, 0.73);
+ node_path_color = Color(0.32, 0.55, 0.29);
+ }
EDITOR_DEF("text_editor/highlighting/gdscript/function_definition_color", function_definition_color);
EDITOR_DEF("text_editor/highlighting/gdscript/node_path_color", node_path_color);
if (text_editor_color_theme == "Adaptive" || default_theme) {
- settings->set_initial_value("text_editor/highlighting/gdscript/function_definition_color", function_definition_color, true);
- settings->set_initial_value("text_editor/highlighting/gdscript/node_path_color", node_path_color, true);
+ EditorSettings::get_singleton()->set_initial_value(
+ "text_editor/highlighting/gdscript/function_definition_color",
+ function_definition_color,
+ true);
+ EditorSettings::get_singleton()->set_initial_value(
+ "text_editor/highlighting/gdscript/node_path_color",
+ node_path_color,
+ true);
}
function_definition_color = EDITOR_GET("text_editor/highlighting/gdscript/function_definition_color");
diff --git a/modules/jsonrpc/jsonrpc.cpp b/modules/jsonrpc/jsonrpc.cpp
index e1bba60f2f..ea90cce83d 100644
--- a/modules/jsonrpc/jsonrpc.cpp
+++ b/modules/jsonrpc/jsonrpc.cpp
@@ -47,11 +47,11 @@ void JSONRPC::_bind_methods() {
ClassDB::bind_method(D_METHOD("make_notification", "method", "params"), &JSONRPC::make_notification);
ClassDB::bind_method(D_METHOD("make_response_error", "code", "message", "id"), &JSONRPC::make_response_error, DEFVAL(Variant()));
- BIND_ENUM_CONSTANT(PARSE_ERROR)
- BIND_ENUM_CONSTANT(INVALID_REQUEST)
- BIND_ENUM_CONSTANT(METHOD_NOT_FOUND)
- BIND_ENUM_CONSTANT(INVALID_PARAMS)
- BIND_ENUM_CONSTANT(INTERNAL_ERROR)
+ BIND_ENUM_CONSTANT(PARSE_ERROR);
+ BIND_ENUM_CONSTANT(INVALID_REQUEST);
+ BIND_ENUM_CONSTANT(METHOD_NOT_FOUND);
+ BIND_ENUM_CONSTANT(INVALID_PARAMS);
+ BIND_ENUM_CONSTANT(INTERNAL_ERROR);
}
Dictionary JSONRPC::make_response_error(int p_code, const String &p_message, const Variant &p_id) const {
diff --git a/scene/2d/cpu_particles_2d.cpp b/scene/2d/cpu_particles_2d.cpp
index b5e5fe51d1..85c423964b 100644
--- a/scene/2d/cpu_particles_2d.cpp
+++ b/scene/2d/cpu_particles_2d.cpp
@@ -166,20 +166,10 @@ void CPUParticles2D::_update_mesh_texture() {
vertices.push_back(-tex_size * 0.5 + Vector2(tex_size.x, tex_size.y));
vertices.push_back(-tex_size * 0.5 + Vector2(0, tex_size.y));
PoolVector<Vector2> uvs;
- AtlasTexture *at = Object::cast_to<AtlasTexture>(*texture);
- if (!at) {
- uvs.push_back(Vector2(0, 0));
- uvs.push_back(Vector2(1, 0));
- uvs.push_back(Vector2(1, 1));
- uvs.push_back(Vector2(0, 1));
- } else {
- Rect2 region_rect = at->get_region();
- Size2 atlas_size = at->get_atlas()->get_size();
- uvs.push_back(Vector2(region_rect.position.x / atlas_size.x, region_rect.position.y / atlas_size.y));
- uvs.push_back(Vector2((region_rect.position.x + region_rect.size.x) / atlas_size.x, region_rect.position.y / atlas_size.y));
- uvs.push_back(Vector2((region_rect.position.x + region_rect.size.x) / atlas_size.x, (region_rect.position.y + region_rect.size.y) / atlas_size.y));
- uvs.push_back(Vector2(region_rect.position.x / atlas_size.x, (region_rect.position.y + region_rect.size.y) / atlas_size.y));
- }
+ uvs.push_back(Vector2(0, 0));
+ uvs.push_back(Vector2(1, 0));
+ uvs.push_back(Vector2(1, 1));
+ uvs.push_back(Vector2(0, 1));
PoolVector<Color> colors;
colors.push_back(Color(1, 1, 1, 1));
colors.push_back(Color(1, 1, 1, 1));
diff --git a/scene/3d/camera.cpp b/scene/3d/camera.cpp
index 9f8510248c..9797b5f3ab 100644
--- a/scene/3d/camera.cpp
+++ b/scene/3d/camera.cpp
@@ -548,9 +548,9 @@ void Camera::_bind_methods() {
BIND_ENUM_CONSTANT(KEEP_WIDTH);
BIND_ENUM_CONSTANT(KEEP_HEIGHT);
- BIND_ENUM_CONSTANT(DOPPLER_TRACKING_DISABLED)
- BIND_ENUM_CONSTANT(DOPPLER_TRACKING_IDLE_STEP)
- BIND_ENUM_CONSTANT(DOPPLER_TRACKING_PHYSICS_STEP)
+ BIND_ENUM_CONSTANT(DOPPLER_TRACKING_DISABLED);
+ BIND_ENUM_CONSTANT(DOPPLER_TRACKING_IDLE_STEP);
+ BIND_ENUM_CONSTANT(DOPPLER_TRACKING_PHYSICS_STEP);
}
float Camera::get_fov() const {
diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp
index 20a09696e1..6f67d01a1c 100644
--- a/scene/animation/animation_blend_tree.cpp
+++ b/scene/animation/animation_blend_tree.cpp
@@ -350,8 +350,8 @@ void AnimationNodeOneShot::_bind_methods() {
ADD_GROUP("", "");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync");
- BIND_ENUM_CONSTANT(MIX_MODE_BLEND)
- BIND_ENUM_CONSTANT(MIX_MODE_ADD)
+ BIND_ENUM_CONSTANT(MIX_MODE_BLEND);
+ BIND_ENUM_CONSTANT(MIX_MODE_ADD);
}
AnimationNodeOneShot::AnimationNodeOneShot() {
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index 6c829e6e81..1dba0c5b09 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -1148,12 +1148,16 @@ Error VisualShader::_write_node(Type type, StringBuilder &global_code, StringBui
global_code += vsnode->generate_global(get_mode(), type, node);
- if (!r_classes.has(vsnode->get_class_name())) {
+ String class_name = vsnode->get_class_name();
+ if (class_name == "VisualShaderNodeCustom") {
+ class_name = vsnode->get_script_instance()->get_script()->get_language()->get_global_class_name(vsnode->get_script_instance()->get_script()->get_path());
+ }
+ if (!r_classes.has(class_name)) {
global_code_per_node += vsnode->generate_global_per_node(get_mode(), type, node);
for (int i = 0; i < TYPE_MAX; i++) {
global_code_per_func[Type(i)] += vsnode->generate_global_per_func(get_mode(), Type(i), node);
}
- r_classes.insert(vsnode->get_class_name());
+ r_classes.insert(class_name);
}
}