mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-12-24 19:01:56 +01:00
-using way easier way to see if DML is installed
(thanks crediar for pointing out a for loop is more intelligent)
This commit is contained in:
parent
af589b404e
commit
135b180264
@ -241,8 +241,15 @@ void CMenu::init(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_show_dml = MIOSisDML();
|
if(m_cfg.getBool("DML", "always_show_button", false))
|
||||||
|
{
|
||||||
|
gprintf("Force enabling DML view\n");
|
||||||
|
m_show_dml = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_show_dml = MIOSisDML();
|
||||||
|
|
||||||
m_cfg.getString("NAND", "path", "").c_str();
|
m_cfg.getString("NAND", "path", "").c_str();
|
||||||
m_cfg.getInt("NAND", "partition", 0);
|
m_cfg.getInt("NAND", "partition", 0);
|
||||||
m_cfg.getBool("NAND", "disable", true);
|
m_cfg.getBool("NAND", "disable", true);
|
||||||
@ -2077,50 +2084,23 @@ void CMenu::UpdateCache(u32 view)
|
|||||||
|
|
||||||
bool CMenu::MIOSisDML()
|
bool CMenu::MIOSisDML()
|
||||||
{
|
{
|
||||||
if(m_cfg.getBool("DML", "always_show_button", false))
|
u32 size = 0;
|
||||||
|
u8 *appfile = ISFS_GetFile((u8*)"/title/00000001/00000101/content/0000000c.app", &size, 0);
|
||||||
|
if(appfile)
|
||||||
{
|
{
|
||||||
gprintf("Force enabling DML view\n");
|
for(u32 i=0; i < size; ++i)
|
||||||
return true;
|
{
|
||||||
}
|
if(*(u32*)(appfile+i) == 0x44494F53)
|
||||||
|
|
||||||
u32 length;
|
|
||||||
if( ES_GetStoredTMDSize( 0x100000101LL, &length ) < 0 )
|
|
||||||
return false;
|
|
||||||
|
|
||||||
signed_blob *TMD = (signed_blob*)MEM2_alloc( ALIGN32(length) );
|
|
||||||
if( !TMD )
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if( ES_GetStoredTMD( 0x100000101LL, TMD, length ) < 0 )
|
|
||||||
{
|
|
||||||
SAFE_FREE( TMD );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( *(u16*)((u32)TMD+0x1E2) )
|
|
||||||
{
|
|
||||||
u32 size = 0;
|
|
||||||
char path[256];
|
|
||||||
sprintf( path, "/title/00000001/00000101/content/%.08x.app", *(u8*)((u32)TMD+0x1E7) );
|
|
||||||
u8 *appfile = ISFS_GetFile( (u8 *)path, &size, 0x10 );
|
|
||||||
if(appfile)
|
|
||||||
{
|
|
||||||
if( *(u32*)appfile == 0x6D696F73 )
|
|
||||||
{
|
{
|
||||||
if( *(u32*)(appfile+0x08) == 0x38323430 && *(u32*)(appfile+0x0c) == 0x32353300 )
|
gprintf("DML is installed as MIOS\n");
|
||||||
{
|
SAFE_FREE(appfile);
|
||||||
if( *(u16*)((u32)TMD+0x1E2) != 0x037B )
|
return true;
|
||||||
{
|
|
||||||
gprintf( "MIOSisDML: YES!\n" );
|
|
||||||
SAFE_FREE( TMD );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gprintf( "MIOSisDML: No!\n" );
|
|
||||||
SAFE_FREE(TMD);
|
SAFE_FREE(appfile);
|
||||||
|
gprintf("DML is not installed as MIOS\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user