mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-12-25 03:11:48 +01:00
Support multiple instances with separate configs
This commit is contained in:
parent
15aabd4f53
commit
c3a65d572c
@ -2337,9 +2337,6 @@ msgstr "Aktualizace"
|
||||
msgid "Update Files"
|
||||
msgstr "Zaktualizuj soubory"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Cesta pro aktualizaci"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Zaktualizuj vsechny jazykové soubory"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Opdatér"
|
||||
msgid "Update Files"
|
||||
msgstr "Opdatér filer"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Sti til opdateringer"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Opdatér alle sprogfiler"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Updaten"
|
||||
msgid "Update Files"
|
||||
msgstr "Bestanden Updaten"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Updatelocatie"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Alle taalbestanden updaten"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr ""
|
||||
msgid "Update Files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Päivitä"
|
||||
msgid "Update Files"
|
||||
msgstr "Päivitä tiedostot"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Päivityspolku"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Päivitä kaikki kielitiedostot"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Mise à jour"
|
||||
msgid "Update Files"
|
||||
msgstr "MàJ Fichiers"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Dossier de mise à jour"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Mise à jour des fichiers de langue"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Update"
|
||||
msgid "Update Files"
|
||||
msgstr "Aktualisieren"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Updates"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Sprachdateien aktualisieren"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Aναβάθμιση"
|
||||
msgid "Update Files"
|
||||
msgstr "Αναβάθμιση αρχείων"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Μονοπάτι αρχείων αναβάθμισης."
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Αναβάθμιση όλων των μεταφράσεων"
|
||||
|
||||
|
@ -2340,9 +2340,6 @@ msgstr "Frissítés"
|
||||
msgid "Update Files"
|
||||
msgstr "Fájlok frissítése"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Frissítés Útvonala"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Minden nyelvi fájl frissítése"
|
||||
|
||||
|
@ -2340,9 +2340,6 @@ msgstr "Aggiornamenti"
|
||||
msgid "Update Files"
|
||||
msgstr "Aggiorna i files"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Percorso aggiornamenti"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Aggiorna tutte le traduzioni"
|
||||
|
||||
|
@ -2340,9 +2340,6 @@ msgstr "更新"
|
||||
msgid "Update Files"
|
||||
msgstr "すべて更新"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "GXのdol"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "全言語ファイルを更新"
|
||||
|
||||
|
@ -2340,9 +2340,6 @@ msgstr "업데이트"
|
||||
msgid "Update Files"
|
||||
msgstr "파일 업데이트"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "경로 업데이트"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "모든 언어 파일 업데이트"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Oppdater"
|
||||
msgid "Update Files"
|
||||
msgstr "Oppdater filer"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Oppdatering sti"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Oppdater alle språkfiler"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Aktualizacja"
|
||||
msgid "Update Files"
|
||||
msgstr "Zaktualizuj pliki"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Sciezka aktualizacji"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Zaktualizuj wszystkie pliki jezykowe"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Atualizações"
|
||||
msgid "Update Files"
|
||||
msgstr "Atualizar arquivos"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Atualização"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Atualizar todos os arquivos de Idioma"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Actualizações"
|
||||
msgid "Update Files"
|
||||
msgstr "Actualizar ficheiros"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Cam. Actualização"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Actualizar todos os ficheiros de Idioma"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Обновление"
|
||||
msgid "Update Files"
|
||||
msgstr "Обновить файлы"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Путь к обновлениям"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Обновить все языковые файлы"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "升级"
|
||||
msgid "Update Files"
|
||||
msgstr "升级文件"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "升级文件存放路径"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "升级全部语言文件"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Actualizar"
|
||||
msgid "Update Files"
|
||||
msgstr "Archivos"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Ruta Actualización"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Actualizar todos los archivos de Idiomas"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Uppdatera"
|
||||
msgid "Update Files"
|
||||
msgstr "Uppdatera Filer"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Sökväg till uppdatering"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Uppdatera alla språk-filer"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "更新"
|
||||
msgid "Update Files"
|
||||
msgstr "更新檔案"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "更新路徑"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "更新所有語言檔案"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "อัพเดท"
|
||||
msgid "Update Files"
|
||||
msgstr "อัพเดทไฟล์"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "ที่อยู่ Update"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "อัพเดทภาษาทั้งหมด"
|
||||
|
||||
|
@ -2337,9 +2337,6 @@ msgstr "Güncelleme"
|
||||
msgid "Update Files"
|
||||
msgstr "Dosyaları Güncelle"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Güncelleme Yolu"
|
||||
|
||||
msgid "Update all Language Files"
|
||||
msgstr "Tüm Dil Dosyalarını Güncelle"
|
||||
|
||||
|
@ -218,6 +218,21 @@ bool StartUpProcess::USBSpinUp()
|
||||
|
||||
int StartUpProcess::Run(int argc, char *argv[])
|
||||
{
|
||||
// A normal launch should always have the first arg be the path
|
||||
char *ptr = strrchr(argv[0], '/');
|
||||
if (ptr && (argv[0][2] == ':' || argv[0][3] == ':'))
|
||||
{
|
||||
*ptr = 0;
|
||||
// HBC doesn't specify the USB port
|
||||
if (strncmp(argv[0], "usb", 3) == 0)
|
||||
{
|
||||
snprintf(Settings.BootDevice, sizeof(Settings.BootDevice), "usb1");
|
||||
snprintf(Settings.ConfigPath, sizeof(Settings.ConfigPath), "usb1:%s/", argv[0] + 4);
|
||||
}
|
||||
else if (strncmp(argv[0], "sd", 2) == 0)
|
||||
snprintf(Settings.ConfigPath, sizeof(Settings.ConfigPath), "%s/", argv[0]);
|
||||
gprintf("Loader path: %s\n", Settings.ConfigPath);
|
||||
}
|
||||
int quickGameBoot = ParseArguments(argc, argv);
|
||||
|
||||
StartUpProcess Process;
|
||||
|
@ -931,7 +931,7 @@ int GameBrowseMenu::MainLoop()
|
||||
gprintf("\tgameCntBtn clicked\n");
|
||||
gamecntBtn->ResetState();
|
||||
|
||||
int choice = WindowPrompt(0, fmt("%s %sGameList ?", tr( "Save Game List to" ), Settings.update_path), "TXT", "CSV", tr( "Back" ));
|
||||
int choice = WindowPrompt(0, fmt("%s %sGameList ?", tr( "Save Game List to" ), Settings.ConfigPath), "TXT", "CSV", tr( "Back" ));
|
||||
if (choice)
|
||||
{
|
||||
if (save_gamelist(choice == 2))
|
||||
|
@ -412,7 +412,7 @@ void ImageDownloader::DownloadImage(const char *url, const char *gameID, const c
|
||||
void ImageDownloader::CreateCSVLog()
|
||||
{
|
||||
char path[200];
|
||||
snprintf(path, sizeof(path), "%s/MissingImages.csv", Settings.update_path);
|
||||
snprintf(path, sizeof(path), "%s/MissingImages.csv", Settings.ConfigPath);
|
||||
|
||||
FILE *f = fopen(path, "wb");
|
||||
if(!f) return;
|
||||
|
@ -145,7 +145,7 @@ static void UpdateIconPng()
|
||||
downloadfile("https://raw.githubusercontent.com/wiidev/usbloadergx/updates/icon.png", &file);
|
||||
if (file.size > 0)
|
||||
{
|
||||
snprintf(iconpath, sizeof(iconpath), "%sicon.png", Settings.update_path);
|
||||
snprintf(iconpath, sizeof(iconpath), "%sicon.png", Settings.ConfigPath);
|
||||
FILE *pfile = fopen(iconpath, "wb");
|
||||
if (pfile)
|
||||
{
|
||||
@ -163,7 +163,7 @@ static void UpdateMetaXml()
|
||||
downloadfile("https://raw.githubusercontent.com/wiidev/usbloadergx/updates/meta.xml", &file);
|
||||
if (file.size > 0)
|
||||
{
|
||||
snprintf(xmlpath, sizeof(xmlpath), "%smeta.xml", Settings.update_path);
|
||||
snprintf(xmlpath, sizeof(xmlpath), "%smeta.xml", Settings.ConfigPath);
|
||||
FILE *pfile = fopen(xmlpath, "wb");
|
||||
if (pfile)
|
||||
{
|
||||
@ -217,8 +217,8 @@ static int ApplicationDownload(void)
|
||||
snprintf(tmppath, sizeof(tmppath), "%s/ULNR.wad", Settings.BootDevice);
|
||||
#else
|
||||
char realpath[250];
|
||||
snprintf(realpath, sizeof(realpath), "%sboot.dol", Settings.update_path);
|
||||
snprintf(tmppath, sizeof(tmppath), "%sboot.tmp", Settings.update_path);
|
||||
snprintf(realpath, sizeof(realpath), "%sboot.dol", Settings.ConfigPath);
|
||||
snprintf(tmppath, sizeof(tmppath), "%sboot.tmp", Settings.ConfigPath);
|
||||
#endif
|
||||
|
||||
int ret = DownloadFileToPath(DownloadURL.c_str(), tmppath);
|
||||
@ -282,12 +282,6 @@ int UpdateApp()
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!CreateSubfolder(Settings.update_path))
|
||||
{
|
||||
WindowPrompt(tr("Error:"), tr("Can't create directory"), tr("OK"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
int choice = WindowPrompt(tr("What do you want to update?"), 0, "USB Loader GX", tr("WiiTDB.xml"), tr("Language Files"), tr("Cancel"));
|
||||
if (choice == 0)
|
||||
return 0;
|
||||
|
@ -1118,14 +1118,13 @@ char *readable_size(float size, char *buf)
|
||||
bool save_gamelist(bool bCSV) // save gamelist
|
||||
{
|
||||
mainWindow->SetState(STATE_DISABLED);
|
||||
CreateSubfolder(Settings.update_path);
|
||||
|
||||
// Save the game list
|
||||
char tmp[256];
|
||||
if(bCSV)
|
||||
snprintf(tmp, sizeof(tmp), "%sGameList.csv", Settings.update_path);
|
||||
snprintf(tmp, sizeof(tmp), "%sGameList.csv", Settings.ConfigPath);
|
||||
else
|
||||
snprintf(tmp, sizeof(tmp), "%sGameList.txt", Settings.update_path);
|
||||
snprintf(tmp, sizeof(tmp), "%sGameList.txt", Settings.ConfigPath);
|
||||
|
||||
FILE *f = fopen(tmp, "w");
|
||||
if (!f)
|
||||
|
@ -175,8 +175,6 @@ bool CGameSettings::Save()
|
||||
if(ptr)
|
||||
ptr[0] = 0;
|
||||
|
||||
CreateSubfolder(filepath);
|
||||
|
||||
FILE * f = fopen(ConfigPath.c_str(), "w");
|
||||
if (!f) return false;
|
||||
|
||||
|
@ -138,9 +138,6 @@ bool CGameStatistics::Save()
|
||||
if(ptr)
|
||||
ptr[0] = 0;
|
||||
|
||||
if(!CreateSubfolder(filepath))
|
||||
return false;
|
||||
|
||||
FILE * f = fopen(ConfigPath.c_str(), "w");
|
||||
if (!f) return false;
|
||||
|
||||
|
@ -44,7 +44,7 @@ CSettings::CSettings()
|
||||
{
|
||||
CONF_Init();
|
||||
strcpy(BootDevice, "sd:");
|
||||
snprintf(ConfigPath, sizeof(ConfigPath), "%s/config/", BootDevice);
|
||||
snprintf(ConfigPath, sizeof(ConfigPath), "%s/apps/usbloader_gx/", BootDevice);
|
||||
this->SetDefault();
|
||||
FirstTimeRun = true;
|
||||
}
|
||||
@ -61,9 +61,8 @@ void CSettings::SetDefault()
|
||||
snprintf(disc_path, sizeof(disc_path), "%simages/disc/", ConfigPath);
|
||||
snprintf(titlestxt_path, sizeof(titlestxt_path), "%s", ConfigPath);
|
||||
snprintf(languagefiles_path, sizeof(languagefiles_path), "%slanguage/", ConfigPath);
|
||||
snprintf(update_path, sizeof(update_path), "%s/apps/usbloader_gx/", BootDevice);
|
||||
snprintf(BNRCachePath, sizeof(BNRCachePath), "%s/apps/usbloader_gx/cache_bnr/", BootDevice);
|
||||
snprintf(GameHeaderCachePath, sizeof(GameHeaderCachePath), "%s/apps/usbloader_gx/cache/", BootDevice);
|
||||
snprintf(BNRCachePath, sizeof(BNRCachePath), "%scache_bnr/", ConfigPath);
|
||||
snprintf(GameHeaderCachePath, sizeof(GameHeaderCachePath), "%scache/", ConfigPath);
|
||||
snprintf(homebrewapps_path, sizeof(homebrewapps_path), "%s/apps/", BootDevice);
|
||||
snprintf(Cheatcodespath, sizeof(Cheatcodespath), "%s/codes/", BootDevice);
|
||||
snprintf(TxtCheatcodespath, sizeof(TxtCheatcodespath), "%s/txtcodes/", BootDevice);
|
||||
@ -317,8 +316,6 @@ bool CSettings::Save()
|
||||
char filedest[300];
|
||||
snprintf(filedest, sizeof(filedest), "%sGXGlobal.cfg", ConfigPath);
|
||||
|
||||
if(!CreateSubfolder(ConfigPath)) return false;
|
||||
|
||||
FILE * file = fopen(filedest, "w");
|
||||
if (!file) return false;
|
||||
|
||||
@ -367,7 +364,6 @@ bool CSettings::Save()
|
||||
fprintf(file, "ogg_path = %s\n", ogg_path);
|
||||
fprintf(file, "wiilight = %d\n", wiilight);
|
||||
fprintf(file, "gameDisplay = %d\n", gameDisplay);
|
||||
fprintf(file, "update_path = %s\n", update_path);
|
||||
fprintf(file, "homebrewapps_path = %s\n", homebrewapps_path);
|
||||
fprintf(file, "BNRCachePath = %s\n", BNRCachePath);
|
||||
fprintf(file, "GameHeaderCachePath = %s\n", GameHeaderCachePath);
|
||||
@ -1271,11 +1267,6 @@ bool CSettings::SetSetting(char *name, char *value)
|
||||
strlcpy(ogg_path, value, sizeof(ogg_path));
|
||||
return true;
|
||||
}
|
||||
else if (strcmp(name, "update_path") == 0)
|
||||
{
|
||||
strlcpy(update_path, value, sizeof(update_path));
|
||||
return true;
|
||||
}
|
||||
else if (strcmp(name, "homebrewapps_path") == 0)
|
||||
{
|
||||
strlcpy(homebrewapps_path, value, sizeof(homebrewapps_path));
|
||||
@ -1497,63 +1488,42 @@ bool CSettings::SetSetting(char *name, char *value)
|
||||
|
||||
bool CSettings::FindConfig()
|
||||
{
|
||||
bool found = false;
|
||||
char CheckDevice[73];
|
||||
char CheckPath[300];
|
||||
std::string device(ConfigPath);
|
||||
char *ptr = strchr(device.c_str(), ':');
|
||||
if (ptr)
|
||||
{
|
||||
*ptr = 0;
|
||||
snprintf(BootDevice, sizeof(BootDevice), "%s:", device.c_str());
|
||||
snprintf(CheckPath, sizeof(CheckPath), "%sGXGlobal.cfg", ConfigPath);
|
||||
|
||||
// Enumerate the devices supported by libogc.
|
||||
for (int i = SD; (i < MAXDEVICES) && !found; ++i)
|
||||
FILE *fp = fopen(CheckPath, "ab+");
|
||||
if (fp)
|
||||
{
|
||||
fclose(fp);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Enumerate the devices supported by libogc
|
||||
char CheckDevice[73];
|
||||
for (int i = SD; i < MAXDEVICES; ++i)
|
||||
{
|
||||
snprintf(CheckDevice, sizeof(CheckDevice), "%s:", DeviceName[i]);
|
||||
// Check for the config file in the apps directory
|
||||
strlcpy(BootDevice, CheckDevice, sizeof(BootDevice));
|
||||
snprintf(ConfigPath, sizeof(ConfigPath), "%s/apps/usbloader_gx/", BootDevice);
|
||||
snprintf(CheckPath, sizeof(CheckPath), "%sGXGlobal.cfg", ConfigPath);
|
||||
|
||||
if(!found)
|
||||
FILE *fp = fopen(CheckPath, "ab+");
|
||||
if (fp)
|
||||
{
|
||||
// Check for the config file in the apps directory.
|
||||
strlcpy(BootDevice, CheckDevice, sizeof(BootDevice));
|
||||
snprintf(ConfigPath, sizeof(ConfigPath), "%s/apps/usbloader_gx/", BootDevice);
|
||||
snprintf(CheckPath, sizeof(CheckPath), "%sGXGlobal.cfg", ConfigPath);
|
||||
found = CheckFile(CheckPath);
|
||||
}
|
||||
if(!found)
|
||||
{
|
||||
// Check for the config file in the config directory.
|
||||
strlcpy(BootDevice, CheckDevice, sizeof(BootDevice));
|
||||
snprintf(ConfigPath, sizeof(ConfigPath), "%s/config/", BootDevice);
|
||||
snprintf(CheckPath, sizeof(CheckPath), "%sGXGlobal.cfg", ConfigPath);
|
||||
found = CheckFile(CheckPath);
|
||||
fclose(fp);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
FILE * testFp = NULL;
|
||||
//! No existing config so try to find a place where we can write it too
|
||||
for (int i = SD; (i < MAXDEVICES) && !found; ++i)
|
||||
{
|
||||
sprintf(CheckDevice, "%s:", DeviceName[i]);
|
||||
|
||||
if (!found)
|
||||
{
|
||||
// Check if we can write to the apps directory.
|
||||
strlcpy(BootDevice, CheckDevice, sizeof(BootDevice));
|
||||
snprintf(ConfigPath, sizeof(ConfigPath), "%s/apps/usbloader_gx/", BootDevice);
|
||||
snprintf(CheckPath, sizeof(CheckPath), "%sGXGlobal.cfg", ConfigPath);
|
||||
testFp = fopen(CheckPath, "wb");
|
||||
found = (testFp != NULL);
|
||||
if(testFp) fclose(testFp);
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
// Check if we can write to the config directory.
|
||||
strlcpy(BootDevice, CheckDevice, sizeof(BootDevice));
|
||||
snprintf(ConfigPath, sizeof(ConfigPath), "%s/config/", BootDevice);
|
||||
CreateSubfolder(ConfigPath);
|
||||
snprintf(CheckPath, sizeof(CheckPath), "%sGXGlobal.cfg", ConfigPath);
|
||||
testFp = fopen(CheckPath, "wb");
|
||||
found = (testFp != NULL);
|
||||
if(testFp) fclose(testFp);
|
||||
}
|
||||
}
|
||||
|
||||
return found;
|
||||
return false;
|
||||
}
|
||||
|
||||
void CSettings::ParseLine(char *line)
|
||||
|
@ -78,7 +78,6 @@ class CSettings
|
||||
char BcaCodepath[100];
|
||||
char WipCodepath[100];
|
||||
char dolpath[100];
|
||||
char update_path[100];
|
||||
char homebrewapps_path[100];
|
||||
char WDMpath[100];
|
||||
char WiinnertagPath[100];
|
||||
|
@ -50,7 +50,6 @@ CustomPathsSM::CustomPathsSM()
|
||||
Options->SetName(Idx++, tr("Disc Artwork Path"));
|
||||
Options->SetName(Idx++, tr("Theme Path"));
|
||||
Options->SetName(Idx++, tr("Titles Path"));
|
||||
Options->SetName(Idx++, tr("Update Path"));
|
||||
Options->SetName(Idx++, tr("GCT Cheatcodes Path"));
|
||||
Options->SetName(Idx++, tr("TXT Cheatcodes Path"));
|
||||
Options->SetName(Idx++, tr("DOL Path"));
|
||||
@ -94,9 +93,6 @@ void CustomPathsSM::SetOptionValues()
|
||||
//! Settings: Titles Path
|
||||
Options->SetValue(Idx++, Settings.titlestxt_path);
|
||||
|
||||
//! Settings: Update Path
|
||||
Options->SetValue(Idx++, Settings.update_path);
|
||||
|
||||
//! Settings: GCT Cheatcodes Path
|
||||
Options->SetValue(Idx++, Settings.Cheatcodespath);
|
||||
|
||||
@ -217,13 +213,6 @@ int CustomPathsSM::GetMenuInternal()
|
||||
}
|
||||
}
|
||||
|
||||
//! Settings: Update Path
|
||||
else if (ret == ++Idx)
|
||||
{
|
||||
titleTxt->SetText(tr( "Update Path" ));
|
||||
ChangePath(Settings.update_path, sizeof(Settings.update_path));
|
||||
}
|
||||
|
||||
//! Settings: GCT Cheatcodes Path
|
||||
else if (ret == ++Idx)
|
||||
{
|
||||
|
@ -600,7 +600,7 @@ int FeatureSettingsMenu::GetMenuInternal()
|
||||
if(WindowPrompt(tr( "EmuNAND WAD Manager" ), fmt(tr("%i WAD file(s) not processed!"), wadList->GetFilecount()), tr("Save List"), tr( "OK" )))
|
||||
{
|
||||
char path[200];
|
||||
snprintf(path, sizeof(path), "%s/wad_manager_errors.txt", Settings.update_path);
|
||||
snprintf(path, sizeof(path), "%s/wad_manager_errors.txt", Settings.ConfigPath);
|
||||
|
||||
FILE *f = fopen(path, "a");
|
||||
if(f)
|
||||
|
@ -25,12 +25,12 @@ distribution.
|
||||
#include "settings/CSettings.h"
|
||||
#include "svnrev.h"
|
||||
|
||||
int updateMetaXML (void)
|
||||
int updateMetaXML()
|
||||
{
|
||||
HomebrewXML MetaXML;
|
||||
char filepath[255];
|
||||
snprintf(filepath, sizeof(filepath), "%s/meta.xml", Settings.update_path);
|
||||
if(!MetaXML.LoadHomebrewXMLData(filepath))
|
||||
snprintf(filepath, sizeof(filepath), "%smeta.xml", Settings.ConfigPath);
|
||||
if (!MetaXML.LoadHomebrewXMLData(filepath))
|
||||
return 0;
|
||||
|
||||
char line[50];
|
||||
@ -47,22 +47,19 @@ int updateMetaXML (void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int editMetaArguments (void)
|
||||
int editMetaArguments()
|
||||
{
|
||||
char metapath[255] = "";
|
||||
char metatmppath[255] = "";
|
||||
|
||||
snprintf(metapath, sizeof(metapath), "%s/meta.xml", Settings.update_path);
|
||||
snprintf(metatmppath, sizeof(metatmppath), "%s/meta.tmp", Settings.update_path);
|
||||
snprintf(metapath, sizeof(metapath), "%smeta.xml", Settings.ConfigPath);
|
||||
snprintf(metatmppath, sizeof(metatmppath), "%smeta.tmp", Settings.ConfigPath);
|
||||
|
||||
FILE *source = fopen(metapath, "rb");
|
||||
if(!source)
|
||||
{
|
||||
if (!source)
|
||||
return 0;
|
||||
}
|
||||
|
||||
FILE *destination = fopen(metatmppath, "wb");
|
||||
if(!destination)
|
||||
if (!destination)
|
||||
{
|
||||
fclose(source);
|
||||
return 0;
|
||||
@ -70,23 +67,23 @@ int editMetaArguments (void)
|
||||
|
||||
const int max_line_size = 255;
|
||||
char *line = new char[max_line_size];
|
||||
while (fgets(line, max_line_size, source) != NULL)
|
||||
while (fgets(line, max_line_size, source) != NULL)
|
||||
{
|
||||
// delete commented lines
|
||||
if( strstr(line, " <!-- remove this line to enable arguments") != NULL ||
|
||||
strstr(line, " remove this line to enable arguments -->") != NULL)
|
||||
if (strstr(line, " <!-- remove this line to enable arguments") != NULL ||
|
||||
strstr(line, " remove this line to enable arguments -->") != NULL)
|
||||
{
|
||||
strcpy(line, "");
|
||||
}
|
||||
// delete commented lines (old version)
|
||||
if( strstr(line, "<!-- // remove this line to enable arguments") != NULL ||
|
||||
strstr(line, "// remove this line to enable arguments -->") != NULL)
|
||||
if (strstr(line, "<!-- // remove this line to enable arguments") != NULL ||
|
||||
strstr(line, "// remove this line to enable arguments -->") != NULL)
|
||||
{
|
||||
strcpy(line, "");
|
||||
}
|
||||
|
||||
// generate argurments
|
||||
if(strstr(line, "<arguments>") != NULL)
|
||||
if (strstr(line, "<arguments>") != NULL)
|
||||
{
|
||||
fputs(line, destination);
|
||||
snprintf(line, max_line_size, " <arg>--bootios=%d</arg>\n", Settings.BootIOS);
|
||||
@ -96,14 +93,14 @@ int editMetaArguments (void)
|
||||
snprintf(line, max_line_size, " <arg>--mountusb=%d</arg>\n", Settings.USBAutoMount);
|
||||
fputs(line, destination);
|
||||
|
||||
while(strstr(line, "</arguments>") == NULL)
|
||||
while (strstr(line, "</arguments>") == NULL)
|
||||
{
|
||||
fgets(line, max_line_size, source); // advance one line
|
||||
if(feof(source))
|
||||
if (feof(source))
|
||||
{
|
||||
fclose(source);
|
||||
fclose(destination);
|
||||
delete [] line;
|
||||
delete[] line;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -113,7 +110,7 @@ int editMetaArguments (void)
|
||||
|
||||
fclose(source);
|
||||
fclose(destination);
|
||||
delete [] line;
|
||||
delete[] line;
|
||||
|
||||
if(CopyFile(metatmppath, metapath) <0)
|
||||
return 0;
|
||||
|
@ -24,7 +24,7 @@
|
||||
#ifndef _META_H_
|
||||
#define _META_H_
|
||||
|
||||
int updateMetaXML(void);
|
||||
int editMetaArguments(void);
|
||||
int updateMetaXML();
|
||||
int editMetaArguments();
|
||||
|
||||
#endif
|
||||
|
@ -239,7 +239,7 @@ void Sys_LoadHBC(void)
|
||||
|
||||
bool RebootApp(void)
|
||||
{
|
||||
// be sure to use current settings as arguments
|
||||
// Be sure to use current settings as arguments
|
||||
editMetaArguments();
|
||||
|
||||
#ifdef FULLCHANNEL
|
||||
@ -251,12 +251,12 @@ bool RebootApp(void)
|
||||
// Load meta.xml arguments
|
||||
char filepath[255];
|
||||
HomebrewXML MetaXML;
|
||||
snprintf(filepath, sizeof(filepath), "%s/meta.xml", Settings.update_path);
|
||||
snprintf(filepath, sizeof(filepath), "%smeta.xml", Settings.ConfigPath);
|
||||
MetaXML.LoadHomebrewXMLData(filepath);
|
||||
|
||||
u8 *buffer = NULL;
|
||||
u32 filesize = 0;
|
||||
snprintf(filepath, sizeof(filepath), "%s/boot.dol", Settings.update_path);
|
||||
snprintf(filepath, sizeof(filepath), "%sboot.dol", Settings.ConfigPath);
|
||||
LoadFileToMem(filepath, &buffer, &filesize);
|
||||
if(!buffer)
|
||||
{
|
||||
@ -299,12 +299,6 @@ void ScreenShot()
|
||||
// Create the full pathname.
|
||||
snprintf(fullPath, sizeof(fullPath), "%s%s", Settings.ConfigPath, filename);
|
||||
|
||||
if(!CreateSubfolder(Settings.ConfigPath))
|
||||
{
|
||||
gprintf("Can't create screenshot folder\n");
|
||||
return;
|
||||
}
|
||||
|
||||
TakeScreenshot(fullPath);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user