add support for <force_ios_reload/> in meta.xml

This commit is contained in:
Christopher Roy Bratusek 2012-04-13 20:33:10 +02:00
parent a1a5052daf
commit 5ccce4d0de
7 changed files with 16 additions and 6 deletions

Binary file not shown.

View File

@ -223,6 +223,7 @@ int BootHomebrew()
arg_add(parser(Settings.forwarder_arg, "<arg>", "</arg>").c_str());
Settings.forwarder_arg.erase(0, Settings.forwarder_arg.find("</arg>") +1);
}
}
if ( valid_elf_image(homebrewbuffer) == 1 )
@ -241,7 +242,7 @@ int BootHomebrew()
if(!wiiload_args)
{
if(SelectedIOS() != IOS_GetVersion())
if(SelectedIOS() != IOS_GetVersion() || Settings.force_reload != "")
{
//keep ahbprot rights in new ios
Patch_ahbprot();

View File

@ -937,6 +937,7 @@ int MenuMain()
{
Settings.forwarder_path = vechomebrew_list_choice[i].pathboot;
Settings.forwarder_arg = vechomebrew_list_choice[i].arg.c_str();
Settings.force_reload = vechomebrew_list_choice[i].force_reload.c_str();
boothomebrew = true;
menu = MENU_EXIT;
}

View File

@ -49,7 +49,7 @@ void add(string device, string apps_path)
{
sprintf(pathmeta, (device + ":/" + apps_path + "%s/meta.xml").c_str() ,pent->d_name);
string line, quelltext, name, info, foldername, iconpath, arg;
string line, quelltext, name, info, foldername, iconpath, arg, force_reload;
ifstream in(pathmeta);
while(getline(in, line))
quelltext = quelltext + line + "\n";
@ -70,6 +70,8 @@ void add(string device, string apps_path)
arg = parser(quelltext, "<arguments>", "</arguments>");
force_reload = parser(quelltext, "<force_ios_reload", ">");
size_t amount_read;
FILE *fp = fopen(iconpath.c_str(),"r"); //open the png file
if(fp) //make sure the file exists
@ -88,7 +90,7 @@ void add(string device, string apps_path)
}
fclose(fp); //close file
vechomebrew_list_category[0].push_back(homebrew_list(name, info, foldername, icon, pathboot, arg));
vechomebrew_list_category[0].push_back(homebrew_list(name, info, foldername, icon, pathboot, arg, force_reload));
}
}
closedir(pdir);

View File

@ -76,7 +76,8 @@ void copy_app_in_unassigned()
vechomebrew_list_category[0][i].foldername,
vechomebrew_list_category[0][i].icon,
vechomebrew_list_category[0][i].pathboot,
vechomebrew_list_category[0][i].arg
vechomebrew_list_category[0][i].arg,
vechomebrew_list_category[0][i].force_reload
));
}
}
@ -145,7 +146,8 @@ void copy_app_in_category(int category) //Apps im Kategorie kopieren
vechomebrew_list_category[0][i].foldername,
vechomebrew_list_category[0][i].icon,
vechomebrew_list_category[0][i].pathboot,
vechomebrew_list_category[0][i].arg
vechomebrew_list_category[0][i].arg,
vechomebrew_list_category[0][i].force_reload
));
break;

View File

@ -29,7 +29,7 @@ class homebrew_list
{
public:
// default constructor
homebrew_list(string name, string info, string foldername, u8 *icon, string pathboot, string arg)
homebrew_list(string name, string info, string foldername, u8 *icon, string pathboot, string arg, string force_reload)
{
this->name = name;
this->info = info;
@ -37,6 +37,7 @@ public:
this->icon = icon;
this->pathboot = pathboot;
this->arg = arg;
this->force_reload = force_reload;
}
string name;
string info;
@ -44,6 +45,7 @@ public:
u8 *icon;
string pathboot;
string arg;
string force_reload;
};
extern std::vector<homebrew_list> vechomebrew_list_category[99];
extern std::vector<homebrew_list> vechomebrew_list_unassigned;
@ -86,6 +88,7 @@ struct SSettings
string forwarder_path;
string startingAppName;
string forwarder_arg;
string force_reload;
int Apps_from;
int Apps_to;

View File

@ -17,6 +17,7 @@
- installer now supports Classic-Controller
- installer now supports GameCube-Controller
- installer loads HomebrewFilter rather than returning to Systemmenu
- add support for <force_ios_reload/> flag in meta.xml
- adopt libwiigui changes from ZERO
- BUGFIX: loading apps through wiiload works again
- support passing arguements using wiiload [obcd]