WIP: Credits & Language Screen Rewrite.

This commit is contained in:
StackZ
2020-04-09 04:06:02 +02:00
parent 6bab9b0e32
commit 994f62799c
7 changed files with 213 additions and 106 deletions
+30 -6
View File
@@ -2,6 +2,7 @@
#include "lang.hpp"
#include <stdio.h>
#include <unistd.h>
nlohmann::json appJson;
@@ -12,15 +13,38 @@ std::string Lang::get(const std::string &key) {
return appJson.at(key).get_ref<const std::string&>();
}
std::string langs[] = {"br", "de", "en", "es", "fr", "it", "lt", "pt", "ru", "jp"};
std::string langs[] = {"br", "da", "de", "en", "es", "fr", "it", "lt", "pt", "ru", "jp"};
void Lang::load(int lang) {
void Lang::load(const std::string lang) {
FILE* values;
if (Config::LangPath == 1) {
values = fopen(("sdmc:/3ds/Universal-Updater/app.json"), "rt");
// Check if exist.
if(access("sdmc:/3ds/Universal-Updater/app.json", F_OK) == 0 ) {
values = fopen(("sdmc:/3ds/Universal-Updater/app.json"), "rt");
appJson = nlohmann::json::parse(values, nullptr, false);
fclose(values);
return;
} else {
values = fopen(("romfs:/lang/en/app.json"), "rt");
appJson = nlohmann::json::parse(values, nullptr, false);
fclose(values);
return;
}
} else {
values = fopen(("romfs:/lang/"+langs[lang]+"/app.json").c_str(), "rt");
// Check if exist.
if(access(("romfs:/lang/" + lang + "/app.json").c_str(), F_OK) == 0 ) {
values = fopen(std::string(("romfs:/lang/" + lang + "/app.json")).c_str(), "rt");
appJson = nlohmann::json::parse(values, nullptr, false);
fclose(values);
return;
} else {
values = fopen(("romfs:/lang/en/app.json"), "rt");
appJson = nlohmann::json::parse(values, nullptr, false);
fclose(values);
return;
}
}
if(values) appJson = nlohmann::json::parse(values, nullptr, false);
fclose(values);
}