MCPcopy Create free account
hub / github.com/EasyRPG/Player / CreateTranslationWindow

Method CreateTranslationWindow

src/scene_language.cpp:61–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59
60
61void Scene_Language::CreateTranslationWindow() {
62 // Build a list of 'Default' and all known languages.
63 std::vector<std::string> lang_names;
64 lang_names.push_back("Default Language");
65 lang_dirs.push_back("");
66 lang_helps.push_back("Play the game in its original language.");
67
68 // Push menu entries with the display name, but also save the directory location and help text.
69 for (const Language& lg : Player::translation.GetLanguages()) {
70 lang_names.push_back(lg.lang_name);
71 lang_dirs.push_back(lg.lang_dir);
72 lang_helps.push_back(lg.lang_desc);
73 }
74
75 // Allow overwriting text of the default language
76 const Language& def = Player::translation.GetDefaultLanguage();
77 if (!def.lang_name.empty()) {
78 lang_names.front() = def.lang_name;
79 }
80 if (!def.lang_desc.empty()) {
81 lang_helps.front() = def.lang_desc;
82 }
83
84 translate_window = std::make_unique<Window_Command>(lang_names, -1, lang_names.size() > 9 ? 9 : static_cast<int>(lang_names.size()));
85 translate_window->UpdateHelpFn = [this](Window_Help& win, int index) {
86 if (index >= 0 && index < static_cast<int>(lang_helps.size())) {
87 win.SetText(lang_helps[index]);
88 }
89 else {
90 win.SetText("");
91 }
92 };
93 Scene_Title::RepositionWindow(*translate_window, Player::hide_title_flag);
94
95 if (Player::IsRPG2k3E() && lcf::Data::battlecommands.transparency == lcf::rpg::BattleCommands::Transparency_transparent) {
96 translate_window->SetBackOpacity(160);
97 }
98
99 translate_window->SetVisible(false);
100}
101
102void Scene_Language::CreateHelpWindow() {
103 help_window.reset(new Window_Help(0, 0, Player::screen_width, 32));

Callers

nothing calls this directly

Calls 5

SetTextMethod · 0.80
SetBackOpacityMethod · 0.80
emptyMethod · 0.45
sizeMethod · 0.45
SetVisibleMethod · 0.45

Tested by

no test coverage detected