2020-09-20 01:21:28 +01:00
|
|
|
#include <switch.h>
|
2021-09-11 14:48:13 +01:00
|
|
|
|
2020-09-20 01:21:28 +01:00
|
|
|
#include <borealis.hpp>
|
2021-09-11 14:48:13 +01:00
|
|
|
#include <filesystem>
|
2021-03-16 14:56:46 +00:00
|
|
|
#include <json.hpp>
|
2021-09-11 14:48:13 +01:00
|
|
|
|
2020-09-20 01:21:28 +01:00
|
|
|
#include "constants.hpp"
|
2021-02-11 12:45:35 +00:00
|
|
|
#include "current_cfw.hpp"
|
2021-09-11 14:48:13 +01:00
|
|
|
#include "fs.hpp"
|
|
|
|
#include "main_frame.hpp"
|
2021-02-16 00:46:39 +00:00
|
|
|
#include "warning_page.hpp"
|
2021-03-16 14:56:46 +00:00
|
|
|
|
2020-10-05 23:53:12 +01:00
|
|
|
namespace i18n = brls::i18n;
|
|
|
|
using namespace i18n::literals;
|
|
|
|
|
2021-01-02 23:22:45 +00:00
|
|
|
//TimeServiceType __nx_time_service_type = TimeServiceType_System;
|
2020-12-27 17:11:40 +00:00
|
|
|
|
2021-04-13 12:27:38 +01:00
|
|
|
CFW CurrentCfw::running_cfw;
|
2021-02-11 12:45:35 +00:00
|
|
|
|
2020-09-20 01:21:28 +01:00
|
|
|
int main(int argc, char* argv[])
|
|
|
|
{
|
|
|
|
// Init the app
|
2021-09-11 14:48:13 +01:00
|
|
|
if (!brls::Application::init(APP_TITLE)) {
|
2020-09-20 01:21:28 +01:00
|
|
|
brls::Logger::error("Unable to init Borealis application");
|
|
|
|
return EXIT_FAILURE;
|
|
|
|
}
|
2021-09-11 14:48:13 +01:00
|
|
|
|
2022-10-31 18:59:48 +00:00
|
|
|
nlohmann::ordered_json languageFile = fs::parseJsonFile(LANGUAGE_JSON);
|
2021-09-11 14:48:13 +01:00
|
|
|
if (languageFile.find("language") != languageFile.end())
|
2021-03-14 15:24:56 +00:00
|
|
|
i18n::loadTranslations(languageFile["language"]);
|
|
|
|
else
|
|
|
|
i18n::loadTranslations();
|
|
|
|
|
2021-09-11 14:48:13 +01:00
|
|
|
//appletInitializeGamePlayRecording();
|
2021-06-27 23:46:00 +01:00
|
|
|
|
2021-09-11 14:48:13 +01:00
|
|
|
// Setup verbose logging on PC
|
2020-09-20 01:21:28 +01:00
|
|
|
#ifndef __SWITCH__
|
|
|
|
brls::Logger::setLogLevel(brls::LogLevel::DEBUG);
|
|
|
|
#endif
|
|
|
|
|
2020-10-05 01:59:46 +01:00
|
|
|
setsysInitialize();
|
|
|
|
plInitialize(PlServiceType_User);
|
2020-09-20 01:21:28 +01:00
|
|
|
nsInitialize();
|
|
|
|
socketInitializeDefault();
|
|
|
|
nxlinkStdio();
|
2021-06-27 23:46:00 +01:00
|
|
|
pmdmntInitialize();
|
|
|
|
pminfoInitialize();
|
2020-09-20 21:58:40 +01:00
|
|
|
splInitialize();
|
2020-10-07 01:08:39 +01:00
|
|
|
romfsInit();
|
2021-04-13 12:27:38 +01:00
|
|
|
|
|
|
|
CurrentCfw::running_cfw = CurrentCfw::getCFW();
|
2021-09-11 14:48:13 +01:00
|
|
|
|
2021-03-16 14:56:46 +00:00
|
|
|
fs::createTree(CONFIG_PATH);
|
2020-09-20 01:21:28 +01:00
|
|
|
|
|
|
|
brls::Logger::setLogLevel(brls::LogLevel::DEBUG);
|
|
|
|
brls::Logger::debug("Start");
|
|
|
|
|
2021-09-11 14:48:13 +01:00
|
|
|
if (std::filesystem::exists(HIDDEN_AIO_FILE)) {
|
2021-02-16 00:46:39 +00:00
|
|
|
brls::Application::pushView(new MainFrame());
|
|
|
|
}
|
|
|
|
else {
|
2021-03-01 18:19:17 +00:00
|
|
|
brls::Application::pushView(new WarningPage("menus/main/launch_warning"_i18n));
|
2021-02-16 00:46:39 +00:00
|
|
|
}
|
2020-09-20 01:21:28 +01:00
|
|
|
|
2021-09-11 14:48:13 +01:00
|
|
|
while (brls::Application::mainLoop())
|
|
|
|
;
|
2020-09-20 01:21:28 +01:00
|
|
|
|
2020-10-09 21:27:18 +01:00
|
|
|
romfsExit();
|
2020-09-20 01:21:28 +01:00
|
|
|
splExit();
|
2021-06-27 23:46:00 +01:00
|
|
|
pminfoExit();
|
|
|
|
pmdmntExit();
|
2020-09-20 01:21:28 +01:00
|
|
|
socketExit();
|
|
|
|
nsExit();
|
2020-10-05 01:59:46 +01:00
|
|
|
setsysExit();
|
|
|
|
plExit();
|
2020-09-20 01:21:28 +01:00
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|