- allow for translated names to be shown for tutorials and scenarios in selection menu

This commit is contained in:
Mark Vejvoda 2013-02-12 02:10:00 +00:00
parent 93773839fd
commit c0fe242504
3 changed files with 31 additions and 2 deletions

View File

@ -113,8 +113,25 @@ MenuStateScenario::MenuStateScenario(Program *program, MainMenu *mainMenu,
showMessageBox( "Error: There are no scenarios found to load", "Error detected", false);
}
}
for(int i= 0; i<results.size(); ++i){
results[i] = formatString(results[i]);
for(unsigned int i = 0; i < results.size(); ++i) {
bool foundTranslatedName = false;
string current_scenario = results[i];
if(current_scenario != "") {
//printf("current_scenario [%s]\n",current_scenario.c_str());
loadScenarioInfo(Scenario::getScenarioPath(dirList, scenarioFiles[i]), &scenarioInfo );
if(scenarioInfo.namei18n != "") {
current_scenario = scenarioInfo.namei18n;
foundTranslatedName = true;
}
}
if(foundTranslatedName == false) {
results[i] = formatString(current_scenario);
}
else {
results[i] = current_scenario;
}
}
listBoxScenario.setItems(results);

View File

@ -319,6 +319,16 @@ void Scenario::loadScenarioInfo(string file, ScenarioInfo *scenarioInfo) {
scenarioInfo->desc += lang.get("Description") + ": \n" + tmp_description + "\n";
}
scenarioInfo->namei18n = "";
if(lang.hasScenarioString("SCENARIO_NAME") == true) {
scenarioInfo->namei18n =lang.getScenarioString("SCENARIO_NAME");
//printf("scenarioInfo->namei18n [%s]\n",scenarioInfo->namei18n.c_str());
}
else if(lang.hasScenarioString("TUTORIAL_NAME") == true) {
scenarioInfo->namei18n =lang.getScenarioString("TUTORIAL_NAME");
//printf("scenarioInfo->namei18n [%s]\n",scenarioInfo->namei18n.c_str());
}
if(scenarioNode->hasChild("fog-of-war") == true) {
if(scenarioNode->getChild("fog-of-war")->getAttribute("value")->getValue() == "explored") {
scenarioInfo->fogOfWar = true;

View File

@ -70,6 +70,7 @@ public:
file = "";
name = "";
namei18n = "";
}
int difficulty;
ControlType factionControls[GameConstants::maxPlayers];
@ -92,6 +93,7 @@ public:
string file;
string name;
string namei18n;
};
// =====================================================