diff options
Diffstat (limited to 'main/main.cpp')
| -rw-r--r-- | main/main.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/main/main.cpp b/main/main.cpp index 41f97b2e3b..e9b06f6b07 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -395,6 +395,8 @@ Error Main::test_setup() { GLOBAL_DEF("debug/settings/crash_handler/message", String("Please include this when reporting the bug on https://github.com/godotengine/godot/issues")); + translation_server = memnew(TranslationServer); + // From `Main::setup2()`. preregister_module_types(); preregister_server_types(); @@ -402,6 +404,16 @@ Error Main::test_setup() { register_core_singletons(); register_server_types(); + + translation_server->setup(); //register translations, load them, etc. + if (locale != "") { + translation_server->set_locale(locale); + } + translation_server->load_translations(); + ResourceLoader::load_translation_remaps(); //load remaps for resources + + ResourceLoader::load_path_remaps(); + register_scene_types(); #ifdef TOOLS_ENABLED @@ -441,6 +453,9 @@ void Main::test_cleanup() { OS::get_singleton()->finalize(); + if (translation_server) { + memdelete(translation_server); + } if (globals) { memdelete(globals); } @@ -1977,7 +1992,7 @@ bool Main::start() { if (check_only) { if (!script_res->is_valid()) { - OS::get_singleton()->set_exit_code(1); + OS::get_singleton()->set_exit_code(EXIT_FAILURE); } return false; } @@ -2561,8 +2576,10 @@ void Main::force_redraw() { * so that the engine closes cleanly without leaking memory or crashing. * The order matters as some of those steps are linked with each other. */ -void Main::cleanup() { - ERR_FAIL_COND(!_start_success); +void Main::cleanup(bool p_force) { + if (!p_force) { + ERR_FAIL_COND(!_start_success); + } EngineDebugger::deinitialize(); |