mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-01 00:55:06 +01:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d24a16e5c3 | ||
|
80e4ed0170 | ||
|
3335cf53bd | ||
|
88c6fdb6bd | ||
|
26146cf895 | ||
|
6c1e85279e | ||
|
a1f72297e3 | ||
|
3927544c93 | ||
|
48fdaf50e2 | ||
|
c7e49fa617 | ||
|
a0ef54af49 | ||
c5c769675a | |||
|
c49df74c65 |
@ -22,6 +22,10 @@ Other wiiflow lite themes can be found on the wiki linked below. but they need t
|
|||||||
## Useful Links
|
## Useful Links
|
||||||
[WiiFlow Lite GBATemp thread](https://gbatemp.net/threads/wiiflow-lite.422685/)
|
[WiiFlow Lite GBATemp thread](https://gbatemp.net/threads/wiiflow-lite.422685/)
|
||||||
|
|
||||||
[WiiFlow Wiki](https://sites.google.com/site/wiiflowiki4/)
|
[WiiFlow Wiki](https://web.archive.org/web/20220414124727/https://sites.google.com/site/wiiflowiki4/)
|
||||||
|
|
||||||
|
[Newer Wiki WIP](https://sites.google.com/view/wiiflow-wiki/welcome)
|
||||||
|
|
||||||
|
[Github Wiki](https://github.com/Fledge68/WiiFlow_Lite/wiki)
|
||||||
|
|
||||||
[Old Sourceforge Project Repository](https://sourceforge.net/projects/wiiflow-lite/)
|
[Old Sourceforge Project Repository](https://sourceforge.net/projects/wiiflow-lite/)
|
||||||
|
Binary file not shown.
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 4.4 MiB After Width: | Height: | Size: 4.4 MiB |
@ -59,6 +59,11 @@ typedef struct _uid
|
|||||||
u16 uid;
|
u16 uid;
|
||||||
} ATTRIBUTE_PACKED uid;
|
} ATTRIBUTE_PACKED uid;
|
||||||
|
|
||||||
|
typedef struct _contentMapEntry {
|
||||||
|
char sharedID[8];
|
||||||
|
u8 sha1hash[20];
|
||||||
|
} ATTRIBUTE_PACKED contentMapEntry;
|
||||||
|
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::min;
|
using std::min;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
#define APP_NAME "WiiFlow WFL"
|
#define APP_NAME "WiiFlow WFL"
|
||||||
#define APP_VERSION "5.5.4"
|
#define APP_VERSION "5.5.4-1"
|
||||||
|
|
||||||
#define APP_DATA_DIR "wiiflow"
|
#define APP_DATA_DIR "wiiflow"
|
||||||
#define APPS_DIR "apps/wiiflow"
|
#define APPS_DIR "apps/wiiflow"
|
||||||
|
@ -46,6 +46,7 @@ void ListGenerator::Init(const char *settingsDir, const char *Language,
|
|||||||
if(Language != NULL) gameTDB_Language = Language;
|
if(Language != NULL) gameTDB_Language = Language;
|
||||||
if(plgnsDataDir != NULL) pluginsDataDir = fmt("%s", plgnsDataDir);
|
if(plgnsDataDir != NULL) pluginsDataDir = fmt("%s", plgnsDataDir);
|
||||||
|
|
||||||
|
gprintf("ListGenerator: fileNameSkipPattern=%s\n", fileNameSkipPattern.c_str());
|
||||||
fileNameSkipRegex = std::regex(fileNameSkipPattern,
|
fileNameSkipRegex = std::regex(fileNameSkipPattern,
|
||||||
std::regex_constants::extended |
|
std::regex_constants::extended |
|
||||||
std::regex_constants::icase);
|
std::regex_constants::icase);
|
||||||
@ -276,7 +277,7 @@ static void Add_Plugin_Game(char *FullPath)
|
|||||||
|
|
||||||
if (std::regex_search(std::string(FullPath), fileNameSkipRegex))
|
if (std::regex_search(std::string(FullPath), fileNameSkipRegex))
|
||||||
{
|
{
|
||||||
//gprintf("Add_Plugin_Game: skipping '%s'\n", FullPath);
|
gprintf("Add_Plugin_Game: skipping '%s'\n", FullPath);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,8 @@ int main(int argc, char **argv)
|
|||||||
gprintf(" \nWelcome to %s %s!\nThis is the debug output.\n", APP_NAME, APP_VERSION);
|
gprintf(" \nWelcome to %s %s!\nThis is the debug output.\n", APP_NAME, APP_VERSION);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char *gameid = NULL;
|
char gameid[6];
|
||||||
|
memset(&gameid, 0, sizeof(gameid));
|
||||||
bool wait_loop = false;
|
bool wait_loop = false;
|
||||||
char wait_dir[256];
|
char wait_dir[256];
|
||||||
memset(&wait_dir, 0, sizeof(wait_dir));
|
memset(&wait_dir, 0, sizeof(wait_dir));
|
||||||
@ -61,15 +62,18 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
else if(strcasestr(argv[i], "Waitloop") != NULL)
|
else if(strcasestr(argv[i], "Waitloop") != NULL)
|
||||||
wait_loop = true;
|
wait_loop = true;
|
||||||
else if(strlen(argv[i]) == 6)
|
else if(strlen(argv[i]) == 6 || strlen(argv[i]) == 4)
|
||||||
{
|
{
|
||||||
gameid = argv[i];
|
strcpy(gameid, argv[i]);
|
||||||
for(u8 i = 0; i < 5; i++)
|
for(u8 j = 0; j < strlen(gameid) - 1; j++)
|
||||||
{
|
{
|
||||||
if(!isalnum(gameid[i]))
|
if(!isalnum(gameid[j]))
|
||||||
gameid = NULL;
|
{
|
||||||
|
gameid[0] = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/* Init video */
|
/* Init video */
|
||||||
@ -142,7 +146,7 @@ int main(int argc, char **argv)
|
|||||||
bool usb_mounted = DeviceHandle.MountAllUSB();// only mounts any USB if !sdOnly
|
bool usb_mounted = DeviceHandle.MountAllUSB();// only mounts any USB if !sdOnly
|
||||||
|
|
||||||
/* init wait images and show wait animation */
|
/* init wait images and show wait animation */
|
||||||
if(gameid == NULL)// dont show if autobooting a wii game.
|
if(strlen(gameid) == 0)// dont show if autobooting a wii game.
|
||||||
{
|
{
|
||||||
m_vid.setCustomWaitImgs(wait_dir, wait_loop);
|
m_vid.setCustomWaitImgs(wait_dir, wait_loop);
|
||||||
m_vid.waitMessage(0.15f);
|
m_vid.waitMessage(0.15f);
|
||||||
@ -161,7 +165,7 @@ int main(int argc, char **argv)
|
|||||||
startup_successful = true;
|
startup_successful = true;
|
||||||
if(!isWiiVC)
|
if(!isWiiVC)
|
||||||
writeStub();// copy return stub to memory
|
writeStub();// copy return stub to memory
|
||||||
if(!isWiiVC && gameid != NULL && strlen(gameid) == 6)// if argv game ID then launch it
|
if(!isWiiVC && strlen(gameid) != 0)// if argv game ID then launch it
|
||||||
mainMenu.directlaunch(gameid);
|
mainMenu.directlaunch(gameid);
|
||||||
else
|
else
|
||||||
mainMenu.main();// start wiiflow with main menu displayed
|
mainMenu.main();// start wiiflow with main menu displayed
|
||||||
|
@ -76,23 +76,21 @@ static u8 GetRequestedGameIOS(dir_discHdr *hdr)
|
|||||||
void CMenu::directlaunch(const char *GameID)// from boot arg for wii game only
|
void CMenu::directlaunch(const char *GameID)// from boot arg for wii game only
|
||||||
{
|
{
|
||||||
m_directLaunch = true;
|
m_directLaunch = true;
|
||||||
currentPartition = m_cfg.getInt(WII_DOMAIN, "partition");
|
u8 chantypes = m_cfg.getUInt(CHANNEL_DOMAIN, "channels_type", CHANNELS_REAL);
|
||||||
if(DeviceHandle.IsInserted(currentPartition))
|
m_cfg.setUInt(CHANNEL_DOMAIN, "channels_type", CHANNELS_EMU);
|
||||||
|
m_current_view = COVERFLOW_WII | COVERFLOW_GAMECUBE | COVERFLOW_CHANNEL;
|
||||||
|
_loadList();
|
||||||
|
m_cfg.setUInt(CHANNEL_DOMAIN, "channels_type", chantypes);
|
||||||
|
|
||||||
|
for(u32 i = 0; i < m_gameList.size(); i++)
|
||||||
{
|
{
|
||||||
DeviceHandle.OpenWBFS(currentPartition);
|
if(strncasecmp(GameID, m_gameList[i].id, 6) == 0)
|
||||||
string gameDir(fmt(wii_games_dir, DeviceName[currentPartition]));
|
|
||||||
string cacheDir(fmt("%s/%s_wii.db", m_listCacheDir.c_str(), DeviceName[currentPartition]));
|
|
||||||
m_cacheList.CreateList(COVERFLOW_WII, gameDir, stringToVector(".wbfs|.iso", '|'), cacheDir, false);
|
|
||||||
WBFS_Close();
|
|
||||||
for(u32 i = 0; i < m_cacheList.size(); i++)
|
|
||||||
{
|
{
|
||||||
if(strncasecmp(GameID, m_cacheList[i].id, 6) == 0)
|
_launch(&m_gameList[i]); // Launch will exit wiiflow
|
||||||
{
|
break;
|
||||||
_launchWii(&m_cacheList[i], false); // Launch will exit wiiflow
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_error(wfmt(_fmt("errgame1", L"Cannot find the game with ID: %s"), GameID));
|
_error(wfmt(_fmt("errgame1", L"Cannot find the game with ID: %s"), GameID));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -777,7 +775,7 @@ int CMenu::_loadGameIOS(u8 gameIOS, int userIOS, const char *id, bool RealNAND_C
|
|||||||
{
|
{
|
||||||
for(CIOSItr itr = _cios_base.begin(); itr != _cios_base.end(); itr++)
|
for(CIOSItr itr = _cios_base.begin(); itr != _cios_base.end(); itr++)
|
||||||
{
|
{
|
||||||
if(itr->first > gameIOS)//compare bases
|
if(itr->first > gameIOS && itr->first >= 56)//compare bases
|
||||||
{
|
{
|
||||||
slot = itr->second;// set to cios slot
|
slot = itr->second;// set to cios slot
|
||||||
break;
|
break;
|
||||||
|
@ -159,11 +159,35 @@ int installWad(const char *path)
|
|||||||
fsop_MakeFolder(fmt("%s/title/%08x/%08x/content", EmuNAND, (u32)(tid>>32), (u32)tid&0xFFFFFFFF));
|
fsop_MakeFolder(fmt("%s/title/%08x/%08x/content", EmuNAND, (u32)(tid>>32), (u32)tid&0xFFFFFFFF));
|
||||||
fsop_MakeFolder(fmt("%s/title/%08x/%08x/data", EmuNAND, (u32)(tid>>32), (u32)tid&0xFFFFFFFF));
|
fsop_MakeFolder(fmt("%s/title/%08x/%08x/data", EmuNAND, (u32)(tid>>32), (u32)tid&0xFFFFFFFF));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// read /shared1/content.map to check later if a shared content is already installed
|
||||||
|
contentMapEntry *contentMap_file = NULL;
|
||||||
|
u32 contentMap_size = 0;
|
||||||
|
u8 *contentMap_buf = NULL;
|
||||||
|
u32 contentMapEntries = 0;
|
||||||
|
if(mios == false)
|
||||||
|
{
|
||||||
|
contentMap_buf = fsop_ReadFile(fmt("%s/shared1/content.map", EmuNAND), &contentMap_size);
|
||||||
|
if(contentMap_buf == NULL)
|
||||||
|
{
|
||||||
|
gprintf("No content.map found!\n");
|
||||||
|
return -7;
|
||||||
|
}
|
||||||
|
else if(contentMap_size % sizeof(contentMapEntry) != 0)
|
||||||
|
{
|
||||||
|
gprintf("content.map size is invalid!\n");
|
||||||
|
MEM2_free(contentMap_buf);
|
||||||
|
return -8;
|
||||||
|
}
|
||||||
|
contentMap_file = (contentMapEntry*)contentMap_buf;
|
||||||
|
}
|
||||||
|
|
||||||
int hash_errors = 0;
|
int hash_errors = 0;
|
||||||
u8 *AES_WAD_Buf = (u8*)MEM2_alloc(WAD_BUF);
|
u8 *AES_WAD_Buf = (u8*)MEM2_alloc(WAD_BUF);
|
||||||
/* decrypt and write app files */
|
/* decrypt and write app files */
|
||||||
for(u16 cnt = 0; cnt < tmd_ptr->num_contents; cnt++)
|
for(u16 cnt = 0; cnt < tmd_ptr->num_contents; cnt++)
|
||||||
{
|
{
|
||||||
|
gprintf("Installing content %d\n",cnt);
|
||||||
u8 aes_iv[16];
|
u8 aes_iv[16];
|
||||||
memset(aes_iv, 0, 16);
|
memset(aes_iv, 0, 16);
|
||||||
const tmd_content *content = &tmd_ptr->contents[cnt];
|
const tmd_content *content = &tmd_ptr->contents[cnt];
|
||||||
@ -174,8 +198,38 @@ int installWad(const char *path)
|
|||||||
s32 fd = -1;
|
s32 fd = -1;
|
||||||
if(mios == false)
|
if(mios == false)
|
||||||
{
|
{
|
||||||
const char *app_name = fmt("%s/title/%08x/%08x/content/%08x.app", EmuNAND,
|
const char *app_name;
|
||||||
|
if(content->type == 0x8001)
|
||||||
|
{
|
||||||
|
// shared content
|
||||||
|
contentMapEntries = contentMap_size / sizeof(contentMapEntry);
|
||||||
|
bool sharedContent_exists = false;
|
||||||
|
for(u32 i = 0; i < contentMapEntries; ++i)
|
||||||
|
{
|
||||||
|
u8 *currentHash = contentMap_file[i].sha1hash;
|
||||||
|
if(memcmp(currentHash,content->hash,20) == 0)
|
||||||
|
{
|
||||||
|
sharedContent_exists = true;
|
||||||
|
gprintf ("Shared content %08x already installed\n", content->cid);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (sharedContent_exists == true)
|
||||||
|
{
|
||||||
|
// shared content already installed. skip installation.
|
||||||
|
u32 size_enc_full = ALIGN(16, content->size);
|
||||||
|
fseek(wad_file, size_enc_full, SEEK_CUR);
|
||||||
|
skip_align(wad_file, size_enc_full);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else // should be installed in /shared1 with a new name
|
||||||
|
app_name = fmt("%s/shared1/%08x.app", EmuNAND,(unsigned int)contentMapEntries);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
app_name = fmt("%s/title/%08x/%08x/content/%08x.app", EmuNAND,
|
||||||
(u32)(tid>>32), (u32)tid&0xFFFFFFFF, content->cid);
|
(u32)(tid>>32), (u32)tid&0xFFFFFFFF, content->cid);
|
||||||
|
}
|
||||||
app_file = fopen(app_name, "wb");
|
app_file = fopen(app_name, "wb");
|
||||||
gprintf("Writing Emu NAND File %s\n", app_name);
|
gprintf("Writing Emu NAND File %s\n", app_name);
|
||||||
}
|
}
|
||||||
@ -232,7 +286,32 @@ int installWad(const char *path)
|
|||||||
ISFS_Close(fd);
|
ISFS_Close(fd);
|
||||||
|
|
||||||
if(memcmp(app_sha1, content->hash, sizeof(sha1)) == 0)
|
if(memcmp(app_sha1, content->hash, sizeof(sha1)) == 0)
|
||||||
|
{
|
||||||
gprintf("sha1 matches on %08x.app, success!\n", content->cid);
|
gprintf("sha1 matches on %08x.app, success!\n", content->cid);
|
||||||
|
// shared content succesfully installed. It's time to update content.map
|
||||||
|
if(mios == false && content->type == 0x8001)
|
||||||
|
{
|
||||||
|
|
||||||
|
u32 new_contentMap_size = (contentMapEntries+1) * sizeof(contentMapEntry);
|
||||||
|
u8 *new_contentMap_buf = (u8*)MEM2_alloc(new_contentMap_size);
|
||||||
|
|
||||||
|
// make room for new entry & copy old ones
|
||||||
|
memset(new_contentMap_buf, 0, new_contentMap_size);
|
||||||
|
memcpy(new_contentMap_buf, contentMap_buf, contentMap_size);
|
||||||
|
MEM2_free(contentMap_buf);
|
||||||
|
contentMap_size = new_contentMap_size;
|
||||||
|
contentMap_buf = new_contentMap_buf;
|
||||||
|
contentMap_file = (contentMapEntry*)contentMap_buf;
|
||||||
|
|
||||||
|
const char *newSharedID = fmt("%08x", (unsigned int)contentMapEntries);
|
||||||
|
|
||||||
|
memcpy(contentMap_file[contentMapEntries].sharedID,newSharedID,8);
|
||||||
|
memcpy(contentMap_file[contentMapEntries].sha1hash, content->hash, 20);
|
||||||
|
|
||||||
|
gprintf("Updating content.map: %08x.app as shared1/%s.app\n",content->cid,newSharedID);
|
||||||
|
fsop_WriteFile(fmt("%s/shared1/content.map", EmuNAND), contentMap_file, contentMap_size);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gprintf("sha1 mismatch on %08x.app!\n", content->cid);
|
gprintf("sha1 mismatch on %08x.app!\n", content->cid);
|
||||||
|
@ -22,6 +22,7 @@ bylastplayed=Nach 'Zuletzt gespielt' sortiert
|
|||||||
byplaycount=Nach 'Wie oft gespielt' sortiert
|
byplaycount=Nach 'Wie oft gespielt' sortiert
|
||||||
byplayers=Nach 'Spielern' sortiert
|
byplayers=Nach 'Spielern' sortiert
|
||||||
bywifiplayers=Nach 'Online-Spielern' sortiert
|
bywifiplayers=Nach 'Online-Spielern' sortiert
|
||||||
|
byyear=Nach 'Jahr' sortiert
|
||||||
bybtnnumbers=Nach 'Button-Anzahl' sortiert
|
bybtnnumbers=Nach 'Button-Anzahl' sortiert
|
||||||
cat1=Wähle Kategorien
|
cat1=Wähle Kategorien
|
||||||
cat2=Leeren
|
cat2=Leeren
|
||||||
@ -94,13 +95,11 @@ cfgbnr3=Custom Banner herunterladen
|
|||||||
cfgbnr4=Banner löschen
|
cfgbnr4=Banner löschen
|
||||||
cfgbnr5=Herunterladen
|
cfgbnr5=Herunterladen
|
||||||
cfgbnr6=Löschen
|
cfgbnr6=Löschen
|
||||||
|
cfgbnr7=Downloade Banner...
|
||||||
cfgbt1=Starteinstellungen
|
cfgbt1=Starteinstellungen
|
||||||
cfgbt2=Erzwinge Laden eines cIOS
|
cfgbt2=Erzwinge Laden eines cIOS
|
||||||
cfgbt3=Erzwinge cIOS
|
cfgbt3=Erzwinge cIOS
|
||||||
cfgbt4=USB-Anschluss
|
cfgbt4=USB-Anschluss
|
||||||
cfgbt5=Zeige SourceFlow beim Start
|
|
||||||
cfgbt6=Mehrere Quellen zulassen
|
|
||||||
cfgbt7=Starte FTP-Server beim Start
|
|
||||||
cfgc1=Zurück zu...
|
cfgc1=Zurück zu...
|
||||||
cfgc2=TV-Breite anpassen
|
cfgc2=TV-Breite anpassen
|
||||||
cfgc3=TV-Höhe anpassen
|
cfgc3=TV-Höhe anpassen
|
||||||
@ -112,7 +111,6 @@ cfgc8=Starteinstellungen
|
|||||||
cfgc9=WiiFlow-Sprache
|
cfgc9=WiiFlow-Sprache
|
||||||
cfgd4=Verzeichnisse Verwalten
|
cfgd4=Verzeichnisse Verwalten
|
||||||
cfgd5=Favoritenmodus merken
|
cfgd5=Favoritenmodus merken
|
||||||
cfgd7=Kategorien beim Start anzeigen
|
|
||||||
cfgg1=Einstellungen
|
cfgg1=Einstellungen
|
||||||
cfgg10=IOS
|
cfgg10=IOS
|
||||||
cfgg11=
|
cfgg11=
|
||||||
@ -168,17 +166,16 @@ cfgg58=Nur für Erwachsene
|
|||||||
cfgg59=BBA-Emulation
|
cfgg59=BBA-Emulation
|
||||||
cfgg60=BBA-Netzprofil
|
cfgg60=BBA-Netzprofil
|
||||||
cfgg61=Entflimmer-Filter
|
cfgg61=Entflimmer-Filter
|
||||||
cfgg65=Video Width
|
cfgg62=Gecachte Cover neu laden
|
||||||
|
cfgg63=Konvertiere Cover, bitte warten...
|
||||||
|
cfgg64=Einstellungen zurücksetzen
|
||||||
|
cfgg65=Videobreite
|
||||||
cfgg4=Länder-Strings patchen
|
cfgg4=Länder-Strings patchen
|
||||||
cfgg5=Ocarina
|
cfgg5=Ocarina
|
||||||
cfgg6=
|
cfgg6=
|
||||||
cfgg7=Video patchen
|
cfgg7=Video patchen
|
||||||
cfgg8=Zurück
|
cfgg8=Zurück
|
||||||
cfgg9=
|
cfgg9=
|
||||||
cfglng1=Sprachen
|
|
||||||
cfglng2=Sprachen herunterladen
|
|
||||||
cfglng3=Wähle Sprachdatei
|
|
||||||
cfglng4=Gewählte Datei herunterladen
|
|
||||||
cfgne1=NAND-Emulation
|
cfgne1=NAND-Emulation
|
||||||
cfgne2=Entpacke Speicherstände
|
cfgne2=Entpacke Speicherstände
|
||||||
cfgne3=Alle
|
cfgne3=Alle
|
||||||
@ -223,14 +220,17 @@ cfgne98=WAD installieren
|
|||||||
cfgne99=Starten
|
cfgne99=Starten
|
||||||
cfgp1=Spiele-Partition
|
cfgp1=Spiele-Partition
|
||||||
cfgp2=2D-Cover
|
cfgp2=2D-Cover
|
||||||
cfgp3=Netzwerk beim Start initialisieren
|
cfgp3=
|
||||||
cfgp4=Banner-Cache
|
cfgp4=Banner-Cache
|
||||||
cfgp5=Wii-Spiele
|
cfgp5=Wii-Spiele
|
||||||
cfgp6=GameCube-Spiele
|
cfgp6=GameCube-Spiele
|
||||||
cfgp7=Musik
|
cfgp7=Musik
|
||||||
cfgp8=3D-Cover
|
cfgp8=3D-Cover
|
||||||
cfgp9=Custom-Banner
|
cfgp9=Custom-Banner
|
||||||
|
cfgp10=WiiTDB Zip
|
||||||
cfgpl1=Plugins auswählen
|
cfgpl1=Plugins auswählen
|
||||||
|
cfgpl2=Alle setzen
|
||||||
|
cfgpl3=Alle löschen
|
||||||
cfgs1=Lautstärke Hintergrundmusik
|
cfgs1=Lautstärke Hintergrundmusik
|
||||||
cfgs2=Lautstärke Tasten
|
cfgs2=Lautstärke Tasten
|
||||||
cfgs3=Lautstärke Coverflow
|
cfgs3=Lautstärke Coverflow
|
||||||
@ -238,7 +238,6 @@ cfgs4=Lautstärke Spiel-Melodie
|
|||||||
cfgsm1=SourceFlow-Einstellungen
|
cfgsm1=SourceFlow-Einstellungen
|
||||||
cfgsm3=SourceFlow aktivieren
|
cfgsm3=SourceFlow aktivieren
|
||||||
cfgsm4=SourceFlow Smallbox
|
cfgsm4=SourceFlow Smallbox
|
||||||
cfgsm5=SourceFlow-Cache leeren
|
|
||||||
cfgsmerr=Keinen SourceFlow gefunden!
|
cfgsmerr=Keinen SourceFlow gefunden!
|
||||||
cfghb1=Homebrew-Einstellungen
|
cfghb1=Homebrew-Einstellungen
|
||||||
cfghb2=Coverflow Smallbox
|
cfghb2=Coverflow Smallbox
|
||||||
@ -251,7 +250,6 @@ ChanBoth=Beide
|
|||||||
cheat1=Zurück
|
cheat1=Zurück
|
||||||
cheat2=Übernehmen
|
cheat2=Übernehmen
|
||||||
cheat3=Cheatdatei für dieses Spiel nicht gefunden.
|
cheat3=Cheatdatei für dieses Spiel nicht gefunden.
|
||||||
cheat4=Download nicht gefunden.
|
|
||||||
commodore=Commodore 64
|
commodore=Commodore 64
|
||||||
custom=Benutzerdefiniert
|
custom=Benutzerdefiniert
|
||||||
def=Standard
|
def=Standard
|
||||||
@ -294,25 +292,25 @@ dl8=Cover
|
|||||||
dlmsg1=Netzwerk wird initialisiert...
|
dlmsg1=Netzwerk wird initialisiert...
|
||||||
dlmsg10=%s.wfc wird erstellt...
|
dlmsg10=%s.wfc wird erstellt...
|
||||||
dlmsg11=Herunterladen...
|
dlmsg11=Herunterladen...
|
||||||
dlmsg12=Herunterladen fehlgeschlagen
|
dlmsg12=Herunterladen fehlgeschlagen!
|
||||||
dlmsg13=Speichern...
|
dlmsg13=Speichern...
|
||||||
dlmsg14=Fertig.
|
dlmsg14=Fertig.
|
||||||
dlmsg15=Speichern fehlgeschlagen!
|
dlmsg15=
|
||||||
dlmsg16=Datei konnte nicht gelesen werden.
|
dlmsg16=
|
||||||
dlmsg17=Kein Update gefunden.
|
dlmsg17=
|
||||||
dlmsg18=Es wurde keine boot.dol im Standardpfad gefunden.
|
dlmsg18=
|
||||||
dlmsg19=Neue Version verfügbar!
|
dlmsg19=
|
||||||
dlmsg2=Netzwerkinitialisierung fehlgeschlagen.
|
dlmsg2=Netzwerkinitialisierung fehlgeschlagen!
|
||||||
dlmsg20=Keine Informationen über diese Version gefunden.
|
dlmsg20=
|
||||||
dlmsg21=WiiFlow beendet sich nun, damit das Update durchgeführt werden kann.
|
dlmsg21=
|
||||||
dlmsg22=Aktualisiere Anwendungsverzeichnis...
|
dlmsg22=
|
||||||
dlmsg23=Aktualisiere Datenverzeichnis...
|
dlmsg23=
|
||||||
dlmsg24=Entpacke %s...
|
dlmsg24=Entpacke %s...
|
||||||
dlmsg25=Entpacken fehlgeschlagen! Benenne Backup zurück nach boot.dol
|
dlmsg25=
|
||||||
dlmsg26=Update Cache...
|
dlmsg26=
|
||||||
dlmsg27=Nicht genügend Arbeitsspeicher!
|
dlmsg27=Nicht genügend Arbeitsspeicher!
|
||||||
dlmsg28=FTP-Server gestartet, IP: %s:%u
|
dlmsg28=
|
||||||
dlmsg29=FTP-Server ist zurzeit gestoppt.
|
dlmsg29=
|
||||||
dlmsg3=Lade %i/%i von %s herunter
|
dlmsg3=Lade %i/%i von %s herunter
|
||||||
dlmsg30=Keine Cover fehlen.
|
dlmsg30=Keine Cover fehlen.
|
||||||
dlmsg31=Konvertiere Cover %i von %i
|
dlmsg31=Konvertiere Cover %i von %i
|
||||||
@ -334,35 +332,35 @@ DMLntsc=NTSC 480i
|
|||||||
DMLpal60=PAL 480i
|
DMLpal60=PAL 480i
|
||||||
DMLprog=NTSC 480p
|
DMLprog=NTSC 480p
|
||||||
DMLprogP=PAL 480p
|
DMLprogP=PAL 480p
|
||||||
errboot1=Kein cIOS gefunden!\ncIOS d2x 249 Base 56 und 250 Base 57 genügen für die meisten Spiele.
|
errboot1=
|
||||||
errboot2=Kein Gerät zum Speichern der Konfiguration gefunden!
|
errboot2=
|
||||||
errboot3=Konnte DIP-Modul nicht initialisieren!
|
errboot3=
|
||||||
errboot4=Kein /apps/wiiflow Verzeichnis gefunden!
|
errboot4=Kein /apps/wiiflow Verzeichnis gefunden!
|
||||||
errboot5=data_on_usb=yes aber keine verwendbare USB-Partition!\nSD wird verwendet.
|
errboot5=data_on_usb=yes aber keine verwendbare USB-Partition!\nSD wird verwendet.
|
||||||
errboot6=Keine verwendbare USB-Partition für Daten gefunden und keine SD-Karte eingesteckt!\Beende.
|
errboot6=Keine verwendbare USB-Partition für Daten gefunden und keine SD-Karte eingesteckt!\Beende.
|
||||||
errboot7=Zugriff verweigert im Wii VC Modus.
|
errboot7=Zugriff verweigert im Wii VC Modus.
|
||||||
errboot8=Drücke 'A', um WiiFlow neu zu laden
|
errboot8=Drücke 'A', um WiiFlow neu zu laden
|
||||||
errgame1=Konnte Spiel mit dieser ID nicht finden: %s
|
errgame1=Konnte Spiel mit dieser ID nicht finden: %s
|
||||||
errgame2=Kein cIOS gefunden!
|
errgame2=
|
||||||
|
errgame3=
|
||||||
errgame4=Konnte IOS %i nicht laden
|
errgame4=Konnte IOS %i nicht laden
|
||||||
errgame5=Emulator konnte nicht aktiviert werden!
|
errgame5=Emulator konnte nicht aktiviert werden!
|
||||||
errgame6=Emulator konnte nach IOS Reload nicht aktiviert werden!
|
errgame6=Emulator konnte nach IOS Reload nicht aktiviert werden!
|
||||||
errgame7=WDVDGetCoverStatus fehlgeschlagen!
|
errgame7=WDVDGetCoverStatus fehlgeschlagen!
|
||||||
errgame8=Bitte lege eine Spiele-Disc ein.
|
errgame8=Bitte lege eine Spiele-Disc ein.
|
||||||
errgame9=Dies ist keine Wii- oder GameCube-Disc
|
errgame9=Dies ist keine Wii- oder GameCube-Disc
|
||||||
|
errgame10=
|
||||||
errgame11=GameCube-Loader nicht gefunden! Kann Spiel nicht starten.
|
errgame11=GameCube-Loader nicht gefunden! Kann Spiel nicht starten.
|
||||||
errgame12=Nintendont nicht gefunden! Kann GC-Disc nicht laden.
|
errgame12=Nintendont nicht gefunden! Kann GC-Disc nicht laden.
|
||||||
errgame13=EmuNAND für Speicherstand nicht gefunden! Benutze echten NAND.
|
errgame13=EmuNAND für Speicherstand nicht gefunden! Benutze echten NAND.
|
||||||
errgame14=app_booter.bin nicht gefunden!
|
errgame14=app_booter.bin nicht gefunden!
|
||||||
errgame15=WiiFlow gesperrt! Entsperre WiiFlow, um dieses Feature zu nutzen.
|
errgame15=WiiFlow gesperrt! Entsperre WiiFlow, um dieses Feature zu nutzen.
|
||||||
errgame16=Nicht verfügbar für Plugin-Spiele!
|
errgame16=ext_loader.bin oder ext_booter.bin fehlt!
|
||||||
errgame17=Kann echte NAND-Kanäle nicht löschen!
|
errgame17=Kann echte NAND-Kanäle nicht löschen!
|
||||||
errgame18=Keine Spiele-Info!
|
errgame18=Keine Spiele-Info!
|
||||||
errgame19=Kann nicht im Wii Virtual Console Modus starten!
|
errgame19=Kann nicht im Wii Virtual Console Modus starten!
|
||||||
errneek1=Konnte neek2o nicht starten, bitte neek2o Setup überprüfen.
|
errneek1=Konnte neek2o nicht starten, bitte neek2o Setup überprüfen.
|
||||||
exit_to=Zurück zu
|
exit_to=Zurück zu
|
||||||
ftp1=Starten
|
|
||||||
ftp2=Stoppen
|
|
||||||
gameinfo1=Entwickler: %s
|
gameinfo1=Entwickler: %s
|
||||||
gameinfo2=Herausgeber: %s
|
gameinfo2=Herausgeber: %s
|
||||||
gameinfo3=Region: %s
|
gameinfo3=Region: %s
|
||||||
@ -415,7 +413,7 @@ lngsch=Chinesisch (vereinfacht)
|
|||||||
lngspa=Spanisch
|
lngspa=Spanisch
|
||||||
lngsys=System
|
lngsys=System
|
||||||
lngtch=Chinesisch (traditionell)
|
lngtch=Chinesisch (traditionell)
|
||||||
main1=Installieren
|
main1=Spieleliste leer!
|
||||||
main2=Keine Spiele gefunden in
|
main2=Keine Spiele gefunden in
|
||||||
main3=Keine Titel gefunden in
|
main3=Keine Titel gefunden in
|
||||||
main4=Keine Homebrews gefunden in
|
main4=Keine Homebrews gefunden in
|
||||||
@ -438,9 +436,6 @@ NinMCDef=Standard
|
|||||||
NinMCOff=Deaktiviert
|
NinMCOff=Deaktiviert
|
||||||
NinMCon=Aktiviert
|
NinMCon=Aktiviert
|
||||||
NinMCMulti=Multi-Saves
|
NinMCMulti=Multi-Saves
|
||||||
NoDVDDef=Standard
|
|
||||||
NoDVDOff=Deaktiviert
|
|
||||||
NoDVDon=Aktiviert
|
|
||||||
no=Nein
|
no=Nein
|
||||||
off=Aus
|
off=Aus
|
||||||
on=An
|
on=An
|
||||||
@ -452,7 +447,7 @@ part5=Partitions-Einstellungen
|
|||||||
players=Spieler
|
players=Spieler
|
||||||
prii=Priiloader
|
prii=Priiloader
|
||||||
ps_nossl=Ohne SSL
|
ps_nossl=Ohne SSL
|
||||||
ps_wiimmfi
|
ps_wiimmfi=Wiimmfi
|
||||||
real=Echter NAND
|
real=Echter NAND
|
||||||
SaveDef=Standard
|
SaveDef=Standard
|
||||||
SaveFull=Vollständig
|
SaveFull=Vollständig
|
||||||
@ -461,8 +456,6 @@ SaveOff=Aus
|
|||||||
SaveOffG=Aus
|
SaveOffG=Aus
|
||||||
SavePart=Teilweise
|
SavePart=Teilweise
|
||||||
SavePartG=Teilweise
|
SavePartG=Teilweise
|
||||||
SaveReg=Regionswitch
|
|
||||||
SaveRegG=Regionswitch
|
|
||||||
savedtheme=Theme-Konfiguration gespeichert!
|
savedtheme=Theme-Konfiguration gespeichert!
|
||||||
select=Auswählen
|
select=Auswählen
|
||||||
shutdown1=Wie herunterfahren?
|
shutdown1=Wie herunterfahren?
|
||||||
@ -480,12 +473,6 @@ smedit9=SourceFlow-Setup
|
|||||||
smediterr=Nicht erlaubt!
|
smediterr=Nicht erlaubt!
|
||||||
snes=Super Nintendo
|
snes=Super Nintendo
|
||||||
stup1=Wähle Source
|
stup1=Wähle Source
|
||||||
stup2=** DEAKTIVIERT **
|
|
||||||
sys1=Update WiiFlow
|
|
||||||
sys2=WiiFlow-Version:
|
|
||||||
sys3=Abbrechen
|
|
||||||
sys4=Upgrade
|
|
||||||
sys7=Installierte Version.
|
|
||||||
translation_author=FIX94, ZEN.13, PizzaPino, Domi78, iCON
|
translation_author=FIX94, ZEN.13, PizzaPino, Domi78, iCON
|
||||||
turbografx16=TurboGrafx-16
|
turbografx16=TurboGrafx-16
|
||||||
turbografxcd=TurboGrafx-CD
|
turbografxcd=TurboGrafx-CD
|
||||||
@ -502,7 +489,7 @@ vmpmore=Mehr
|
|||||||
vmpnone=Keinen
|
vmpnone=Keinen
|
||||||
vmpnormal=Normal
|
vmpnormal=Normal
|
||||||
vw_auto=Auto
|
vw_auto=Auto
|
||||||
vw_def=Default
|
vw_def=Standard
|
||||||
vw_frmbuf=Framebuffer
|
vw_frmbuf=Framebuffer
|
||||||
wad1=WAD Installieren
|
wad1=WAD Installieren
|
||||||
wad2=Start
|
wad2=Start
|
||||||
@ -544,10 +531,9 @@ wbfsoperr2=Disc_Open fehlgeschlagen
|
|||||||
wbfsoperr3=Das ist keine Wii-Disc.
|
wbfsoperr3=Das ist keine Wii-Disc.
|
||||||
wbfsoperr4=Dieses Spiel ist bereits installiert.
|
wbfsoperr4=Dieses Spiel ist bereits installiert.
|
||||||
wbfsoperr5=Es ist nicht erlaubt diesen Kanal zu löschen!
|
wbfsoperr5=Es ist nicht erlaubt diesen Kanal zu löschen!
|
||||||
|
wbfsoperr6=Spiel installieren ist defekt, \nbitte nutze CleanRip.
|
||||||
wbfsprogress=%i%%
|
wbfsprogress=%i%%
|
||||||
wbfsoperr6=Spiel installieren ist defekt,\nbitte nutze CleanRip.
|
wbfsremdlg=Um das Spiel '%s' dauerhaft zu löschen, klicke auf Start.
|
||||||
wbfsprogress=%i%%
|
|
||||||
wbfsremdlg=Um das Spiel %s dauerhaft zu löschen, klicke auf Start.
|
|
||||||
wifiplayers=Online-Spieler
|
wifiplayers=Online-Spieler
|
||||||
wii=Wii
|
wii=Wii
|
||||||
wiichannels=Offizielle Wii Kanäle
|
wiichannels=Offizielle Wii Kanäle
|
||||||
|
Loading…
Reference in New Issue
Block a user