diff options
-rw-r--r-- | .mailmap | 1 | ||||
-rw-r--r-- | AUTHORS.md | 1 | ||||
-rw-r--r-- | DONORS.md | 85 | ||||
-rw-r--r-- | modules/gdscript/gdscript_analyzer.cpp | 32 | ||||
-rw-r--r-- | modules/mono/editor/GodotTools/GodotTools.ProjectEditor/DotNetSolution.cs | 3 | ||||
-rw-r--r-- | modules/mono/mono_gd/gd_mono_assembly.cpp | 2 |
6 files changed, 92 insertions, 32 deletions
@@ -24,6 +24,7 @@ dankan1890 <mewuidev2@gmail.com> Daniel J. Ramirez <djrmuv@gmail.com> Dominik 'dreamsComeTrue' Jasiński <dominikjasinski@o2.pl> Emmanuel Barroga <emmanuelbarroga@gmail.com> +Eric M <itsjusteza@gmail.com> Erik Selecký <35656626+rxlecky@users.noreply.github.com> Erik Selecký <35656626+rxlecky@users.noreply.github.com> <35656626+SeleckyErik@users.noreply.github.com> Fabian <supagu@gmail.com> diff --git a/AUTHORS.md b/AUTHORS.md index 40aa50f8b6..8ae19cfdf7 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -66,6 +66,7 @@ name is available. Emmanuel Leblond (touilleMan) Eoin O'Neill (Eoin-ONeill-Yokai) Eric Lasota (elasota) + Eric M (EricEzaM) Eric Rybicki (ericrybick) Erik Selecký (rxlecky) est31 @@ -27,16 +27,17 @@ generous deed immortalized in the next stable release of Godot Engine. ## Bronze sponsors Brandon Lamb + Garry Newman ## Mini sponsors AD Ford - Alan Beauchamp albinaask Alejandro Saucedo alex brown Andrew Dunai Christian Baune + Christoffer Sundbom Christopher Montesano Darkhan Baimyrza Darrin Massena @@ -46,7 +47,6 @@ generous deed immortalized in the next stable release of Godot Engine. Edward Flick Gamechuck GameDev.net - Grady Hein-Pieter van Braam Jacob McKenney Jasper Brooks @@ -78,7 +78,6 @@ generous deed immortalized in the next stable release of Godot Engine. Asher Glick Austen McRae Bernhard Werner - beVR Carlo Cabanilla Chris Goddard Christopher Case @@ -93,8 +92,11 @@ generous deed immortalized in the next stable release of Godot Engine. Florian Rämisch Forge Gamejunkey + Grady Jakub Grzesik Javier Roman + Jeff Nyte + Joan Fons Jon Woodward Karl Werf Klavdij Voncina @@ -103,7 +105,9 @@ generous deed immortalized in the next stable release of Godot Engine. Maciej Pendolski Manuele Finocchiaro Markus Wiesner + Mason Bially Matthew Hillier + m kaersten Mohamed Ikbel Boulabiar Monster Vial Officine Pixel S.n.c. @@ -114,10 +118,9 @@ generous deed immortalized in the next stable release of Godot Engine. Rob Messick Roland Fredenhagen Ronan Zeegers - Ryan Badour Sandro Jenny Sarksus - Scott Wadden + Sean Sergey Sofox Spicylewd @@ -133,13 +136,16 @@ generous deed immortalized in the next stable release of Godot Engine. Adam Nakonieczny Adam Neumann Alexander J Maynard + Alex de la Mare Alexey Dyadchenko Alex Khayrullin alice gambrell Andreas Funke André Frélicot Andrew Harris + Antoni Batchelli aoshiwik + Arisaka Mayuki Barugon Can Eris Carlos de Sousa Marques @@ -148,7 +154,6 @@ generous deed immortalized in the next stable release of Godot Engine. Chelsea Hash Chris Petrich Chris Serino - Christian Alexander Bjørklund Bøhler Christian Leth Jeppesen Cody Parker Conrad Curry @@ -164,19 +169,20 @@ generous deed immortalized in the next stable release of Godot Engine. Felix Brückner flesk F S + Gabrielius Vaiškūnas Gary Hulst gavlig GGGames.org GiulianoB + Green Fox Guilherme Felipe de C. G. da Silva Heath Hayes Hoai Nam Tran Horváth Péter Hu Hund + James Couzens Jared Jared White - Jeff Nyte - Joan Fons Joel Fivat Joel Höglund John G Gentzel @@ -186,26 +192,31 @@ generous deed immortalized in the next stable release of Godot Engine. Joshua Flores Joshua Lesperance Juan Velandia + Judd Julian Todd Juraj Móza + JUSTIN CARROLL Justo Delgado Baudí Kelteseth kickmaniac kinfox + kuku Lachie Lain Ballard Leo Fidel R Liban luca duran + Luc-Frédéric Langis MadScientistCarl Marcelo Dornbusch Lopes Marisa Clardy Markus Fehr Martin Eigel + Martin Kotz + Martin Soucek Matt Eunson Michael Michael Dürwald Mikado069 - m kaersten MuffinManKen Nick Abousselam Oliver Dick @@ -221,13 +232,13 @@ generous deed immortalized in the next stable release of Godot Engine. pl Ranoller Raymond Harris + razmie Ricardo Alcantara Rob Robert Willes Rob McInroy Rocknight Studios Ronnie Ashlock - Ryan Ryan Wilson Samuel Judd Scott Pilet @@ -235,9 +246,9 @@ generous deed immortalized in the next stable release of Godot Engine. Sean Robertson Sébastien Serban Serafimescu + Sergey Minakov Shishir Tandale SKison - SleepCircle spilldata Steven Landow Stoned Xander @@ -245,13 +256,14 @@ generous deed immortalized in the next stable release of Godot Engine. TheLevelOfDetail . Thomas Bjarnelöf Thomas Kurz + Tim Howard Timothy Pulliam Tobias Bocanegra Trent Fehl Valryia VikFro - Vincent Henderson Vojtěch + voxelv William Foster Wojciech Chojnacki Xavier PATRICELLI @@ -264,6 +276,7 @@ generous deed immortalized in the next stable release of Godot Engine. 1D_Inc Aaron + Aaron Passchier Abraham Haskins Acheron Adam @@ -275,9 +288,11 @@ generous deed immortalized in the next stable release of Godot Engine. Adam Smeltzer Adam Szymański Adisibio + Agar3s - Giovanny Beltrán Agustinus Arya Aidan O'Flannagain Aki Mimoto + Alan Beauchamp Albin Jonasson Svärdsby Alder Stefano AleMax @@ -290,6 +305,7 @@ generous deed immortalized in the next stable release of Godot Engine. Allen Schade Andreas Krampitz André Simões + Andre Stackhouse andrew james morris Andrew Mansuetti Andrew Rosenwinkel @@ -298,16 +314,18 @@ generous deed immortalized in the next stable release of Godot Engine. Anthony Avina AP Condomines Arda Erol - Arisaka Mayuki Armin Preiml Arseniy M Arthur S. Muszynski Ashley Claymore Ashton Scott Snapp + Astier Mickael Aubrey Falconer B A Balázs Batári + Balázs Kondákor Bartosz Bielecki + Bekhoucha Danyl Benedikt Ben Vercammen Bernd Jänichen @@ -315,6 +333,7 @@ generous deed immortalized in the next stable release of Godot Engine. Black Block Blair Allen Bobby CC Wong + Borkzilla Bram brian Brian mc gowan @@ -322,6 +341,7 @@ generous deed immortalized in the next stable release of Godot Engine. Burney Waring Caleb Gartner Cameron Meyer + Carlos Cejudo Carl van der Geest Carwyn Edwards Cas Brugman @@ -329,14 +349,15 @@ generous deed immortalized in the next stable release of Godot Engine. Chad Steadman Chris Brown Chris Chapin + Chris Jagusch + Christian Clavet Christian Winter Christoffer Dahlblom - Christoffer Sundbom Christophe Gagnier Christopher Schmitt - Christoph Woinke Clay Heaton Cole Johnson + Conall O Curt King CzechBlueBear Daniel De Macedo @@ -344,8 +365,10 @@ generous deed immortalized in the next stable release of Godot Engine. DanielMaximiano Daniel Szarfman Daniel Tebbutt + Danny Welch Daren Scot Wilson Dave Walker + David Bôle David May David Woodard David Zanetti @@ -377,7 +400,6 @@ generous deed immortalized in the next stable release of Godot Engine. Fekinox Felix Bohmann Flaredown - Florian Richer Forty Doubleu Frank FuDiggity @@ -385,6 +407,7 @@ generous deed immortalized in the next stable release of Godot Engine. gamedev by Celio Gary Thomas George Marques + Greg Lincoln Greg Olson GREGORY C FEIN Greyson Richey @@ -394,9 +417,11 @@ generous deed immortalized in the next stable release of Godot Engine. Guldoman Gustavo Loureiro dos Reis Hal A + helija Heribert Hirth Hunter Jones Hylpher + Ian Williams Iiari iKlem IndustrialRobot @@ -406,9 +431,11 @@ generous deed immortalized in the next stable release of Godot Engine. Jaguar Jaiden Gerig Jaime Ruiz-Borau Vizárraga + Jake Huxell Jako Danar James James A F Manley + James Thomas Jamiee H Jamie Massey Janders @@ -429,6 +456,7 @@ generous deed immortalized in the next stable release of Godot Engine. Jonatan R Jonathan G Jon Bonazza + Jon Oakes Jon Sully Jordy Goodridge Jorge Antunes @@ -437,12 +465,12 @@ generous deed immortalized in the next stable release of Godot Engine. Josh Mitchell Joshua Southerland Juanfran - Judd Julian Murgia June Little JungleRobba Justin Calleja Justin Hamilton + Justin Oaksford Justin Spedding KaDokta Karel Němec @@ -454,11 +482,13 @@ generous deed immortalized in the next stable release of Godot Engine. Kevin McPhillips Kiri Jolly Kjetil Haugland + Kristian Nygaard Jensen KsyTek Games Kuan Cheang kycho Kyle Appelgate Kyuppin + Laurent CHEA Laurent Tréguier LEMMiNO Leonardo Dimano @@ -496,9 +526,10 @@ generous deed immortalized in the next stable release of Godot Engine. Mikayla Mike Birkhead Mike Cunningham + Mitchell J. Wagner Molinghu + Molly Jameson MoM - Mored4u Nathan Fish Natrim nee @@ -520,25 +551,25 @@ generous deed immortalized in the next stable release of Godot Engine. Oleg Reva Olivier Omar Delarosa + Orinxlm Oscar Domingo Oscar Norlander - Pan Ip Parinya Teerakasemsuk Patrick Dully Patrick Nafarrete Paul Gieske Paul Mason Paweł Kowal + Paweł Łyczkowski Pedro Assuncao Penguin - Peter Philip Cohoe Pierre-Nicolas Tollitte Piotr Góral Point08 Preethi Vaidyanathan + Price Comstock pwab - Rad Cat Rafa Laguna Remi Rampin Rémi Verschelde @@ -547,6 +578,7 @@ generous deed immortalized in the next stable release of Godot Engine. Richard Ivánek Robert Farr (Larington) Robert Larnach + Rob Ruana Roger Smith Roland Rząsa Roman Tinkov @@ -558,6 +590,7 @@ generous deed immortalized in the next stable release of Godot Engine. Sam Caulfield Sam Edson Samuele Zolfanelli + sayaks Scott D. Yelich Scott Longley ScottMakesGames @@ -574,6 +607,7 @@ generous deed immortalized in the next stable release of Godot Engine. Simon Schoenenberger Simon Wenner Sintinium + Skalli smbe19 smo1704 soft circles @@ -581,9 +615,11 @@ generous deed immortalized in the next stable release of Godot Engine. Stefano Caronia Steve Cloete Svenne Krap + tadashi endo Tannen Helmers Terry tezuvholovdr + Theodore Lindsey TheVoiceInMyHead thomas Thomas Bechtold @@ -591,6 +627,7 @@ generous deed immortalized in the next stable release of Godot Engine. Thomas Kelly Tim Drumheller Tim Erskine + Tim Gleason Timothy B. MacDonald Tobbun Tobias Bradtke @@ -622,10 +659,16 @@ generous deed immortalized in the next stable release of Godot Engine. werner mendizabal Wiley Thompson Will + William Edwards + William F Siqueira + William Hogben + Windvis Wyatt Goodin + x1212 Yegor Smirnov YiYin Gu Yuri Sizov + Zak Stephens Zgegnesh Hemomancer ΒΑΣΙΛΗΣ ΓΕΩΡΓΑΚΟΠΟΥΛΟΣ 郝晨煜 diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index 8fbc5bcb25..b4ede55f0a 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -2077,18 +2077,32 @@ void GDScriptAnalyzer::reduce_identifier_from_base(GDScriptParser::IdentifierNod push_error(vformat(R"(Cannot find constant "%s" on type "%s".)", name, base.to_string()), p_identifier); } } else { - Callable::CallError temp; - Variant dummy = Variant::construct(base.builtin_type, nullptr, 0, temp); - List<PropertyInfo> properties; - dummy.get_property_list(&properties); - for (const List<PropertyInfo>::Element *E = properties.front(); E != nullptr; E = E->next()) { - const PropertyInfo &prop = E->get(); - if (prop.name == name) { - p_identifier->set_datatype(type_from_property(prop)); + switch (base.builtin_type) { + case Variant::NIL: { + push_error(vformat(R"(Invalid get index "%s" on base Nil)", name), p_identifier); return; } + case Variant::DICTIONARY: { + GDScriptParser::DataType dummy; + dummy.kind = GDScriptParser::DataType::VARIANT; + p_identifier->set_datatype(dummy); + return; + } + default: { + Callable::CallError temp; + Variant dummy = Variant::construct(base.builtin_type, nullptr, 0, temp); + List<PropertyInfo> properties; + dummy.get_property_list(&properties); + for (const List<PropertyInfo>::Element *E = properties.front(); E != nullptr; E = E->next()) { + const PropertyInfo &prop = E->get(); + if (prop.name == name) { + p_identifier->set_datatype(type_from_property(prop)); + return; + } + } + push_error(vformat(R"(Cannot find property "%s" on base "%s".)", name, base.to_string()), p_identifier); + } } - push_error(vformat(R"(Cannot find property "%s" on base "%s".)", name, base.to_string()), p_identifier); } return; } diff --git a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/DotNetSolution.cs b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/DotNetSolution.cs index 6f318aab4a..cc0da44a13 100644 --- a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/DotNetSolution.cs +++ b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/DotNetSolution.cs @@ -2,6 +2,7 @@ using GodotTools.Core; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Text; using System.Text.RegularExpressions; namespace GodotTools.ProjectEditor @@ -88,7 +89,7 @@ namespace GodotTools.ProjectEditor string solutionPath = Path.Combine(DirectoryPath, Name + ".sln"); string content = string.Format(SolutionTemplate, projectsDecl, slnPlatformsCfg, projPlatformsCfg); - File.WriteAllText(solutionPath, content); + File.WriteAllText(solutionPath, content, Encoding.UTF8); // UTF-8 with BOM } public DotNetSolution(string name) diff --git a/modules/mono/mono_gd/gd_mono_assembly.cpp b/modules/mono/mono_gd/gd_mono_assembly.cpp index 6d7b771fd3..6e351001d4 100644 --- a/modules/mono/mono_gd/gd_mono_assembly.cpp +++ b/modules/mono/mono_gd/gd_mono_assembly.cpp @@ -107,7 +107,7 @@ void GDMonoAssembly::assembly_load_hook(MonoAssembly *assembly, [[maybe_unused]] GDMonoAssembly *gdassembly = memnew(GDMonoAssembly(name, image, assembly)); #ifdef GD_MONO_HOT_RELOAD - const char *path = mono_image_get_filename(image); + String path = String::utf8(mono_image_get_filename(image)); if (FileAccess::exists(path)) { gdassembly->modified_time = FileAccess::get_modified_time(path); } |