WIP: Argument | Shortcut support.
This commit is contained in:
parent
24a7b90dea
commit
f08bed5813
15 changed files with 294 additions and 20 deletions
|
|
@ -24,13 +24,69 @@
|
|||
* reasonable ways as different from the original version.
|
||||
*/
|
||||
|
||||
#include "argumentParser.hpp"
|
||||
#include "common.hpp"
|
||||
#include "init.hpp"
|
||||
#include <dirent.h>
|
||||
#include <string>
|
||||
|
||||
#define ARG_AMOUNT 4 // In case for more args, change this. It must be ARG amount + 1, because of 3DSX Path.
|
||||
std::string _3dsxPath = "";
|
||||
|
||||
/*
|
||||
ARG Init.
|
||||
*/
|
||||
static void InitForARG() {
|
||||
gfxInitDefault();
|
||||
romfsInit();
|
||||
Gui::init();
|
||||
amInit();
|
||||
acInit();
|
||||
|
||||
/* Create Directories, if missing. */
|
||||
mkdir("sdmc:/3ds", 0777);
|
||||
mkdir("sdmc:/3ds/Universal-Updater", 0777);
|
||||
mkdir("sdmc:/3ds/Universal-Updater/stores", 0777);
|
||||
mkdir("sdmc:/3ds/Universal-Updater/shortcuts", 0777);
|
||||
|
||||
config = std::make_unique<Config>();
|
||||
Lang::load(config->language());
|
||||
Init::LoadFont();
|
||||
osSetSpeedupEnable(true); // Enable speed-up for New 3DS users.
|
||||
}
|
||||
|
||||
/*
|
||||
ARG Exit.
|
||||
*/
|
||||
static Result ExitForARG() {
|
||||
Gui::exit();
|
||||
Init::UnloadFont();
|
||||
gfxExit();
|
||||
cfguExit();
|
||||
acExit();
|
||||
amExit();
|
||||
romfsExit();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
if (argc > 0) _3dsxPath = argv[0];
|
||||
|
||||
/* 4 --> Argument mode. */
|
||||
if (argc == ARG_AMOUNT) {
|
||||
InitForARG();
|
||||
|
||||
const std::string file = argv[1];
|
||||
const std::string entry = argv[2];
|
||||
int dlIndex = atoi(argv[3]);
|
||||
|
||||
std::unique_ptr<ArgumentParser> arg = std::make_unique<ArgumentParser>(file, entry, dlIndex);
|
||||
|
||||
if (arg->GetValid()) arg->Execute(); // Execute, if valid.
|
||||
else Msg::waitMsg(Lang::get("ARGUMENT_INVALID"));
|
||||
return ExitForARG();
|
||||
}
|
||||
|
||||
return Init::MainLoop();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue