Added an option to set a custom server address

This commit is contained in:
wiidev 2020-11-08 21:27:42 +00:00
parent 35a9fdb71b
commit 30855664dd
35 changed files with 359 additions and 72 deletions

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Náhradní DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Riskantní)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr "Vlastní adresa"
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Vlastní cesty"
msgid "Custom"
msgstr "Vlastní"
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr "Prehrát predchozí"
msgid "Playing Music:"
msgstr "Prehrávání hudby:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternativ DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Risikabel)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "En f.eks. fil er lavet her:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Sti-indstillinger"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr "Afspil forrige"
msgid "Playing Music:"
msgstr "Afspiller musik:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternatieve DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Riskant)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Er is hier een voorbeeldbestand gemaakt:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr "Aangepaste Adres"
msgid "Custom Banners"
msgstr "Aangepaste Banners"
msgid "Custom Paths"
msgstr "Aangepaste Locaties"
msgid "Custom"
msgstr "Aangepaste"
msgid "Customs"
msgstr "Aangepaste"
@ -1740,6 +1746,9 @@ msgstr "Speel Vorige"
msgid "Playing Music:"
msgstr "Speelt nu:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "Even geduld"

View File

@ -149,7 +149,7 @@ msgstr ""
msgid "Alternate DOL"
msgstr ""
msgid "AltWFC (Risky)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr ""
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr ""
msgid "Playing Music:"
msgstr ""
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Vaihtoehto DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Riskialtis)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Omat polut"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr ""
msgid "Playing Music:"
msgstr ""
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr "Tous les fichiers wad ont été traités avec succès."
msgid "Alternate DOL"
msgstr "DOL alternatif"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Risqué)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Un fichier d'exemple a été créé ici :"
@ -540,12 +540,18 @@ msgstr "Réduire l'overscan"
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr "Le fichier neek actuel n'est pas neek2o. Démarrage automatique désactivé."
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr "Bannières persos"
msgid "Custom Paths"
msgstr "Personnalisation des dossiers"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr "Persos"
@ -1740,6 +1746,9 @@ msgstr "Jouer précéd."
msgid "Playing Music:"
msgstr "Musique actuelle:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "Veuillez patienter"

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternative DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Riskant)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Eine Beispieldatei wurde hier erstellt:"
@ -540,12 +540,18 @@ msgstr "Overscan abschneiden"
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr "Community Banner"
msgid "Custom Paths"
msgstr "Community Pfade"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr "Community"
@ -1740,6 +1746,9 @@ msgstr "Vorheriger Titel"
msgid "Playing Music:"
msgstr "Aktuelle Musik:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "Bitte warten"

View File

@ -149,8 +149,8 @@ msgstr "Όλα τα αρχεία wad υποβλήθηκαν σε επεξεργ
msgid "Alternate DOL"
msgstr "Εναλλακτικό DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Επικίνδυνος)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Ένα αρχείο-παράδειγμα δημιουργήθηκε εδώ"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr "Τροποποιημένες ταμπέλες-εικονίδια"
msgid "Custom Paths"
msgstr "Τροποποιημένες διευθύνσεις/μονοπάτια αρχείων"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr "Τροποποιημένα"
@ -1740,6 +1746,9 @@ msgstr "Αναπαραγωγή προηγούμενου"
msgid "Playing Music:"
msgstr "Αναπαραγωγή μουσικής:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "Παρακαλώ περιμένετε"

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternatív DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Kockázatos)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Egyéni útvonalak"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr ""
msgid "Playing Music:"
msgstr ""
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr "Tutti i files wad processati correttamente"
msgid "Alternate DOL"
msgstr "DOL alternativo"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Rischioso)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Un file di esempio è stato creato qui:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr "Questi files neek non sono neek2o. Autoboot dei giochi disabilitato"
msgid "Custom Address"
msgstr "Indirizzo personalizzati"
msgid "Custom Banners"
msgstr "Banner personalizzati"
msgid "Custom Paths"
msgstr "Percorsi personalizzati"
msgid "Custom"
msgstr "Personalizzati"
msgid "Customs"
msgstr "Personalizzati"
@ -1740,6 +1746,9 @@ msgstr "Riproduci precedente"
msgid "Playing Music:"
msgstr "Riproducendo:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "Attendere prego"

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "代替DOL起動"
msgid "AltWFC (Risky)"
msgstr "AltWFC (リスキーな)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "テンプレファイルが作成されました:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr "カスタム アドレス"
msgid "Custom Banners"
msgstr "カスタムバナー"
msgid "Custom Paths"
msgstr "パスを変更"
msgid "Custom"
msgstr "カスタム"
msgid "Customs"
msgstr "カスタム"
@ -1740,6 +1746,9 @@ msgstr "前へ"
msgid "Playing Music:"
msgstr "再生中"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "お待ちください"

View File

@ -149,8 +149,8 @@ msgstr "모든 wad 파일이 성공적으로 처리되었습니다"
msgid "Alternate DOL"
msgstr "대체 DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (위험한)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "여기에 예제 파일이 생성되었습니다:"
@ -540,12 +540,18 @@ msgstr "자르기 오버스캔"
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr "현재의 neek 파일은 neek2o가 아닙니다. 게임 자동 부팅이 비활성화 되었습니다."
msgid "Custom Address"
msgstr "커스텀 주소"
msgid "Custom Banners"
msgstr "커스텀 배너"
msgid "Custom Paths"
msgstr "커스텀 경로"
msgid "Custom"
msgstr "커스텀"
msgid "Customs"
msgstr "커스텀"
@ -1740,6 +1746,9 @@ msgstr "이전 플레이"
msgid "Playing Music:"
msgstr "재생 음악:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "기다려주십시오."

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternativ DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Risikabelt)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "En eksempelfil ble opprettet her:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Egendefinerte stier"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr "Spill forrige"
msgid "Playing Music:"
msgstr "Spiller musikk:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternatywny DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Ryzykowny)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Sciezki"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr ""
msgid "Playing Music:"
msgstr ""
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr "Todos os arquivos foram processados"
msgid "Alternate DOL"
msgstr "DOL alternativo"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Arriscado)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Arquivo de exemplo criado aqui:"
@ -540,12 +540,18 @@ msgstr "Cortar Overscan"
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr "Os arquivos do neek não são do neek2o. Auto Boot desabilitado"
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr "Banners Modificados"
msgid "Custom Paths"
msgstr "Caminhos"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr "Anterior"
msgid "Playing Music:"
msgstr "Reproduzindo Música:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "Aguarde"

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "DOL alternativo"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Arriscado)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Ficheiro de exemplo criado aqui:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Caminhos Personalizados"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr "Anterior"
msgid "Playing Music:"
msgstr "A reproduzir Música:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Альтернативный DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Pискованный)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Изменение путей"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr ""
msgid "Playing Music:"
msgstr ""
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "可选择 DOL 文件"
msgid "AltWFC (Risky)"
msgstr "AltWFC (有风险)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "一个实例文件已创建于:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr "自定义地址"
msgid "Custom Banners"
msgstr "自定义频道动画"
msgid "Custom Paths"
msgstr "自定义路径"
msgid "Custom"
msgstr "自定义"
msgid "Customs"
msgstr "自定义"
@ -1740,6 +1746,9 @@ msgstr "播放上一曲"
msgid "Playing Music:"
msgstr "正在播放音乐:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "请稍候"

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "DOL Alternativo"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Arriesgado)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "Un archivo de ejemplo fue creado aquí:"
@ -540,12 +540,18 @@ msgstr "Recortar overscan"
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr "Banners personalizados"
msgid "Custom Paths"
msgstr "Rutas personalizadas"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr "Personalizadas"
@ -1740,6 +1746,9 @@ msgstr "Oír Anterior"
msgid "Playing Music:"
msgstr "Reproducción Musical:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "Por favor, espera"

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternativ DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Riskabel)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr "Anpassad adress"
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Anpassade sökvägar"
msgid "Custom"
msgstr "Anpassade"
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr "Spela förgående"
msgid "Playing Music:"
msgstr "Spela musik:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "可選擇Alt DOL檔"
msgid "AltWFC (Risky)"
msgstr "AltWFC (有風險)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr "在這裡建立範本檔:"
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr "自訂地址"
msgid "Custom Banners"
msgstr "自製頻道動畫"
msgid "Custom Paths"
msgstr "自訂路徑"
msgid "Custom"
msgstr "自訂"
msgid "Customs"
msgstr "自訂"
@ -1740,6 +1746,9 @@ msgstr "執行上一個"
msgid "Playing Music:"
msgstr "播放音樂:"
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr "請稍候"

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "เปลี่ยน DOL "
msgid "AltWFC (Risky)"
msgstr "AltWFC (เสี่ยง)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "กำหนด ที่เก็บ"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr ""
msgid "Playing Music:"
msgstr ""
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -149,8 +149,8 @@ msgstr ""
msgid "Alternate DOL"
msgstr "Alternatif DOL"
msgid "AltWFC (Risky)"
msgstr "AltWFC (Riskli)"
msgid "AltWFC"
msgstr ""
msgid "An example file was created here:"
msgstr ""
@ -540,12 +540,18 @@ msgstr ""
msgid "Current neek files are not neek2o. Game autoboot disabled."
msgstr ""
msgid "Custom Address"
msgstr ""
msgid "Custom Banners"
msgstr ""
msgid "Custom Paths"
msgstr "Kişisel Yollar"
msgid "Custom"
msgstr ""
msgid "Customs"
msgstr ""
@ -1740,6 +1746,9 @@ msgstr ""
msgid "Playing Music:"
msgstr ""
msgid "Please enter a valid address e.g. wiimmfi.de"
msgstr ""
msgid "Please wait"
msgstr ""

View File

@ -51,7 +51,7 @@ void ClearDOLList()
}
void gamepatches(u8 videoSelected, u8 videoPatchDol, u8 aspectForce, u8 languageChoice, u8 patchcountrystring,
u8 vipatch, u8 sneekVideoPatch, u8 hooktype, u64 returnTo, u8 privateServer)
u8 vipatch, u8 sneekVideoPatch, u8 hooktype, u64 returnTo, u8 privateServer, const char *serverAddr)
{
int i;
@ -92,8 +92,8 @@ void gamepatches(u8 videoSelected, u8 videoPatchDol, u8 aspectForce, u8 language
PatchAspectRatio(dst, len, aspectForce);
if(privateServer)
PrivateServerPatcher(dst, len, privateServer);
PrivateServerPatcher(dst, len, privateServer, serverAddr);
DCFlushRange(dst, len);
ICInvalidateRange(dst, len);
}
@ -218,7 +218,7 @@ void PatchFix480p()
}
/** Patch URLs for private Servers - Thanks to ToadKing/wiilauncher-nossl **/
void PrivateServerPatcher(void *addr, u32 len, u8 privateServer)
void PrivateServerPatcher(void *addr, u32 len, u8 privateServer, const char *serverAddr)
{
// Patch protocol https -> http
@ -234,19 +234,13 @@ void PrivateServerPatcher(void *addr, u32 len, u8 privateServer)
cur += len;
}
} while (++cur < end);
// Patch nintendowifi.net -> private server domain
if (privateServer == PRIVSERV_WIIMMFI)
{
domainpatcher(addr, len, "wiimmfi.de");
}
else if (privateServer == PRIVSERV_ALTWFC)
{
domainpatcher(addr, len, "zwei.moe");
}
//else if(privateServer == PRIVSERV_CUSTOM)
//domainpatcher(dst, len, Settings.CustomPrivateServer);
else if (privateServer == PRIVSERV_CUSTOM && strlen(serverAddr) > 3)
domainpatcher(addr, len, serverAddr);
}
u32 do_new_wiimmfi()
@ -314,7 +308,7 @@ u32 do_new_wiimmfi()
strncpy(patched, (char *)&patcher, 42);
// Do the plain old patching with the string search
PrivateServerPatcher((void*)0x80004000, 0x385200, PRIVSERV_WIIMMFI);
PrivateServerPatcher((void*)0x80004000, 0x385200, PRIVSERV_WIIMMFI, NULL);
// Replace some URLs for Wiimmfi's new update system
char newURL1[] = "http://ca.nas.wiimmfi.de/ca";

View File

@ -10,9 +10,9 @@ extern "C" {
void RegisterDOL(u8 *dst, int len);
void ClearDOLList();
void gamepatches(u8 videoSelected, u8 videoPatchDol, u8 aspectForce, u8 languageChoice, u8 patchcountrystring,
u8 vipatch, u8 sneekVideoPatch, u8 hooktype, u64 returnTo, u8 privateServer);
u8 vipatch, u8 sneekVideoPatch, u8 hooktype, u64 returnTo, u8 privateServer, const char *serverAddr);
bool Anti_002_fix(u8 * Address, int Size);
void PrivateServerPatcher(void *addr, u32 len, u8 privateServer);
void PrivateServerPatcher(void *addr, u32 len, u8 privateServer, const char *serverAddr);
void PatchFix480p();
u32 do_new_wiimmfi();
void domainpatcher(void *addr, u32 len, const char* domain);

View File

@ -170,13 +170,14 @@ int OnScreenNumpad(char * var, u32 maxlen)
* Opens an on-screen keyboard window, with the data entered being stored
* into the specified variable.
***************************************************************************/
int OnScreenKeyboard(char * var, u32 maxlen, int min, bool hide)
int OnScreenKeyboard(char * var, u32 maxlen, int min, bool hide, bool restrict)
{
int save = -1;
int keyset = (restrict) ? 0 : Settings.keyset;
gprintf("\nOnScreenKeyboard(%s, %i, %i) \n\tkeyset = %i", var, maxlen, min, Settings.keyset);
gprintf("\nOnScreenKeyboard(%s, %i, %i) \n\tkeyset = %i", var, maxlen, min, keyset);
GuiKeyboard keyboard(var, maxlen, min, Settings.keyset);
GuiKeyboard keyboard(var, maxlen, min, keyset);
keyboard.SetVisibleText(!hide);
GuiImageData btnOutline(Resources::GetFile("button_dialogue_box.png"), Resources::GetFileSize("button_dialogue_box.png"));

View File

@ -14,7 +14,7 @@ int WindowPrompt(const char *title, const char *msg = NULL, const char * btn1Lab
NULL, const char * btn3Label = NULL, const char * btn4Label = NULL, int wait = -1);
void WindowCredits();
int OnScreenKeyboard(char * var, u32 maxlen, int min, bool hide = false);
int OnScreenKeyboard(char * var, u32 maxlen, int min, bool hide = false, bool restrict = false);
int OnScreenNumpad(char * var, u32 maxlen);
int WindowExitPrompt();
int DiscWait(const char *title, const char *msg, const char *btn1Label, const char *btn2Label, int IsDeviceWait);

View File

@ -246,6 +246,7 @@ bool CGameSettings::Save()
fprintf(f, "DEVOCropOverscan:%d; ", GameList[i].DEVOCropOverscan);
fprintf(f, "DEVODiscDelay:%d; ", GameList[i].DEVODiscDelay);
fprintf(f, "PrivateServer:%d; ", GameList[i].PrivateServer);
fprintf(f, "CustomAddress:%s; ", GameList[i].CustomAddress.c_str());
fprintf(f, "Locked:%d;\n", GameList[i].Locked);
}
fprintf(f, "# END\n");
@ -561,6 +562,12 @@ bool CGameSettings::SetSetting(GameCFG & game, const char *name, const char *val
game.PrivateServer = atoi(value);
return true;
}
else if(strcmp(name, "CustomAddress") == 0)
{
if(strlen(value) > 3)
game.CustomAddress = value;
return true;
}
return false;
}
@ -722,5 +729,6 @@ void CGameSettings::SetDefault(GameCFG &game)
game.DEVOCropOverscan = INHERIT;
game.DEVODiscDelay = INHERIT;
game.PrivateServer = INHERIT;
game.CustomAddress.clear();
game.Locked = OFF;
}

View File

@ -70,6 +70,7 @@ typedef struct _GameCFG
short DEVOCropOverscan;
short DEVODiscDelay;
short PrivateServer;
std::string CustomAddress;
short Locked;
void operator=(const struct _GameCFG &game)
@ -135,6 +136,7 @@ typedef struct _GameCFG
this->DEVOCropOverscan = game.DEVOCropOverscan;
this->DEVODiscDelay = game.DEVODiscDelay;
this->PrivateServer = game.PrivateServer;
this->CustomAddress = game.CustomAddress;
this->Locked = game.Locked;
}
} GameCFG;

View File

@ -78,6 +78,7 @@ void CSettings::SetDefault()
strlcpy(NandEmuChanPath, NandEmuPath, sizeof(NandEmuChanPath));
strlcpy(GameCubePath, "usb1:/games/", sizeof(GameCubePath));
strlcpy(GameCubeSDPath, "sd:/games/", sizeof(GameCubeSDPath));
strlcpy(CustomAddress, "wiimmfi.de", sizeof(CustomAddress));
strlcpy(URL_Banners, "https://banner.rc24.xyz/", sizeof(URL_Banners));
strlcpy(URL_Covers2D, "https://art.gametdb.com/wii/cover/", sizeof(URL_Covers2D));
strlcpy(URL_Covers3D, "https://art.gametdb.com/wii/cover3D/", sizeof(URL_Covers3D));
@ -489,6 +490,7 @@ bool CSettings::Save()
fprintf(file, "GCInstallCompressed = %d\n", GCInstallCompressed);
fprintf(file, "GCInstallAligned = %d\n", GCInstallAligned);
fprintf(file, "PrivateServer = %d\n", PrivateServer);
fprintf(file, "CustomAddress = %s\n", CustomAddress);
fprintf(file, "URL_Banners = %s\n", URL_Banners);
fprintf(file, "URL_Covers2D = %s\n", URL_Covers2D);
fprintf(file, "URL_Covers3D = %s\n", URL_Covers3D);
@ -1324,9 +1326,16 @@ bool CSettings::SetSetting(char *name, char *value)
strlcpy(URL_GameTDB, value, sizeof(URL_GameTDB));
return true;
}
else if (strcmp(name, "CustomAddress") == 0)
{
if(strlen(value) > 3)
strlcpy(CustomAddress, value, sizeof(CustomAddress));
return true;
}
else if(strcmp(name, "PrivateServer") == 0)
{
PrivateServer = atoi(value);
return true;
}
else if (strcmp(name, "EnabledCategories") == 0)
{

View File

@ -89,6 +89,7 @@ class CSettings
char GameCubeSDPath[100];
char DEVOLoaderPath[100];
char NINLoaderPath[100];
char CustomAddress[300];
char URL_Banners[300];
char URL_Covers2D[300];
char URL_Covers3D[300];

View File

@ -371,6 +371,7 @@ enum
PRIVSERV_NOSSL,
PRIVSERV_WIIMMFI,
PRIVSERV_ALTWFC,
PRIVSERV_CUSTOM,
PRIVSERV_MAX_CHOICE
};

View File

@ -127,7 +127,14 @@ static const char * PrivServText[] =
trNOOP( "OFF" ),
trNOOP( "NoSSL only" ),
trNOOP( "Wiimmfi" ),
trNOOP( "AltWFC (Risky)" ),
trNOOP( "AltWFC" ),
trNOOP( "Custom" ),
};
static const char blocked[22] =
{
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x28, 0x27, 0x29, 0x2A,
0x2C, 0x2F, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x40, 0x5E, 0x5F, 0x00
};
GameLoadSM::GameLoadSM(struct discHdr *hdr)
@ -193,6 +200,7 @@ void GameLoadSM::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "Game Language" ));
Options->SetName(Idx++, "%s", tr( "Ocarina" ));
Options->SetName(Idx++, "%s", tr( "Private Server" ));
Options->SetName(Idx++, "%s", tr( "Custom Address" ));
Options->SetName(Idx++, "%s", tr( "Parental Control" ));
Options->SetName(Idx++, "%s", tr( "Hooktype" ));
Options->SetName(Idx++, "%s", tr( "Wiird Debugger" ));
@ -287,6 +295,12 @@ void GameLoadSM::SetOptionValues()
else
Options->SetValue(Idx++, "%s", tr(PrivServText[GameConfig.PrivateServer]));
//! Settings: Custom Address
if(GameConfig.CustomAddress.size() == 0)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", GameConfig.CustomAddress.c_str());
//! Settings: Parental Control
Options->SetValue(Idx++, "%s", tr(ParentalText[GameConfig.parentalcontrol]));
@ -467,6 +481,21 @@ int GameLoadSM::GetMenuInternal()
if (++GameConfig.PrivateServer >= PRIVSERV_MAX_CHOICE) GameConfig.PrivateServer = INHERIT;
}
//! Settings: Custom Address
else if (ret == ++Idx)
{
char entered[300];
snprintf(entered, sizeof(entered), GameConfig.CustomAddress.c_str());
if (OnScreenKeyboard(entered, sizeof(entered), 0, false, true))
{
// Only allow letters, numbers, periods and hyphens
if ((strlen(entered) > 0 && strlen(entered) <= 3) || strpbrk(entered, blocked))
WindowPrompt(tr("Error"), tr("Please enter a valid address e.g. wiimmfi.de"), tr("OK"));
else
GameConfig.CustomAddress = entered;
}
}
//! Settings: Parental Control
else if (ret == ++Idx)
{

View File

@ -183,7 +183,14 @@ static const char * PrivServText[] =
trNOOP( "OFF" ),
trNOOP( "NoSSL only" ),
trNOOP( "Wiimmfi" ),
trNOOP( "AltWFC (Risky)" ),
trNOOP( "AltWFC" ),
trNOOP( "Custom" ),
};
static const char blocked[22] =
{
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x28, 0x27, 0x29, 0x2A,
0x2C, 0x2F, 0x3A, 0x3B, 0x3C, 0x3E, 0x3F, 0x40, 0x5E, 0x5F, 0x00
};
LoaderSettings::LoaderSettings()
@ -238,6 +245,7 @@ void LoaderSettings::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "Patch Country Strings" ));
Options->SetName(Idx++, "%s", tr( "Ocarina" ));
Options->SetName(Idx++, "%s", tr( "Private Server" ));
Options->SetName(Idx++, "%s", tr( "Custom Address" ));
Options->SetName(Idx++, "%s", tr( "Loader's IOS" ));
Options->SetName(Idx++, "%s", tr( "Game's IOS" ));
Options->SetName(Idx++, "%s", tr( "Quick Boot" ));
@ -337,6 +345,9 @@ void LoaderSettings::SetOptionValues()
//! Settings: Private Server
Options->SetValue(Idx++, "%s", tr( PrivServText[Settings.PrivateServer] ));
//! Settings: Custom Address
Options->SetValue(Idx++, "%s", Settings.CustomAddress);
//! Settings: Loader's IOS
if (Settings.godmode)
Options->SetValue(Idx++, "IOS %i", Settings.LoaderIOS);
@ -605,6 +616,21 @@ int LoaderSettings::GetMenuInternal()
if (++Settings.PrivateServer >= PRIVSERV_MAX_CHOICE) Settings.PrivateServer = 0;
}
//! Settings: Custom Address
else if (ret == ++Idx)
{
char entered[300];
snprintf(entered, sizeof(entered), "%s", Settings.CustomAddress);
if (OnScreenKeyboard(entered, sizeof(entered), 0, false, true))
{
// Only allow letters, numbers, periods and hyphens
if (strlen(entered) <= 3 || strpbrk(entered, blocked))
WindowPrompt(tr("Error"), tr("Please enter a valid address e.g. wiimmfi.de"), tr("OK"));
else
snprintf(Settings.CustomAddress, sizeof(Settings.CustomAddress), entered);
}
}
//! Settings: Loader's IOS
else if (ret == ++Idx)
{

View File

@ -261,6 +261,7 @@ int GameBooter::BootGame(struct discHdr *gameHdr)
u8 languageChoice = game_cfg->language == INHERIT ? Settings.language : game_cfg->language;
u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina;
u8 PrivServChoice = game_cfg->PrivateServer == INHERIT ? Settings.PrivateServer : game_cfg->PrivateServer;
const char *customAddress = game_cfg->CustomAddress.size() == 0 ? Settings.CustomAddress : game_cfg->CustomAddress.c_str();
u8 viChoice = game_cfg->vipatch == INHERIT ? Settings.videopatch : game_cfg->vipatch;
u8 sneekChoice = game_cfg->sneekVideoPatch == INHERIT ? Settings.sneekVideoPatch : game_cfg->sneekVideoPatch;
u8 iosChoice = game_cfg->ios == INHERIT ? Settings.cios : game_cfg->ios;
@ -322,6 +323,10 @@ int GameBooter::BootGame(struct discHdr *gameHdr)
Playlog_Update((char *) gameHeader.id, BNRInstance::Instance()->GetIMETTitle(CONF_GetLanguage()));
}
gprintf("Game title: %s\n", gameHeader.title);
if (PrivServChoice == PRIVSERV_CUSTOM)
gprintf("Custom address: %s\n", customAddress);
//! Load wip codes
load_wip_code(gameHeader.id);
@ -430,13 +435,15 @@ int GameBooter::BootGame(struct discHdr *gameHdr)
//! Also, the new Wiimmfi server patch should be loaded into memory after
//! the code handler and the cheat codes.
if (PrivServChoice != PRIVSERV_WIIMMFI || memcmp(((void *)(0x80000000)), (char*)"RMC", 3) != 0) {
if (PrivServChoice != PRIVSERV_WIIMMFI || memcmp(gameHeader.id, "RMC", 3) != 0)
{
//! Either the server is not Wiimmfi, or, if it is Wiimmfi, the game isn't MKWii - patch the old way
gamepatches(videoChoice, videoPatchDolChoice, aspectChoice, languageChoice, countrystrings, viChoice, sneekChoice, Hooktype, returnToChoice, PrivServChoice);
gamepatches(videoChoice, videoPatchDolChoice, aspectChoice, languageChoice, countrystrings, viChoice, sneekChoice, Hooktype, returnToChoice, PrivServChoice, customAddress);
}
else {
else
{
//! Wiimmfi patch for Mario Kart Wii - patch with PRIVSERV_OFF and handle all the patching within do_new_wiimmfi()
gamepatches(videoChoice, videoPatchDolChoice, aspectChoice, languageChoice, countrystrings, viChoice, sneekChoice, Hooktype, returnToChoice, PRIVSERV_OFF);
gamepatches(videoChoice, videoPatchDolChoice, aspectChoice, languageChoice, countrystrings, viChoice, sneekChoice, Hooktype, returnToChoice, PRIVSERV_OFF, customAddress);
}
@ -451,9 +458,11 @@ int GameBooter::BootGame(struct discHdr *gameHdr)
PatchFix480p();
//! New Wiimmfi patch should be loaded last, after the codehandler, just before the call to the entry point
if (PrivServChoice == PRIVSERV_WIIMMFI && memcmp(((void *)(0x80000000)), (char*)"RMC", 3) == 0 ) {
if (PrivServChoice == PRIVSERV_WIIMMFI && memcmp(gameHeader.id, "RMC", 3) == 0 )
{
// all the cool new Wiimmfi stuff:
switch(do_new_wiimmfi()) {
switch(do_new_wiimmfi())
{
case 0:
gprintf("Wiimmfi patch for Mario Kart Wii successful.\n");
break;