bump version to rev47

- build against libruntimeiospatch 1.5.3
- only scan list of available IOS once per session
- disable 'SD Card Gecko' by default (debug log on SD Card),
  because it's causing a MASSIVE slow down when opening an
  app's details dialog the first time in a session, when
  using a shitty class 2 or whatever SD Card
- fixed that newly build vWii forwarder accidently was the
  same than the Wii forwarder
- fixup BootMii (IOS) detection on Wii
- fixup showing device icon for apps
- add ISO0 (any version) to list of known stub IOS
  (it's a custom IOS installed by several old apps)
- update german translation
This commit is contained in:
Christopher Roy Bratusek 2016-08-16 22:56:10 +02:00
parent 55965dcd33
commit 0f4e0d9e40
11 changed files with 124 additions and 109 deletions

Binary file not shown.

Binary file not shown.

View File

@ -409,7 +409,7 @@ int MenuMain()
// device symbol anzeigen
GuiImage * viewdevice = NULL;
if((Options.device_icon == 1 || Options.device_icon == 3) && (Settings.device == "sd_usb" || Settings.device == "all"))
if(Options.device_icon == 1 || Options.device_icon == 3)
{
bool icon = false;
if(strncmp(vechomebrew_list_choice[i].foldername.c_str(), "sd", 2) == 0)

View File

@ -59,7 +59,7 @@ AppInfo(const char *title, string dir, u8* icon)
GuiImage * viewdevice = NULL;
if((Options.device_icon == 2 || Options.device_icon == 3) && (Settings.device == "sd_usb" || Settings.device == "all"))
if(Options.device_icon == 2 || Options.device_icon == 3)
{
bool icon = false;
if(strncmp(dir.c_str(), "sd", 2) == 0)

View File

@ -83,7 +83,6 @@ loaderPrompt()
bool stop = false;
int menu = 0;
listIOS();
#ifndef VWII
if( ! priicheck )
{

View File

@ -190,6 +190,7 @@ end:
// Check if this is an IOS stub (according to WiiBrew.org)
bool IsKnownStub(u32 noIOS, s32 noRevision)
{
if (noIOS == 0) return true;
if (noIOS == 3 && noRevision == 65280) return true;
if (noIOS == 4 && noRevision == 65280) return true;
if (noIOS == 5 && noRevision == 65280) return true;
@ -262,107 +263,106 @@ int previousIos()
bool listIOS()
{
if(ios_pos > 0)
return true;
ioslist.clear();
u32 nbTitles;
if (ES_GetNumTitles(&nbTitles) < 0)
return false;
// Allocate the memory for titles
u64 *titles = (u64*)memalign(32, nbTitles*sizeof(u64));
if (titles == NULL)
return false;
if (ES_GetTitles(titles, nbTitles) < 0)
return false;
int i;
u32 titleID;
// For each titles found
for (i = 0; i < (signed)nbTitles; i++)
if(ioslist.size() == 0)
{
// Skip non-system titles
if (titles[i] >> 32 != 1) continue;
// Skip the system menu
titleID = titles[i] & 0xFFFFFFFF;
if (titleID == 2) continue;
// Skip BC, MIOS and possible other non-IOS titles
if (titleID > 0xFF) continue;
// Skip the running IOS
if (titleID == 0) continue;
// Skip NAND-Emu IOS
if (titleID == 253)
{
nandemu = 1;
continue;
}
// Skip bootmii IOS
if (titleID == 254) continue;
// Check if this title is an IOS stub
u32 tmdSize;
tmd *iosTMD ATTRIBUTE_ALIGN(32);
// Get the stored TMD size for the title
if (ES_GetStoredTMDSize(0x0000000100000000ULL | titleID, &tmdSize) < 0)
u32 nbTitles;
if (ES_GetNumTitles(&nbTitles) < 0)
return false;
signed_blob *iosTMDBuffer = (signed_blob *)memalign(32, (tmdSize+32)&(~31));
memset(iosTMDBuffer, 0, tmdSize);
// Allocate the memory for titles
u64 *titles = (u64*)memalign(32, nbTitles*sizeof(u64));
// Get the stored TMD for the title
if (ES_GetStoredTMD(0x0000000100000000ULL | titleID, iosTMDBuffer, tmdSize) < 0)
if (titles == NULL)
return false;
iosTMD = (tmd *)SIGNATURE_PAYLOAD(iosTMDBuffer);
if (ES_GetTitles(titles, nbTitles) < 0)
return false;
free(iosTMDBuffer);
int i;
u32 titleID;
// Get the title version
u8 noVersion = iosTMD->title_version;
bool isStub = false;
// Check if this is an IOS stub (according to WiiBrew.org)
if (IsKnownStub(titleID, iosTMD->title_version))
isStub = true;
else
// For each titles found
for (i = 0; i < (signed)nbTitles; i++)
{
// If the version is 00, it's probably a stub
//
// Stubs have these things in common:
// - Title version is mostly 65280, or even better, the last 2 hexadecimal digits are 0;
// - Stub have one app of their own (type 0x1) and 2 shared apps (type 0x8001).
if (noVersion == 0)
isStub = ((iosTMD->num_contents == 3) && (iosTMD->contents[0].type == 1 && iosTMD->contents[1].type == 0x8001 && iosTMD->contents[2].type == 0x8001));
else
isStub = false;
}
// Skip non-system titles
if (titles[i] >> 32 != 1) continue;
xprintf("testing IOS: %d\n", titleID);
// Skip the system menu
titleID = titles[i] & 0xFFFFFFFF;
if(!isStub)
{
if(titleID == 254)
{
bootmii = 1;
if (titleID == 2) continue;
// Skip BC, MIOS and possible other non-IOS titles
if (titleID > 0xFF) continue;
// Skip the running IOS
if (titleID == 0) continue;
// Skip NAND-Emu IOS
if (titleID == 253)
{
nandemu = 1;
continue;
}
xprintf("added IOS%d to list.\n", titleID);
ioslist.push_back(titleID);
}
// Check if this title is an IOS stub
u32 tmdSize;
tmd *iosTMD ATTRIBUTE_ALIGN(32);
// Get the stored TMD size for the title
if (ES_GetStoredTMDSize(0x0000000100000000ULL | titleID, &tmdSize) < 0)
return false;
signed_blob *iosTMDBuffer = (signed_blob *)memalign(32, (tmdSize+32)&(~31));
memset(iosTMDBuffer, 0, tmdSize);
// Get the stored TMD for the title
if (ES_GetStoredTMD(0x0000000100000000ULL | titleID, iosTMDBuffer, tmdSize) < 0)
return false;
iosTMD = (tmd *)SIGNATURE_PAYLOAD(iosTMDBuffer);
free(iosTMDBuffer);
// Get the title version
u8 noVersion = iosTMD->title_version;
bool isStub = false;
// Check if this is an IOS stub (according to WiiBrew.org)
if (IsKnownStub(titleID, iosTMD->title_version))
isStub = true;
else
{
// If the version is 00, it's probably a stub
//
// Stubs have these things in common:
// - Title version is mostly 65280, or even better, the last 2 hexadecimal digits are 0;
// - Stub have one app of their own (type 0x1) and 2 shared apps (type 0x8001).
if (noVersion == 0)
isStub = ((iosTMD->num_contents == 3) && (iosTMD->contents[0].type == 1 && iosTMD->contents[1].type == 0x8001 && iosTMD->contents[2].type == 0x8001));
else
isStub = false;
}
xprintf("testing IOS: %d\n", titleID);
if(!isStub)
{
if (titleID == 254) {
bootmii = 1;
continue;
}
xprintf("added IOS%d to list.\n", titleID);
ioslist.push_back(titleID);
}
}
std::sort( ioslist.begin(), ioslist.end() ); // sortieren
return true;
}
std::sort( ioslist.begin(), ioslist.end() ); // sortieren
return true;
else
return true;
}

View File

@ -92,7 +92,7 @@ void addAppIos(string foldername, int ios)
}
if(found)
appios[i].ios = ios;
if(!found)
else
appios.push_back(app_ios(foldername, ios));
}
}
@ -106,7 +106,9 @@ void ExitApp()
save();
xprintf("Unmount Devices and NAND\n");
UnmountAllDevices();
#ifndef VWII
exit_uneek_fs();
#endif
ISFS_Deinitialize();
}
@ -177,7 +179,7 @@ DefaultOptions()
Options.apps = 4;
Options.quick_start = 0;
Options.show_all = 1;
Options.sdgecko = 1;
Options.sdgecko = 0;
#ifndef VWII
Options.bootmii_boot2 = 0;
#endif
@ -197,7 +199,9 @@ main(int argc, char *argv[])
SetupPads(); // Initialize input
InitGUIThreads(); // Initialize GUI
#ifndef VWII
in_neek = init_uneek_fs(ISFS_OPEN_READ|ISFS_OPEN_WRITE);
#endif
MountAllDevices();
InitNetworkThread(); // Initialize Network
@ -207,7 +211,7 @@ main(int argc, char *argv[])
InitGeckoThread();
#endif
InitThrobberThread(); // Initialize Throbber
ISFS_Initialize(); // Initialize Nand
ISFS_Initialize(); // Initialize Nand
LoadHBF();
@ -248,17 +252,13 @@ main(int argc, char *argv[])
strftime(buffer, 80, "(%Y-%m-%d / %H:%M:%S)", current);
xprintf("\nStarting HBF Debug Log %s\n", buffer);
#ifndef VWII
if(!check_uneek_fs())
{
#endif
if(AHBPROT_DISABLED)
{
IosPatch_RUNTIME(true, false, false, false);
}
else
{
xprintf("Warning: no AHBPROT\n");
}
}
#ifndef VWII
DI2_Init(); // Init DVD
#endif

View File

@ -1,4 +1,4 @@
#define SVN_REV 46
#define SVN_REV 47
int SvnRev()
{

View File

@ -7,7 +7,7 @@ Delete Category = Kategorie löschen
Remove Category = Kategorie entfernen
Select Category (-/+) = Kategorie auswählen (-/+)
Options = Optionen
Info =
Info = Über
Really remove? = Wirklich entfernen?
Delete Forever? = Endgültig löschen?
Yes = Ja
@ -30,21 +30,20 @@ All = Alle
unassigned = nicht zugeordnet
<no description> = <keine Beschreibung>
Page %i of %i = Seite %i von %i
STANDARD =
Theme =
Themes =
STANDARD = Standard
Language = Sprache
Languages = Sprachen
Font = Schriftart
Fonts = Schriftarten
Slide Effect = Slide Effekt
Slide Effect = Übergangs-Effekt
Category remember = Kategorie merken
last = letzte
Number of Apps = Anzahl Apps
Move = Verschieben
Credits = Danksagungen
Version: =
Coder: = Programmierer:
Coder: = Entwickler:
Developers: = Entwickler:
Designer: =
Special thanks to: = Besonderen Dank an:
activated = aktiviert
@ -52,11 +51,11 @@ Activate = Aktivieren
Deactivate = Deaktivieren
Change Code = Code ändern
please wait = Bitte warten
Update =
Update = Aktualisierung
Download =
New Rev is available for download = Neue Rev steht zum Download bereit
Downloading file... = Lade Datei herunter...
Do you want to update now ? = Jetzt updaten?
Do you want to update now ? = Jetzt aktualisieren?
Initialise network... = Initialisiere Netzwerk...
Do you want to reboot now ? = Jetzt neu starten?
Display = Bildschirm
@ -66,7 +65,7 @@ Exit to System Menu = Beenden, zum Systemmenü
Exit = Beenden
Network Settings = Netzwerk
Auto Connect = Automatisch verbinden
Update Info = Update-Info
Update Info = Aktualisierungs-Info
No network connection = Keine Netzwerkverbindung
Error = Fehler
Error while reading file = Fehler beim Lesen der Datei
@ -92,5 +91,7 @@ Theme = Thema
Themes = Themen
External Applications = Externe Anwendungen
Launch Settings Editor GUI = Settings Editor GUI starten
Exit to Wii U menu = Beenden, zum Wii U Menü
Exit to Wii U menu = Beenden, zum Wii-U-Menü
Restart HBF = HBF neu starten
Launch BootMii (IOS) = BootMii (IOS) starten
Launch BootMii (Boot2) = BootMii (Boot2) starten

View File

@ -1,3 +1,18 @@
//rev47:
- build against libruntimeiospatch 1.5.3
- only scan list of available IOS once per session
- disable 'SD Card Gecko' by default (debug log on SD Card),
because it's causing a MASSIVE slow down when opening an
app's details dialog the first time in a session, when
using a shitty class 2 or whatever SD Card
- fixed that newly build vWii forwarder accidently was the
same than the Wii forwarder
- fixup BootMii (IOS) detection on Wii
- fixup showing device icon for apps
- add ISO0 (any version) to list of known stub IOS
(it's a custom IOS installed by several old apps)
- update german translation
//rev46:
- fix size and layout of device prompt in vWii builds
- remove 'All' button from device prompt in vWii builds