Skip to content

Commit

Permalink
Allow custom translation loaders at startup
Browse files Browse the repository at this point in the history
Only supports those registered using GDExtension, as scripting languages
have their loaders registered way later via `ResourceLoader::add_custom_loaders()`.
  • Loading branch information
RedMser committed Apr 30, 2024
1 parent 2381fb0 commit 5b0977d
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 32 deletions.
2 changes: 1 addition & 1 deletion editor/editor_inspector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3136,7 +3136,7 @@ void EditorInspector::update_tree() {
if (class_name_components[i].begins_with("page_size") && class_name_components[i].get_slice_count("=") == 2) {
page_size = class_name_components[i].get_slice("=", 1).to_int();
} else if (class_name_components[i].begins_with("add_button_text") && class_name_components[i].get_slice_count("=") == 2) {
add_button_text = class_name_components[i].get_slice("=", 1).strip_edges();
add_button_text = tr(class_name_components[i].get_slice("=", 1).strip_edges());
} else if (class_name_components[i] == "static") {
movable = false;
} else if (class_name_components[i] == "numbered") {
Expand Down
56 changes: 28 additions & 28 deletions main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -703,15 +703,6 @@ Error Main::test_setup() {
initialize_modules(MODULE_INITIALIZATION_LEVEL_SERVERS);
GDExtensionManager::get_singleton()->initialize_extensions(GDExtension::INITIALIZATION_LEVEL_SERVERS);

translation_server->setup(); //register translations, load them, etc.
if (!locale.is_empty()) {
translation_server->set_locale(locale);
}
translation_server->load_translations();
ResourceLoader::load_translation_remaps(); //load remaps for resources

ResourceLoader::load_path_remaps();

// Initialize ThemeDB early so that scene types can register their theme items.
// Default theme will be initialized later, after modules and ScriptServer are ready.
initialize_theme_db();
Expand All @@ -724,6 +715,15 @@ Error Main::test_setup() {
initialize_modules(MODULE_INITIALIZATION_LEVEL_SCENE);
GDExtensionManager::get_singleton()->initialize_extensions(GDExtension::INITIALIZATION_LEVEL_SCENE);

translation_server->setup(); //register translations, load them, etc.
if (!locale.is_empty()) {
translation_server->set_locale(locale);
}
translation_server->load_translations();
ResourceLoader::load_translation_remaps(); //load remaps for resources

ResourceLoader::load_path_remaps();

#ifdef TOOLS_ENABLED
ClassDB::set_current_api(ClassDB::API_EDITOR);
register_editor_types();
Expand Down Expand Up @@ -2953,25 +2953,6 @@ Error Main::setup2() {
OS::get_singleton()->benchmark_end_measure("Startup", "Setup Window and Boot");
}

MAIN_PRINT("Main: Load Translations and Remaps");

/* Setup translations and remaps */

{
OS::get_singleton()->benchmark_begin_measure("Startup", "Translations and Remaps");

translation_server->setup(); //register translations, load them, etc.
if (!locale.is_empty()) {
translation_server->set_locale(locale);
}
translation_server->load_translations();
ResourceLoader::load_translation_remaps(); //load remaps for resources

ResourceLoader::load_path_remaps();

OS::get_singleton()->benchmark_end_measure("Startup", "Translations and Remaps");
}

MAIN_PRINT("Main: Load TextServer");

/* Setup Text Server */
Expand Down Expand Up @@ -3119,6 +3100,25 @@ Error Main::setup2() {
// This loads global classes, so it must happen before custom loaders and savers are registered
ScriptServer::init_languages();

MAIN_PRINT("Main: Load Translations and Remaps");

/* Setup translations and remaps */

{
OS::get_singleton()->benchmark_begin_measure("Startup", "Translations and Remaps");

translation_server->setup(); //register translations, load them, etc.
if (!locale.is_empty()) {
translation_server->set_locale(locale);
}
translation_server->load_translations();
ResourceLoader::load_translation_remaps(); //load remaps for resources

ResourceLoader::load_path_remaps();

OS::get_singleton()->benchmark_end_measure("Startup", "Translations and Remaps");
}

theme_db->initialize_theme();
audio_server->load_default_bus_layout();

Expand Down
2 changes: 1 addition & 1 deletion modules/interactive_music/audio_stream_interactive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ void AudioStreamInteractive::_bind_methods() {

ADD_PROPERTY(PropertyInfo(Variant::INT, "initial_clip", PROPERTY_HINT_ENUM, "", PROPERTY_USAGE_DEFAULT), "set_initial_clip", "get_initial_clip");

ADD_PROPERTY(PropertyInfo(Variant::INT, "clip_count", PROPERTY_HINT_RANGE, "1," + itos(MAX_CLIPS), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Clips,clip_,page_size=999,unfoldable,numbered,swap_method=_inspector_array_swap_clip,add_button_text=" + String(RTR("Add Clip"))), "set_clip_count", "get_clip_count");
ADD_PROPERTY(PropertyInfo(Variant::INT, "clip_count", PROPERTY_HINT_RANGE, "1," + itos(MAX_CLIPS), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Clips,clip_,page_size=999,unfoldable,numbered,swap_method=_inspector_array_swap_clip,add_button_text=" + ETR("Add Clip")), "set_clip_count", "get_clip_count");
for (int i = 0; i < MAX_CLIPS; i++) {
ADD_PROPERTYI(PropertyInfo(Variant::STRING_NAME, "clip_" + itos(i) + "/name", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_clip_name", "get_clip_name", i);
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "clip_" + itos(i) + "/stream", PROPERTY_HINT_RESOURCE_TYPE, "AudioStream", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_clip_stream", "get_clip_stream", i);
Expand Down
2 changes: 1 addition & 1 deletion modules/interactive_music/audio_stream_playlist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ void AudioStreamPlaylist::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "loop"), "set_loop", "has_loop");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "fade_time", PROPERTY_HINT_RANGE, "0,1,0.01,suffix:s"), "set_fade_time", "get_fade_time");

ADD_PROPERTY(PropertyInfo(Variant::INT, "stream_count", PROPERTY_HINT_RANGE, "0," + itos(MAX_STREAMS), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Streams,stream_,unfoldable,page_size=999,add_button_text=" + String(RTR("Add Stream"))), "set_stream_count", "get_stream_count");
ADD_PROPERTY(PropertyInfo(Variant::INT, "stream_count", PROPERTY_HINT_RANGE, "0," + itos(MAX_STREAMS), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Streams,stream_,unfoldable,page_size=999,add_button_text=" + ETR("Add Stream")), "set_stream_count", "get_stream_count");

for (int i = 0; i < MAX_STREAMS; i++) {
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "stream_" + itos(i), PROPERTY_HINT_RESOURCE_TYPE, "AudioStream", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_list_stream", "get_list_stream", i);
Expand Down
2 changes: 1 addition & 1 deletion modules/interactive_music/audio_stream_synchronized.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ void AudioStreamSynchronized::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_sync_stream_volume", "stream_index", "volume_db"), &AudioStreamSynchronized::set_sync_stream_volume);
ClassDB::bind_method(D_METHOD("get_sync_stream_volume", "stream_index"), &AudioStreamSynchronized::get_sync_stream_volume);

ADD_PROPERTY(PropertyInfo(Variant::INT, "stream_count", PROPERTY_HINT_RANGE, "0," + itos(MAX_STREAMS), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Streams,stream_,unfoldable,page_size=999,add_button_text=" + String(RTR("Add Stream"))), "set_stream_count", "get_stream_count");
ADD_PROPERTY(PropertyInfo(Variant::INT, "stream_count", PROPERTY_HINT_RANGE, "0," + itos(MAX_STREAMS), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_ARRAY, "Streams,stream_,unfoldable,page_size=999,add_button_text=" + ETR("Add Stream")), "set_stream_count", "get_stream_count");

for (int i = 0; i < MAX_STREAMS; i++) {
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "stream_" + itos(i) + "/stream", PROPERTY_HINT_RESOURCE_TYPE, "AudioStream", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_INTERNAL), "set_sync_stream", "get_sync_stream", i);
Expand Down

0 comments on commit 5b0977d

Please sign in to comment.