diff --git a/installer/wad/0001000154484246.tmd b/installer/wad/0001000154484246.tmd
index 0c7adc5..067a1f4 100644
Binary files a/installer/wad/0001000154484246.tmd and b/installer/wad/0001000154484246.tmd differ
diff --git a/main/source/BootHomebrew/BootHomebrew.cpp b/main/source/BootHomebrew/BootHomebrew.cpp
index e012443..e27dae0 100644
--- a/main/source/BootHomebrew/BootHomebrew.cpp
+++ b/main/source/BootHomebrew/BootHomebrew.cpp
@@ -241,17 +241,31 @@ int BootHomebrew()
//as we already shut down the uneek_fs system
//so it will always return false
- if (in_neek == false && !wiiload)
+ if (in_neek == false)
{
- if(Settings.force_reload == "HW_AHBPROT")
+ if(wiiload)
{
- //keep ahbprot rights in new ios
- Patch_ahbprot();
- }
+ if(Options.wiiload_ahb == 2)
+ {
+ Patch_ahbprot();
+ }
- if(Settings.force_reload != "NORELOAD")
+ if(Options.wiiload_ahb != 0)
+ {
+ IOS_ReloadIOS(SelectedIOS());
+ }
+ }
+ else
{
- IOS_ReloadIOS(SelectedIOS());
+ if(Settings.force_reload == "HW_AHBPROT")
+ {
+ Patch_ahbprot();
+ }
+
+ if(Settings.force_reload != "NORELOAD")
+ {
+ IOS_ReloadIOS(SelectedIOS());
+ }
}
}
diff --git a/main/source/Menus/menu_settings_file.cpp b/main/source/Menus/menu_settings_file.cpp
index 9695271..981d5c4 100644
--- a/main/source/Menus/menu_settings_file.cpp
+++ b/main/source/Menus/menu_settings_file.cpp
@@ -25,6 +25,7 @@ int temp_apps;
bool temp_quick_start;
bool temp_show_all;
int temp_device_icon;
+int temp_wiiload_ahb;
bool temp_navigation;
string temp_device_dat;
@@ -44,6 +45,7 @@ int MenuSettingsFile()
bool quick_start = Options.quick_start;
bool show_all = Options.show_all;
int device_icon = Options.device_icon;
+ int wiiload_ahb = Options.wiiload_ahb;
bool childlock;
if(strcasecmp(Settings.code,"NULL") == 0 )
childlock = 0;
@@ -68,6 +70,7 @@ int MenuSettingsFile()
sprintf(options.name[i++], tr("Show All"));
sprintf(options.name[i++], tr("Storage Device"));
sprintf(options.name[i++], tr("Device icon"));
+ sprintf(options.name[i++], tr("Wiiload IOS"));
sprintf(options.name[i++], tr("Childlock"));
sprintf(options.name[i++], tr("Navigation key exchange"));
sprintf(options.name[i++], tr("Display"));
@@ -179,6 +182,14 @@ int MenuSettingsFile()
device_icon = change;
break;
+ case WIILOAD_AHB:
+ change = wiiload_ahb;
+ change++;
+ if(change > 2)
+ change = 3;
+ wiiload_ahb = change;
+ break;
+
case STORAGE_DEVICE:
device_dat = "USB";
sprintf (options.value[STORAGE_DEVICE], device_dat.c_str());
@@ -237,6 +248,14 @@ int MenuSettingsFile()
device_icon = change;
break;
+ case WIILOAD_AHB:
+ change = wiiload_ahb;
+ change --;
+ if(change < 0)
+ change = 0;
+ wiiload_ahb = change;
+ break;
+
case STORAGE_DEVICE:
device_dat = "SD";
sprintf (options.value[STORAGE_DEVICE], device_dat.c_str());
@@ -263,6 +282,7 @@ int MenuSettingsFile()
temp_quick_start = quick_start;
temp_show_all = show_all;
temp_device_icon = device_icon;
+ temp_wiiload_ahb = wiiload_ahb;
temp_device_dat = device_dat;
temp_navigation = navigation;
/******************************************************************************/
@@ -316,6 +336,7 @@ int MenuSettingsFile()
quick_start = temp_quick_start;
show_all = temp_show_all;
device_icon = temp_device_icon;
+ wiiload_ahb = temp_wiiload_ahb;
if(strcasecmp(Options.temp_code,"NULL") == 0 )
childlock = 0;
else
@@ -368,6 +389,13 @@ int MenuSettingsFile()
else if(device_icon == 3)
sprintf (options.value[DEVICE_ICON], tr("All"));
+ if(wiiload_ahb == 0)
+ sprintf (options.value[WIILOAD_AHB], tr("No IOS Reload"));
+ else if(wiiload_ahb == 1)
+ sprintf (options.value[WIILOAD_AHB], tr("IOS Reload"));
+ else if(wiiload_ahb == 2)
+ sprintf (options.value[WIILOAD_AHB], tr("AHB Access"));
+
if(!navigation)
sprintf (options.value[NAVIGATION], tr("No"));
else
@@ -435,6 +463,7 @@ int MenuSettingsFile()
Options.quick_start = quick_start;
Options.show_all = show_all;
Options.device_icon = device_icon;
+ Options.wiiload_ahb = wiiload_ahb;
device_dat = options.value[STORAGE_DEVICE];
Options.navigation = navigation;
Options.network = Options.temp_network;
@@ -498,4 +527,4 @@ int MenuSettingsFile()
mainWindow->Remove(&optionBrowser);
mainWindow->Remove(&w);
return menu;
-}
\ No newline at end of file
+}
diff --git a/main/source/Menus/menus.h b/main/source/Menus/menus.h
index 74438ca..4e4d58b 100644
--- a/main/source/Menus/menus.h
+++ b/main/source/Menus/menus.h
@@ -28,6 +28,7 @@ enum
SHOW_ALL,
STORAGE_DEVICE,
DEVICE_ICON,
+ WIILOAD_AHB,
CHILDLOCK,
NAVIGATION,
DISPLAY,
diff --git a/main/source/Tools/load.cpp b/main/source/Tools/load.cpp
index 5b41084..0765583 100644
--- a/main/source/Tools/load.cpp
+++ b/main/source/Tools/load.cpp
@@ -130,6 +130,9 @@ void load()
if(get_setting(source, "device_icon") != "")
Options.device_icon = atoi(get_setting(source, "device_icon").c_str());
+ if(get_setting(source, "wiiload_ahb") != "")
+ Options.wiiload_ahb = atoi(get_setting(source, "wiiload_ahb").c_str());
+
if(get_setting(source, "system") != "")
Settings.system = atoi(get_setting(source, "system").c_str());
diff --git a/main/source/Tools/save.cpp b/main/source/Tools/save.cpp
index d68e450..0c9577e 100644
--- a/main/source/Tools/save.cpp
+++ b/main/source/Tools/save.cpp
@@ -109,6 +109,7 @@ void save()
save_settings << "device = \"" << Settings.device << "\"" << endl;
save_settings << "device_dat = \"" << Settings.device_dat << "\"" << endl;
save_settings << "device_icon = \"" << Options.device_icon << "\"" << endl;
+ save_settings << "wiiload_ahb = \"" << Options.wiiload_ahb << "\"" << endl;
save_settings << "system = \"" << Settings.system << "\"" << endl;
save_settings << "top = \"" << Settings.top << "\"" << endl;
save_settings << "bottom = \"" << Settings.bottom << "\"" << endl;
diff --git a/main/source/main.h b/main/source/main.h
index 6f0dd25..6cc2197 100644
--- a/main/source/main.h
+++ b/main/source/main.h
@@ -128,6 +128,7 @@ struct SOptions
bool navigation;
bool network;
bool newrevtext;
+ int wiiload_ahb;
};
extern struct SOptions Options;
diff --git a/updates b/updates
index b8d28a4..0b1e58e 100644
--- a/updates
+++ b/updates
@@ -7,10 +7,11 @@
- support for SD-Gecko and neek2o in HBF booter (obcd)
- improved meta.xml arguements for IOS-reload/HW_AHBPROT
- : preserve HW_AHBPROT and reload the selected IOS
- - : do nothing
+ - : alias for (compat with HBC)
- or nothing: just reload the selected IOS
- - if we are in neek2o or start an app via wiiload, we have like
- would have been given
+ - if we are in neek2o we do nothing
+ - for wiiload there is now an options to choose what to do
+- BUGFIX: fix compilation with libOGC 1.8.11 and newer
//rev38:
- changes to the app-info dialog: