diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/config/engine.cpp | 16 | ||||
-rw-r--r-- | core/core_builders.py | 26 | ||||
-rw-r--r-- | core/object/script_language.cpp | 36 |
3 files changed, 50 insertions, 28 deletions
diff --git a/core/config/engine.cpp b/core/config/engine.cpp index 0e27d556ec..24080c056a 100644 --- a/core/config/engine.cpp +++ b/core/config/engine.cpp @@ -176,14 +176,14 @@ TypedArray<Dictionary> Engine::get_copyright_info() const { Dictionary Engine::get_donor_info() const { Dictionary donors; - donors["platinum_sponsors"] = array_from_info(DONORS_SPONSOR_PLATINUM); - donors["gold_sponsors"] = array_from_info(DONORS_SPONSOR_GOLD); - donors["silver_sponsors"] = array_from_info(DONORS_SPONSOR_SILVER); - donors["bronze_sponsors"] = array_from_info(DONORS_SPONSOR_BRONZE); - donors["mini_sponsors"] = array_from_info(DONORS_SPONSOR_MINI); - donors["gold_donors"] = array_from_info(DONORS_GOLD); - donors["silver_donors"] = array_from_info(DONORS_SILVER); - donors["bronze_donors"] = array_from_info(DONORS_BRONZE); + donors["patrons"] = array_from_info(DONORS_PATRONS); + donors["platinum_sponsors"] = array_from_info(DONORS_SPONSORS_PLATINUM); + donors["gold_sponsors"] = array_from_info(DONORS_SPONSORS_GOLD); + donors["silver_sponsors"] = array_from_info(DONORS_SPONSORS_SILVER); + donors["diamond_members"] = array_from_info(DONORS_MEMBERS_DIAMOND); + donors["titanium_members"] = array_from_info(DONORS_MEMBERS_TITANIUM); + donors["platinum_members"] = array_from_info(DONORS_MEMBERS_PLATINUM); + donors["gold_members"] = array_from_info(DONORS_MEMBERS_GOLD); return donors; } diff --git a/core/core_builders.py b/core/core_builders.py index e40ebbb14d..8b6b87ad83 100644 --- a/core/core_builders.py +++ b/core/core_builders.py @@ -117,24 +117,24 @@ def make_authors_header(target, source, env): def make_donors_header(target, source, env): sections = [ + "Patrons", "Platinum sponsors", "Gold sponsors", "Silver sponsors", - "Bronze sponsors", - "Mini sponsors", - "Gold donors", - "Silver donors", - "Bronze donors", + "Diamond members", + "Titanium members", + "Platinum members", + "Gold members", ] sections_id = [ - "DONORS_SPONSOR_PLATINUM", - "DONORS_SPONSOR_GOLD", - "DONORS_SPONSOR_SILVER", - "DONORS_SPONSOR_BRONZE", - "DONORS_SPONSOR_MINI", - "DONORS_GOLD", - "DONORS_SILVER", - "DONORS_BRONZE", + "DONORS_PATRONS", + "DONORS_SPONSORS_PLATINUM", + "DONORS_SPONSORS_GOLD", + "DONORS_SPONSORS_SILVER", + "DONORS_MEMBERS_DIAMOND", + "DONORS_MEMBERS_TITANIUM", + "DONORS_MEMBERS_PLATINUM", + "DONORS_MEMBERS_GOLD", ] src = source[0] diff --git a/core/object/script_language.cpp b/core/object/script_language.cpp index 5f53975bf6..086f8a666e 100644 --- a/core/object/script_language.cpp +++ b/core/object/script_language.cpp @@ -223,26 +223,48 @@ void ScriptServer::init_languages() { } } + HashSet<ScriptLanguage *> langs_to_init; { MutexLock lock(languages_mutex); - for (int i = 0; i < _language_count; i++) { - _languages[i]->init(); + if (_languages[i]) { + langs_to_init.insert(_languages[i]); + } } + } + for (ScriptLanguage *E : langs_to_init) { + E->init(); + } + + { + MutexLock lock(languages_mutex); languages_ready = true; } } void ScriptServer::finish_languages() { - MutexLock lock(languages_mutex); + HashSet<ScriptLanguage *> langs_to_finish; - for (int i = 0; i < _language_count; i++) { - _languages[i]->finish(); + { + MutexLock lock(languages_mutex); + for (int i = 0; i < _language_count; i++) { + if (_languages[i]) { + langs_to_finish.insert(_languages[i]); + } + } + } + + for (ScriptLanguage *E : langs_to_finish) { + E->finish(); } - global_classes_clear(); - languages_ready = false; + { + MutexLock lock(languages_mutex); + languages_ready = false; + } + + global_classes_clear(); } bool ScriptServer::are_languages_initialized() { |