mirror of
https://github.com/modmii/modmii.github.io.git
synced 2025-05-16 03:47:10 +02:00
34801 lines
1.4 MiB
34801 lines
1.4 MiB
@echo off
|
|
setlocal
|
|
|
|
:top
|
|
::chdir /d "%~dp0"
|
|
pushd "%~dp0"
|
|
cls
|
|
if not exist support cd..
|
|
|
|
set cygwin=nodosfilewarning
|
|
set ModMiiDrive=%cd:~0,2%
|
|
|
|
set "PATH=%SystemRoot%\system32;%SystemRoot%\system32\wbem;%SystemRoot%;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0"
|
|
|
|
if exist Support\settings.bat call Support\settings.bat
|
|
|
|
::65001 was used to fix paths with special characters like é for Sneek Installer, but caused rare slowdowns for some users so reverted back to 437. Other downloads may still fail if a special character exists in the path, but work fine if using the default COPY_TO_SD relative path.
|
|
chcp 437>nul
|
|
::chcp 65001>nul
|
|
::chcp 850>nul
|
|
::chcp 1252>nul
|
|
|
|
::PUSHD "%cd%"
|
|
::::PUSHD "%~dp0"
|
|
::POPD
|
|
|
|
set currentversion=8.0.3
|
|
set d2x-bundled=11-beta3
|
|
set currentversioncopy=%currentversion%
|
|
set agreedversion=
|
|
set "WiiPy=Support\wiipy\wiipy.exe"
|
|
|
|
::let's make this easy
|
|
set redtext=Red
|
|
set bluetext=Blue
|
|
set yellowtext=Yellow
|
|
set greentext=Green
|
|
set magentatext=Magenta
|
|
set cyantext=Cyan
|
|
set backgroundcolor=1
|
|
set whitetext=f
|
|
|
|
|
|
|
|
::-------------------CMD LINE SUPPORT----------------------
|
|
::getting args sent to ModMii, if applicable
|
|
::"ModMii" a b c d e f g h i
|
|
::equals
|
|
::"ModMii" %1 %2 %3 %4 %5 %6 %7 %8 %9
|
|
set one=
|
|
set "one=%~1"
|
|
::if not "%one%"=="" set cmdlinemode=Y \\ this check crashes if variable contains a single quote (as sometimes will happen when dragging a drive letter onto ModMii.exe, fixed below)
|
|
::instead check if ONE is defined by set (search for "one=") then set cmd line mode and remove quotes only if it exists
|
|
set|findstr /I /B /C:"one=">nul
|
|
IF NOT ERRORLEVEL 1 set cmdlinemode=Y
|
|
if /i "%cmdlinemode%" EQU "Y" set one=%one:"=%
|
|
|
|
set "two=%~2"
|
|
set "three=%~3"
|
|
set "four=%~4"
|
|
set "five=%~5"
|
|
set "six=%~6"
|
|
set "seven=%~7"
|
|
set "eight=%~8"
|
|
set "nine=%~9"
|
|
::one-nine will change single carets (^) to double (^^) ONLY when run via EXE (i.e. when ModMii.lnk exists), fixed below
|
|
if not exist Support\ModMii.lnk goto:nofix
|
|
set "one=%one:^^=^%"
|
|
set "two=%two:^^=^%"
|
|
set "three=%three:^^=^%"
|
|
set "four=%four:^^=^%"
|
|
set "five=%five:^^=^%"
|
|
set "six=%six:^^=^%"
|
|
set "seven=%seven:^^=^%"
|
|
set "eight=%eight:^^=^%"
|
|
set "nine=%nine:^^=^%"
|
|
:nofix
|
|
if exist Support\ModMii.lnk del Support\ModMii.lnk>nul
|
|
|
|
setlocal enableDelayedExpansion
|
|
set cmdinput="
|
|
set "cmdinput=!cmdcmdline!"
|
|
|
|
::if ONE is a function and not a dropped file, then revert to secondary method [set cmdinput=%*] primary method only works if calling the exe, not the bat
|
|
if /i "%one%" EQU "help" set cmdinput=%*
|
|
if /i "%one%" EQU "O" set cmdinput=%*
|
|
if /i "%one%" EQU "D" set cmdinput=%*
|
|
if /i "%one%" EQU "W" set cmdinput=%*
|
|
if /i "%one%" EQU "HS" set cmdinput=%*
|
|
if /i "%one%" EQU "RC" set cmdinput=%*
|
|
if /i "%one%" EQU "S" set cmdinput=%*
|
|
if /i "%one%" EQU "SE" set cmdinput=%*
|
|
if /i "%one%" EQU "U" set cmdinput=%*
|
|
if /i "%one%" EQU "E" set cmdinput=%*
|
|
if /i "%one%" EQU "AW" set cmdinput=%*
|
|
if /i "%one%" EQU "L" set cmdinput=%*
|
|
if /i "%one%" EQU "SU" set cmdinput=%*
|
|
|
|
::slash is wrong direction when launched via exe, correct it here:
|
|
set "cmdinput=!cmdinput:/Support/ModMii.bat=\Support\ModMii.bat!"
|
|
::remove bat name from cmdinput, appears sometimes depending how it's launched, actually replace with " to be removed later
|
|
set "cmdinput=!cmdinput:*%~f0="!"
|
|
|
|
::remove first term "C:\WINDOWS\system32\cmd.exe"
|
|
::set "cmdinput=!cmdinput:* =!"
|
|
::remove 2nd term "/c"
|
|
::set "cmdinput=!cmdinput:* =!"
|
|
|
|
::strip out unnecessary chars at start, disabled is it removed the first arg from cmdinput
|
|
::set "cmdinput=!cmdinput:*" =!"
|
|
|
|
::remove quotes
|
|
set "cmdinput=!cmdinput:"=!"
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
|
|
::remove leading space if applicable
|
|
if "%cmdinput%"=="" goto:skipfix
|
|
if /i "%cmdinput:~0,1%" EQU " " set "cmdinput=%cmdinput:~1%"
|
|
:skipfix
|
|
|
|
::in some cases above method will yield "C:\Windows\System32\cmd.exe", for these fall back on secondary method
|
|
if /i "%cmdinput%" NEQ "%homedrive%\Windows\System32\cmd.exe" goto:skipfix
|
|
set cmdinput=%*
|
|
set "cmdinput=%cmdinput:"=%"
|
|
:skipfix
|
|
|
|
::echo cmdinput: "%cmdinput%"
|
|
::echo one: "%one%"
|
|
::pause
|
|
|
|
::multidrop stuff done later!
|
|
|
|
NET SESSION >nul 2>&1
|
|
IF %ERRORLEVEL% EQU 0 (set adminmode=Y) else (set adminmode=N)
|
|
if /i "%adminmode%" EQU "Y" goto:donecheck
|
|
|
|
::check for write access
|
|
if exist "temp\test" goto:skip
|
|
mkdir "temp\test"
|
|
if not exist "temp\test" (goto:WriteError) else (goto:donecheck)
|
|
|
|
:skip
|
|
if not exist temp\test\test.txt goto:skip
|
|
del temp\test\test.txt>nul
|
|
if exist temp\test\test.txt (goto:WriteError) else (goto:donecheck)
|
|
|
|
:skip
|
|
echo test>temp\test\test.txt
|
|
if exist temp\test\test.txt goto:donecheck
|
|
|
|
:WriteError
|
|
|
|
::for skin mode, force screen to be visible
|
|
::support\nircmd.exe win activate ititle "ModMiiSkinCMD"
|
|
::support\nircmd.exe win trans ititle "ModMiiSkinCMD" 255
|
|
cls
|
|
echo ModMii needs to be run as an Administrator if saved to this directory.
|
|
echo Please either run ModMii from somewhere else like C:\ModMii or run as admin
|
|
echo.
|
|
echo Press any key to update shortcuts and run ModMii as administrator...
|
|
pause>nul
|
|
|
|
|
|
if not "%cmdinput%"=="" support\nircmd.exe shortcut "%cd%\ModMii.exe" "%temp%" "ModMii" "%cmdinput%"
|
|
if "%cmdinput%"=="" support\nircmd.exe shortcut "%cd%\ModMii.exe" "%temp%" "ModMii"
|
|
support\hexalter.exe "%temp%\ModMii.lnk" 0x15=0x20>nul
|
|
|
|
if exist "%userprofile%\Desktop\ModMii.lnk" support\hexalter.exe "%userprofile%\Desktop\ModMii.lnk" 0x15=0x20>nul
|
|
if exist "%userprofile%\Desktop\ModMii Skin.lnk" support\hexalter.exe "%userprofile%\Desktop\ModMii Skin.lnk" 0x15=0x20>nul
|
|
if exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii.lnk" support\hexalter.exe "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii.lnk" 0x15=0x20>nul
|
|
if exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii Skin.lnk" support\hexalter.exe "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii Skin.lnk" 0x15=0x20>nul
|
|
if exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Uninstall.lnk" support\hexalter.exe "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Uninstall.lnk" 0x15=0x20>nul
|
|
|
|
cd "%temp%"
|
|
start ModMii.lnk
|
|
exit
|
|
|
|
:donecheck
|
|
if exist "temp\test" rd /s /q "temp\test"> nul
|
|
|
|
IF "%AudioOption%"=="" set AudioOption=on
|
|
if "%ModMiiverbose%"=="" set ModMiiverbose=off
|
|
if "%skin%"=="" set skin=Default
|
|
if exist Support\settings.bat call Support\settings.bat
|
|
if exist "Support\Skins\%skin%\Success.mp3" (set "Success.mp3=Support\Skins\%skin%\Success.mp3") else (set "Success.mp3=Support\Skins\Default\Success.mp3")
|
|
if exist "Support\Skins\%skin%\Fail.mp3" (set "Fail.mp3=Support\Skins\%skin%\Fail.mp3") else (set "Fail.mp3=Support\Skins\Default\Fail.mp3")
|
|
if exist "Support\Skins\%skin%\splash.png" (set "splash.png=Support\Skins\%skin%\splash.png") else (set "splash.png=Support\Skins\Default\splash.png")
|
|
set CurrentDLNAME=
|
|
call "Support\subscripts\DB.bat"
|
|
|
|
if "%DRIVE%"=="" set DRIVE=COPY_TO_SD
|
|
::check if drive folder exists--if second char is ":" check if drive exists
|
|
if /i "%DRIVE:~1,1%" NEQ ":" goto:skipcheck
|
|
if exist Support\settings.bat support\sfk filter -spat Support\settings.bat -lsrep _"Set*Drive=%cd:_=\x5f%\\"_"Set Drive="_ -write -yes>nul
|
|
|
|
|
|
if exist Support\settings.bat support\sfk filter -spat Support\settings.bat -lsrep _"Set Drive="_"Set \x22Drive="_ -write -yes>nul
|
|
|
|
if exist Support\settings.bat call Support\settings.bat
|
|
if /i "%DRIVE:~1,1%" NEQ ":" goto:skipcheck
|
|
|
|
if exist "%DRIVE:~0,2%" (goto:skipcheck) else (set DRIVE=COPY_TO_SD)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*Drive=" -write -yes>nul
|
|
echo Set "Drive=%DRIVE%">>Support\settings.bat
|
|
:skipcheck
|
|
|
|
if "%DRIVEU%"=="" set DRIVEU=COPY_TO_USB
|
|
::check if DRIVEU folder exists--if second char is ":" check if DRIVEU exists
|
|
if /i "%DRIVEU:~1,1%" NEQ ":" goto:skipcheck
|
|
::if /i "%DRIVEU%" EQU "%cd%\COPY_TO_USB" set DRIVEU=COPY_TO_USB
|
|
|
|
if exist Support\settings.bat support\sfk filter -spat Support\settings.bat -lsrep _"Set*DriveU=%cd:_=\x5f%\\"_"Set DriveU="_ -write -yes>nul
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -lsrep _"Set DriveU="_"Set \x22DriveU="_ -write -yes>nul
|
|
if exist Support\settings.bat call Support\settings.bat
|
|
if /i "%DriveU:~1,1%" NEQ ":" goto:skipcheck
|
|
|
|
if exist "%DRIVEU:~0,2%" (goto:skipcheck) else (set DRIVEU=COPY_TO_USB)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*DriveU=" -write -yes>nul
|
|
echo Set "DriveU=%DRIVEU%">>Support\settings.bat
|
|
:skipcheck
|
|
|
|
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
|
|
::get windows version, only 8.1 and above supported effective ModMii 8.0.0
|
|
if exist "temp\temp.txt" del "temp\temp.txt">nul
|
|
ver>temp\temp.txt
|
|
findStr /I /C:" 8.1" "temp\temp.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (set winver=9) & (goto:continue)
|
|
support\sfk filter -quiet "temp\temp.txt" -rep _*" "__ -rep _"."*__ -write -yes
|
|
support\sfk filter -quiet "temp\temp.txt" -no-empty-lines -no-blank-lines -write -yes
|
|
set /p winver= <temp\temp.txt
|
|
::echo %winver%
|
|
if not exist "%homedrive%\Program Files (x86)" goto:winwarning
|
|
if /i %winver% GEQ 9 goto:continue
|
|
:winwarning
|
|
echo ModMii v8.0.0 and above requires 64-bit Windows 8.1 or higher
|
|
echo.
|
|
echo Some ModMii features will not work properly (i.e. NUS downloading, WAD (un)packing, building some non-d2x cIOSs, some EmuNANDs features, theme building, WAD editing, etc.)
|
|
echo.
|
|
if not exist ModMii_64bit.exe echo Should you continue, an alternate ModMii.exe Launcher will be downloaded to make things a bit better.
|
|
echo Hit any key to use ModMii anyway
|
|
pause>nul
|
|
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set LegacyCIOS=" -write -yes>nul
|
|
Set LegacyCIOS=Y
|
|
echo Set LegacyCIOS=Y>>Support\settings.bat
|
|
|
|
::if exist "%homedrive%\Program Files (x86)" goto:skip
|
|
if exist ModMii_64bit.exe goto:skip
|
|
|
|
echo.
|
|
echo Downloading alternate ModMii.exe Launcher...
|
|
if not exist "temp\ModMii_Launcher_2.4_32bit.zip" support\wget --no-check-certificate -t 3 "https://raw.githubusercontent.com/modmii/modmii.github.io/master/temp/ModMii_Launcher_2.4_32bit.zip" -O "temp\ModMii_Launcher_2.4_32bit.zip" -q --show-progress
|
|
if not exist "temp\ModMii_Launcher_2.4_32bit.zip" (echo Download Failed, use Support\ModMii.bat, ModMii 7.0.3, or upgrade your Windows...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:skip)
|
|
|
|
support\7za x -aoa "temp\ModMii_Launcher_2.4_32bit.zip" -r ModMii_32bit.exe
|
|
|
|
if not exist ModMii_32bit.exe (del "temp\ModMii_Launcher_2.4_32bit.zip">nul) & (echo Download Failed, use Support\ModMii.bat, ModMii 7.0.3, or upgrade your Windows...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:skip)
|
|
|
|
move /y ModMii.exe ModMii_64bit.exe>nul
|
|
move /y ModMii_32bit.exe ModMii.exe>nul
|
|
|
|
goto:skip
|
|
:continue
|
|
|
|
|
|
::check for "microsoft visual c++ 2015-2022"
|
|
::if exist "%homedrive%\Program Files (x86)" (set dlname=hashmyfiles-x64.zip) else (set dlname=hashmyfiles.zip)
|
|
set MVCattempt=1
|
|
:MVC
|
|
if exist "temp\temp.reg" del "temp\temp.reg">nul
|
|
if exist "temp\temp.txt" del "temp\temp.txt">nul
|
|
if exist "%homedrive%\Program Files (x86)" START /MIN /WAIT REG EXPORT HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\X64 "temp\temp.reg" /Y
|
|
if not exist "%homedrive%\Program Files (x86)" START /MIN /WAIT REG EXPORT HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\X86 "temp\temp.reg" /Y
|
|
::if not exist temp\temp.reg (set MVCversion=0) & (goto:skip)
|
|
::cmd /a /c type "temp\temp.reg">"temp\temp.txt"
|
|
::support\sfk filter -spat -quiet "temp\temp.txt" -+"Version\x22=" -rep _"*=\x22v"__ -rep _"\x22"__ -write -yes
|
|
::set /p MVCversion= <temp\temp.txt
|
|
::if exist "temp\temp.txt" del "temp\temp.txt">nul
|
|
if exist temp\temp.reg goto:skip
|
|
|
|
if /i "%MVCattempt%" EQU "2" goto:MVCfail
|
|
|
|
::missing "microsoft visual c++ 2015-2022"
|
|
::https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170&wt.mc_id=studentamb_203301#latest-microsoft-visual-c-redistributable-version
|
|
if exist "%homedrive%\Program Files (x86)" set "code2=https://aka.ms/vs/17/release/vc_redist.x64.exe" & set "dlname=vc_redist.x64.exe"
|
|
if not exist "%homedrive%\Program Files (x86)" set "code2=https://aka.ms/vs/17/release/vc_redist.x86.exe" & set "dlname=vc_redist.x86.exe"
|
|
|
|
echo ModMii v8.0.0 and above ^& WiiPy requires Microsoft Visual C++ 2015-2022
|
|
echo.
|
|
echo Downloading and launching installer...
|
|
echo.
|
|
support\wget --no-check-certificate -t 3 "%code2%" -O "temp\%dlname%" -q --show-progress
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\%dlname%" || del "temp\%dlname%"
|
|
|
|
if exist "temp\%dlname%" goto:MVCinstall
|
|
|
|
echo Download Failed, check your connection or install it manually
|
|
echo.
|
|
echo Some ModMii features will not work properly (i.e. NUS downloading, WAD (un)packing, building some non-d2x cIOSs, some EmuNANDs features, theme building, WAD editing, etc.)
|
|
echo.
|
|
echo Hit any key to use ModMii anyway
|
|
pause>nul
|
|
goto:skip
|
|
|
|
:MVCfail
|
|
echo Installation Failed, try installing it manually
|
|
echo.
|
|
echo Some ModMii features will not work properly (i.e. NUS downloading, WAD (un)packing, building some non-d2x cIOSs, some EmuNANDs features, theme building, WAD editing, etc.)
|
|
echo.
|
|
echo Hit any key to use ModMii anyway
|
|
pause>nul
|
|
goto:skip
|
|
|
|
:MVCinstall
|
|
echo Launching installer and waiting for installation to finish...
|
|
echo.
|
|
::temp\%dlname% /install /passive /norestart
|
|
start /wait temp\%dlname% /install /passive /norestart
|
|
echo Rechecking...
|
|
echo.
|
|
if exist "temp\%dlname%" del "temp\%dlname%">nul
|
|
SET /a MVCattempt=%MVCattempt%+1
|
|
goto:MVC
|
|
|
|
:skip
|
|
if exist "temp\temp.reg" del "temp\temp.reg">nul
|
|
|
|
|
|
|
|
|
|
::in case game dump is left over for interrupted deflicker process, delete it now as it could potentially be pretty large
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
if exist "temp\HBC_Transfer_" rd /s /q "temp\HBC_Transfer_">nul
|
|
|
|
::if not exist temp mkdir temp
|
|
if not exist temp\DownloadQueues mkdir temp\DownloadQueues
|
|
if exist Support\DownloadQueues\* move /y Support\DownloadQueues\* temp\DownloadQueues>nul
|
|
if exist Support\DownloadQueues rd /s /q "Support\DownloadQueues">nul
|
|
if not exist Support\More-cIOSs mkdir Support\More-cIOSs
|
|
|
|
::check for InstallForge Uninstall.exe, uninstall.dat and uninstall_l.ifl then move\rename to Support folder
|
|
if not exist uninstall.dat goto:skip
|
|
if exist uninstall.dat move /y uninstall.dat Support\uninstall.dat>nul
|
|
if exist uninstall_l.ifl move /y uninstall_l.ifl Support\uninstall_l.ifl>nul
|
|
if exist Uninstall.exe move /y Uninstall.exe Support\Uninstall2.exe>nul
|
|
:skip
|
|
if exist "support\subscripts\Uninstaller.exe" move /y "support\subscripts\Uninstaller.exe" Uninstall.exe>nul
|
|
|
|
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\" goto:skip
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii.lnk" support\nircmd.exe shortcut "%cd%\ModMii.exe" "~$folder.programs$\ModMii" "ModMii"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii Skin.lnk" support\nircmd.exe shortcut "%cd%\ModMiiSkin.exe" "~$folder.programs$\ModMii" "ModMii Skin"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Uninstall.lnk" support\nircmd.exe shortcut "%cd%\Uninstall.exe" "~$folder.programs$\ModMii" "Uninstall"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Website & Help.lnk" support\nircmd.exe shortcut "https://modmii.github.io" "~$folder.programs$\ModMii" "Website & Help"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Open ModMii Folder.lnk" support\nircmd.exe shortcut "%windir%\explorer.exe" "~$folder.programs$\ModMii" "Open ModMii Folder" "%cd%\"
|
|
:skip
|
|
|
|
|
|
set UPDATENAME=ModMii
|
|
::set UPDATENAME=ModMii_IT_
|
|
|
|
if /i "%debug%" EQU "on" goto:skip
|
|
if exist Updatetemp.bat attrib -h Updatetemp.bat
|
|
if exist Updatetemp.bat del Updatetemp.bat>nul
|
|
:skip
|
|
|
|
::this next line will force d2x online version checks to be done once every time modmii is opened (as opposed to just once per day)
|
|
if exist "temp\d2xlist*.txt" del /f /q "temp\d2xlist*.txt"
|
|
|
|
::set to Y to keep some invalid files for debug purposes (or add "set KeepInvalidOverride=Y" to settings.bat), be sure to revert afterwards
|
|
if "%KeepInvalidOverride%"=="" set KeepInvalidOverride=N
|
|
|
|
|
|
if /i "%LegacyCIOS%" NEQ "Y" goto:skip
|
|
|
|
call Support\subscripts\dependency.bat LegacyCIOS
|
|
if /i "%dependency%" EQU "F" goto:RevertOverride
|
|
|
|
::.NET Framework 3.5 check+installation
|
|
call Support\subscripts\dependency.bat NETframework
|
|
if /i "%dependency%" EQU "F" goto:RevertOverride
|
|
|
|
goto:skip
|
|
|
|
:RevertOverride
|
|
echo Removing "set LegacyCIOS=Y" from settings because:
|
|
if not exist Support\WadMii.exe echo - Support\WadMii.exe is missing
|
|
if not exist Support\libWiiSharp.dll echo - Support\libWiiSharp.dll is missing
|
|
if not exist Support\tmdedit.exe echo - Support\tmdedit.exe is missing
|
|
if not exist Support\patchios.exe echo - Support\patchios.exe is missing
|
|
if not exist "%windir%\Microsoft.NET\Framework\v3.5" echo - .NET Framework 3.5 not installed
|
|
set LegacyCIOS=
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set LegacyCIOS=" -write -yes>nul
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
:skip
|
|
|
|
::cmd line stuff
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:notcmd
|
|
|
|
if /i "%two%" EQU "Help" goto:specificCMDhelp
|
|
if /i "%one%" EQU "O" goto:cmdlineOPTIONShelp
|
|
if /i "%one%" EQU "D" goto:cmdlineDhelp
|
|
if /i "%one%" EQU "W" goto:hardcodedoptions
|
|
if /i "%one%" EQU "HS" goto:hardcodedoptions
|
|
if /i "%one%" EQU "RC" goto:hardcodedoptions
|
|
if /i "%one%" EQU "S" goto:hardcodedoptions
|
|
if /i "%one%" EQU "SE" goto:hardcodedoptions
|
|
if /i "%one%" EQU "U" goto:hardcodedoptions
|
|
if /i "%one%" EQU "E" goto:hardcodedoptions
|
|
if /i "%one%" EQU "AW" goto:hardcodedoptions
|
|
if /i "%one%" EQU "L" goto:hardcodedoptions
|
|
if /i "%one%" EQU "SU" goto:hardcodedoptions
|
|
|
|
|
|
::---pure drag and drop stuff below---
|
|
|
|
|
|
::multidrop support, insert line breaks to split different dragged files arguments
|
|
|
|
::add check for multiple files by searching for more 2 or more colons ":"
|
|
set "string=%cmdinput%"
|
|
set /a filecount=0
|
|
setlocal EnableDelayedExpansion
|
|
if defined string (set ^"strtmp=!string::=^
|
|
%= empty string =%
|
|
!^") else set "strtmp="
|
|
for /F %%C in ('cmd /V /C echo(^^!strtmp^^!^| find /C /V ""') do set /A "filecount=%%C-1"
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
::echo "!string!" contains %filecount% files
|
|
if %filecount% LSS 2 goto:notMulti
|
|
|
|
|
|
echo "%cmdinput%">temp\MultiDrop.txt
|
|
support\sfk -spat filter temp\MultiDrop.txt -rep _\x22__ -rep _" A:"_"\nA:"_ -rep _" B:"_"\nB:"_ -rep _" C:"_"\nC:"_ -rep _" D:"_"\nD:"_ -rep _" E:"_"\nE:"_ -rep _" F:"_"\nF:"_ -rep _" G:"_"\nG:"_ -rep _" H:"_"\nH:"_ -rep _" I:"_"\nI:"_ -rep _" J:"_"\nJ:"_ -rep _" K:"_"\nK:"_ -rep _" L:"_"\nL:"_ -rep _" M:"_"\nM:"_ -rep _" N:"_"\nN:"_ -rep _" O:"_"\nO:"_ -rep _" P:"_"\nP:"_ -rep _" Q:"_"\nQ:"_ -rep _" R:"_"\nR:"_ -rep _" S:"_"\nS:"_ -rep _" T:"_"\nT:"_ -rep _" U:"_"\nU:"_ -rep _" V:"_"\nV:"_ -rep _" W:"_"\nW:"_ -rep _" X:"_"\nX:"_ -rep _" Y:"_"\nY:"_ -rep _" Z:"_"\nZ:"_ -rep _"^^"_"^"_ -write -yes>nul
|
|
set /p testme= <temp\MultiDrop.txt
|
|
if not exist "%testme%" goto:cmdlinehelp
|
|
|
|
start support\subscripts\MultiDrop.exe
|
|
exit
|
|
:notMulti
|
|
|
|
|
|
::recommended d2x version check = "RecD2XcIOS", but check no more than once per day
|
|
if not exist "%cmdinput%" goto:proceed
|
|
FOR /F "tokens=*" %%g IN ('support\sfk date') do (SET CurDate=%%g)
|
|
if not exist temp\d2xClassicCheck.txt echo whatever>temp\d2xClassicCheck.txt
|
|
findStr /I /X /C:"%CurDate% " "temp\d2xClassicCheck.txt" >nul
|
|
IF NOT ERRORLEVEL 1 goto:proceed
|
|
if exist temp\RecD2XcIOS.txt del temp\RecD2XcIOS.txt>nul
|
|
support\wget --no-check-certificate "https://github.com/xflak/stats/releases/latest/download/classic.txt" -O temp\RecD2XcIOS.txt -q
|
|
::delete if file is empty (if empty)
|
|
if exist "temp\RecD2XcIOS.txt" >nul findstr "^" "temp\RecD2XcIOS.txt" || del "temp\RecD2XcIOS.txt"
|
|
if not exist temp\RecD2XcIOS.txt goto:proceed
|
|
set /p RecD2XcIOS= <temp\RecD2XcIOS.txt
|
|
del "temp\RecD2XcIOS.txt">nul
|
|
if exist "Support\settings.bat" support\sfk filter -spat "Support\settings.bat" -ls!"set \x22RecD2XcIOS=" -write -yes>nul
|
|
echo Set "RecD2XcIOS=%RecD2XcIOS%">> Support\settings.bat
|
|
echo %CurDate% >temp\d2xClassicCheck.txt
|
|
:proceed
|
|
|
|
|
|
|
|
|
|
::syscheck updater drag and drop
|
|
if /i "%cmdinput:~-4%" EQU ".csv" (set one=SU) & (set cmdlinemodeswitchoff=Y) & (goto:hardcodedoptions)
|
|
|
|
::\bootmii.ini updater drag and drop
|
|
if /i "%cmdinput:~-12%" EQU "\bootmii.ini" set "bootmiiINI=%cmdinput%"
|
|
if /i "%cmdinput:~-12%" EQU "\bootmii.ini" (set one=BM) & (set cmdlinemodeswitchoff=Y) & (set MENU1=C) & (set configfile=BM) & (goto:nohardcodedoptions)
|
|
|
|
if /i "%cmdinput:~-4%" NEQ ".bat" goto:notbat
|
|
::check for "- Wizard Settings -"
|
|
findStr /I /C:"- Wizard Settings -" "%cmdinput%" >nul
|
|
IF NOT ERRORLEVEL 1 (set cmdlinemodeswitchoff=Y) & (set one=WL) & (set LoadWizSettings=Y) & (goto:go)
|
|
|
|
::check for download queue
|
|
findStr /I /C:":endofqueue" "%cmdinput%" >nul
|
|
IF ERRORLEVEL 1 goto:notbat
|
|
set one=L
|
|
set cmdlinemodeswitchoff=Y
|
|
goto:hardcodedoptions
|
|
:notbat
|
|
|
|
|
|
|
|
::---------------ModMii nand tools---------------
|
|
if /i "%cmdinput:~-4%" NEQ ".bin" goto:notbin
|
|
if not exist "%cmdinput%" goto:notbin
|
|
if exist "%cmdinput%\" goto:notbin
|
|
title ModMii nand tools
|
|
|
|
|
|
::Checking files size...
|
|
for %%A in ("%cmdinput%") do set binsize=%%~zA
|
|
::echo file size: %binsize% bytes
|
|
if /i "%binsize%" EQU "553649152" goto:binDrop
|
|
if /i "%binsize%" EQU "553648128" goto:nandfix
|
|
|
|
::bin file is not a nand
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
echo.
|
|
support\sfk echo [%bluetext%]"%cmdinput%"
|
|
echo.
|
|
support\sfk echo [%yellowtext%]*This file is not a Wii nand.bin backup! Filesize is %binsize% bytes (553649152 expected)
|
|
echo.
|
|
echo You can close this window now, or press any key to calculate the hash of this file...
|
|
pause> nul
|
|
goto:HashMyFiles
|
|
|
|
|
|
:nandfix
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
echo.
|
|
support\sfk echo [%bluetext%]"%cmdinput%"
|
|
echo.
|
|
support\sfk echo [%yellowtext%]Incomplete nand detected! Missing keys!
|
|
echo.
|
|
echo Older versions of bootmii created nand backups without embedding the Wii's keys.
|
|
echo Similarly vWii nand backups made by nanddumper are created without embedded keys.
|
|
echo These broken nand backups cannot be restored or used for some other purposes without fixing it first.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" support\sfk.exe echo [%bluetext%]To fix your nand backup, drag the keys.bin or otp.bin file for THE SAME console onto this window and press enter
|
|
if /i "%adminmode%" EQU "Y" support\sfk.exe echo [%bluetext%]To fix your nand backup, enter the path to the keys.bin or otp.bin file for THE SAME console
|
|
|
|
echo Note that ModMii will NOT overwrite the original file
|
|
echo.
|
|
support\sfk echo [%yellowtext%]Warning! Make sure you provide the keys.bin or otp.bin file for THE SAME console this nand was dumped from!
|
|
echo.
|
|
|
|
|
|
set nandkeys="
|
|
set /p nandkeys=Enter Selection Here:
|
|
set "nandkeys=%nandkeys:"=%"
|
|
|
|
::echo nandkeys "%nandkeys%"
|
|
::echo mympath "%mympath%"
|
|
|
|
if "%nandkeys%"=="" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:nandfix)
|
|
|
|
if not exist "%nandkeys%" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:nandfix)
|
|
|
|
If /i "%nandkeys:~-4%" NEQ ".bin" (echo This isn't a bin file, try again...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:nandfix)
|
|
|
|
:checkkey
|
|
for %%A in ("%nandkeys%") do set keyssize=%%~zA
|
|
::echo file size: %keyssize% bytes
|
|
if /i "%keyssize%" NEQ "1024" (echo This isn't the right filesize [1024 bytes], try again...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:nandfix)
|
|
|
|
::check for "ConsoleID" in keys file hex search hex
|
|
set ERRORLEVEL=
|
|
support\sfk.exe hexfind "%nandkeys%" -pat /ConsoleID/ >nul
|
|
::ERRORLEVEL 1 means "ConsoleID" found, 0 means not found
|
|
::echo ERRORLEVEL %ERRORLEVEL%
|
|
IF ERRORLEVEL 1 goto:noOTPrepair
|
|
|
|
|
|
call Support\subscripts\dependency.bat ShowMiiVWiiKeys
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
echo.
|
|
|
|
::get nandkeysfile and nandkeyspath names, i.e. get filename and get folder full path not including filename
|
|
set "nandkeysfile=%nandkeys:*\=%"
|
|
set "nandkeyspath=%nandkeys%"
|
|
:stripnandkeysfile
|
|
set "nandkeysfile=%nandkeysfile:*\=%"
|
|
echo "%nandkeysfile%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripnandkeysfile
|
|
|
|
echo set "nandkeyspath=%%nandkeyspath:%nandkeysfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
|
|
set "nandkeyspath=%nandkeys%"
|
|
echo set "nandkeyspathback=%%nandkeyspath:\%nandkeysfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
::echo nandkeysfile: "%nandkeysfile%"
|
|
::echo nandkeyspath: "%nandkeyspath%"
|
|
::echo nandkeyspathback: "%nandkeyspathback%"
|
|
|
|
if exist "temp\keys.bin" del "temp\keys.bin">nul
|
|
if exist "temp\keys.txt" del "temp\keys.txt">nul
|
|
copy /y "%nandkeys%" "temp\otp.bin">nul
|
|
|
|
cd temp
|
|
ShowMiiVWiiKeys.exe>nul
|
|
cd..
|
|
|
|
if not exist temp\keys.bin (echo ShowMiiVWiiKeys failed, exiting...) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
if exist "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.bin" move /y "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.bin" "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.bin.bak">nul
|
|
if exist "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.txt" move /y "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.txt" "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.txt.bak">nul
|
|
|
|
move /y "temp\keys.bin" "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.bin">nul
|
|
if exist "temp\keys.txt" move /y "temp\keys.txt" "%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.txt">nul
|
|
if exist "temp\otp.bin" del "temp\otp.bin">nul
|
|
|
|
set "nandkeys=%nandkeyspathback%\%nandkeysfile:~0,-4%-keys.bin"
|
|
|
|
::echo %nandkeys%
|
|
goto:checkkey
|
|
|
|
:noOTPrepair
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Appending [%cyantext%]"%nandkeys%" to "%cmdinput%"...
|
|
copy /b /y "%cmdinput%"+"%nandkeys%" "%cmdinput:~0,-4%-repaired%cmdinput:~-4%"
|
|
echo.
|
|
if not exist "%cmdinput:~0,-4%-repaired%cmdinput:~-4%" goto:notrepaired
|
|
|
|
::Checking files size...
|
|
::echo old file size: %binsize% bytes
|
|
for %%A in ("%cmdinput:~0,-4%-repaired%cmdinput:~-4%") do set binsize=%%~zA
|
|
::echo new file size: %binsize% bytes
|
|
if /i "%binsize%" NEQ "553649152" goto:notrepaired
|
|
|
|
set "cmdinput=%cmdinput:~0,-4%-repaired%cmdinput:~-4%"
|
|
support\sfk.exe echo [%greentext%]Nand successfully repaired, continuing...
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
goto:binDrop
|
|
|
|
:notrepaired
|
|
::cleanup
|
|
if exist "%cmdinput:~0,-4%-repaired%cmdinput:~-4%" del "%cmdinput:~0,-4%-repaired%cmdinput:~-4%">nul
|
|
support\sfk.exe echo [%redtext%]Something went wrong, press any key to try again...) & (pause> nul) & (goto:nandfix)
|
|
|
|
|
|
:binDrop
|
|
set binAction="
|
|
cls
|
|
|
|
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
echo.
|
|
echo What would you like to do with this nand file?
|
|
echo.
|
|
support\sfk echo [%bluetext%]"%cmdinput%"
|
|
support\sfk echo [%yellowtext%]*If this isn't a Wii or vWii nand backup, you should close this window now!
|
|
echo.
|
|
echo E = Extract it to use as an Emulated nand
|
|
echo C = Check it using nandBinCheck
|
|
echo CAB = Clone A to B; use this Wii's nand.bin ("A") to build a nand for a different "B" Wii; i.e. "A" is donor
|
|
echo CBA = Clone B to A; build new nand for this Wii ("A") cloned from a different "B" Wii nand.bin; i.e. "A" is recipient
|
|
echo D = DefragMii; speed up your nand by defragmenting it; can also update old nand backups to avoid new bad blocks
|
|
echo.
|
|
set binAction="
|
|
set /p binAction=Enter Selection Here:
|
|
set "binAction=%binAction:"=%"
|
|
|
|
if /i "%binAction%" EQU "E" goto:nandextract
|
|
if /i "%binAction%" EQU "C" goto:nandBinCheck
|
|
if /i "%binAction%" EQU "CAB" goto:Punetwiin
|
|
if /i "%binAction%" EQU "CBA" goto:Punetwiin
|
|
if /i "%binAction%" EQU "D" goto:DefragMii
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:binDrop
|
|
|
|
|
|
:nandextract
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
|
|
call Support\subscripts\dependency.bat nand-tools
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
|
|
|
|
|
|
echo.
|
|
echo Extracting "%cmdinput%":
|
|
echo.
|
|
echo Please be patient, this may take a minute...
|
|
echo.
|
|
|
|
::get nandfile and nandfolder names
|
|
set "nandfile=%cmdinput:*\=%"
|
|
set "nandfolder=%cmdinput%"
|
|
:stripnandfile
|
|
set "nandfile=%nandfile:*\=%"
|
|
echo "%nandfile%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripnandfile
|
|
|
|
echo set "nandfolder=%%nandfolder:\%nandfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
::echo nandfile: %nandfile%
|
|
::echo nandfolder: %nandfolder%
|
|
|
|
set "ModMiiDir=%cd%"
|
|
|
|
if /i "%binAction%" NEQ "D" goto:notDefragmii
|
|
if /i "%nand1%" EQU "%nand2%" set "nandfile1=%nandfile%"
|
|
if /i "%nand1%" EQU "%nand2%" set "nandfolder1=%nandfolder%"
|
|
if /i "%nand1%" EQU "%nand2%" goto:skipkeys
|
|
:notDefragmii
|
|
|
|
cd /d "%nandfolder%"
|
|
if /i "%nandfile%" EQU "nand.bin" goto:skip
|
|
if exist nand.bin move /y nand.bin nand.bin.modmii.bak>nul
|
|
if exist nand-key.bin move /y nand-key.bin nand-key.bin.modmii.bak>nul
|
|
move /y "%nandfile%" nand.bin>nul
|
|
:skip
|
|
|
|
|
|
echo @echo Off>"%ModMiiDir%\temp\temp.bat"
|
|
echo title nand-aes-dump-cmd>>"%ModMiiDir%\temp\temp.bat"
|
|
echo cd /d "%nandfolder%">>"%ModMiiDir%\temp\temp.bat"
|
|
echo "%ModMiiDir%\temp\nand-tools\nand-aes-dump.exe">>"%ModMiiDir%\temp\temp.bat"
|
|
cd "%ModMiiDir%\temp"
|
|
start /min temp.bat
|
|
|
|
cd /d "%nandfolder%"
|
|
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
if not exist nand-key.bin @ping 127.0.0.1 -n 1 -w 1000> nul
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
::nand-aes-dump.exe doesn't exit when done!
|
|
if exist nand-key.bin taskkill /F /IM "nand-aes-dump.exe" /T >nul
|
|
if exist nand-key.bin taskkill /F /FI "WindowTitle eq nand-aes-dump-cmd" /T >nul
|
|
if exist nand-key.bin taskkill /F /FI "WindowTitle eq Administrator: nand-aes-dump-cmd" /T >nul
|
|
|
|
move /y nand.bin "%nandfile%">nul
|
|
if exist nand.bin.modmii.bak move /y nand.bin.modmii.bak nand.bin>nul
|
|
if not exist nand-key.bin (echo unable to retrieve nand-key.bin, exiting...) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
if /i "%binAction%" EQU "D" goto:%afterkeys%
|
|
|
|
"%ModMiiDir%\temp\nand-tools\NAND-bin2raw.exe" "%nandfile%" "%nandfile:~0,-4%_dec.bin"
|
|
|
|
"%ModMiiDir%\temp\nand-tools\zestig.exe" nand-key.bin "%nandfile:~0,-4%_dec.bin" "%nandfile:~0,-4%"
|
|
|
|
if exist "%nandfile:~0,-4%_dec.bin" del /f /q "%nandfile:~0,-4%_dec.bin"
|
|
|
|
if exist "nand-key.bin" del /f /q "nand-key.bin"
|
|
if exist "%nandfolder%\nand-key.bin.modmii.bak" move /y "%nandfolder%\nand-key.bin.modmii.bak" "%nandfolder%\nand-key.bin">nul
|
|
echo.
|
|
|
|
cd /d "%ModMiiDir%"
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if exist "%nandfolder%\%nandfile:~0,-4%" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
if not exist "%nandfolder%\%nandfile:~0,-4%" (echo Something went wrong, press any key to exit...) & (pause> nul) & (exit)
|
|
|
|
|
|
"%ModMiiDir%\support\sfk.exe" echo [%greentext%]FINISHED!
|
|
echo.
|
|
echo "%nandfolder%\%nandfile%" has been extracted to:
|
|
echo "%nandfolder%\%nandfile:~0,-4%"
|
|
echo.
|
|
|
|
"%ModMiiDir%\support\sfk.exe" echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
echo (To exit you can close this window or press enter)
|
|
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
|
|
if exist "%nandfolder%\%nandfile:~0,-4%" explorer "%nandfolder%\%nandfile:~0,-4%"
|
|
exit
|
|
|
|
|
|
|
|
:nandBinCheck
|
|
|
|
|
|
call Support\subscripts\dependency.bat nandBinCheck
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
echo @echo Off>temp\nandBinCheck\script.bat
|
|
echo title ModMii: Checking "%cmdinput%">>temp\nandBinCheck\script.bat
|
|
|
|
echo cd /d "%cd%\Support" >>temp\nandBinCheck\script.bat
|
|
echo sfk echo [%bluetext%]Checking "%cmdinput%">>temp\nandBinCheck\script.bat
|
|
echo echo ------------------>>temp\nandBinCheck\script.bat
|
|
if /i "%ModMiiverbose%" EQU "off" echo "%cd%\temp\nandBinCheck\nandBinCheck.exe" "%cmdinput%" -all>>temp\nandBinCheck\script.bat
|
|
if /i "%ModMiiverbose%" NEQ "off" echo "%cd%\temp\nandBinCheck\nandBinCheck.exe" "%cmdinput%" -all -v>>temp\nandBinCheck\script.bat
|
|
echo echo ------------------>>temp\nandBinCheck\script.bat
|
|
echo sfk echo [%greentext%]Finished checking "%cmdinput%">>temp\nandBinCheck\script.bat
|
|
echo echo ------------------>>temp\nandBinCheck\script.bat
|
|
echo echo When finished reviewing checks, press any key to exit. >>temp\nandBinCheck\script.bat
|
|
if /i "%AudioOption%" EQU "on" echo start nircmd.exe mediaplay 3000 "%Success.mp3:~8%">>temp\nandBinCheck\script.bat
|
|
echo pause^>nul >>temp\nandBinCheck\script.bat
|
|
echo exit >>temp\nandBinCheck\script.bat
|
|
start temp\nandBinCheck\script.bat
|
|
exit
|
|
|
|
|
|
|
|
:Punetwiin
|
|
set nandfolder2=
|
|
cls
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
echo.
|
|
support\sfk echo [%cyantext%]CloneMii
|
|
echo.
|
|
support\sfk echo [%yellowtext%]WARNING:[def] Using CloneMii\Punetwiin has some risks if the target console does not have bootmii boot2.
|
|
echo Do NOT try to clone a vWii nand to a Wii or vice versa!
|
|
echo Generally this is not something that should be done frequently.
|
|
echo Make sure the target console's nand was dumped recently so Punetwiin is aware of all the latest bad blocks.
|
|
echo.
|
|
if /i "%binAction%" EQU "CAB" echo This is the selected donor Wii's nand.bin:
|
|
if /i "%binAction%" EQU "CBA" echo This is the recipient\target Wii's nand.bin:
|
|
echo "%cmdinput%"
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" if /i "%binAction%" EQU "CAB" support\sfk echo [%bluetext%] Drag and drop the recipient\target Wii's nand.bin onto this window then hit Enter
|
|
if /i "%adminmode%" EQU "N" if /i "%binAction%" EQU "CBA" support\sfk echo [%bluetext%] Drag and drop the donor Wii's nand.bin onto this window then hit Enter
|
|
|
|
if /i "%adminmode%" EQU "Y" if /i "%binAction%" EQU "CAB" support\sfk echo [%bluetext%] Enter the path of the recipient\target Wii's nand.bin then hit Enter
|
|
if /i "%adminmode%" EQU "Y" if /i "%binAction%" EQU "CBA" support\sfk echo [%bluetext%] Enter the path of the donor Wii's nand.bin then hit Enter
|
|
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
set nandfolder2="
|
|
set /p nandfolder2=Enter Selection Here:
|
|
set "nandfolder2=%nandfolder2:"=%"
|
|
|
|
if "%nandfolder2%"=="" goto:badkey
|
|
|
|
if /i "%nandfolder2%" NEQ "%cmdinput%" goto:notduplicate
|
|
echo You cannot use the same nand
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:Punetwiin
|
|
:notduplicate
|
|
|
|
if /i "%nandfolder2%" EQU "B" goto:binDrop
|
|
if /i "%nandfolder2:~-4%" NEQ ".bin" goto:badkey
|
|
if not exist "%nandfolder2%" goto:badkey
|
|
|
|
goto:PunetwiinConfirm
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:Punetwiin
|
|
|
|
|
|
|
|
:PunetwiinConfirm
|
|
set PunetwiinConfirm=
|
|
cls
|
|
|
|
::Add age check of nand2.bin?
|
|
if /i "%binAction%" EQU "CAB" set "nand2=%nandfolder2%"
|
|
if /i "%binAction%" EQU "CBA" set "nand2=%cmdinput%"
|
|
|
|
dir /T:W "%nand2%">temp\temp.txt
|
|
support\sfk filter -quiet temp\temp.txt -and+".bin" -rep _" *"__ -write -yes
|
|
set /p nanddate= <temp\temp.txt
|
|
|
|
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
echo.
|
|
support\sfk echo [%cyantext%]CloneMii
|
|
echo.
|
|
support\sfk echo [%yellowtext%]WARNING:[def] Using CloneMii\Punetwiin has some risks if the target console does not have bootmii boot2.
|
|
echo Do NOT try to clone a vWii nand to a Wii or vice versa!
|
|
echo Generally this is not something that should be done frequently.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20[%yellowtext%]Make sure to use a recent dump[def] of the target Wii's nand so Punetwiin is aware of all the latest bad blocks.
|
|
echo.
|
|
|
|
echo This is the selected donor Wii's nand.bin:
|
|
if /i "%binAction%" EQU "CAB" support\sfk echo [%bluetext%] "%cmdinput%"
|
|
if /i "%binAction%" EQU "CBA" support\sfk echo [%bluetext%] "%nandfolder2%"
|
|
echo.
|
|
echo This is the recipient\target Wii's nand.bin:
|
|
if /i "%binAction%" EQU "CAB" support\sfk echo [%bluetext%] "%nandfolder2%"
|
|
if /i "%binAction%" EQU "CBA" support\sfk echo [%bluetext%] "%cmdinput%"
|
|
support\sfk -spat echo \x20Date of recipient\x5ctarget Wii's nand.bin: [%yellowtext%]%nanddate%
|
|
echo.
|
|
echo Are these settings correct?
|
|
echo.
|
|
echo Y = Yes, run Punetwiin then check the new nand with nandBinCheck!
|
|
echo N = No, the donor and target are reversed
|
|
echo B = Back
|
|
echo.
|
|
set PunetwiinConfirm="
|
|
set /p PunetwiinConfirm=Enter Selection Here:
|
|
set "PunetwiinConfirm=%PunetwiinConfirm:"=%"
|
|
|
|
if "%PunetwiinConfirm%"=="" goto:badkey
|
|
|
|
if /i "%PunetwiinConfirm%" EQU "B" goto:Punetwiin
|
|
if /i "%PunetwiinConfirm%" NEQ "N" goto:skip
|
|
if /i "%binAction%" EQU "CAB" (set binAction=CBA) else (set binAction=CAB)
|
|
goto:PunetwiinConfirm
|
|
:skip
|
|
|
|
if /i "%PunetwiinConfirm%" EQU "Y" goto:RunPunetwiin
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:PunetwiinConfirm
|
|
|
|
|
|
:RunPunetwiin
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
|
|
if /i "%binAction%" EQU "CAB" set "nand1=%cmdinput%"
|
|
if /i "%binAction%" EQU "CAB" set "nand2=%nandfolder2%"
|
|
if /i "%binAction%" EQU "CBA" set "nand1=%nandfolder2%"
|
|
if /i "%binAction%" EQU "CBA" set "nand2=%cmdinput%"
|
|
|
|
call Support\subscripts\dependency.bat Punetwiin
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
call Support\subscripts\dependency.bat nandBinCheck
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
echo.
|
|
echo Making preparations to run Punetwiin and clone the nand...
|
|
|
|
|
|
echo Built: "%nand1:~0,-4%_Punetwiin.bin">"%nand1:~0,-4%_Punetwiin_Info.txt"
|
|
echo From Donor: "%nand1%">>"%nand1:~0,-4%_Punetwiin_Info.txt"
|
|
echo For Target: "%nand2%">>"%nand1:~0,-4%_Punetwiin_Info.txt"
|
|
|
|
|
|
echo @echo Off>temp\Punetwiin\script.bat
|
|
echo title ModMii: Cloning "%nand1%">>temp\Punetwiin\script.bat
|
|
|
|
echo echo Building: "%nand1:~0,-4%_Punetwiin.bin">>temp\Punetwiin\script.bat
|
|
echo echo From Donor: "%nand1%">>temp\Punetwiin\script.bat
|
|
echo echo For Target: "%nand2%">>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
|
|
::save a copy of nand2 so it doesn't overwrite the original
|
|
echo echo Saving a copy of "%nand2%" to avoid overwriting the original...>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo copy /y /v "%nand2%" "%nand1:~0,-4%_incomplete.bin"^>nul>>temp\Punetwiin\script.bat
|
|
|
|
echo echo Running Punetwiin...>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo "%cd%\temp\Punetwiin\punetwiin.exe" "%nand1%" "%nand1:~0,-4%_incomplete.bin" -force>>temp\Punetwiin\script.bat
|
|
echo move /y "%nand1:~0,-4%_incomplete.bin" "%nand1:~0,-4%_Punetwiin.bin"^>nul>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
|
|
echo echo Checking "%nand1:~0,-4%_Punetwiin.bin" with nandBinCheck>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
if /i "%ModMiiverbose%" EQU "off" echo "%cd%\temp\nandBinCheck\nandBinCheck.exe" "%nand1:~0,-4%_Punetwiin.bin" -all>>temp\Punetwiin\script.bat
|
|
if /i "%ModMiiverbose%" NEQ "off" echo "%cd%\temp\nandBinCheck\nandBinCheck.exe" "%nand1:~0,-4%_Punetwiin.bin" -all -v>>temp\Punetwiin\script.bat
|
|
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo cd /d "%cd%\Support" >>temp\Punetwiin\script.bat
|
|
echo sfk echo [%bluetext%]FINISHED CLONING >>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo echo Built and checked: "%nand1:~0,-4%_Punetwiin.bin">>temp\Punetwiin\script.bat
|
|
echo echo From Donor: "%nand1%">>temp\Punetwiin\script.bat
|
|
echo echo For Target: "%nand2%">>temp\Punetwiin\script.bat
|
|
echo echo Build info saved here: "%nand1:~0,-4%_Punetwiin_Info.txt">>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo sfk echo [%yellowtext%]YOU SHOULD REVIEW THE ABOVE OUTPUT FROM PUNETWIIN AND NANDBINCHECK BEFORE RESTORING>>temp\Punetwiin\script.bat
|
|
echo sfk echo [%yellowtext%]And remember that restoring this nand has some risks if the target console does not have bootmii boot2.>>temp\Punetwiin\script.bat
|
|
echo sfk echo [%yellowtext%]Generally this is not something that should be done frequently.>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo echo Press any key to exit.>>temp\Punetwiin\script.bat
|
|
if /i "%AudioOption%" EQU "on" echo start nircmd.exe mediaplay 3000 "%Success.mp3:~8%">>temp\Punetwiin\script.bat
|
|
echo pause^>nul>>temp\Punetwiin\script.bat
|
|
echo exit>>temp\Punetwiin\script.bat
|
|
start temp\Punetwiin\script.bat
|
|
exit
|
|
|
|
|
|
|
|
|
|
|
|
:DefragMii
|
|
|
|
::get date of nand
|
|
dir /T:W "%cmdinput%">temp\temp.txt
|
|
support\sfk filter -quiet temp\temp.txt -and+".bin" -rep _" *"__ -write -yes
|
|
set /p nand0date= <temp\temp.txt
|
|
|
|
|
|
set nandfolder2=
|
|
cls
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
echo.
|
|
support\sfk echo [%cyantext%]DefragMii
|
|
echo.
|
|
support\sfk echo [%yellowtext%]WARNING:[def] Using DefragMii\Punetwiin has some risks if the target console does not have bootmii boot2.
|
|
echo Generally this is not something that should be done frequently.
|
|
echo Make sure the target console's nand was dumped recently so Punetwiin is aware of all the latest bad blocks.
|
|
echo.
|
|
support\sfk echo [%bluetext%] Supplied nand.bin: "%cmdinput%"
|
|
support\sfk -spat echo \x20Date of supplied nand.bin: [%yellowtext%]%nand0date%
|
|
echo.
|
|
echo Choose an action:
|
|
echo.
|
|
echo D = Defragment nand now and check it with nandBinCheck
|
|
echo [nand.bin] = Supply a more recent nand backup from the same Wii to avoid new bad blocks, then run nandBinCheck
|
|
echo B = Back
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" support\sfk echo [%bluetext%] Optional: update this nand backup to avoid new bad blocks by dragging a more recent nand backup from the same Wii
|
|
if /i "%adminmode%" EQU "N" support\sfk echo [%bluetext%] onto this window and hitting Enter
|
|
|
|
if /i "%adminmode%" EQU "Y" support\sfk echo [%bluetext%] Optional: update this nand backup to avoid new bad blocks by entering the path to a more recent nand backup from the same Wii
|
|
|
|
echo.
|
|
set nandfolder2="
|
|
set /p nandfolder2=Enter Selection Here:
|
|
set "nandfolder2=%nandfolder2:"=%"
|
|
|
|
if "%nandfolder2%"=="" goto:badkey
|
|
|
|
if /i "%nandfolder2%" EQU "D" set "nandfolder2=%cmdinput%"
|
|
if /i "%nandfolder2%" EQU "B" goto:binDrop
|
|
if /i "%nandfolder2:~-4%" NEQ ".bin" goto:badkey
|
|
if not exist "%nandfolder2%" goto:badkey
|
|
|
|
|
|
goto:DefragMii2
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:Punetwiin
|
|
|
|
|
|
|
|
:DefragMii2
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% nand tools
|
|
|
|
set "nand1=%cmdinput%"
|
|
set "nand2=%nandfolder2%"
|
|
|
|
::confirm keys are the same if using 2 different nands
|
|
if /i "%nand1%" NEQ "%nand2%" goto:getkeys
|
|
::get nandfile and nandfolder names
|
|
set "nandfile=%nand1:*\=%"
|
|
set "nandfolder=%nand1%"
|
|
goto:stripnandfile
|
|
:getkeys
|
|
|
|
|
|
call Support\subscripts\dependency.bat nand-tools
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
echo.
|
|
echo Confirming nands are for the same console...
|
|
echo.
|
|
|
|
|
|
::get nandfile and nandfolder names
|
|
set "nandfile=%nand1:*\=%"
|
|
set "nandfolder=%nand1%"
|
|
set afterkeys=stripnandfile2
|
|
goto:stripnandfile
|
|
|
|
:stripnandfile2
|
|
set "nandfile1=%nandfile%"
|
|
set "nandfolder1=%nandfolder%"
|
|
move /y nand-key.bin "%ModMiiDir%\temp\nand-key1.bin">nul
|
|
if exist "%nandfolder%\nand-key.bin.modmii.bak" move /y "%nandfolder%\nand-key.bin.modmii.bak" "%nandfolder%\nand-key.bin">nul
|
|
cd /d "%ModMiiDir%"
|
|
|
|
set "nandfile=%nand2:*\=%"
|
|
set "nandfolder=%nand2%"
|
|
set afterkeys=comparekeys
|
|
goto:stripnandfile
|
|
|
|
|
|
:comparekeys
|
|
set "nandfile2=%nandfile%"
|
|
set "nandfolder2=%nandfolder%"
|
|
move /y nand-key.bin "%ModMiiDir%\temp\nand-key2.bin">nul
|
|
if exist "%nandfolder%\nand-key.bin.modmii.bak" move /y "%nandfolder%\nand-key.bin.modmii.bak" "%nandfolder%\nand-key.bin">nul
|
|
cd /d "%ModMiiDir%"
|
|
|
|
support\sfk md5 -quiet "temp\nand-key1.bin" "temp\nand-key2.bin"
|
|
if not errorlevel 1 (echo Confirmed!) & (goto:skipkeys)
|
|
|
|
echo Nands are for different Wii's, try cloning the Nand instead. Exiting...
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
:skipkeys
|
|
|
|
cd /d "%ModMiiDir%"
|
|
|
|
if exist temp\nand-key1.bin del temp\nand-key1.bin >nul
|
|
if exist temp\nand-key2.bin del temp\nand-key2.bin >nul
|
|
|
|
call Support\subscripts\dependency.bat Punetwiin
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
call Support\subscripts\dependency.bat nandBinCheck
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
echo.
|
|
echo Making preparations to run Punetwiin and defragment the nand...
|
|
|
|
|
|
::echo Built: "%nand1:~0,-4%_Defragged.bin">"%nand1:~0,-4%_Defragged_Info.txt"
|
|
::echo From Donor: "%nand1%">>"%nand1:~0,-4%_Defragged_Info.txt"
|
|
::echo For Target: "%nand2%">>"%nand1:~0,-4%_Defragged_Info.txt"
|
|
|
|
|
|
echo @echo Off>temp\Punetwiin\script.bat
|
|
echo title ModMii: Defragmenting "%nand1%">>temp\Punetwiin\script.bat
|
|
|
|
echo echo Building: "%nand1:~0,-4%_Defragged.bin">>temp\Punetwiin\script.bat
|
|
if /i "%nand1%" NEQ "%nand2%" echo echo Source: "%nand1%">>temp\Punetwiin\script.bat
|
|
if /i "%nand1%" NEQ "%nand2%" echo echo Avoiding Bad Blocks from: "%nand2%">>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
|
|
::save a copy of nand2 so it doesn't overwrite the original
|
|
echo echo Saving a copy of "%nand2%" to avoid overwriting the original...>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo copy /y /v "%nand2%" "%nand1:~0,-4%_incomplete.bin"^>nul>>temp\Punetwiin\script.bat
|
|
|
|
echo echo Running Punetwiin...>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo "%cd%\temp\Punetwiin\punetwiin.exe" "%nand1%" "%nand1:~0,-4%_incomplete.bin" -force>>temp\Punetwiin\script.bat
|
|
echo move /y "%nand1:~0,-4%_incomplete.bin" "%nand1:~0,-4%_Defragged.bin"^>nul>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
|
|
echo echo Checking "%nand1:~0,-4%_Defragged.bin" with nandBinCheck>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
if /i "%ModMiiverbose%" EQU "off" echo "%cd%\temp\nandBinCheck\nandBinCheck.exe" "%nand1:~0,-4%_Defragged.bin" -all>>temp\Punetwiin\script.bat
|
|
if /i "%ModMiiverbose%" NEQ "off" echo "%cd%\temp\nandBinCheck\nandBinCheck.exe" "%nand1:~0,-4%_Defragged.bin" -all -v>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo cd /d "%cd%\Support" >>temp\Punetwiin\script.bat
|
|
echo sfk echo [%bluetext%]FINISHED DEFRAGGING >>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo echo Built and checked: "%nand1:~0,-4%_Defragged.bin">>temp\Punetwiin\script.bat
|
|
echo echo From Donor: "%nand1%">>temp\Punetwiin\script.bat
|
|
echo echo For Target: "%nand2%">>temp\Punetwiin\script.bat
|
|
::echo echo Build info saved here: "%nand1:~0,-4%_Defragged_Info.txt">>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo sfk echo [%yellowtext%]YOU SHOULD REVIEW THE ABOVE OUTPUT FROM PUNETWIIN AND NANDBINCHECK BEFORE RESTORING>>temp\Punetwiin\script.bat
|
|
echo sfk echo [%yellowtext%]And remember that restoring this nand has some risks if the target console does not have bootmii boot2.>>temp\Punetwiin\script.bat
|
|
echo sfk echo [%yellowtext%]Generally this is not something that should be done frequently.>>temp\Punetwiin\script.bat
|
|
echo echo ------------------>>temp\Punetwiin\script.bat
|
|
echo sfk echo You can close this window now, or [%bluetext%]press any key to exit and open the output folder.>>temp\Punetwiin\script.bat
|
|
if /i "%AudioOption%" EQU "on" echo start nircmd.exe mediaplay 3000 "%Success.mp3:~8%">>temp\Punetwiin\script.bat
|
|
echo pause^>nul>>temp\Punetwiin\script.bat
|
|
echo explorer "%nandfolder1%">>temp\Punetwiin\script.bat
|
|
echo exit>>temp\Punetwiin\script.bat
|
|
start temp\Punetwiin\script.bat
|
|
exit
|
|
|
|
:notbin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::----------wiiload zip drag and drop---------------
|
|
if /i "%cmdinput:~-4%" EQU ".zip" goto:Wiiloadzip
|
|
if /i "%cmdinput:~-4%" EQU ".rar" goto:Wiiloadzip
|
|
if /i "%cmdinput:~-3%" EQU ".7z" goto:Wiiloadzip
|
|
goto:notWiiloadzip
|
|
:Wiiloadzip
|
|
|
|
set cmdinputrar=
|
|
|
|
::support\sfk echo [%redtext%]ModMii v%currentversion%
|
|
|
|
if not exist "%cmdinput%" goto:notWiiloadzip
|
|
|
|
::pass, get folder to open when any key is pressed
|
|
::get binary and mympath and zip names, i.e. get filename and get folder full path not including filename
|
|
|
|
set "binary=%cmdinput:*\=%"
|
|
set "binarypath=%cmdinput%"
|
|
:stripbinary2
|
|
set "binary=%binary:*\=%"
|
|
echo "%binary%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripbinary2
|
|
echo set "binarypath=%%binarypath:%binary%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
set "binarypath=%binarypath:~0,-1%"
|
|
|
|
::echo binary: "%binary%"
|
|
::echo binarypath: "%binarypath%"
|
|
|
|
|
|
::echo Checking archive is not too large to transmit...
|
|
::disabled filesize check, validated on receiver
|
|
goto:disablesizecheck
|
|
setlocal ENABLEDELAYEDEXPANSION
|
|
::check if over 25MB (I think limit is actually 20MB)
|
|
set GetFileSize=
|
|
support\sfk stat "!cmdinput!">"temp\tmp.txt"
|
|
support\sfk filter "temp\tmp.txt" -rep _" bytes*"__ -rep _"* "__ >temp\hexdump.txt
|
|
set /p GetFileSize= <temp\hexdump.txt
|
|
::set to 1 if nul in case check fails, but new sfk method shouldn't
|
|
if "%GetFileSize%"=="" set GetFileSize=1
|
|
if %GetFileSize% LEQ 26214400 goto:not2big
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% HBC Transfer Tool
|
|
echo.
|
|
echo Wirelessly save apps to devices connected to your Wii\vWii.
|
|
echo.
|
|
support\sfk echo [%yellowtext%]"%cmdinput%" is too large to send over the internet
|
|
echo.
|
|
echo Loading other tools...
|
|
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
goto:HashMyFiles
|
|
:not2big
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
:disablesizecheck
|
|
|
|
|
|
|
|
:nometazip
|
|
|
|
set WiiIP=
|
|
if exist temp\WiiIP.txt set /p WiiIP= <temp\WiiIP.txt
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% HBC Transfer Tool
|
|
echo.
|
|
echo Wirelessly save apps to devices connected to your Wii\vWii.
|
|
echo.
|
|
echo ModMii supports transferring archives (zip, 7z, rar) both with and without an \apps\ folder (e.g. usbloader_gx or apps\usbloader_gx). Only one app per archive can be transferred at a time, and because the HBC's managing access is limited to the \apps\ folder any files outside of the apps folder will be skipped (e.g. roms, games, resources, etc.). Archives must include a boot.dol or boot.elf file in the app folder (but not both); other files and subfolders like meta\icon\etc. will get copied as well.
|
|
echo.
|
|
echo Start the Homebrew Channel and select destination device before continuing.
|
|
echo.
|
|
support\sfk echo [%bluetext%]Would you like to upload the contents of [%cyantext%]"%binary%" [%bluetext%]?
|
|
echo.
|
|
if not "%WiiIP%"=="" support\sfk echo If [%bluetext%]%WiiIP%[def] is your Wii\vWii IP address, enter Y or leave the selection blank to upload the app
|
|
if not "%WiiIP%"=="" echo.
|
|
if not "%WiiIP%"=="" echo To update your Wii\vWii IP address and copy the app, enter the new address now; e.g 192.168.1.6
|
|
if "%WiiIP%"=="" support\sfk echo [%bluetext%]Enter your Wii\vWii IP Address and press enter to launch the loaded app; e.g 192.168.1.6
|
|
|
|
::echo.
|
|
::support\sfk echo [%bluetext%]wiiload.exe \""%cmdinput%"\"
|
|
echo.
|
|
echo To check your Wii\vWii IP address press home while in the HBC, but remember to exit the Home Menu before
|
|
echo continuing. If you see 'Network Not Initialized' you must first connect the console to the internet.
|
|
echo.
|
|
|
|
echo Enter "Help" for an instructional video on checking your Wii\vWii IP Address.
|
|
echo.
|
|
|
|
set WiiLoadPrompt="
|
|
if not "%WiiIP%"=="" set WiiLoadPrompt=Y
|
|
set /p WiiLoadPrompt=Enter Selection Here:
|
|
set WiiLoadPrompt=%WiiLoadPrompt:"=%
|
|
|
|
if "%WiiLoadPrompt%"=="" goto:badkey
|
|
if /i "%WiiLoadPrompt%" EQU "help" (start https://www.youtube.com/embed/JSyIDx35TVo) & (goto:nometazip)
|
|
|
|
|
|
if "%WiiIP%"=="" goto:skip
|
|
If /i "%WiiLoadPrompt%" EQU "Y" set "WiiLoadPrompt=%WiiIP%"
|
|
:skip
|
|
|
|
::check valid IP
|
|
powershell -nologo -noprofile -Command "[ipaddress]::TryParse('%WiiLoadPrompt%',[ref][ipaddress]::Loopback)" | findstr "False">NUL && goto:badkey
|
|
|
|
::check for 3 periods
|
|
set "string=%WiiLoadPrompt%"
|
|
set /a dotcount=0
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if defined string (set ^"strtmp=!string:.=^
|
|
%= empty string =%
|
|
!^") else set "strtmp="
|
|
for /F %%C in ('cmd /V /C echo(^^!strtmp^^!^| find /C /V ""') do set /A "dotcount=%%C-1"
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
::echo "!string!" contains %dotcount% periods.
|
|
if /i "%dotcount%" EQU "3" goto:pingme
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:nometazip
|
|
|
|
|
|
|
|
|
|
:pingme
|
|
::check if Wii is reachable
|
|
::echo.
|
|
::echo Pinging Wii to see if reachable...
|
|
ping -n 1 "%WiiLoadPrompt%"|findstr /I /C:"ms">nul
|
|
IF NOT ERRORLEVEL 1 goto:Pinged
|
|
support\sfk echo [%yellowtext%]Unable to reach IP %WiiLoadPrompt%, check your settings and try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:nometazip
|
|
|
|
|
|
:Pinged
|
|
cls
|
|
set "WiiIP=%WiiLoadPrompt%"
|
|
> "temp\WiiIP.txt" ECHO %WiiIP%
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% HBC Transfer Tool
|
|
echo.
|
|
|
|
|
|
if /i "%cmdinput:~-4%" NEQ ".rar" goto:notrar
|
|
|
|
call Support\subscripts\dependency.bat UnRAR
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
|
|
echo The HBC only accepts ZIPs, ModMii will extract the RAR contents and save a temporary ZIP copy for transmission...
|
|
|
|
if exist "temp\rar" rd /s /q "temp\rar"> nul
|
|
mkdir temp\rar
|
|
temp\unrar.exe x -y "%cmdinput%" "temp\rar"
|
|
::check if folder is empty
|
|
dir /b /s /a "temp\rar\" | findstr .>nul || rd /s /q "temp\rar"> nul
|
|
if not exist "temp\rar\" (echo UnRAR failed, exiting...) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
echo.
|
|
|
|
::change cmdinput to zip, but flag original
|
|
set "cmdinputrar=%cmdinput%"
|
|
set "cmdinput=%cmdinput:~0,-4%.zip"
|
|
|
|
|
|
|
|
cd temp\rar
|
|
..\..\support\7za a "%cmdinput%" * >nul
|
|
cd ..\..
|
|
|
|
if exist "temp\rar" rd /s /q "temp\rar"> nul
|
|
|
|
:notrar
|
|
|
|
|
|
|
|
set "HBC_Transfer=%cmdinput%"
|
|
set password=
|
|
set passwordcmd=
|
|
|
|
::check zip structure
|
|
|
|
if "%cmdinputrar%"=="" echo If this window immediately freezes after this line the archive requires a password, press any key to continue
|
|
if "%cmdinputrar%"=="" echo.
|
|
|
|
support\7za l "%cmdinput%" > "%temp%\zip.txt"
|
|
support\sfk filter -quiet "%temp%\zip.txt" -ls!"Listing archive:" -ls!"Path = " -write -yes
|
|
|
|
::check for password, check only works if file names are encrypted
|
|
findStr /I /B "Enter password" "%temp%\zip.txt" >nul
|
|
IF ERRORLEVEL 1 goto:nopassword1
|
|
|
|
::get password from user
|
|
|
|
for /f "usebackq tokens=*" %%p in (`powershell -Command "$pword = read-host 'Enter Password' -AsSecureString ; $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)"`) do set password=%%p
|
|
echo.
|
|
::echo "%password%"
|
|
set "passwordcmd= -p"%password%""
|
|
::echo %passwordcmd%
|
|
support\7za l "%cmdinput%"%passwordcmd% > "%temp%\zip.txt"
|
|
support\sfk filter -quiet "%temp%\zip.txt" -ls!"Listing archive:" -ls!"Path = " -write -yes
|
|
:nopassword1
|
|
|
|
set foundDOL=
|
|
set foundELF=
|
|
findStr /I /E "boot.dol" "%temp%\zip.txt" >nul
|
|
IF NOT ERRORLEVEL 1 set foundDOL=Y
|
|
|
|
findStr /I /E "boot.elf" "%temp%\zip.txt" >nul
|
|
IF NOT ERRORLEVEL 1 set foundELF=Y
|
|
|
|
if /i "%foundDOL%" EQU "Y" goto:foundbin
|
|
if /i "%foundELF%" EQU "Y" goto:foundbin
|
|
|
|
support\sfk echo [%yellowtext%]"%cmdinput%" does not contain a dol or an elf file
|
|
echo.
|
|
echo exiting...
|
|
if exist "temp\HBC_Transfer.zip" del "temp\HBC_Transfer.zip">nul
|
|
if exist "temp\HBC_Transfer_" rd /s /q "temp\HBC_Transfer_">nul
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
exit
|
|
:foundbin
|
|
|
|
|
|
|
|
::check2 for password, this check is when filenames aren't protected but extraction is
|
|
if not "%password%"=="" goto:nopassword2
|
|
|
|
if exist temp\boot.dol del temp\boot.dol>nul
|
|
if exist temp\boot.elf del temp\boot.elf>nul
|
|
support\7za e -aoa "%cmdinput%" -o"temp" boot.dol boot.elf -r >nul
|
|
if exist temp\boot.dol for /F %%A in ("temp\boot.dol") do If %%~zA equ 0 del "temp\boot.dol"
|
|
if exist temp\boot.elf for /F %%A in ("temp\boot.elf") do If %%~zA equ 0 del "temp\boot.elf"
|
|
if exist temp\boot.dol goto:nopassword2
|
|
if exist temp\boot.elf goto:nopassword2
|
|
|
|
::get password from user
|
|
|
|
for /f "usebackq tokens=*" %%p in (`powershell -Command "$pword = read-host 'Enter Password' -AsSecureString ; $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)"`) do set password=%%p
|
|
echo.
|
|
::echo "%password%"
|
|
set "passwordcmd= -p"%password%""
|
|
::echo %passwordcmd%
|
|
::support\7za l "%cmdinput%"%passwordcmd% > "%temp%\zip.txt"
|
|
::support\sfk filter -quiet "%temp%\zip.txt" -ls!"Listing archive:" -ls!"Path = " -write -yes
|
|
:nopassword2
|
|
if exist temp\boot.dol del temp\boot.dol>nul
|
|
if exist temp\boot.elf del temp\boot.elf>nul
|
|
|
|
|
|
|
|
findStr /I apps\ "%temp%\zip.txt" >nul
|
|
IF ERRORLEVEL 1 goto:noAppsDir
|
|
|
|
::support\sfk -spat echo [%yellowtext%]"%cmdinput%"
|
|
echo The selected archive file includes an "apps" directory and is not transferable in it's current state
|
|
if /i "%cmdinput:~-4%" EQU ".zip" echo ModMii will create a temporary usable copy of the ZIP for transmission...
|
|
if /i "%cmdinput:~-4%" NEQ ".zip" echo The HBC only accepts ZIPs, ModMii will create a temporary usable ZIP copy of the %cmdinput:~-3%
|
|
|
|
if exist "temp\HBC_Transfer.zip" del "temp\HBC_Transfer.zip">nul
|
|
if exist "temp\zip" rd /s /q "temp\zip"> nul
|
|
::if not exist "temp\zip" mkdir "temp\zip"
|
|
if not exist temp\zip\apps mkdir temp\zip\apps
|
|
|
|
support\7za x -aoa "%cmdinput%"%passwordcmd% -o"temp\zip"> nul
|
|
cd temp\zip\apps
|
|
del /f /q *.*
|
|
..\..\..\support\7za a "..\..\HBC_Transfer.zip" *>nul
|
|
cd ..\..\..
|
|
::"%cmdinput%"
|
|
echo.
|
|
|
|
set "HBC_Transfer=%cd%\temp\HBC_Transfer.zip"
|
|
|
|
|
|
::---check for folders outside of apps folder and display yellow warning if exist
|
|
rd /s /q "temp\zip\apps"> nul
|
|
|
|
::anything left in temp\zip is not getting sent, check if zip folder is empty...
|
|
|
|
::empty folder check, if not empty goto something, if empty delete it
|
|
dir /A /B "temp\zip" | findstr /R ".">NUL && goto:notempty
|
|
::empty
|
|
goto:letsgo
|
|
|
|
:notempty
|
|
::not empty, show warning
|
|
|
|
support\sfk -spat echo [%yellowtext%]Warning: this archive contains the following items that are outside of the apps folder that will NOT get transferred.
|
|
support\sfk -spat echo [%yellowtext%]Files outside of /apps need to be transferred manually, the HBC won't touch those.
|
|
dir /b temp\zip
|
|
if exist "temp\zip" rd /s /q "temp\zip"> nul
|
|
echo.
|
|
goto:letsgo
|
|
:noAppsDir
|
|
|
|
|
|
|
|
|
|
::need to repack without password if it has a password (and not already repacked to correct apps folder)
|
|
|
|
if /i "%cmdinput:~-4%" NEQ ".zip" goto:forceRepack
|
|
|
|
if "%password%"=="" goto:letsgo
|
|
:forceRepack
|
|
|
|
::support\sfk -spat echo [%yellowtext%]"%cmdinput%"
|
|
echo A copy of the archive without a password is needed to transfer for the HBC
|
|
if /i "%cmdinput:~-4%" EQU ".zip" echo ModMii will create a temporary usable copy of the ZIP for transmission...
|
|
if /i "%cmdinput:~-4%" NEQ ".zip" echo The HBC only accepts ZIPs, ModMii will create a temporary usable ZIP copy of the %cmdinput:~-3% for transmission...
|
|
|
|
if exist "temp\HBC_Transfer.zip" del "temp\HBC_Transfer.zip">nul
|
|
if exist "temp\zip" rd /s /q "temp\zip"> nul
|
|
if not exist "temp\zip" mkdir "temp\zip"
|
|
|
|
support\7za x -aoa "%cmdinput%"%passwordcmd% -o"temp\zip"> nul
|
|
|
|
cd temp\zip
|
|
..\..\support\7za a "..\HBC_Transfer.zip" *>nul
|
|
cd ..\..
|
|
|
|
::"%cmdinput%"
|
|
echo.
|
|
|
|
set "HBC_Transfer=%cd%\temp\HBC_Transfer.zip"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:letsgo
|
|
|
|
::check if both boot.dol and boot.elf exist, if yes, rename boot.dol to bootAlt.dol
|
|
if /i "%foundDOL%" NEQ "Y" goto:tinyskip
|
|
if /i "%foundELF%" NEQ "Y" goto:tinyskip
|
|
|
|
echo The selected archive file includes both a boot.elf and a boot.dol and is not transferable in it's current state
|
|
echo ModMii will rename the dol to create a temporary usable copy of the ZIP for transmission...
|
|
|
|
if exist "temp\zip" rd /s /q "temp\zip"> nul
|
|
if not exist "temp\zip" mkdir "temp\zip"
|
|
|
|
support\7za x -aoa "%HBC_Transfer%" -o"temp\zip"> nul
|
|
if exist "temp\HBC_Transfer.zip" del "temp\HBC_Transfer.zip">nul
|
|
|
|
set dolpath=
|
|
dir /b /s temp\zip\*boot.dol>temp\dolpath.txt
|
|
set /p dolpath= <temp\dolpath.txt
|
|
if exist "temp\dolpath.txt" del "temp\dolpath.txt">nul
|
|
if exist "%dolpath%" move /y "%dolpath%" "%dolpath:~0,-4%Alt.dol">nul
|
|
|
|
cd temp\zip
|
|
..\..\support\7za a "..\HBC_Transfer.zip" * >nul
|
|
cd ..\..
|
|
|
|
|
|
::"%cmdinput%"
|
|
echo.
|
|
set "HBC_Transfer=%cd%\temp\HBC_Transfer.zip"
|
|
|
|
:tinyskip
|
|
|
|
|
|
if exist temp\wiiload.exe goto:skip
|
|
|
|
|
|
if exist index.html del index.html>nul
|
|
|
|
call Support\subscripts\dependency.bat wiiload
|
|
if /i "%dependency%" NEQ "F" goto:skip
|
|
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Fail.mp3%"
|
|
echo Unable to download wiiload, press any key to exit...
|
|
if exist "temp\HBC_Transfer.zip" del "temp\HBC_Transfer.zip">nul
|
|
if exist "temp\HBC_Transfer_" rd /s /q "temp\HBC_Transfer_">nul
|
|
pause>nul
|
|
exit
|
|
|
|
:skip
|
|
support\sfk echo Upload from archive: [%bluetext%]"%cmdinput%"
|
|
support\sfk echo To IP Address: [%bluetext%]"%WiiIP%"
|
|
echo.
|
|
echo The following will be uploaded to the "apps" folder of the device currently loaded by the HBC (e.g. SD or USB):
|
|
echo.
|
|
support\7za l "%HBC_Transfer%" > "%temp%\zip.txt"
|
|
support\sfk filter -quiet "%temp%\zip.txt" -cut "*" to "----" -write -yes
|
|
type "%temp%\zip.txt"
|
|
|
|
|
|
echo.
|
|
echo Make sure you have the HBC open but that you are not inside its Home Menu,
|
|
echo Then press any key to start the upload...
|
|
pause>nul
|
|
set "WIILOAD=tcp:%WiiIP%"
|
|
echo.
|
|
support\sfk echo Sending command: [%cyantext%]wiiload.exe \""%HBC_Transfer%"\"
|
|
echo.
|
|
echo If you have issues, before trying again, make sure you have the HBC open but that you are not inside its Home Menu,
|
|
echo Double check the Wii IP address and make sure both this device and the Wii are on the same network.
|
|
|
|
echo.
|
|
temp\wiiload.exe "%HBC_Transfer%"
|
|
echo.
|
|
echo exiting...
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
|
|
::delete copy if applicable
|
|
if exist "temp\HBC_Transfer.zip" del "temp\HBC_Transfer.zip">nul
|
|
if exist "temp\HBC_Transfer_" rd /s /q "temp\HBC_Transfer_">nul
|
|
::if cmdinputrar is not nul, cmdinput is a zip copy of the original rar and should be deleted
|
|
if not "%cmdinputrar%"=="" del "%cmdinput%">nul
|
|
|
|
@ping 127.0.0.1 -n 7 -w 1000> nul
|
|
exit
|
|
|
|
:notWiiloadzip
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::----------Wad drag and drop (single files) unpack and send to wii---------------
|
|
if /i "%cmdinput:~-4%" NEQ ".wad" goto:notwad
|
|
if not exist "%cmdinput%" goto:notwad
|
|
if exist "%cmdinput%\" goto:notwad
|
|
|
|
|
|
title ModMii WAD tools
|
|
support\nircmd.exe win setsize ititle "ModMii WAD tools" 0 0 895 780
|
|
|
|
set "WadInput=%cmdinput%"
|
|
call "Support\subscripts\CollectWadInfo.bat"
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
|
|
If /i "%wadtype%" EQU "Invalid" (echo.) & (echo This is not a valid WAD file! Press any key to exit...) & (pause>nul) & (exit)
|
|
|
|
::Detect NandLoader if %AutoDetectNL% setting is enabled, WADcontents is not GTR than 3 (so channels like Region Select & bomberman aren't attempted), and wadtype is channel or hidden
|
|
if %WadContents% LEQ 1 goto:AutoDetectNLpickup
|
|
if %WadContents% GTR 3 goto:AutoDetectNLpickup
|
|
If /i "%wadtype%" EQU "channel" goto:AutoDetectNL
|
|
If /i "%wadtype%" NEQ "hidden" goto:AutoDetectNLpickup
|
|
:AutoDetectNL
|
|
::Careful editing cmdinput!
|
|
::if not "%AutoDetectNL%"=="" set "cmdinput=%WadInput%"
|
|
if not "%AutoDetectNL%"=="" (set WadNandLoader=D) & (set DetectNLpickup=AutoDetectNLpickup) & (goto:NLcount)
|
|
:AutoDetectNLpickup
|
|
|
|
:WADdrop
|
|
::title ModMii WAD tools
|
|
set SendWAD=
|
|
set WiiIP=
|
|
if exist temp\WiiIP.txt set /p WiiIP= <temp\WiiIP.txt
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
echo What would you like to do with this WAD?
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]"%cmdinput%"
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
|
|
echo.
|
|
if %GetFileSize% GTR 8388576 goto:disableSEND
|
|
if not "%WiiIP%"=="" support\sfk.exe -spat echo \x20 \x20 S = Send WAD to Homebrew Channel using [%bluetext%]Saved IP address: %WiiIP%
|
|
echo [IP] = Send WAD to Homebrew Channel with IP entered; e.g 192.168.1.6
|
|
echo HELP = Instructional video on checking your Wii\vWii IP Address
|
|
:disableSEND
|
|
|
|
set "NLtext=NandLoader, "
|
|
If /i "%wadtype%" EQU "channelsystem" set NLtext=
|
|
::if content count is greater than 3 then skip (so channels like Region Select aren't attempted)
|
|
if %WadContents% GTR 3 set NLtext=
|
|
if %WadContents% LEQ 1 set NLtext=
|
|
|
|
set DFtext=
|
|
If /i "%channelpath%" EQU "00010001" set "DFtext=Deflicker, "
|
|
If /i "%channelpath%" EQU "00010002" set "DFtext=Deflicker, "
|
|
If /i "%channelpath%" EQU "00010004" set "DFtext=Deflicker, "
|
|
If /i "%channelpath%" EQU "00010008" set "DFtext=Deflicker, "
|
|
::if content count is LEQ 3 then skip (so forwarder channels aren't attempted)
|
|
if %WadContents% LEQ 3 set DFtext=
|
|
|
|
|
|
if "%WADtit%"=="" (set TITtext=) else (set "TITtext=Title, ")
|
|
|
|
|
|
::%wadtype:~0,7% to permit channel and channelsystem types
|
|
If /i "%wadtype:~0,7%" EQU "channel" echo M = Modify Channel WAD (%TITtext%Title ID, IOS, DOL, AHB^|DVD, %NLtext%Fakesign, %DFtext%Visibility)
|
|
If /i "%wadtype%" EQU "hidden" echo M = Modify Channel WAD (%TITtext%Title ID, IOS, DOL, AHB^|DVD, %NLtext%Fakesign, %DFtext%Visibility)
|
|
|
|
If /i "%wadtype%" EQU "ios" echo M = Modify IOS WAD (Patches, Slot, Version)
|
|
::If /i "%wadtype%" EQU "ios" echo Note: if WAD is not an IOS modifications will fail
|
|
echo U = Unpack WAD
|
|
echo O = Unpack WAD and Open Output Directory
|
|
echo I = Inspector Wadget; Inspect and display more WAD Information
|
|
echo E = Exit
|
|
|
|
|
|
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]Notes on Sending WADs to HBC:
|
|
echo.
|
|
if %GetFileSize% GTR 8388576 support\sfk echo [%redtext%]WAD is larger than 8MB and cannot be sent to the Wii\vWii over the internet.
|
|
if %GetFileSize% LEQ 8388576 echo Start the Homebrew Channel before trying to send a WAD to your Wii\vWii.
|
|
if %GetFileSize% LEQ 8388576 echo WADs larger than 8MB cannot be sent to the Wii\vWii over the internet.
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Installing the wrong WAD can cause brick, choose wisely and make sure you have Priiloader and
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]a nand backup. Use the ModMii Wizard or SysCheck Updater Wizard for brick protection!
|
|
echo.
|
|
if %GetFileSize% LEQ 8388576 echo To check your Wii\vWii IP address press home while in the HBC, but remember to exit the Home Menu before
|
|
if %GetFileSize% LEQ 8388576 echo continuing. If you see 'Network Not Initialized' you must first connect the console to the internet.
|
|
if %GetFileSize% LEQ 8388576 echo Enter 'Help' if you need it.
|
|
if %GetFileSize% LEQ 8388576 echo.
|
|
|
|
set SendWAD="
|
|
set /p SendWAD=Enter Selection Here:
|
|
set "SendWAD=%SendWAD:"=%"
|
|
|
|
if "%SendWAD%"=="" goto:badkey
|
|
|
|
if /i "%SendWAD%" EQU "U" goto:unpackwad
|
|
if /i "%SendWAD%" EQU "O" goto:unpackwad
|
|
if /i "%SendWAD%" EQU "E" exit
|
|
|
|
if /i "%SendWAD%" NEQ "I" goto:skip
|
|
Set ODBinfo=Y
|
|
Set WiiPyInfo=Y
|
|
Set SendWADs=I
|
|
set wad2count=1
|
|
echo "%cmdinput%">temp\temp.txt
|
|
support\sfk -spat filter temp\temp.txt -rep _"\x22"__ -write -yes>nul
|
|
cls
|
|
title ModMii Inspector Wadget
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Inspector Wadget
|
|
goto:WadBulkInfo
|
|
:skip
|
|
|
|
::%wadtype:~0,7% to permit channel and channelsystem types
|
|
If /i "%wadtype:~0,7%" EQU "channel" goto:permit
|
|
If /i "%wadtype%" EQU "hidden" goto:permit
|
|
If /i "%wadtype%" EQU "ios" goto:permit
|
|
goto:skip
|
|
:permit
|
|
if /i "%SendWAD%" EQU "M" goto:modifywad
|
|
:skip
|
|
|
|
if %GetFileSize% GTR 8388576 goto:badkey
|
|
|
|
if /i "%SendWAD%" EQU "help" (start https://www.youtube.com/embed/JSyIDx35TVo) & (goto:WADdrop)
|
|
|
|
if "%WiiIP%"=="" goto:skip
|
|
If /i "%SendWAD%" EQU "S" set "SendWAD=%WiiIP%"
|
|
:skip
|
|
|
|
::check valid IP
|
|
powershell -nologo -noprofile -Command "[ipaddress]::TryParse('%SendWAD%',[ref][ipaddress]::Loopback)" | findstr "False">NUL && goto:badkey
|
|
|
|
::check for 3 periods
|
|
set "string=%SendWAD%"
|
|
set /a dotcount=0
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if defined string (set ^"strtmp=!string:.=^
|
|
%= empty string =%
|
|
!^") else set "strtmp="
|
|
for /F %%C in ('cmd /V /C echo(^^!strtmp^^!^| find /C /V ""') do set /A "dotcount=%%C-1"
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
::echo "!string!" contains %dotcount% periods.
|
|
if /i "%dotcount%" EQU "3" goto:pingme
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WADdrop
|
|
|
|
|
|
|
|
|
|
:pingme
|
|
call Support\subscripts\dependency.bat Sharpii
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:WADdrop)
|
|
|
|
::check if Wii is reachable
|
|
::echo.
|
|
::echo Pinging Wii to see if reachable...
|
|
ping -n 1 "%SendWAD%"|findstr /I /C:"ms">nul
|
|
IF NOT ERRORLEVEL 1 goto:Pinged
|
|
support\sfk echo [%yellowtext%]Unable to reach IP %SendWAD%, check your settings and try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WADdrop
|
|
|
|
|
|
:Pinged
|
|
cls
|
|
set "WiiIP=%SendWAD%"
|
|
> "temp\WiiIP.txt" ECHO %WiiIP%
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Sending Wad: [%bluetext%]"%cmdinput%"
|
|
support\sfk echo To IP Address: [%bluetext%]"%WiiIP%"
|
|
echo.
|
|
echo If you have issues make sure you have the HBC open but that you are not inside its Home Menu,
|
|
echo Double check the Wii IP address and make sure both this device and the Wii are on the same network.
|
|
echo.
|
|
support\sfk -spat echo "Sending command: [%cyantext%]sharpii.exe SendWad -ip "%WiiIP%" -wad \x22"%cmdinput%"\x22 -ahb"
|
|
echo.
|
|
temp\Sharpii.exe SendWad -ip %WiiIP% -wad "%cmdinput%" -ahb
|
|
echo.
|
|
echo exiting...
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
|
|
|
|
|
|
:unpackwad
|
|
if not exist "%cmdinput:~0,-4%" mkdir "%cmdinput:~0,-4%"
|
|
set errorlevel=
|
|
%WiiPy% wad unpack --skip-hash "%cmdinput%" "%cmdinput:~0,-4%">nul
|
|
|
|
if /i "%errorlevel%" NEQ "0" goto:UnpackFail
|
|
if not exist "%cmdinput:~0,-4%\*.tmd" goto:UnpackFail
|
|
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Success.mp3%"
|
|
echo.
|
|
echo WAD unpacked to folder: "%cmdinput:~0,-4%"
|
|
echo.
|
|
echo exiting...
|
|
if /i "%SendWAD%" EQU "O" explorer "%cmdinput:~0,-4%"
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
|
|
:UnpackFail
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Fail.mp3%"
|
|
::empty folder check, if not empty goto something, if empty delete it
|
|
dir /A /B "%cmdinput:~0,-4%" | findstr /R ".">NUL && goto:notempty
|
|
rd /s /q "%cmdinput:~0,-4%"> nul
|
|
:notempty
|
|
echo.
|
|
(echo Something went wrong, press any key to exit...) & (pause>nul) & (exit)
|
|
|
|
|
|
|
|
:modifywad
|
|
If /i "%wadtype%" EQU "ios" goto:modifyIOSwad
|
|
|
|
:FirstRandom
|
|
if not "%RandomNum%"=="" goto:notFirstRandom
|
|
set "RandomNum=%random%"
|
|
set "WADcopy=%cmdinput:~0,-4%-Mod%RandomNum%.wad"
|
|
if exist "%WADcopy%" (set RandomNum=) & (goto:FirstRandom)
|
|
:notFirstRandom
|
|
|
|
if "%WADtit%"=="" goto:modifyID
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: [%cyantext%]Title[def], Title ID, IOS, DOL, AHB^|DVD, %NLtext%Fakesign, %DFtext%Visibility
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
|
|
echo.
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Channel Title
|
|
echo.
|
|
echo If you would like to change the Title, enter a new Title now (max length is 40 chars).
|
|
echo.
|
|
echo To leave the Title unchanged, leave the selection blank and press Enter.
|
|
echo.
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WADtitle="
|
|
set /p WADtitle=Enter Selection Here:
|
|
set "WADtitle=%WADtitle:"=%"
|
|
|
|
if "%WADtitle%"=="" goto:modifyID
|
|
if /i "%WADtitle%" EQU "B" goto:WADdrop
|
|
if /i "%WADtitle%" EQU "E" exit
|
|
|
|
::title 40 chars length check
|
|
if /i "%WADtitle:~40,1%" NEQ "" goto:badkey
|
|
|
|
|
|
::save copy and apply change
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
|
|
|
|
%WiiPy% wad edit --channel-name "%WADtitle%" "%WADcopy%"
|
|
if not errorlevel 0 goto:WADfail
|
|
set "WADtit=%WADtitle%"
|
|
set SigningStatus=Fakesigned
|
|
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyID
|
|
|
|
:badkey
|
|
echo Title is greater than 40 character maximum...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifywad
|
|
|
|
|
|
|
|
|
|
:modifyID
|
|
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%[%cyantext%]Title ID[def], IOS, DOL, AHB^|DVD, %NLtext%Fakesign, %DFtext%Visibility
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Channel Title ID
|
|
echo.
|
|
echo If you would like to change the Title ID, enter a new 4-character Title ID now.
|
|
::echo Note: letters and numbers only; cannot contain spaces or special characters.
|
|
echo.
|
|
echo To leave the Title ID unchanged, leave the selection blank and press Enter.
|
|
echo.
|
|
|
|
::check for title ID's that cause issues on vWii https://hackmd.io/@Ingunar/43OnlyWii#Structure-and-rules (pillarboxing be resolved using priiloader system menu hack instead)
|
|
::https://github.com/DacoTaco/priiloader/blob/master/docs/HACKSLIST.md#remove-pillarboxing-completely-vwii
|
|
::pillarboxing
|
|
if /i "%TitID:~0,1%" EQU "C" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "F" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "J" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "L" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "N" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "P" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "Q" goto:titleIDwarning
|
|
::Titles starting with D, R, S, T are checked for in discdb.bin- Wii Disc IDs and Disk Channels
|
|
if /i "%TitID:~0,1%" EQU "D" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "R" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "T" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "S" goto:titleIDwarning
|
|
::Titles starting with E are complicated, if the second letter is I-Z or 2-7 it's checked in the vcadb.bin - Virtual Console Arcade Titles, if the second letter is A-H it's 4:3 #E[A-H]xxxx - NeoGeo Virtual Console games games, All other titles are 16:9
|
|
if /i "%TitID:~0,1%" EQU "E" goto:titleIDwarning
|
|
::Titles starting with H, W are checked for in the wwdb.bin - All Wii System Menu Channels and WiiWare Titles
|
|
if /i "%TitID:~0,1%" EQU "H" goto:titleIDwarning
|
|
if /i "%TitID:~0,1%" EQU "W" goto:titleIDwarning
|
|
::Titles starting with M followed by C3 are always 16:9, all others with M are 4:3
|
|
if /i "%TitID:~0,1%" EQU "M" goto:titleIDwarning
|
|
::Titles starting with X followed by A-G are 4:3, all others are checked for in the wwdb.bin - All WiiWare Demos
|
|
if /i "%TitID:~0,1%" EQU "X" goto:titleIDwarning
|
|
|
|
goto:skipwarning
|
|
:titleIDwarning
|
|
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%redtext%]Warning![def] \x22"%TitID%"\x22 Title ID will force title checks or 4:3 aspect ratio (pillarboxing) on vWii
|
|
echo UNLESS Priiloader's pillarboxing system menu hacks are enabled. To avoid this without needing
|
|
echo Priiloader hacks use a new Title ID that does not begin any of these letters:
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 C,D,E,F,H,J,L,M,N,P,Q,R,S,T,W,X (e.g. B"%TitID:~1,3%")
|
|
echo.
|
|
:skipwarning
|
|
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
|
|
set WADtitleID="
|
|
set /p WADtitleID=Enter Selection Here:
|
|
set "WADtitleID=%WADtitleID:"=%"
|
|
|
|
if "%WADtitleID%"=="" goto:modifyIOS
|
|
|
|
if /i "%WADtitleID%" NEQ "B" goto:notback
|
|
if "%WADtit%"=="" goto:WADdrop
|
|
goto:modifywad
|
|
:notback
|
|
|
|
|
|
if /i "%WADtitleID%" EQU "E" exit
|
|
|
|
::title 4 chars length check
|
|
if /i "%WADtitleID:~4,1%" NEQ "" goto:badkey
|
|
if /i "%WADtitleID:~3,1%" EQU "" goto:badkey
|
|
::space check
|
|
::if /i "%WADtitleID:~0,1%" EQU " " goto:badkey
|
|
::if /i "%WADtitleID:~1,1%" EQU " " goto:badkey
|
|
::if /i "%WADtitleID:~2,1%" EQU " " goto:badkey
|
|
::if /i "%WADtitleID:~3,1%" EQU " " goto:badkey
|
|
|
|
::skip if same value entered
|
|
if /i "%TitID%" EQU "%WADtitleID%" goto:modifyIOS
|
|
|
|
::check for title ID's that cause issues on vWii https://hackmd.io/@Ingunar/43OnlyWii#Structure-and-rules (pillarboxing be resolved using priiloader system menu hack instead)
|
|
::https://github.com/DacoTaco/priiloader/blob/master/docs/HACKSLIST.md#remove-pillarboxing-completely-vwii
|
|
::pillarboxing
|
|
if /i "%WADtitleID:~0,1%" EQU "C" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "F" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "J" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "L" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "N" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "P" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "Q" goto:titleIDwarning
|
|
::Titles starting with D, R, S, T are checked for in discdb.bin- Wii Disc IDs and Disk Channels
|
|
if /i "%WADtitleID:~0,1%" EQU "D" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "R" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "T" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "S" goto:titleIDwarning
|
|
::Titles starting with E are complicated, if the second letter is I-Z or 2-7 it's checked in the vcadb.bin - Virtual Console Arcade Titles, if the second letter is A-H it's 4:3 #E[A-H]xxxx - NeoGeo Virtual Console games games, All other titles are 16:9
|
|
if /i "%WADtitleID:~0,1%" EQU "E" goto:titleIDwarning
|
|
::Titles starting with H, W are checked for in the wwdb.bin - All Wii System Menu Channels and WiiWare Titles
|
|
if /i "%WADtitleID:~0,1%" EQU "H" goto:titleIDwarning
|
|
if /i "%WADtitleID:~0,1%" EQU "W" goto:titleIDwarning
|
|
::Titles starting with M followed by C3 are always 16:9, all others with M are 4:3
|
|
if /i "%WADtitleID:~0,1%" EQU "M" goto:titleIDwarning
|
|
::Titles starting with X followed by A-G are 4:3, all others are checked for in the wwdb.bin - All WiiWare Demos
|
|
if /i "%WADtitleID:~0,1%" EQU "X" goto:titleIDwarning
|
|
|
|
goto:skipwarning
|
|
:titleIDwarning
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%redtext%]Warning![def] \x22%WADtitleID%\x22 Title ID will force title checks or 4:3 aspect ratio (pillarboxing) on vWii
|
|
echo UNLESS Priiloader's pillarboxing system menu hacks are enabled. To avoid this without needing
|
|
echo Priiloader hacks use a new Title ID that does not begin any of these letters:
|
|
echo C,D,E,F,H,J,L,M,N,P,Q,R,S,T,W,X (e.g. B%WADtitleID:~1,3%)
|
|
echo.
|
|
|
|
:titleIDwarning2
|
|
set titleIDwarning="
|
|
set /p titleIDwarning= Do you still want to change the Title ID to "%WADtitleID%"? (Y/N):
|
|
set "titleIDwarning=%titleIDwarning:"=%"
|
|
|
|
if /i "%titleIDwarning%" EQU "N" goto:modifyID
|
|
if /i "%titleIDwarning%" EQU "Y" goto:skipwarning
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:titleIDwarning2
|
|
:skipwarning
|
|
|
|
::save copy and apply change
|
|
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
%WiiPy% wad edit --tid "%WADtitleID%" "%WADcopy%"
|
|
if not errorlevel 0 goto:WADfail
|
|
set SigningStatus=Fakesigned
|
|
set "TitID=%WADtitleID%"
|
|
|
|
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyIOS
|
|
|
|
:badkey
|
|
echo Title ID must be 4 characters...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyID
|
|
|
|
|
|
|
|
|
|
:modifyIOS
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%Title ID, [%cyantext%]IOS[def], DOL, AHB^|DVD, %NLtext%Fakesign, %DFtext%Visibility
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Channel IOS
|
|
echo.
|
|
echo If you would like to change the IOS used by the channel, enter it now (must be between 3-254).
|
|
echo Note: The selected IOS should be installed on the Wii\vWii and capable of launching this title.
|
|
echo.
|
|
echo To leave the IOS unchanged, leave the selection blank and press Enter.
|
|
echo.
|
|
|
|
::IOS61 Warning for vWii
|
|
If /i "%iosslot%" NEQ "61" goto:skipwarning
|
|
support\sfk -spat echo \x20 \x20 \x20 [%redtext%]Warning![def] IOS61 is normally not installed on vWii unless you used ModMii or System Channel Restorer.
|
|
echo Keeping the IOS at 61 may prevent the channel from loading on vWii.
|
|
echo Choose another IOS to avoid this issue (e.g. 58).
|
|
echo.
|
|
:skipwarning
|
|
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WADios="
|
|
|
|
set /p WADios=Enter Selection Here:
|
|
|
|
set "WADios=%WADios:"=%"
|
|
|
|
if "%WADios%"=="" goto:modifyDOL
|
|
if /i "%WADios%" EQU "B" goto:modifyID
|
|
if /i "%WADios%" EQU "E" exit
|
|
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%WADios%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%WADios%") do set "WADios=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%WADios%"=="" set "WADios=0"
|
|
|
|
::IOS 3-254 check
|
|
|
|
::limit user input to X# of digits
|
|
if not "%WADios:~3%"=="" goto:badkey
|
|
if %WADios% LSS 3 goto:badkey
|
|
if %WADios% GTR 254 goto:badkey
|
|
|
|
|
|
::skip if same value entered
|
|
if /i "%WADios%" EQU "%iosslot%" goto:modifyDOL
|
|
|
|
|
|
::IOS61 Warning for vWii
|
|
if /i "%WADios%" NEQ "61" goto:skipwarning
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 [%redtext%]Warning![def] IOS61 is normally not installed on vWii unless you used ModMii or System Channel Restorer.
|
|
echo Keeping the IOS at 61 may prevent the channel from loading on vWii.
|
|
echo Choose another IOS to avoid this issue (e.g. 58).
|
|
echo.
|
|
|
|
:IOS61warning
|
|
set IOS61warning="
|
|
set /p IOS61warning= Do you still want to change the IOS to 61? (Y/N):
|
|
set "IOS61warning=%IOS61warning:"=%"
|
|
if /i "%IOS61warning%" EQU "N" goto:modifyIOS
|
|
if /i "%IOS61warning%" EQU "Y" goto:skipwarning
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:IOS61warning
|
|
:skipwarning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::save copy and apply change
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
set ERRORLEVEL=
|
|
%WiiPy% wad edit --ios "%WADios%" "%WADcopy%"
|
|
if not errorlevel 0 goto:WADfail
|
|
|
|
set SigningStatus=Fakesigned
|
|
set "iosslot=%WADios%"
|
|
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyDOL
|
|
|
|
:badkey
|
|
echo IOS must be between 3-254, try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyIOS
|
|
|
|
|
|
:modifyDOL
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%Title ID, IOS, [%cyantext%]DOL[def], AHB^|DVD, %NLtext%Fakesign, %DFtext%Visibility
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Channel DOL
|
|
echo.
|
|
echo To change the DOL used by this channel enter the path of the new DOL or WAD to use instead.
|
|
if /i "%adminmode%" EQU "N" echo Note: You can drag and drop the new DOL or WAD onto this window instead of manually typing it.
|
|
echo.
|
|
echo To leave the DOL unchanged, leave the selection blank and press Enter.
|
|
echo.
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WADdol="
|
|
|
|
set /p WADdol=Enter Selection Here:
|
|
set "WADdol=%WADdol:"=%"
|
|
|
|
if "%WADdol%"=="" goto:modifyAHB
|
|
if /i "%WADdol%" EQU "B" goto:modifyIOS
|
|
if /i "%WADdol%" EQU "E" exit
|
|
|
|
|
|
if not exist "%WADdol%" goto:badkey
|
|
|
|
::if newDolNL=Y it means new dol (or dol embedded in wad) has an integrated nand loader, same goes for oldDolNL (i.e. wad that was dragged)
|
|
if %WadContents% GTR 2 (set oldDolNL=N) else (set oldDolNL=Y)
|
|
|
|
set newDolNL=N
|
|
|
|
if /i "%WADdol:~-4%" NEQ ".wad" goto:skipWADcheck
|
|
::only accept channels and hidden channels
|
|
set channelpathTEMP=
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xE8C 0x04 "%WADdol%">temp\hexdump.txt
|
|
set /p channelpathTEMP= <temp\hexdump.txt
|
|
If /i "%channelpathTEMP%" EQU "00010001" goto:skip
|
|
If /i "%channelpathTEMP%" EQU "00010008" goto:skip
|
|
echo This WAD and cannot be used for this purpose...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyDOL
|
|
:skip
|
|
|
|
|
|
::new module count (in hex) in tmd at offset 0x1DE (len 2), or offset 0xEDE of wad (offset is 0xD00 or 3328 greater in WAD than tmd)
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xEDE 0x02 "%WADdol%">temp\hexdump.txt
|
|
set /p NewWadContents= <temp\hexdump.txt
|
|
support\sfk dec %NewWadContents%>temp\hexdump.txt
|
|
set /p NewWadContents= <temp\hexdump.txt
|
|
set NewWadContents=%NewWadContents:~0,-1%
|
|
::if not "%NewWadContents%"=="" echo New WAD Content Files: %NewWadContents%
|
|
if %NewWadContents% GTR 2 (set newDolNL=N) else (set newDolNL=Y)
|
|
|
|
::get boot index (at offset 0x1E0 of TMD or 0xEE0 of WAD)
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xEE0 0x02 "%WADdol%">temp\hexdump.txt
|
|
set /p NewBootIndex= <temp\hexdump.txt
|
|
|
|
If /i "%NewBootIndex%" EQU "0001" goto:continue
|
|
If /i "%NewBootIndex%" EQU "0002" goto:continue
|
|
echo "%WADdol%" contains an unexpected Boot Index (%NewBootIndex%), aborting...
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
goto:modifyDOL
|
|
:continue
|
|
|
|
::if wad, unpack to get new dol
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
mkdir "temp\__channel"
|
|
%WiiPy% wad unpack --skip-hash "%WADdol%" "temp\__channel">nul
|
|
|
|
::00000003.app should not exist
|
|
if exist "temp\__channel\00000003.app" (echo 00000003.app unexpected in donor WAD...) & (goto:WADfail)
|
|
if not exist "temp\__channel\00000001.app" (echo 00000001.app missing in donor WAD...) & (goto:WADfail)
|
|
::if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
|
|
If /i "%NewBootIndex%" EQU "0001" set "WADdol=temp\__channel\00000002.app"
|
|
If /i "%NewBootIndex%" EQU "0002" set "WADdol=temp\__channel\00000001.app"
|
|
if not exist "temp\__channel\00000002.app" set "WADdol=temp\__channel\00000001.app"
|
|
If /i "%newDolNL%" EQU "Y" set "WADdol=temp\__channel\00000001.app"
|
|
|
|
goto:skip
|
|
:skipWADcheck
|
|
|
|
|
|
if /i "%WADdol:~-4%" NEQ ".dol" goto:badkey
|
|
::.dol: check if new dol has integrated nandloader
|
|
|
|
|
|
call Support\subscripts\dependency.bat ODB
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:modifyDOL)
|
|
|
|
::double check this is a NandLoader, if OpenDolBoot.exe -i output contains 0x00003400 or 0x80003400 then it's a nandloader
|
|
temp\OpenDolBoot.exe -i "%WADdol%" | findstr 0x00003400>NUL && set newDolNL=Y
|
|
temp\OpenDolBoot.exe -i "%WADdol%" | findstr 0x80003400>NUL && set newDolNL=Y
|
|
|
|
:skip
|
|
|
|
|
|
|
|
if not exist "%WADcopy%" (set "WADtemp=%cmdinput%") else (set "WADtemp=%WADcopy%")
|
|
|
|
::get boot index (at offset 0x1E0 of TMD or 0xEE0 of WAD)
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xEE0 0x02 "%WADtemp%">temp\hexdump.txt
|
|
set /p OldBootIndex= <temp\hexdump.txt
|
|
|
|
If /i "%OldBootIndex%" EQU "0001" goto:continue
|
|
If /i "%OldBootIndex%" EQU "0002" goto:continue
|
|
echo Unexpected Boot Index (%OldBootIndex%), aborting...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyDOL
|
|
:continue
|
|
|
|
|
|
|
|
::At this point if "%WADdol%" was a wad, now it's a dol
|
|
|
|
::if oldDolNL=Y and newDolNL=N, need to inject nandloader into dol
|
|
If /i "%oldDolNL%" NEQ "Y" goto:skip
|
|
If /i "%newDolNL%" NEQ "N" goto:skip
|
|
|
|
echo.
|
|
echo Old dol has integrated NandLoader but new dol does not...
|
|
echo Integrating OpenDolBoot's NandLoader to new dol before adding to WAD...
|
|
|
|
call Support\subscripts\dependency.bat ODB
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:modifyDOL)
|
|
|
|
if exist "temp\main.dol" del "temp\main.dol">nul
|
|
temp\OpenDolBoot.exe "%WADdol%" -f "temp\main.dol">nul
|
|
if not errorlevel 0 goto:WADfail
|
|
set "WADdol=temp\main.dol"
|
|
set "WadNL=OpenDolBoot [integrated]"
|
|
set newDolNL=Y
|
|
:skip
|
|
|
|
|
|
::apply change to copy
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
|
|
::if oldDolNL=Y and newDolNL=N impossible scenario now, as it would have already been changed to both be =Y
|
|
|
|
::if oldDolNL=N and newDolNL=Y, replace content #1 and remove content #2
|
|
::if oldDolNL=Y and newDolNL=Y, just replace content #1
|
|
If /i "%newDolNL%" NEQ "Y" goto:skip
|
|
%WiiPy% wad set -i 1 "%WADcopy%" "%WADdol%"
|
|
if /i "%errorlevel%" NEQ "0" goto:WADfail
|
|
If /i "%oldDolNL%" EQU "N" %WiiPy% wad remove -i 2 "%WADcopy%"
|
|
if /i "%errorlevel%" NEQ "0" goto:WADfail
|
|
If /i "%oldDolNL%" EQU "N" set /a WadContents=%WadContents%-1
|
|
echo Operation completed succesfully!
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
set SigningStatus=Fakesigned
|
|
|
|
::get WAD updated size (1 of 3)
|
|
%WiiPy% info "%WADcopy%">temp\WADinfo.txt
|
|
::check if file is empty, if empty it means WiiPy errored; likely with "This is not a valid WAD file!"
|
|
>nul findstr "^" "temp\WADinfo.txt" || set wadtype=Invalid
|
|
If /i "%wadtype%" NEQ "Invalid" goto:notInvalid
|
|
support\sfk echo [%yellowtext%]This is not a valid WAD file
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
goto:WADfail
|
|
:notInvalid
|
|
|
|
::get WAD size in bytes, megabytes and blocks
|
|
support\sfk filter -quiet temp\WADinfo.txt -ls+" Installed Size: " -rep _*": "__>temp\WADinfo2.txt
|
|
set /p WadBlocks= <temp\WADinfo2.txt
|
|
|
|
support\sfk filter -quiet temp\WADinfo.txt -ls+" Installed Size (MB): " -rep _*": "__>temp\WADinfo2.txt
|
|
set /p GetFileSizeMB= <temp\WADinfo2.txt
|
|
|
|
support\sfk stat "%WadInput%">"temp\WADinfo.txt"
|
|
support\sfk filter "temp\WADinfo.txt" -rep _" bytes*"__ -rep _"* "__ >temp\WADinfo2.txt
|
|
set /p GetFileSize= <temp\WADinfo2.txt
|
|
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
if exist temp\WADinfo2.txt del temp\WADinfo2.txt>nul
|
|
|
|
|
|
|
|
::---redetect new Nandloader if autodetect enabled---
|
|
::if %WadContents% LEQ 1 goto:AutoDetectNLpickup3
|
|
::if %WadContents% GTR 3 goto:AutoDetectNLpickup3
|
|
::If /i "%wadtype%" EQU "channel" goto:AutoDetectNL3
|
|
::If /i "%wadtype%" NEQ "hidden" goto:AutoDetectNLpickup3
|
|
:::AutoDetectNL3
|
|
set WadNL=
|
|
set "cmdinputcopy=%cmdinput%"
|
|
if "%AutoDetectNL%"=="" goto:AutoDetectNLpickup3
|
|
echo.
|
|
echo Autodetecting new NandLoader as per settings...
|
|
set WadNandLoader=D
|
|
set DetectNLpickup=AutoDetectNLpickup3
|
|
::Careful editing cmdinput!
|
|
::done above::set "cmdinputcopy=%cmdinput%"
|
|
set "cmdinput=%WADcopy%"
|
|
goto:NLcount
|
|
:AutoDetectNLpickup3
|
|
set "cmdinput=%cmdinputcopy%"
|
|
@ping 127.0.0.1 -n 1 -w 1000> nul
|
|
goto:modifyAHB
|
|
:skip
|
|
|
|
|
|
::if oldDolNL=N and newDolNL=N, replace correct content
|
|
If /i "%OldBootIndex%" EQU "0001" %WiiPy% wad set -i 2 "%WADcopy%" "%WADdol%"
|
|
If /i "%OldBootIndex%" EQU "0002" %WiiPy% wad set -i 1 "%WADcopy%" "%WADdol%"
|
|
if /i "%errorlevel%" NEQ "0" goto:WADfail
|
|
echo Operation completed succesfully!
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
set SigningStatus=Fakesigned
|
|
|
|
::get WAD updated size (2 of 3)
|
|
%WiiPy% info "%WADcopy%">temp\WADinfo.txt
|
|
::check if file is empty, if empty it means WiiPy errored; likely with "This is not a valid WAD file!"
|
|
>nul findstr "^" "temp\WADinfo.txt" || set wadtype=Invalid
|
|
If /i "%wadtype%" NEQ "Invalid" goto:notInvalid
|
|
support\sfk echo [%yellowtext%]This is not a valid WAD file
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
goto:WADfail
|
|
:notInvalid
|
|
|
|
::get WAD size in bytes, megabytes and blocks
|
|
support\sfk filter -quiet temp\WADinfo.txt -ls+" Installed Size: " -rep _*": "__>temp\WADinfo2.txt
|
|
set /p WadBlocks= <temp\WADinfo2.txt
|
|
|
|
support\sfk filter -quiet temp\WADinfo.txt -ls+" Installed Size (MB): " -rep _*": "__>temp\WADinfo2.txt
|
|
set /p GetFileSizeMB= <temp\WADinfo2.txt
|
|
|
|
support\sfk stat "%WadInput%">"temp\WADinfo.txt"
|
|
support\sfk filter "temp\WADinfo.txt" -rep _" bytes*"__ -rep _"* "__ >temp\WADinfo2.txt
|
|
set /p GetFileSize= <temp\WADinfo2.txt
|
|
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
if exist temp\WADinfo2.txt del temp\WADinfo2.txt>nul
|
|
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyAHB
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyDOL
|
|
|
|
|
|
|
|
|
|
|
|
:modifyAHB
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%Title ID, IOS, DOL, [%cyantext%]AHB^|DVD[def], %NLtext%Fakesign, %DFtext%Visibility
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify AHB or DVD Video Access Rights
|
|
echo.
|
|
echo 2 = Enable both AHB (full PPC hardware) and DVD Video access rights
|
|
echo A = enable AHB Access only and disable DVD Video access
|
|
echo D = enable DVD Video access Only and disable AHB access
|
|
echo N = None; disable both AHB and DVD Video Access for some reason
|
|
echo.
|
|
echo To leave AHB Access unchanged, leave the selection blank and press Enter.
|
|
echo.
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WadAHB="
|
|
set /p WadAHB=Enter Selection Here:
|
|
set "WadAHB=%WadAHB:"=%"
|
|
|
|
if not "%WadAHB%"=="" goto:notempty
|
|
if "%NLtext%"=="" goto:modifyFakesign
|
|
goto:modifyNandLoader
|
|
:notempty
|
|
|
|
if /i "%WadAHB%" EQU "B" goto:modifyDOL
|
|
if /i "%WadAHB%" EQU "E" exit
|
|
|
|
if /i "%WadAHB%" EQU "2" goto:continue
|
|
if /i "%WadAHB%" EQU "A" goto:continue
|
|
if /i "%WadAHB%" EQU "D" goto:continue
|
|
if /i "%WadAHB%" EQU "N" goto:continue
|
|
goto:badkey
|
|
|
|
:continue
|
|
|
|
::7 6 5 4 3 2 1 0 - bits
|
|
::if position 0 = 1 then AHB Access is enabled
|
|
::if position 1 = 1 then DVD Access is enabled
|
|
set "AccessRightsBinNew=%AccessRightsBin%"
|
|
if /i "%WadAHB%" EQU "A" set "AccessRightsBinNew=%AccessRightsBinNew:~0,6%01"
|
|
if /i "%WadAHB%" EQU "D" set "AccessRightsBinNew=%AccessRightsBinNew:~0,6%10"
|
|
if /i "%WadAHB%" EQU "N" set "AccessRightsBinNew=%AccessRightsBinNew:~0,6%00"
|
|
if /i "%WadAHB%" EQU "2" set "AccessRightsBinNew=%AccessRightsBinNew:~0,6%11"
|
|
|
|
::echo AccessRightsBin:"%AccessRightsBin%"
|
|
::echo AccessRightsBinNew:"%AccessRightsBinNew%"
|
|
|
|
if /i "%AccessRightsBinNew%" EQU "%AccessRightsBin%" (echo No changes selected...) & (goto:NextThing)
|
|
|
|
::convert AccessRightsBinNew to hex and apply patch
|
|
support\sfk num -show hex 0b%AccessRightsBinNew%>temp\hexdump.txt
|
|
set /p AccessRightsHexNew= <temp\hexdump.txt
|
|
set AccessRightsHexNew=%AccessRightsHexNew:~-2%
|
|
|
|
::echo AccessRightsHexNew:"%AccessRightsHexNew%"
|
|
|
|
::save copy and apply change
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
|
|
set ERRORLEVEL=
|
|
support\sfk setbytes "%WADcopy%" 0xEDB 0x%AccessRightsHexNew% -yes>nul
|
|
if not errorlevel 0 goto:WADfail
|
|
|
|
set AccessRightsHex=%AccessRightsHexNew%
|
|
set AccessRightsBin=%AccessRightsBinNew%
|
|
If /i "%AccessRightsBin:~-1%" EQU "1" (set ahbprot=Enabled) else (set ahbprot=Disabled)
|
|
::echo AHB Access: %ahbprot%
|
|
If /i "%AccessRightsBin:~-2,1%" EQU "1" (set DVDvid=Enabled) else (set DVDvid=Disabled)
|
|
::echo DVD Video Access: %DVDvid%
|
|
|
|
echo Operation completed succesfully!
|
|
|
|
|
|
:NextThing
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
if "%NLtext%"=="" goto:modifyFakesign
|
|
goto:modifyNandLoader
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyAHB
|
|
|
|
:WADfail
|
|
|
|
::If SendWAD is nul and we're here, then it means AutoDetectNL is enabled
|
|
if "%SendWAD%"=="" (set "WadNL=Unable to detect") & (goto:%DetectNLpickup%)
|
|
|
|
If /i "%droptype%" EQU "folder" (support\sfk echo [%redtext%]Something went wrong, skipping...) & (set /a wads2error=%wads2error%+1) & (goto:%EOF%)
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Fail.mp3%"
|
|
echo Something went wrong, exiting...
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:modifyNandLoader
|
|
set DetectNLpickup=modifyNandLoader
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%Title ID, IOS, DOL, AHB^|DVD, [%cyantext%]NandLoader[def], Fakesign, %DFtext%Visibility
|
|
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
echo.
|
|
|
|
|
|
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify NandLoader
|
|
echo.
|
|
echo To leave NandLoader unchanged, leave the selection blank and press Enter.
|
|
|
|
|
|
:modifyNandLoader2
|
|
If /i "%droptype%" NEQ "folder" goto:notfolder
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Bulk WAD NandLoader Updater
|
|
echo.
|
|
echo What NandLoader you would like to inject into this folder of WADs?
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
echo Note: Inapplicable channels will be skipped.
|
|
echo Changes will be applied to copies of the original WADs.
|
|
:notfolder
|
|
|
|
echo.
|
|
echo If a channel fails to launch, changing its NandLoader may get it working.
|
|
echo * OpenDolBoot ^& OpenHBC should work on both Wii and vWii
|
|
echo * Tiny vWii only works with vWii
|
|
echo * All other NandLoaders only work on the Wii
|
|
echo.
|
|
echo O = OpenDolBoot [Integrated] NandLoader (Recommended)
|
|
echo C = Choose another NandLoader
|
|
If /i "%droptype%" EQU "folder" goto:tinyskip
|
|
::when detecting NL, checks are also done for visible channels to see if a minimalist banner is installed
|
|
if "%WadNL%"=="" echo D = Detect which NandLoader is currently used
|
|
if "%AutoDetectNL%"=="" echo D+ = Detect NandLoader now and immediately when opening applicable Channel WADs
|
|
if not "%AutoDetectNL%"=="" echo D+ = Disable automatic NandLoader detection when opening applicable Channel WADs
|
|
:tinyskip
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WadNandLoader="
|
|
set /p WadNandLoader=Enter Selection Here:
|
|
set "WadNandLoader=%WadNandLoader:"=%"
|
|
|
|
if "%WadNandLoader%"=="" goto:modifyFakesign
|
|
|
|
if /i "%WadNandLoader%" NEQ "B" goto:notback
|
|
If /i "%droptype%" EQU "folder" goto:wadfolder2
|
|
goto:modifyAHB
|
|
:notback
|
|
|
|
if /i "%WadNandLoader%" EQU "E" exit
|
|
::if /i "%WadNandLoader%" NEQ "Y" goto:badkey
|
|
|
|
::Detect NandLoader, start by building bin files for all external NandLoaders (if not already done), then unpack unpack channel to temp\__channel get data and return to :DetectNandLoader
|
|
set "cmdinputcopy=%cmdinput%"
|
|
If /i "%droptype%" EQU "folder" goto:AfterDetection
|
|
|
|
::enable AutoDetectNL (D+) if not already enabled, and detect if not already detected
|
|
if not "%AutoDetectNL%"=="" goto:skip
|
|
if /i "%WadNandLoader%" NEQ "D+" goto:skip
|
|
Set AutoDetectNL=Y
|
|
echo Set AutoDetectNL=Y>>Support\settings.bat
|
|
if not "%WadNL%"=="" goto:modifyNandLoader
|
|
set WadNandLoader=D
|
|
goto:skip2
|
|
:skip
|
|
|
|
|
|
::disable AutoDetectNL (D+) if enabled (if previously enabled then already detected)
|
|
if "%AutoDetectNL%"=="" goto:skip2
|
|
if /i "%WadNandLoader%" NEQ "D+" goto:skip2
|
|
Set AutoDetectNL=
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set AutoDetectNL=" -write -yes>nul
|
|
goto:modifyNandLoader
|
|
:skip2
|
|
|
|
|
|
set "cmdinputcopy=%cmdinput%"
|
|
if not "%WadNL%"=="" goto:AfterDetection
|
|
if exist "%WADcopy%" set "cmdinput=%WADcopy%"
|
|
::::set already::set DetectNLpickup=modifyNandLoader
|
|
if /i "%WadNandLoader%" EQU "D" goto:NLcount
|
|
:DetectNandLoader
|
|
if /i "%WadNandLoader%" NEQ "D" goto:AfterDetection
|
|
|
|
temp\OpenDolBoot.exe -i "temp\__channel\%NANDloadLoc%" >"temp\NandLoader.nfo"
|
|
|
|
support\sfk filter "temp\NandLoader.nfo" -cut "*" to "Sections" -+"0x00003400" -+"0x80003400" >"temp\tmp.txt"
|
|
|
|
::del "temp\NandLoader.nfo">nul
|
|
::0x09 is tab
|
|
support\sfk filter -spat "temp\tmp.txt" -rep _"*offset*0x"__ -rep _"\x09*"__ -rep _" *"__ >"temp\offset.txt"
|
|
set offset=
|
|
set /p offset= <"temp\offset.txt"
|
|
|
|
support\sfk filter -spat "temp\tmp.txt" -rep _"*size*0x"__ -rep _"\x09*"__ -rep _" *"__ >"temp\size.txt"
|
|
set size=
|
|
set /p size= <"temp\size.txt"
|
|
|
|
::If SendWAD is nul and we're here, then it means AutoDetectNL is enabled
|
|
if "%SendWAD%"=="" goto:tinyskip
|
|
|
|
if "%offset%"=="" (echo Unable to detect NandLoader...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:modifyNandLoader)
|
|
if "%size%"=="" (echo Unable to detect NandLoader...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:modifyNandLoader)
|
|
|
|
:tinyskip
|
|
if "%offset%"=="" (set "WadNL=Unable to detect") & (goto:%DetectNLpickup%)
|
|
if "%size%"=="" (set "WadNL=Unable to detect") & (goto:%DetectNLpickup%)
|
|
|
|
|
|
::Check for ODB magicword (0xC4951034) at %offset%+4 len4
|
|
set magicword=
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0x%offset% 0x08 "temp\__channel\%NANDloadLoc%">temp\hexdump.txt
|
|
set /p magicword= <temp\hexdump.txt
|
|
set "magicword=%magicword:~8%"
|
|
if /i "%magicword%" EQU "C4951034" (set WadNL=OpenDolBoot) & (goto:intVSext)
|
|
|
|
if exist "temp\NandLoader.bin" del "temp\NandLoader.bin">nul
|
|
if exist "temp\NandLoader.md5" del "temp\NandLoader.md5">nul
|
|
if exist "temp\NandLoaders.md5" del "temp\NandLoaders.md5">nul
|
|
support\sfk hexdump -nofile -offlen 0x%offset% 0x%size% "temp\__channel\%NANDloadLoc%" +hextobin "temp\NandLoader.bin">nul
|
|
|
|
::nul out entrypoint
|
|
::temp\OpenDolBoot.exe -i "temp\__channel\%NANDloadLoc%" >"temp\NandLoader.nfo"
|
|
support\sfk filter -quiet "temp\NandLoader.nfo" -cut "*" to "Sections" -!"0x00003400" -!"0x80003400" -write -yes
|
|
::0x09 is tab
|
|
support\sfk filter -quiet -spat "temp\NandLoader.nfo" -rep _"*address*0x"__ -rep _"\x09*"__ -rep _" *"__ -write -yes
|
|
set address=
|
|
set /p address= <"temp\NandLoader.nfo"
|
|
del "temp\NandLoader.nfo">nul
|
|
::echo address %address%
|
|
|
|
set entrypoint=00000000
|
|
|
|
::xhexfind instead of sfk hexfind to use wildcards i.e. [2 bytes]
|
|
support\sfk xhexfind "temp\NandLoader.bin" -text "/\x%address:~0,2%\x%address:~2,2%[2 bytes]\x%address:~4,2%\x%address:~6,2%/">"temp\NandLoader.nfo"
|
|
|
|
::count number of matches \ hits to confirm just 1
|
|
set hits=
|
|
find /C "hit at offset" < "temp\NandLoader.nfo">"temp\hits.txt"
|
|
set /p hits= <"temp\hits.txt"
|
|
del "temp\hits.txt">nul
|
|
::echo %hits% hits
|
|
|
|
|
|
::instead of going to :wadfail going to :skipnul2 if something fails, just means we can't detect, no need to exit
|
|
if /i "%hits%" NEQ "1" goto:skipnul2
|
|
|
|
|
|
::get offset
|
|
support\sfk filter -quiet "temp\NandLoader.nfo" -+"hit at offset 0x" -rep _"*hit at offset 0x"__ -rep _" *"__ -write -yes
|
|
set /p BinOffset= <"temp\NandLoader.nfo"
|
|
::echo support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~0,2%,0x%entrypoint:~2,2%
|
|
support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~0,2%,0x%entrypoint:~2,2%>nul
|
|
if not errorlevel 0 goto:skipnul2
|
|
|
|
|
|
|
|
support\sfk calc -hex 0x%BinOffset%+0x4>"temp\NandLoader.nfo"
|
|
set /p BinOffset= <"temp\NandLoader.nfo"
|
|
set BinOffset=%BinOffset:~2%
|
|
del "temp\NandLoader.nfo">nul
|
|
::echo support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~4,2%,0x%entrypoint:~6,2%
|
|
support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~4,2%,0x%entrypoint:~6,2%>nul
|
|
if not errorlevel 0 goto:skipnul2
|
|
|
|
:skipnul2
|
|
|
|
|
|
|
|
|
|
::hashcheck "temp\NandLoader.bin" against "Support\NandLoaders\*.nul" to detect, also check if integrated or not
|
|
support\sfk md5 "temp\NandLoader.bin">"temp\NandLoader.md5"
|
|
if exist "temp\NandLoader.bin" del "temp\NandLoader.bin">nul
|
|
set /p md5= <"temp\NandLoader.md5"
|
|
support\sfk select "Support\NandLoaders" .nul +md5>"temp\NandLoaders.md5"
|
|
support\sfk filter -quiet "temp\NandLoaders.md5" -+"%md5%" -rep _*Support\NandLoaders\__ -rep _.nul__ -write -yes>nul
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\NandLoaders.md5" || del "temp\NandLoaders.md5"
|
|
|
|
if exist "temp\NandLoaders.md5" set /p WadNL= <"temp\NandLoaders.md5"
|
|
if not exist "temp\NandLoaders.md5" set WadNL=Unknown
|
|
|
|
:intVSext
|
|
if not exist "temp\__channel\00000002.app" set WadNL=%WadNL% [Integrated]
|
|
if exist "temp\__channel\00000002.app" set WadNL=%WadNL% [External]
|
|
|
|
::If SendWAD is nul and we're here, then it means AutoDetectNL is enabled
|
|
if "%SendWAD%"=="" goto:%DetectNLpickup%
|
|
::if not "%AutoDetectNL%"=="" goto:%DetectNLpickup%
|
|
if /i "%SendWAD%" EQU "I" goto:%DetectNLpickup%
|
|
|
|
|
|
echo NandLoader: %WadNL%
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
::DetectNLpickup=modifyNandLoader if launched from this screen directly
|
|
goto:%DetectNLpickup%
|
|
::goto:modifyNandLoader
|
|
:AfterDetection
|
|
set "cmdinput=%cmdinputcopy%"
|
|
|
|
if /i "%WadNandLoader%" EQU "O" goto:nextstep2
|
|
|
|
|
|
if /i "%WadNandLoader%" NEQ "C" goto:notClassicNandLoader
|
|
echo.
|
|
echo Choose from one of the following NandLoader options:
|
|
echo.
|
|
|
|
:NLcount
|
|
|
|
call Support\subscripts\dependency.bat ODB
|
|
::If SendWAD is nul and we're here, then it means AutoDetectNL is enabled
|
|
if "%SendWAD%"=="" goto:tinyskip
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:modifyNandLoader)
|
|
|
|
:tinyskip
|
|
if /i "%dependency%" EQU "F" (echo NandLoader: Unable to detect without OpenDolBoot) & (goto:%DetectNLpickup%)
|
|
|
|
set /a NLcount=0
|
|
dir /b /a-d "Support\NandLoaders\*.bin">temp\NandLoaders.txt
|
|
dir /b /a-d "Support\NandLoaders\*.app">>temp\NandLoaders.txt
|
|
|
|
support\sfk filter "temp\NandLoaders.txt" -lerep _.app__ -lerep _.bin__ -write -yes>nul
|
|
support\sfk filter "temp\NandLoaders.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\NandLoaders.txt) do call :processNLlist %%A
|
|
goto:nextstep
|
|
:processNLlist
|
|
set NL=%*
|
|
set /a NLcount=%NLcount%+1
|
|
if /i "%WadNandLoader%" NEQ "D" echo %NLcount% = %NL%
|
|
if exist "temp\NandLoader.nfo" del "temp\NandLoader.nfo">nul
|
|
|
|
::strip out just nandloader bin
|
|
if exist "Support\NandLoaders\%NL%.bin" goto:skiptrim
|
|
if not exist "Support\NandLoaders\%NL%.app" goto:skiptrim
|
|
temp\OpenDolBoot.exe -i "Support\NandLoaders\%NL%.app" >"temp\NandLoader.nfo"
|
|
support\sfk filter "temp\NandLoader.nfo" -cut "*" to "Sections" -+"0x00003400" -+"0x80003400" >"temp\tmp.txt"
|
|
::0x09 is tab
|
|
support\sfk filter -spat "temp\tmp.txt" -rep _"*offset*0x"__ -rep _"\x09*"__ -rep _" *"__ >"temp\offset.txt"
|
|
set offset=
|
|
set /p offset= <"temp\offset.txt"
|
|
|
|
support\sfk filter -spat "temp\tmp.txt" -rep _"*size*0x"__ -rep _"\x09*"__ -rep _" *"__ >"temp\size.txt"
|
|
set size=
|
|
set /p size= <"temp\size.txt"
|
|
|
|
if "%offset%"=="" (echo Warning! %NL%.app does not appear to be a NandLoader...) & (goto:skiptrim)
|
|
if "%size%"=="" (echo Warning! %NL%.app does not appear to be a NandLoader...) & (goto:skiptrim)
|
|
|
|
support\sfk hexdump -nofile -offlen 0x%offset% 0x%size% "Support\NandLoaders\%NL%.app" +hextobin "Support\NandLoaders\%NL%.bin">nul
|
|
:skiptrim
|
|
|
|
::create *.nul files for detection purposes
|
|
::For improved nand detection, need to null out entrypoint of mem address in current wad bin and copies of base nandloader bins before comparing hashes, double check that only 1 replacement is made
|
|
if exist "Support\NandLoaders\%NL%.nul" goto:skipnul
|
|
if not exist "Support\NandLoaders\%NL%.bin" goto:skipnul
|
|
|
|
::2) analyze nandloader.app for the non-NandLoader text section (i.e. ODB -i %NANDloadLoc%: the one without 0x00003400 or 0x80003400) to get its mem address (old entrypoint)
|
|
|
|
::if no *.app to retrieve address from (e.g. maybe OpenHBC.bin), try typical addresses (80004000 & later 81330000)
|
|
::marcan.bin, taiko.bin & waninkoko.bin is jumping to 0x81330000, majority are jumping to 0x80004000
|
|
set address=
|
|
if not exist "Support\NandLoaders\%NL%.app" (set address=80004000) & (goto:step3b)
|
|
|
|
temp\OpenDolBoot.exe -i "Support\NandLoaders\%NL%.app" >"temp\NandLoader.nfo"
|
|
support\sfk filter -quiet "temp\NandLoader.nfo" -cut "*" to "Sections" -!"0x00003400" -!"0x80003400" -write -yes
|
|
::0x09 is tab
|
|
support\sfk filter -quiet -spat "temp\NandLoader.nfo" -rep _"*address*0x"__ -rep _"\x09*"__ -rep _" *"__ -write -yes
|
|
set address=
|
|
set /p address= <"temp\NandLoader.nfo"
|
|
del "temp\NandLoader.nfo">nul
|
|
::echo address %address%
|
|
|
|
|
|
:step3b
|
|
::3) save a copy of nandloader.bin and edit\replace with nul entrypoint
|
|
set entrypoint=00000000
|
|
::mem address in the nandloader bin is usually preceeding by 0x3C60 and separated in the middle by 0x6063, i.e. if it's 0x8133000 search and replace 0x3C60****6063**** with 0x3C60%xxxx%6063%xxxx%; however comex is different (3863 instead of 6063), and OpenDol boot has no separators at all but ODB.exe handles that anyway
|
|
::search for %address% with any 2 bytes in the middle to get offset(s)
|
|
|
|
copy /y "Support\NandLoaders\%NL%.bin" "temp\NandLoader.bin">nul
|
|
|
|
::xhexfind instead of sfk hexfind to use wildcards i.e. [2 bytes]
|
|
support\sfk xhexfind "temp\NandLoader.bin" -text "/\x%address:~0,2%\x%address:~2,2%[2 bytes]\x%address:~4,2%\x%address:~6,2%/">"temp\NandLoader.nfo"
|
|
|
|
::count number of matches \ hits to confirm just 1
|
|
set hits=
|
|
find /C "hit at offset" < "temp\NandLoader.nfo">"temp\hits.txt"
|
|
set /p hits= <"temp\hits.txt"
|
|
del "temp\hits.txt">nul
|
|
::echo %hits% hits
|
|
|
|
|
|
::instead of going to :wadfail going to :skipnul if something fails, just means we can't detect, no need to exit
|
|
if /i "%hits%" EQU "1" goto:skip
|
|
if /i "%address%" EQU "81330000" goto:skipnul
|
|
::try again
|
|
if not exist "Support\NandLoaders\%NL%.app" (set address=81330000) & (goto:step3b)
|
|
goto:skipnul
|
|
:skip
|
|
|
|
::get offset
|
|
support\sfk filter -quiet "temp\NandLoader.nfo" -+"hit at offset 0x" -rep _"*hit at offset 0x"__ -rep _" *"__ -write -yes
|
|
set /p BinOffset= <"temp\NandLoader.nfo"
|
|
::echo support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~0,2%,0x%entrypoint:~2,2%
|
|
support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~0,2%,0x%entrypoint:~2,2%>nul
|
|
if not errorlevel 0 goto:skipnul
|
|
|
|
|
|
|
|
support\sfk calc -hex 0x%BinOffset%+0x4>"temp\NandLoader.nfo"
|
|
set /p BinOffset= <"temp\NandLoader.nfo"
|
|
set BinOffset=%BinOffset:~2%
|
|
del "temp\NandLoader.nfo">nul
|
|
::echo support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~4,2%,0x%entrypoint:~6,2%
|
|
support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~4,2%,0x%entrypoint:~6,2%>nul
|
|
if not errorlevel 0 goto:skipnul
|
|
|
|
move /y "temp\NandLoader.bin" "Support\NandLoaders\%NL%.nul">nul
|
|
:skipnul
|
|
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
if /i "%WadNandLoader%" NEQ "D" goto:NotDetect
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
mkdir "temp\__channel"
|
|
%WiiPy% wad unpack --skip-hash "%cmdinput%" "temp\__channel">nul
|
|
|
|
|
|
goto:unpack2temp
|
|
:NotDetect
|
|
|
|
echo.
|
|
echo B = Back \ Cancel
|
|
echo.
|
|
echo Additional NandLoaders can be added to ModMii by saving app or bin files here:
|
|
echo "%cd%\Support\NandLoaders"
|
|
echo.
|
|
|
|
set ClassicNLChoice="
|
|
set /p ClassicNLChoice=Enter Selection Here:
|
|
set "ClassicNLChoice=%ClassicNLChoice:"=%"
|
|
|
|
if "%ClassicNLChoice%"=="" goto:badkey
|
|
if /i "%ClassicNLChoice%" EQU "B" goto:modifyNandLoader
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%ClassicNLChoice%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%ClassicNLChoice%") do set "ClassicNLChoice=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%ClassicNLChoice%"=="" set "ClassicNLChoice=0"
|
|
|
|
if %ClassicNLChoice% GTR %NLcount% goto:badkey
|
|
if %ClassicNLChoice% LEQ 0 goto:badkey
|
|
|
|
set /a NLcount=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\NandLoaders.txt) do call :processNLlist2 %%A
|
|
goto:badkey
|
|
:processNLlist2
|
|
set NL=%*
|
|
set /a NLcount=%NLcount%+1
|
|
if /i "%NLcount%" EQU "%ClassicNLChoice%" goto:nextstep2
|
|
goto:EOF
|
|
:nextstep2
|
|
|
|
|
|
call Support\subscripts\dependency.bat ODB
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:modifyNandLoader)
|
|
|
|
::if not .app then no external support
|
|
if not exist "Support\NandLoaders\%NL%.app" (set IntegrateNL=Y) & (goto:skipQ)
|
|
|
|
if /i "%WadNandLoader%" EQU "O" goto:ConfirmedNL
|
|
|
|
::double check this is a NandLoader, if OpenDolBoot.exe -i output contains 0x00003400 or 0x80003400 then it's a nandloader
|
|
temp\OpenDolBoot.exe -i "Support\NandLoaders\%NL%.app" | findstr 0x00003400>NUL && goto:ConfirmedNL
|
|
temp\OpenDolBoot.exe -i "Support\NandLoaders\%NL%.app" | findstr 0x80003400>NUL && goto:ConfirmedNL
|
|
echo The selected option is not a NandLoader, I won't delete it but it should not be in the Support\NandLoaders folder...
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
goto:modifyNandLoader
|
|
:ConfirmedNL
|
|
|
|
|
|
If /i "%droptype%" NEQ "folder" goto:skipQ
|
|
if /i "%WadNandLoader%" EQU "O" (set IntegrateNL=Y) & (goto:skipQ)
|
|
if not exist "Support\NandLoaders\%NL%.bin" (set IntegrateNL=N) & (goto:skipQ)
|
|
echo.
|
|
echo Would you like to integrate\merge the NandLoader with the main dol of each WAD? (Y/N):
|
|
echo.
|
|
echo If you say no, ModMii will keep the NandLoader position the same as the source WAD.
|
|
echo i.e. If source WAD NandLoader is integrated it will stay integrated, if separate it will stay separate.
|
|
echo.
|
|
set IntegrateNL="
|
|
set /p IntegrateNL=Enter Selection Here:
|
|
set "IntegrateNL=%IntegrateNL:"=%"
|
|
if /i "%IntegrateNL%" EQU "Y" goto:skipQ
|
|
if /i "%IntegrateNL%" EQU "N" goto:skipQ
|
|
goto:badkey
|
|
:skipQ
|
|
|
|
|
|
If /i "%droptype%" EQU "folder" goto:BulkNandLoader
|
|
|
|
:BulkNandLoaderPickup
|
|
|
|
|
|
::save copy and apply change
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
|
|
::unpack WAD to temp dir
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
mkdir "temp\__channel"
|
|
%WiiPy% wad unpack --skip-hash "%WADcopy%" "temp\__channel">nul
|
|
|
|
:unpack2temp
|
|
|
|
::If SendWAD is nul and we're here, then it means AutoDetectNL is enabled
|
|
if "%SendWAD%"=="" goto:tinyskip
|
|
if exist "temp\__channel\00000003.app" (echo 00000003.app unexpected...) & (goto:WADfail)
|
|
:tinyskip
|
|
if exist "temp\__channel\00000003.app" goto:WADfail
|
|
if not exist "temp\__channel\00000001.app" (echo 00000001.app missing...) & (goto:WADfail)
|
|
|
|
set NANDloadLoc=
|
|
set MainBinLoc=
|
|
::determine if 00000001.app or 00000002.app is nandloader (note 00000002.app may be missing if already integrated)
|
|
temp\OpenDolBoot.exe -i "temp\__channel\00000001.app" | findstr 0x00003400>NUL && set "NANDloadLoc=00000001.app" && set "MainBinLoc=00000002.app"
|
|
temp\OpenDolBoot.exe -i "temp\__channel\00000001.app" | findstr 0x80003400>NUL && set "NANDloadLoc=00000001.app" && set "MainBinLoc=00000002.app"
|
|
|
|
if not exist "temp\__channel\00000002.app" set MainBinLoc=00000001.app
|
|
|
|
if exist "temp\__channel\00000002.app" temp\OpenDolBoot.exe -i "temp\__channel\00000002.app" | findstr 0x00003400>NUL && set "NANDloadLoc=00000002.app" && set "MainBinLoc=00000001.app"
|
|
if exist "temp\__channel\00000002.app" temp\OpenDolBoot.exe -i "temp\__channel\00000002.app" | findstr 0x80003400>NUL && set "NANDloadLoc=00000002.app" && set "MainBinLoc=00000001.app"
|
|
|
|
::echo NANDloadLoc %NANDloadLoc%
|
|
::echo MainBinLoc %MainBinLoc%
|
|
|
|
|
|
if not "%NANDloadLoc%"=="" goto:NLlocated
|
|
|
|
::If SendWAD is nul and we're here, then it means AutoDetectNL is enabled
|
|
::if "%SendWAD%"=="" goto:WADfail
|
|
if "%SendWAD%"=="" (set "WadNL=Missing?!") & (goto:%DetectNLpickup%)
|
|
|
|
if not exist "temp\__channel\00000001.app" (echo Unable to locate current NandLoader...) & (goto:WADfail)
|
|
if exist "temp\__channel\00000002.app" (echo Unable to locate current NandLoader...) & (goto:WADfail)
|
|
|
|
support\sfk echo [%yellowtext%]The WAD appears to be missing a NandLoader and broken.
|
|
support\sfk echo [%yellowtext%]ModMii will try to repair it by integrating one into 00000001.app
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
set MainBinLoc=00000001.app
|
|
set IntegrateNL=Y
|
|
goto:skipQ
|
|
:NLlocated
|
|
|
|
if /i "%WadNandLoader%" EQU "D" goto:DetectNandLoader
|
|
|
|
If /i "%droptype%" EQU "folder" goto:skipQ
|
|
if /i "%WadNandLoader%" EQU "O" (set IntegrateNL=Y) & (goto:skipQ)
|
|
::if not .app then no external support
|
|
if not exist "Support\NandLoaders\%NL%.app" (set IntegrateNL=Y) & (goto:skipQ)
|
|
|
|
::if 00000002.app exists prompt if users if they want to integrate NandLoader with main dol or leave separate
|
|
if not exist "temp\__channel\00000002.app" (set IntegrateNL=Y) & (goto:skipQ)
|
|
if not exist "Support\NandLoaders\%NL%.bin" (set IntegrateNL=N) & (goto:skipQ)
|
|
echo.
|
|
echo Would you like to integrate\merge the NandLoader with the main dol? (Y/N):
|
|
echo If you say no, the NandLoader will be kept as a separate\external file.
|
|
echo.
|
|
set IntegrateNL="
|
|
set /p IntegrateNL=Enter Selection Here:
|
|
set "IntegrateNL=%IntegrateNL:"=%"
|
|
if /i "%IntegrateNL%" EQU "Y" goto:skipQ
|
|
if /i "%IntegrateNL%" EQU "N" goto:skipQ
|
|
goto:badkey
|
|
:skipQ
|
|
|
|
|
|
|
|
::Update nandloader.bin address\entrypoint to align with main.dol (only for integrated NLs excluding ODB) before injecting\merging with dol, but the offsets to change differ from bin to bin
|
|
|
|
if /i "%IntegrateNL%" EQU "N" goto:donestep3
|
|
if /i "%WadNandLoader%" EQU "O" goto:donestep3
|
|
|
|
::1) analyze main.dol\app for new entrypoint with ODB.exe, or get it from dol directly at 0xE0 len 0x04
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xE0 0x04 "temp\__channel\%MainBinLoc%">temp\hexdump.txt
|
|
set /p entrypoint= <temp\hexdump.txt
|
|
::echo entrypoint %entrypoint%
|
|
|
|
::2) analyze nandloader.app for the non-NandLoader text section (i.e. ODB -i %NANDloadLoc%: the one without 0x00003400 or 0x80003400) to get its mem address (old entrypoint)
|
|
|
|
::if no *.app to retrieve address from (e.g. maybe OpenHBC.bin), try typical addresses (80004000 & later 81330000)
|
|
::marcan.bin, taiko.bin & waninkoko.bin is jumping to 0x81330000, majority are jumping to 0x80004000
|
|
set address=
|
|
if not exist "Support\NandLoaders\%NL%.app" (set address=80004000) & (goto:step3)
|
|
|
|
temp\OpenDolBoot.exe -i "Support\NandLoaders\%NL%.app" >"temp\NandLoader.nfo"
|
|
support\sfk filter -quiet "temp\NandLoader.nfo" -cut "*" to "Sections" -!"0x00003400" -!"0x80003400" -write -yes
|
|
::0x09 is tab
|
|
support\sfk filter -quiet -spat "temp\NandLoader.nfo" -rep _"*address*0x"__ -rep _"\x09*"__ -rep _" *"__ -write -yes
|
|
set address=
|
|
set /p address= <"temp\NandLoader.nfo"
|
|
del "temp\NandLoader.nfo">nul
|
|
::echo address %address%
|
|
|
|
|
|
|
|
:step3
|
|
::3) save a copy of nandloader.bin and edit\replace the new entrypoint from the main.dol before merging them using ODB.exe
|
|
::mem address in the nandloader bin is usually preceeding by 0x3C60 and separated in the middle by 0x6063, i.e. if it's 0x8133000 search and replace 0x3C60****6063**** with 0x3C60%xxxx%6063%xxxx%; however comex is different (3863 instead of 6063), and OpenDol boot has no separators at all but ODB.exe handles that anyway
|
|
::search for %address% with any 2 bytes in the middle to get offset(s)
|
|
|
|
copy /y "Support\NandLoaders\%NL%.bin" "temp\NandLoader.bin">nul
|
|
|
|
if /i "%address%" EQU "%entrypoint%" goto:donestep3
|
|
|
|
::xhexfind instead of sfk hexfind to use wildcards i.e. [2 bytes]
|
|
support\sfk xhexfind "temp\NandLoader.bin" -text "/\x%address:~0,2%\x%address:~2,2%[2 bytes]\x%address:~4,2%\x%address:~6,2%/">"temp\NandLoader.nfo"
|
|
|
|
::count number of matches \ hits to confirm just 1
|
|
set hits=
|
|
find /C "hit at offset" < "temp\NandLoader.nfo">"temp\hits.txt"
|
|
set /p hits= <"temp\hits.txt"
|
|
del "temp\hits.txt">nul
|
|
::echo %hits% hits
|
|
|
|
if /i "%hits%" EQU "1" goto:skip
|
|
if /i "%address%" EQU "81330000" goto:wadfail
|
|
::try again
|
|
if not exist "Support\NandLoaders\%NL%.app" (set address=81330000) & (goto:step3)
|
|
goto:wadfail
|
|
:skip
|
|
|
|
::get offset
|
|
support\sfk filter -quiet "temp\NandLoader.nfo" -+"hit at offset 0x" -rep _"*hit at offset 0x"__ -rep _" *"__ -write -yes
|
|
set /p BinOffset= <"temp\NandLoader.nfo"
|
|
::echo support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~0,2%,0x%entrypoint:~2,2%
|
|
support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~0,2%,0x%entrypoint:~2,2%>nul
|
|
if not errorlevel 0 goto:WADfail
|
|
|
|
|
|
|
|
support\sfk calc -hex 0x%BinOffset%+0x4>"temp\NandLoader.nfo"
|
|
set /p BinOffset= <"temp\NandLoader.nfo"
|
|
set BinOffset=%BinOffset:~2%
|
|
del "temp\NandLoader.nfo">nul
|
|
::echo support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~4,2%,0x%entrypoint:~6,2%
|
|
support\hexalter.exe "temp\NandLoader.bin" 0x%BinOffset%=0x%entrypoint:~4,2%,0x%entrypoint:~6,2%>nul
|
|
if not errorlevel 0 goto:WADfail
|
|
|
|
|
|
::old hex search hex replace method that only worked if all nandloaders followed this pattern: 3C60%address:~0,4%6063%address:~4,4%
|
|
::support\sfk replace "temp\NandLoader.bin" -binary /3C60%address:~0,4%6063%address:~4,4%/3C60%entrypoint:~0,4%6063%entrypoint:~4,4%/ -yes>"temp\NandLoader.nfo"
|
|
::ERRORLEVEL 1 means replacement successful
|
|
::IF not ERRORLEVEL 1 goto:wadfail
|
|
::confirm 1 change made in 1 file by finding this output "[001/1/0] temp\NandLoader.bin"
|
|
::findStr /I /C:"[001/1/0] temp\NandLoader.bin" "temp\NandLoader.nfo" >nul
|
|
::ERRORLEVEL 1 means not found
|
|
::IF ERRORLEVEL 1 goto:wadfail
|
|
|
|
:donestep3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::get tmd name
|
|
dir /b /a-d "temp\__channel\*.tmd">"temp\__tmd.txt"
|
|
set /p tmd= <"temp\__tmd.txt"
|
|
del "temp\__tmd.txt">nul
|
|
|
|
|
|
if /i "%IntegrateNL%" EQU "N" copy /y "Support\NandLoaders\%NL%.app" "temp\__channel\%NANDloadLoc%">nul
|
|
|
|
if /i "%IntegrateNL%" NEQ "Y" goto:skip
|
|
|
|
set errorlevel=
|
|
if /i "%WadNandLoader%" EQU "O" temp\OpenDolBoot.exe "temp\__channel\%MainBinLoc%" -f "temp\__channel\main.app">nul
|
|
if /i "%WadNandLoader%" NEQ "O" temp\OpenDolBoot.exe "temp\__channel\%MainBinLoc%" -f -n "temp\NandLoader.bin" "temp\__channel\main.app">nul
|
|
if not errorlevel 0 goto:WADfail
|
|
|
|
move /y temp\__channel\main.app temp\__channel\00000001.app>nul
|
|
::echo Remove ID 2 from tmd only if exists and we are integrating, then delete
|
|
::if exist "temp\__channel\00000002.app" support\TMdedit.exe -e "temp\__channel\%tmd%" -delID 2 -q
|
|
if exist "temp\__channel\00000002.app" %WiiPy% tmd remove -i 2 "temp\__channel\%tmd%"
|
|
|
|
|
|
::Set boot index to 1 in tmd when integrating (in case position changed)
|
|
if exist "temp\__channel\00000002.app" support\sfk setbytes "temp\__channel\%tmd%" 0x1E0 0x0001 -yes>nul
|
|
if exist "temp\__channel\00000002.app" (del "temp\__channel\00000002.app">nul) & (set /a WadContents=%WadContents%-1)
|
|
:skip
|
|
|
|
::echo Removing ID 0 and 1 from tmd (2 already removed if applicable) - no longer necessary given WiiPy updates hashes automatically during repacking
|
|
::support\TMdedit.exe -e "temp\__channel\%tmd%" -delID 0 -q
|
|
::support\TMdedit.exe -e "temp\__channel\%tmd%" -delID 1 -q
|
|
::if exist "temp\__channel\00000002.app" support\TMdedit.exe -e "temp\__channel\%tmd%" -delID 2 -q
|
|
|
|
::add back ID 0 & 1 (and 2 if applicable) to tmd with updated hashes
|
|
::support\TMdedit.exe -e "temp\__channel\%tmd%" -add 0 Normal 0 "temp\__channel\00000000.app" -q
|
|
::support\TMdedit.exe -e "temp\__channel\%tmd%" -add 1 Normal 1 "temp\__channel\00000001.app" -q
|
|
::if exist "temp\__channel\00000002.app" support\TMdedit.exe -e "temp\__channel\%tmd%" -add 2 Normal 2 "temp\__channel\00000002.app" -q
|
|
|
|
::Repack!
|
|
if exist "temp\__channel.wad" del "temp\__channel.wad">nul
|
|
set errorlevel=
|
|
%WiiPy% wad pack --fakesign "temp\__channel" "temp\__channel.wad">nul
|
|
set SigningStatus=Fakesigned
|
|
|
|
::support\sharpii.exe wad -p "temp\__channel" "temp\__channel.wad"
|
|
if /i "%errorlevel%" NEQ "0" goto:WADfail
|
|
if not exist "temp\__channel.wad" goto:WADfail
|
|
move /y "temp\__channel.wad" "%WADcopy%">nul
|
|
If /i "%droptype%" EQU "folder" (support\sfk.exe echo [%greentext%]Operation completed succesfully!) & (set /a wadsSuccess=%wadsSuccess%+1) & (goto:%EOF%)
|
|
echo Operation completed succesfully!
|
|
|
|
::get WAD updated size (3 of 3)
|
|
%WiiPy% info "%WADcopy%">temp\WADinfo.txt
|
|
::check if file is empty, if empty it means WiiPy errored; likely with "This is not a valid WAD file!"
|
|
>nul findstr "^" "temp\WADinfo.txt" || set wadtype=Invalid
|
|
If /i "%wadtype%" NEQ "Invalid" goto:notInvalid
|
|
support\sfk echo [%yellowtext%]This is not a valid WAD file
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
goto:WADfail
|
|
:notInvalid
|
|
|
|
::get WAD size in bytes, megabytes and blocks
|
|
support\sfk filter -quiet temp\WADinfo.txt -ls+" Installed Size: " -rep _*": "__>temp\WADinfo2.txt
|
|
set /p WadBlocks= <temp\WADinfo2.txt
|
|
|
|
support\sfk filter -quiet temp\WADinfo.txt -ls+" Installed Size (MB): " -rep _*": "__>temp\WADinfo2.txt
|
|
set /p GetFileSizeMB= <temp\WADinfo2.txt
|
|
|
|
support\sfk stat "%WadInput%">"temp\WADinfo.txt"
|
|
support\sfk filter "temp\WADinfo.txt" -rep _" bytes*"__ -rep _"* "__ >temp\WADinfo2.txt
|
|
set /p GetFileSize= <temp\WADinfo2.txt
|
|
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
if exist temp\WADinfo2.txt del temp\WADinfo2.txt>nul
|
|
|
|
@ping 127.0.0.1 -n 1 -w 1000> nul
|
|
|
|
if /i "%WadNandLoader%" EQU "O" set WadNL=OpenDolBoot
|
|
if /i "%WadNandLoader%" NEQ "O" set "WadNL=%NL%"
|
|
|
|
if /i "%IntegrateNL%" EQU "Y" set WadNL=%WadNL% [Integrated]
|
|
if /i "%IntegrateNL%" EQU "N" set WadNL=%WadNL% [External]
|
|
|
|
goto:modifyFakesign
|
|
:notClassicNandLoader
|
|
|
|
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyNandLoader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:BulkNandLoader
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Bulk WAD NandLoader Updater
|
|
echo.
|
|
::echo wad2folder: "%wad2folder%"
|
|
::echo wadpath: "%wadpath%"
|
|
::echo wadpathback: "%wadpathback%"
|
|
|
|
if /i "%IntegrateNL%" EQU "N" (set NLtype=) else (set NLtype= [Integrated])
|
|
if /i "%WadNandLoader%" EQU "O" echo NandLoader: OpenDolBoot%NLtype%
|
|
if /i "%WadNandLoader%" NEQ "O" echo NandLoader: %NL%%NLtype%
|
|
|
|
set wadsSkipped=0
|
|
set wadsSuccess=0
|
|
set wads2error=0
|
|
set wadnum=0
|
|
|
|
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:wadnum
|
|
set EOF=wadnum
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentWAD=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
>nul findstr "^" "temp\temp.txt" || goto:skipwadnum
|
|
::set variable equal to top line
|
|
set /p CurrentWAD= <temp\temp.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\temp.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
set /a wadnum=%wadnum%+1
|
|
echo.
|
|
echo WAD %wadnum% of %wad2count%: "%CurrentWAD%"
|
|
|
|
set "cmdinput=%CurrentWAD%"
|
|
if /i "%WadNandLoader%" EQU "O" set "WADcopy=%CurrentWAD:~0,-4%_OpenDolBoot.wad"
|
|
if /i "%WadNandLoader%" NEQ "O" set "WADcopy=%CurrentWAD:~0,-4%_%NL%.wad"
|
|
|
|
::echo "%cmdinput%"
|
|
::echo "%WADcopy%"
|
|
|
|
::confirm if channel or hidden channel
|
|
::hidden channels will have 00010008 in tmd at offset 0x18C (len 4), or offset at 0xE8C of wad (offset is 0xD00 or 3328 greater in WAD than tmd), if converting type it may not be enough to edit tmd as Sharpii makes other changes (including 0xC1C of wad)
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xE8C 0x04 "%cmdinput%">temp\hexdump.txt
|
|
set /p channelpath= <temp\hexdump.txt
|
|
set wadtype=Invalid
|
|
::"Essential System Titles"
|
|
If /i "%channelpath%" EQU "00000001" set wadtype=system
|
|
::00010000 is actually "Disc-based games" but labelled channelsystem so it gets treated the same as 00010002 titles, shouldn't apply anyway
|
|
If /i "%channelpath%" EQU "00010000" set wadtype=channelsystem
|
|
::"Downloadable channels"
|
|
If /i "%channelpath%" EQU "00010001" set wadtype=channel
|
|
If /i "%channelpath%" EQU "00010002" set wadtype=channelsystem
|
|
::00010004 is actually "Game channels and games that use them" but labelled channelsystem so it gets treated the same as 00010002 titles
|
|
If /i "%channelpath%" EQU "00010004" set wadtype=channelsystem
|
|
If /i "%channelpath%" EQU "00010005" set wadtype=DLC
|
|
If /i "%channelpath%" EQU "00010008" set wadtype=hidden
|
|
::00010003, 00010006 & 00010007 are actually "Unconfirmed" but labelled channelsystem so it gets treated the same as 00010002 titles, shouldn't apply anyway
|
|
If /i "%channelpath%" EQU "00010003" set wadtype=channelsystem
|
|
If /i "%channelpath%" EQU "00010006" set wadtype=channelsystem
|
|
If /i "%channelpath%" EQU "00010007" set wadtype=channelsystem
|
|
|
|
|
|
::module count (in hex) in tmd at offset 0x1DE (len 2), or offset 0xEDE of wad (offset is 0xD00 or 3328 greater in WAD than tmd)
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xEDE 0x02 "%cmdinput%">temp\hexdump.txt
|
|
set /p WadContents= <temp\hexdump.txt
|
|
support\sfk dec %WadContents%>temp\hexdump.txt
|
|
set /p WadContents= <temp\hexdump.txt
|
|
set WadContents=%WadContents:~0,-1%
|
|
::if not "%WadContents%"=="" echo Content Files: %WadContents%
|
|
|
|
::if content count is greater than 3 then skip (so channels like Region Select aren't attempted)
|
|
if %WadContents% LEQ 1 goto:skip
|
|
if %WadContents% GTR 3 goto:skip
|
|
|
|
if /i "%wadtype%" EQU "hidden" goto:BulkNandLoaderPickup
|
|
if /i "%wadtype%" EQU "channel" goto:BulkNandLoaderPickup
|
|
:skip
|
|
|
|
|
|
support\sfk echo [%yellowtext%]This WAD does not appear to be a supported channel, skipping...
|
|
set /a wadsSkipped=%wadsSkipped%+1
|
|
goto:wadnum
|
|
|
|
:skipwadnum
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if /i "%wads2error%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
echo.
|
|
echo.
|
|
if /i "%WadNandLoader%" EQU "O" support\sfk.exe echo [%cyantext%]Finished injecting OpenDolBoot%NLtype% NandLoader into Channel WADs saved here:
|
|
if /i "%WadNandLoader%" NEQ "O" support\sfk.exe echo [%cyantext%]Finished injecting %NL%%NLtype% NandLoader into Channel WADs saved here:
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
if /i "%wadsSuccess%" NEQ "0" support\sfk.exe echo [%greentext%]%wadsSuccess% Channel WADs updated successfully!
|
|
if /i "%wadsSkipped%" NEQ "0" support\sfk.exe echo [%yellowtext%]%wadsSkipped% WADs skipped
|
|
if /i "%wads2error%" NEQ "0" support\sfk.exe echo [%redtext%]%wads2error% WADs failed
|
|
echo Scroll up for details
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%wadpath%" explorer "%wadpath%"
|
|
exit
|
|
::---------------------------------------
|
|
|
|
|
|
|
|
:BulkInvisible
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Bulk Hidden Channel Converter
|
|
echo.
|
|
::echo wad2folder: "%wad2folder%"
|
|
::echo wadpath: "%wadpath%"
|
|
::echo wadpathback: "%wadpathback%"
|
|
|
|
::echo WADvisibility: "%WADvisibility%"
|
|
::echo Y = Yes, make it invisible
|
|
::echo M = make invisible and inject Minimalist banner to reduce size
|
|
if /i "%WADvisibility%" EQU "Y" echo Hiding Channel WADs saved to this folder:
|
|
if /i "%WADvisibility%" EQU "M" echo Hiding Channels and injecting Minimalist banner to WADs saved to this folder:
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
echo Note: Inapplicable channels will be skipped.
|
|
echo Changes will be applied to copies of the original WADs.
|
|
|
|
|
|
::if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
|
|
|
|
set wadsSkipped=0
|
|
set wadsSuccess=0
|
|
set wads2error=0
|
|
set wadsAlrHidden=0
|
|
set wadnum=0
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:WADhideEOF
|
|
set EOF=WADhideEOF
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentWAD=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
>nul findstr "^" "temp\temp.txt" || goto:skipwadnum2
|
|
::set variable equal to top line
|
|
set /p CurrentWAD= <temp\temp.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\temp.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
::Remove previous entry from list - sfk method
|
|
::if not "%CurrentWAD%"=="" support\sfk filter -quiet temp\temp.txt -!"%CurrentWAD%" -write -yes
|
|
|
|
::Remove previous entry from list - findstr method (without numbered list)
|
|
::::alt method to remove previous entry from list that doesn't require sfk.exe
|
|
::if not "%CurrentWAD%"=="" findstr /V /I /C:"%CurrentWAD%" temp\temp.txt >temp\temp2.txt
|
|
::if not "%CurrentWAD%"=="" move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
|
|
|
|
set /a wadnum=%wadnum%+1
|
|
echo.
|
|
echo Hiding %wadnum% of %wad2count%: "%CurrentWAD%"
|
|
|
|
set "cmdinput=%CurrentWAD%"
|
|
set "WADcopy=%CurrentWAD:~0,-4%_hidden.wad"
|
|
|
|
::echo "%cmdinput%"
|
|
::echo "%WADcopy%"
|
|
|
|
::confirm if channel or hidden channel
|
|
::hidden channels will have 00010008 in tmd at offset 0x18C (len 4), or offset at 0xE8C of wad (offset is 0xD00 or 3328 greater in WAD than tmd), if converting type it may not be enough to edit tmd as Sharpii makes other changes (including 0xC1C of wad)
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xE8C 0x04 "%cmdinput%">temp\hexdump.txt
|
|
set /p channelpath= <temp\hexdump.txt
|
|
set wadtype=Invalid
|
|
::"Essential System Titles"
|
|
If /i "%channelpath%" EQU "00000001" set wadtype=system
|
|
::00010000 is actually "Disc-based games" but labelled channelsystem so it gets treated the same as 00010002 titles, shouldn't apply anyway
|
|
If /i "%channelpath%" EQU "00010000" set wadtype=channelsystem
|
|
::"Downloadable channels"
|
|
If /i "%channelpath%" EQU "00010001" set wadtype=channel
|
|
If /i "%channelpath%" EQU "00010002" set wadtype=channelsystem
|
|
::00010004 is actually "Game channels and games that use them" but labelled channelsystem so it gets treated the same as 00010002 titles
|
|
If /i "%channelpath%" EQU "00010004" set wadtype=channelsystem
|
|
If /i "%channelpath%" EQU "00010005" set wadtype=DLC
|
|
If /i "%channelpath%" EQU "00010008" set wadtype=hidden
|
|
::00010003, 00010006 & 00010007 are actually "Unconfirmed" but labelled channelsystem so it gets treated the same as 00010002 titles, shouldn't apply anyway
|
|
If /i "%channelpath%" EQU "00010003" set wadtype=channelsystem
|
|
If /i "%channelpath%" EQU "00010006" set wadtype=channelsystem
|
|
If /i "%channelpath%" EQU "00010007" set wadtype=channelsystem
|
|
|
|
If /i "%wadtype:~0,7%" EQU "channel" goto:continue
|
|
If /i "%wadtype%" EQU "hidden" goto:continue
|
|
support\sfk echo [%yellowtext%]This WAD does not appear to be a supported channel, skipping...
|
|
set /a wadsSkipped=%wadsSkipped%+1
|
|
goto:%EOF%
|
|
:continue
|
|
|
|
if /i "%wadtype%" NEQ "hidden" goto:tinyskip
|
|
if /i "%WADvisibility%" NEQ "Y" goto:MinBanner
|
|
support\sfk echo [%yellowtext%]This Channel is already hidden, skipping...
|
|
set /a wadsAlrHidden=%wadsAlrHidden%+1
|
|
goto:%EOF%
|
|
|
|
:MinBanner
|
|
|
|
::simple bannerless check, detect minimalist banner in channels if 00000000.app is 64bytes exactly
|
|
::If /i "%wadtype:~0,7%" EQU "channel" goto:doit
|
|
::If /i "%wadtype%" NEQ "hidden" goto:skip
|
|
:::doit
|
|
::get banner bytes
|
|
%WiiPy% info "%cmdinput%">temp\WADinfo.txt
|
|
::check if file is empty, if empty it means WiiPy errored; likely with "This is not a valid WAD file!"
|
|
>nul findstr "^" "temp\WADinfo.txt" || set wadtype=Invalid
|
|
If /i "%wadtype%" NEQ "Invalid" goto:notInvalid
|
|
support\sfk echo [%yellowtext%]This is not a valid WAD file, skipping...
|
|
set /a wadsSkipped=%wadsSkipped%+1
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
goto:%EOF%
|
|
:notInvalid
|
|
|
|
set WadBannerless=
|
|
support\sfk filter -quiet temp\WADinfo.txt -nocheck -inc "Content Index: 0" to "Content Hash" -and+"Content Size: " -rep _*": "__ -rep _" "*__ -write -yes
|
|
set /p WadBannerless= <temp\WADinfo.txt
|
|
if exist temp\WADinfo.txt del temp\WADinfo.txt>nul
|
|
if %WadBannerless% GTR 64 goto:tinyskip
|
|
support\sfk echo [%yellowtext%]This Channel is already hidden with a Minimalist banner, skipping...
|
|
set /a wadsAlrHidden=%wadsAlrHidden%+1
|
|
goto:%EOF%
|
|
:tinyskip
|
|
|
|
goto:MakeInvisible2
|
|
|
|
|
|
:skipwadnum2
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if /i "%wads2error%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%WADvisibility%" EQU "Y" support\sfk.exe echo [%cyantext%]Finished hiding Channel WADs saved here:
|
|
if /i "%WADvisibility%" EQU "M" support\sfk.exe echo [%cyantext%]Finished hiding Channels and injecting Minimalist banner to WADs saved here:
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
if /i "%wadsSuccess%" NEQ "0" support\sfk.exe echo [%greentext%]%wadsSuccess% Channel WADs converted successfully!
|
|
|
|
if /i "%wadsAlrHidden%" EQU "0" goto:skip
|
|
if /i "%WADvisibility%" EQU "Y" support\sfk.exe echo [%yellowtext%]%wadsAlrHidden% WADs were already hidden and skipped
|
|
if /i "%WADvisibility%" EQU "M" support\sfk.exe echo [%yellowtext%]%wadsAlrHidden% WADs were already hidden with Minimalist banners and skipped
|
|
:skip
|
|
|
|
if /i "%wadsSkipped%" NEQ "0" support\sfk.exe echo [%yellowtext%]%wadsSkipped% WADs skipped
|
|
if /i "%wads2error%" NEQ "0" support\sfk.exe echo [%redtext%]%wads2error% WADs failed
|
|
echo Scroll up for details
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
echo (To exit you can close this window or press enter)
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%wadpath%" explorer "%wadpath%"
|
|
exit
|
|
::---------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:BulkWADdeflicker
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Bulk Deflicker Filter Changer
|
|
echo.
|
|
if /i "%WADdeflickerQ%" EQU "D" support\sfk echo [%cyantext%]Disabling Deflicker Filter for WADs saved to this folder:
|
|
if /i "%WADdeflickerQ%" EQU "R" support\sfk echo [%cyantext%]Re-enabling Deflicker Filter for WADs saved to this folder:
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
if /i "%ExpPakQ%" EQU "Y" (echo N64 Expansion Pak patch will be applied where possible) & (echo.)
|
|
if /i "%ExpPakQ%" EQU "R" (echo N64 Expansion Pak patch will be removed where possible) & (echo.)
|
|
|
|
if /i "%CopyQ%" EQU "Y" support\sfk echo Changes will be saved to a [%cyantext%]COPY[def] of the file
|
|
if /i "%CopyQ%" EQU "N" support\sfk echo Changes will [%cyantext%]OVERWRITE[def] the original file
|
|
echo Note: Inapplicable channels will be skipped.
|
|
echo.
|
|
|
|
set wadsSkipped=0
|
|
set wadsSuccess=0
|
|
set wads2error=0
|
|
set wadsAlrDone=0
|
|
set wadnum=0
|
|
|
|
|
|
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:DeflickProcess
|
|
set EOF=DeflickProcess
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentWAD=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
>nul findstr "^" "temp\temp.txt" || goto:skipwadnum3
|
|
::set variable equal to top line
|
|
set /p CurrentWAD= <temp\temp.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\temp.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
|
|
set /a wadnum=%wadnum%+1
|
|
echo.
|
|
|
|
support\sfk.exe echo [%cyantext%]%wadnum% of %wad2count%: "%CurrentWAD%"
|
|
|
|
set "cmdinput=%CurrentWAD%"
|
|
if /i "%WADdeflickerQ%" EQU "D" set "WADcopy=%CurrentWAD:~0,-4%_DeflickerOff.wad"
|
|
if /i "%WADdeflickerQ%" EQU "R" set "WADcopy=%CurrentWAD:~0,-4%_DeflickerOn.wad"
|
|
if /i "%CopyQ%" EQU "N" set "WADcopy=%CurrentWAD%"
|
|
|
|
::echo wadpath: "%wadpath%"
|
|
::echo wadpathback: "%wadpathback%"
|
|
::echo cmdinput:"%cmdinput%"
|
|
::echo WADcopy:"%WADcopy%"
|
|
|
|
::---Continue only for 00010001, 00010002, 00010004, 00010008 channels with content GTR 3 (so forwarder channels aren't attempted)
|
|
|
|
::hidden channels will have 00010008 in tmd at offset 0x18C (len 4), or offset at 0xE8C of wad (offset is 0xD00 or 3328 greater in WAD than tmd), if converting type it may not be enough to edit tmd as Sharpii makes other changes (including 0xC1C of wad)
|
|
set channelpath=
|
|
set wadtype=Invalid
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xE8C 0x04 "%CurrentWAD%">temp\hexdump.txt
|
|
set /p channelpath= <temp\hexdump.txt
|
|
If /i "%channelpath%" EQU "00010001" set wadtype=channel
|
|
::00010004 is actually "Game channels and games that use them" but labelled channel so it gets treated the same as 00010001 titles (may not be needed in this case but just in case)
|
|
If /i "%channelpath%" EQU "00010004" set wadtype=channel
|
|
If /i "%channelpath%" EQU "00010002" set wadtype=channel
|
|
If /i "%channelpath%" EQU "00010008" set wadtype=channel
|
|
|
|
if /i "%wadtype%" NEQ "channel" (support\sfk echo [%yellowtext%]This WAD does not appear to be a supported channel, skipping...) & (set /a wadsSkipped=%wadsSkipped%+1) & (goto:%EOF%)
|
|
|
|
|
|
::module count (in hex) in tmd at offset 0x1DE (len 2), or offset 0xEDE of wad (offset is 0xD00 or 3328 greater in WAD than tmd)
|
|
set WadContents=0
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xEDE 0x02 "%CurrentWAD%">temp\hexdump.txt
|
|
set /p WadContents= <temp\hexdump.txt
|
|
support\sfk dec %WadContents%>temp\hexdump.txt
|
|
set /p WadContents= <temp\hexdump.txt
|
|
set WadContents=%WadContents:~0,-1%
|
|
::if not "%WadContents%"=="" echo Content Files: %WadContents%
|
|
|
|
if %WadContents% LEQ 3 (support\sfk echo [%yellowtext%]This WAD does not appear to be a supported channel, skipping...) & (set /a wadsSkipped=%wadsSkipped%+1) & (goto:%EOF%)
|
|
|
|
::also need TitID for N64 files, and to doubly exclude channels without ID like IOSs
|
|
::Title ID will be at tmd offset 0x190, 0xE90 of wad (len 4)
|
|
set TitIDhex=
|
|
set TitID=
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xE90 0x04 "%CurrentWAD%">temp\hexdump.txt
|
|
set /p TitIDhex= <temp\hexdump.txt
|
|
::convert hex to ascii
|
|
support\sfk num -hex %TitIDhex%>temp\hexdump.txt
|
|
support\sfk filter -quiet temp\hexdump.txt -rep _"*>"__ -rep _"<*"__ -write -yes
|
|
set /p TitID= <temp\hexdump.txt
|
|
::if "%TitID%"=="" set "TitID=...."
|
|
::IOS60 includes a "<" sign and is being stripped to become ... instead of .... ; correct it below
|
|
If /i "%TitID:~3,1%" EQU "" (support\sfk echo [%yellowtext%]This WAD does not appear to be a supported channel, skipping...) & (set /a wadsSkipped=%wadsSkipped%+1) & (goto:%EOF%)
|
|
If /i "%TitID%" EQU "...." (support\sfk echo [%yellowtext%]This WAD does not appear to be a supported channel, skipping...) & (set /a wadsSkipped=%wadsSkipped%+1) & (goto:%EOF%)
|
|
|
|
|
|
::unpack WAD to temp dir
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
mkdir "temp\__channel"
|
|
%WiiPy% wad unpack --skip-hash "%cmdinput%" "temp\__channel">nul
|
|
|
|
if not exist "temp\__channel\00000001.app" (support\sfk echo [%redtext%]Error, 00000001.app missing...) & (set /a wads2error=%wads2error%+1) & (goto:%EOF%)
|
|
|
|
::as long as darkfilter is not nul, patches will be attempted based on TitID
|
|
::dark filter from the few N64 VC titles
|
|
set darkfilter=
|
|
If /i "%TitID%" EQU "NAAE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NABE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NATE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAIE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NASE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAIP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAAP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NABP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NATP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAST" set "darkfilter= and N64 Dark Filter"
|
|
|
|
goto:WadDeflicker
|
|
|
|
|
|
|
|
:skipwadnum3
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if /i "%wads2error%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%WADdeflickerQ%" EQU "D" support\sfk.exe echo [%cyantext%]Finished Disabling Deflicker Filter for Channel WADs saved here:
|
|
if /i "%WADdeflickerQ%" EQU "R" support\sfk.exe echo [%cyantext%]Finished Re-enabling Deflicker Filter for Channel WADs saved here:
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
if /i "%wadsSuccess%" NEQ "0" support\sfk.exe echo [%greentext%]%wadsSuccess% Channel WADs patched successfully!
|
|
|
|
if /i "%wadsAlrDone%" EQU "0" goto:skip
|
|
if /i "%WADdeflickerQ%" EQU "D" support\sfk.exe echo [%greentext%]%wadsAlrDone% WADs already had the Deflicker Filter Disabled
|
|
if /i "%WADdeflickerQ%" EQU "R" support\sfk.exe echo [%greentext%]%wadsAlrDone% WADs already had the Deflicker Filter Enabled
|
|
:skip
|
|
|
|
if /i "%wadsSkipped%" NEQ "0" support\sfk.exe echo [%yellowtext%]%wadsSkipped% WADs skipped
|
|
if /i "%wads2error%" NEQ "0" support\sfk.exe echo [%redtext%]%wads2error% WADs failed
|
|
echo Scroll up for details
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%wadpath%" explorer "%wadpath%"
|
|
exit
|
|
::---------------------------------------
|
|
|
|
|
|
|
|
|
|
:modifyFakesign
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%Title ID, IOS, DOL, AHB^|DVD, %NLtext%[%cyantext%]Fakesign[def], %DFtext%Visibility
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Fakesign Channel
|
|
echo.
|
|
|
|
If /i "%SigningStatus%" EQU "Fakesigned" goto:FakesignedAlready
|
|
|
|
echo Would you like to Fakesign the WAD?
|
|
echo.
|
|
echo To leave the WAD unchanged, leave the selection blank and press Enter.
|
|
echo.
|
|
echo Y = Yes, fakesign it
|
|
echo N = No, don't fakesign it
|
|
goto:skip
|
|
|
|
:FakesignedAlready
|
|
|
|
echo The WAD is already Fakesigned
|
|
echo.
|
|
echo Leave the selection blank and press Enter to continue.
|
|
echo.
|
|
:skip
|
|
|
|
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WADfake="
|
|
set /p WADfake=Enter Selection Here:
|
|
set "WADfake=%WADfake:"=%"
|
|
|
|
if not "%WADfake%"=="" goto:notempty
|
|
if "%DFtext%"=="" goto:modifyVisibility
|
|
goto:modifyDeflickerWAD
|
|
:notempty
|
|
|
|
|
|
|
|
if /i "%WADfake%" NEQ "B" goto:notback
|
|
if "%NLtext%"=="" goto:modifyAHB
|
|
goto:modifyNandLoader
|
|
:notback
|
|
|
|
if /i "%WADfake%" EQU "E" exit
|
|
|
|
::Y and N not options if already fakesigned
|
|
If /i "%SigningStatus%" EQU "Fakesigned" goto:badkey
|
|
If /i "%WADfake%" NEQ "N" goto:skip
|
|
if "%DFtext%"=="" goto:modifyVisibility
|
|
goto:modifyDeflickerWAD
|
|
:skip
|
|
if /i "%WADfake%" NEQ "Y" goto:badkey
|
|
|
|
::save copy and apply change
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
set ERRORLEVEL=
|
|
::support\sharpii.exe Wad -e "%WADcopy%" "%WADcopy%" -f
|
|
::fakesign!
|
|
%WiiPy% fakesign "%WADcopy%"
|
|
|
|
if not errorlevel 0 goto:WADfail
|
|
set SigningStatus=Fakesigned
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
if "%DFtext%"=="" goto:modifyVisibility
|
|
goto:modifyDeflickerWAD
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyFakesign
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:modifyDeflickerWAD
|
|
cls
|
|
|
|
::setting these to zero for bulk Deflicker WAD processing, counts are meaningless when in individual wad modding mode
|
|
set wadsSkipped=0
|
|
set wadsSuccess=0
|
|
set wads2error=0
|
|
set wadsAlrDone=0
|
|
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%Title ID, IOS, DOL, AHB^|DVD, %NLtext%Fakesign, [%cyantext%]Deflicker[def], Visibility
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
|
|
::dark filter from the few N64 VC titles
|
|
set darkfilter=
|
|
If /i "%TitID%" EQU "NAAE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NABE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NATE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAIE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NASE" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAIP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAAP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NABP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NATP" set "darkfilter= and N64 Dark Filter"
|
|
If /i "%TitID%" EQU "NAST" set "darkfilter= and N64 Dark Filter"
|
|
|
|
|
|
echo.
|
|
|
|
|
|
|
|
|
|
If /i "%droptype%" EQU "folder" goto:NoExpPak
|
|
|
|
::confirm N*** title ID
|
|
If /i "%TitID:~0,1%" NEQ "N" goto:NoExpPak
|
|
if "%TitID:~3%"=="" goto:NoExpPak
|
|
if not "%TitID:~4%"=="" goto:NoExpPak
|
|
If /i "%N64ExpPatch%" EQU "N/A" goto:NoExpPak
|
|
::fails for Mario Tennis (NAT*)
|
|
If /i "%TitID:~0,3%" EQU "NAT" goto:NoExpPak
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Deflicker Settings ^& N64 Expansion Pak Patch
|
|
echo.
|
|
if "%N64ExpPatch%"=="" echo Note, later you may also be asked if you want to apply or remove the N64 Expansion Pak Patch.
|
|
If /i "%N64ExpPatch%" EQU "Enabled" echo Note you will later also be asked if you want to remove the N64 Expansion Pak Patch.
|
|
If /i "%N64ExpPatch%" EQU "Disabled" echo Note you will later also be asked if you want to apply the N64 Expansion Pak Patch.
|
|
goto:NoExpPak2
|
|
:NoExpPak
|
|
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Deflicker Settings
|
|
|
|
:NoExpPak2
|
|
|
|
|
|
|
|
|
|
echo.
|
|
if /i "%WADdeflicker%" EQU "Disabled" goto:skip
|
|
echo D = Disable Deflicker Filter%darkfilter%
|
|
echo * Disables blur filter; recommended when using 480p display mode to improve video quality
|
|
echo.
|
|
:skip
|
|
if /i "%WADdeflicker%" EQU "Enabled" goto:skip
|
|
echo R = Re-enable Deflicker Filter%darkfilter%
|
|
echo * Re-enables blur filter; recommended when using 480i display mode on a CRT TV
|
|
echo.
|
|
:skip
|
|
|
|
If /i "%droptype%" EQU "folder" goto:tinyskip
|
|
if "%WADdeflicker%"=="" echo C = Check Deflicker setting currently used
|
|
If /i "%AutoDetectDF%" NEQ "Y" echo C+ = Check Deflicker setting now and immediately when opening applicable Channel WADs
|
|
If /i "%AutoDetectDF%" EQU "Y" echo C+ = Cancel automatic deflicker setting Checks when opening applicable Channel WADs
|
|
echo.
|
|
:tinyskip
|
|
|
|
|
|
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WADdeflickerQ="
|
|
set /p WADdeflickerQ=Enter Selection Here:
|
|
set "WADdeflickerQ=%WADdeflickerQ:"=%"
|
|
|
|
if "%WADdeflickerQ%"=="" goto:modifyVisibility
|
|
if /i "%WADdeflickerQ%" EQU "B" goto:modifyFakesign
|
|
if /i "%WADdeflickerQ%" EQU "E" exit
|
|
|
|
|
|
if /i "%WADdeflicker%" EQU "Disabled" goto:skip
|
|
if /i "%WADdeflickerQ%" EQU "D" goto:continue
|
|
:skip
|
|
|
|
if /i "%WADdeflicker%" EQU "Enabled" goto:skip
|
|
if /i "%WADdeflickerQ%" EQU "R" goto:continue
|
|
:skip
|
|
|
|
|
|
If /i "%droptype%" EQU "folder" goto:NoCstuff
|
|
|
|
if not "%WADdeflicker%"=="" goto:skip
|
|
if /i "%WADdeflickerQ%" EQU "C" goto:continue
|
|
:skip
|
|
|
|
if /i "%WADdeflickerQ%" NEQ "C+" goto:NoCstuff
|
|
if /i "%AutoDetectDF%" NEQ "Y" (Set AutoDetectDF=Y) & (support\sfk filter Support\settings.bat -ls!"Set AutoDetectDF=" -write -yes>nul) & (echo Set AutoDetectDF=Y>>Support\settings.bat) & (goto:tinyskip)
|
|
if /i "%AutoDetectDF%" EQU "Y" (Set AutoDetectDF=) & (support\sfk filter Support\settings.bat -ls!"Set AutoDetectDF=" -write -yes>nul)
|
|
:tinyskip
|
|
if "%WADdeflicker%"=="" goto:continue
|
|
goto:modifyDeflickerWAD
|
|
:NoCstuff
|
|
|
|
goto:badkey
|
|
|
|
:continue
|
|
|
|
::save copy and apply change
|
|
::if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
|
|
|
|
::unpack WAD to temp dir
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
mkdir "temp\__channel"
|
|
|
|
if not exist "%WADcopy%" %WiiPy% wad unpack --skip-hash "%cmdinput%" "temp\__channel">nul
|
|
if exist "%WADcopy%" %WiiPy% wad unpack --skip-hash "%WADcopy%" "temp\__channel">nul
|
|
|
|
if not exist "temp\__channel\00000001.app" (echo 00000001.app missing...) & (goto:WADfail)
|
|
|
|
:WadDeflicker
|
|
|
|
If /i "%droptype%" EQU "folder" (set pingtime=0) else (set pingtime=3)
|
|
If /i "%droptype%" EQU "folder" (set gotoNext=%EOF%) else (set gotoNext=modifyVisibility)
|
|
If /i "%droptype%" EQU "folder" (set gotoPrev=%EOF%) else (set gotoPrev=modifyDeflickerWAD)
|
|
|
|
|
|
::string is always in 00000001.app, some games will require decompressing with wwcxtool, while others can be edited as is
|
|
::if decompressed with wwcxtool, it needs to be compressed again in original compression style before repacking
|
|
set "ImageDol=temp\__channel\00000001.app"
|
|
|
|
::Disabling GXSetCopyFilter for Wii games
|
|
::Replace
|
|
set str1=5439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800041820040
|
|
::longer version of str1, only last 4 bytes change ::set str1=2C030000418200F8890400003800000089440001386000005100073E88E40006514026368904000C50E3073E38E000005107073E8944000D8964000739000000514726368944000289240012516326365140452E8944000E5128073E892400135147452E894400035128263689240014514064268944000F5128452E89240015514764268944000489640008512864265140831E89440010892400165163452E896400095147831E894400055128831E89240011516364268964000A5140A2168944000B5127A21688840017392000015163831E5143A2165088A2165120C00E3940000239200003388000045143C00E5127C00E5088C00E480000243D0001663C6002663CE003663C800466380866663863666638E76666390466663D20CC0139400061994980002C0500003880005339600000900980003800005439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800041820040
|
|
::with
|
|
set str2=5439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800048000040
|
|
::longer version of str2, only last 4 bytes change ::set str2=2C030000418200F8890400003800000089440001386000005100073E88E40006514026368904000C50E3073E38E000005107073E8944000D8964000739000000514726368944000289240012516326365140452E8944000E5128073E892400135147452E894400035128263689240014514064268944000F5128452E89240015514764268944000489640008512864265140831E89440010892400165163452E896400095147831E894400055128831E89240011516364268964000A5140A2168944000B5127A21688840017392000015163831E5143A2165088A2165120C00E3940000239200003388000045143C00E5127C00E5088C00E480000243D0001663C6002663CE003663C800466380866663863666638E76666390466663D20CC0139400061994980002C0500003880005339600000900980003800005439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800048000040
|
|
|
|
set WADdeflicker=
|
|
::check if already patched (easier to do first) binary search \ hex search (see CollectWadInfo.bat for e.g. of searching multiple files)
|
|
support\sfk hexfind "%ImageDol%" -binary /%str2%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 set WADdeflicker=Disabled
|
|
|
|
support\sfk hexfind "%ImageDol%" -binary /%str1%/ >nul
|
|
IF ERRORLEVEL 1 set WADdeflicker=Enabled
|
|
|
|
::N64ExpPatch
|
|
If /i "%TitID:~0,1%" NEQ "N" goto:NoExpPak
|
|
if "%TitID:~3%"=="" goto:NoExpPak
|
|
if not "%TitID:~4%"=="" goto:NoExpPak
|
|
set "N64ExpPatch=N/A"
|
|
set str3=418200083C800080
|
|
set str4=600000003C800080
|
|
support\sfk hexfind "%ImageDol%" -binary /%str4%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 set N64ExpPatch=Enabled
|
|
support\sfk hexfind "%ImageDol%" -binary /%str3%/ >nul
|
|
IF ERRORLEVEL 1 set N64ExpPatch=Disabled
|
|
:NoExpPak
|
|
|
|
if not "%WADdeflicker%"=="" goto:FoundStr
|
|
|
|
::--------compressed stuff ----------
|
|
::if exist "%ImageDol%.bak" it means "%ImageDol%" has already been decompressed
|
|
|
|
if exist "%ImageDol%.bak" (support\sfk echo [%yellowtext%]Unable to locate strings to patch, skipping...) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wadsSkipped=%wadsSkipped%+1) & (goto:%gotoNext%)
|
|
|
|
|
|
call Support\subscripts\dependency.bat wwcxtool
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wads2error=%wads2error%+1) & (goto:%gotoPrev%)
|
|
|
|
|
|
::if exist "%ImageDol%.bak" it means "%ImageDol%" has already been decompressed
|
|
move /y "%ImageDol%" "%ImageDol%.bak">nul
|
|
temp\wwcxtool.exe /u "%ImageDol%.bak" "%ImageDol%">nul
|
|
if not errorlevel 0 (support\sfk echo [%redtext%]Decompressing FAILED...) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wads2error=%wads2error%+1) & (goto:%gotoPrev%)
|
|
if not exist "%ImageDol%" (support\sfk echo [%redtext%]Decompressing FAILED...) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wads2error=%wads2error%+1) & (goto:%gotoPrev%)
|
|
goto:WadDeflicker
|
|
|
|
:FoundStr
|
|
|
|
if /i "%WADdeflickerQ%" EQU "C" goto:reportC
|
|
if /i "%WADdeflickerQ%" NEQ "C+" goto:skip
|
|
:reportC
|
|
echo Deflicker: %WADdeflicker%
|
|
if not "%N64ExpPatch%"=="" echo N64 Expansion Pak: %N64ExpPatch%
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyDeflickerWAD
|
|
:skip
|
|
|
|
|
|
::check if patches already applied
|
|
if /i "%WADdeflickerQ%" NEQ "D" goto:skip
|
|
if /i "%WADdeflicker%" EQU "Disabled" goto:NoDarkFilter
|
|
::if /i "%WADdeflicker%" EQU "Disabled" (support\sfk echo [%greentext%]Deflicker Already Disabled!) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wadsAlrDone=%wadsAlrDone%+1) & (goto:%gotoNext%)
|
|
:skip
|
|
|
|
if /i "%WADdeflickerQ%" NEQ "R" goto:skip
|
|
if /i "%WADdeflicker%" EQU "Enabled" goto:NoDarkFilter
|
|
::if /i "%WADdeflicker%" EQU "Enabled" (support\sfk echo [%greentext%]Deflicker Already Enabled!) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wadsAlrDone=%wadsAlrDone%+1) & (goto:%gotoNext%)
|
|
:skip
|
|
|
|
::apply patch
|
|
|
|
::-firsthit arg used so it will only replace the first hit, have it on good authority that there will never be more than 1 so this speeds things up a bit
|
|
if /i "%WADdeflickerQ%" EQU "D" support\sfk replace "%ImageDol%" -binary /%str1%/%str2%/ -firsthit -yes>"temp\patches.txt"
|
|
if /i "%WADdeflickerQ%" EQU "R" support\sfk replace "%ImageDol%" -binary /%str2%/%str1%/ -firsthit -yes>"temp\patches.txt"
|
|
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF not ERRORLEVEL 1 (support\sfk echo [%redtext%]Patching FAILED...) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wads2error=%wads2error%+1) & (goto:%gotoPrev%)
|
|
::::confirm 1 change made in 1 file by finding this output "[001/1/0] " :: NO POINT WHEN USING -firsthit
|
|
::findStr /I /C:"[001/1/0] " "temp\patches.txt" >nul
|
|
::::ERRORLEVEL 1 means not found
|
|
::IF not ERRORLEVEL 1 goto:PatchSuccess
|
|
::::if here it means multiple patches applied
|
|
::goto:SomeNewErrorPlace...Abort!
|
|
|
|
|
|
|
|
::---INSERT N64 DARK FILTER STUFF HERE...
|
|
if "%darkfilter%"=="" goto:NoDarkFilter
|
|
|
|
::For Mario 64 NTSC-US (ID NAAE)
|
|
If /i "%TitID%" EQU "NAAE" set str1=013961004048104DCD800100447C0803A6382100404E8000209421FFE0
|
|
If /i "%TitID%" EQU "NAAE" set str2=013961004048104DCD800100447C0803A6382100404E8000204E800020
|
|
::For Mario Kart NTSC-US (ID NABE)
|
|
If /i "%TitID%" EQU "NABE" set str1=013961004048105A29800100447C0803A6382100404E8000209421FFE0
|
|
If /i "%TitID%" EQU "NABE" set str2=013961004048105A29800100447C0803A6382100404E8000204E800020
|
|
::For Mario Tennis NTSC-US (ID NATE) - THIS REQUIRES TO DECOMPRESS 00000001.app!
|
|
If /i "%TitID%" EQU "NATE" set str1=547C0803A6382100504E8000200000000000000000000000009421FFE0
|
|
If /i "%TitID%" EQU "NATE" set str2=547C0803A6382100504E8000200000000000000000000000004E800020
|
|
::For Wave Race NTSC-US (ID NAIE)
|
|
If /i "%TitID%" EQU "NAIE" set str1=013961004048113451800100447C0803A6382100404E8000209421FFE0
|
|
If /i "%TitID%" EQU "NAIE" set str2=013961004048113451800100447C0803A6382100404E8000204E800020
|
|
::Cruisin' USA NTSC (ID NASE)
|
|
If /i "%TitID%" EQU "NASE" set str1=0139610050480ECCE1800100547C0803A6382100504E8000209421FFE0
|
|
If /i "%TitID%" EQU "NASE" set str2=0139610050480ECCE1800100547C0803A6382100504E8000204E800020
|
|
::Wave Race PAL (ID NAIP)
|
|
If /i "%TitID%" EQU "NAIP" set str1=0139610040481134AD800100447C0803A6382100404E8000209421FFE0
|
|
If /i "%TitID%" EQU "NAIP" set str2=0139610040481134AD800100447C0803A6382100404E8000204E800020
|
|
::Super Mario 64 PAL (ID NAAP)
|
|
If /i "%TitID%" EQU "NAAP" set str1=013961004048105679800100447C0803A6382100404E8000209421FFE0
|
|
If /i "%TitID%" EQU "NAAP" set str2=013961004048105679800100447C0803A6382100404E8000204E800020
|
|
::Mario Kart 64 PAL (ID NABP)
|
|
If /i "%TitID%" EQU "NABP" set str1=013961004048105A85800100447C0803A6382100404E8000209421FFE0
|
|
If /i "%TitID%" EQU "NABP" set str2=013961004048105A85800100447C0803A6382100404E8000204E800020
|
|
::Mario Tennis PAL (ID NATP)
|
|
If /i "%TitID%" EQU "NATP" set str1=0139610050481208C5800100547C0803A6382100504E800020000000009421FFE0
|
|
If /i "%TitID%" EQU "NATP" set str2=0139610050481208C5800100547C0803A6382100504E800020000000004E800020
|
|
::Cruisin' USA PAL (ID NAST)
|
|
If /i "%TitID%" EQU "NAST" set str1=0139610050480ECD45800100547C0803A6382100504E8000209421FFE0
|
|
If /i "%TitID%" EQU "NAST" set str2=0139610050480ECD45800100547C0803A6382100504E8000204E800020
|
|
|
|
|
|
if /i "%WADdeflickerQ%" EQU "D" set DeflickerAction=Applied
|
|
if /i "%WADdeflickerQ%" EQU "R" set DeflickerAction=Removed
|
|
|
|
::-firsthit arg used so it will only replace the first hit, have it on good authority that there will never be more than 1 so this speeds things up a bit
|
|
if /i "%WADdeflickerQ%" EQU "D" support\sfk replace "%ImageDol%" -binary /%str1%/%str2%/ -firsthit -yes>"temp\patches.txt"
|
|
if /i "%WADdeflickerQ%" EQU "R" support\sfk replace "%ImageDol%" -binary /%str2%/%str1%/ -firsthit -yes>"temp\patches.txt"
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF not ERRORLEVEL 1 (support\sfk echo [%magentatext%]N64 Dark Filter Patching FAILED) else (echo N64 Dark Filter Patch %DeflickerAction%)
|
|
:NoDarkFilter
|
|
|
|
|
|
::N64 Expansion Pak Patch to double 4MB of RAM to 8MB. For some games the patch is great, for most games the patch is benign (can be played fine but with no differences), but a few games could crash if the Expansion Pak is present but not supported (depends on the original N64 game).
|
|
::info: https://gbatemp.net/threads/n64-expansion-pak-emulation-on-wii-vc-8-mb-of-ram-on-n64-vc.584066
|
|
|
|
If /i "%droptype%" EQU "folder" if /i "%ExpPakQ%" EQU "N" goto:NoExpPak
|
|
::confirm N*** title ID
|
|
If /i "%droptype%" EQU "folder" set N64ExpPatch=
|
|
If /i "%TitID:~0,1%" NEQ "N" goto:NoExpPak
|
|
if "%TitID:~3%"=="" goto:NoExpPak
|
|
if not "%TitID:~4%"=="" goto:NoExpPak
|
|
If /i "%N64ExpPatch%" EQU "N/A" goto:NoExpPak
|
|
::fails for Mario Tennis (NAT*)
|
|
If /i "%TitID:~0,3%" EQU "NAT" goto:NoExpPakWarning
|
|
|
|
goto:ExpPakNext
|
|
:NoExpPakWarning
|
|
If /i "%droptype%" EQU "folder" echo N64 Expansion Pak Patch is known to break this title, skipping...
|
|
goto:NoExpPak
|
|
:ExpPakNext
|
|
|
|
set str1=418200083C800080
|
|
set str2=600000003C800080
|
|
|
|
if not "%N64ExpPatch%"=="" goto:skipPakCheck
|
|
set "N64ExpPatch=N/A"
|
|
support\sfk hexfind "%ImageDol%" -binary /%str2%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 set N64ExpPatch=Enabled
|
|
If /i "%droptype%" EQU "folder" If /i "%N64ExpPatch%" EQU "Enabled" if /i "%ExpPakQ%" EQU "Y" echo N64 Expansion Pak Patch is already applied
|
|
|
|
support\sfk hexfind "%ImageDol%" -binary /%str1%/ >nul
|
|
IF ERRORLEVEL 1 set N64ExpPatch=Disabled
|
|
If /i "%droptype%" EQU "folder" If /i "%N64ExpPatch%" EQU "Disabled" if /i "%ExpPakQ%" EQU "R" echo N64 Expansion Pak Patch is already removed
|
|
|
|
If /i "%N64ExpPatch%" EQU "N/A" (echo N64 Expansion Pak Patch not applicable, continuing...) & (goto:NoExpPak)
|
|
:skipPakCheck
|
|
|
|
If /i "%droptype%" EQU "folder" goto:ContinueExpPak
|
|
|
|
echo.
|
|
echo Would you like to apply the N64 Expansion Pak Patch to double 4MB of RAM to 8MB?
|
|
echo.
|
|
echo Note: the patch works for some games, for many games it has no impact,
|
|
echo but it may cause some games to crash (depends on original N64 game).
|
|
echo.
|
|
echo The N64 Expansion Pak Patch is currently %N64ExpPatch%
|
|
echo.
|
|
If /i "%N64ExpPatch%" NEQ "Enabled" echo Y = Yes, apply N64 Expansion Pak patch
|
|
If /i "%N64ExpPatch%" NEQ "Disabled" echo R = Remove N64 Expansion Pak patch
|
|
echo N = No, do not apply any N64 Expansion Pak patches
|
|
echo.
|
|
:ExpPakQ
|
|
set ExpPakQ="
|
|
set /p ExpPakQ=Enter Selection Here:
|
|
set "ExpPakQ=%ExpPakQ:"=%"
|
|
if /i "%ExpPakQ%" EQU "N" goto:NoExpPak
|
|
If /i "%N64ExpPatch%" NEQ "Enabled" if /i "%ExpPakQ%" EQU "Y" goto:ContinueExpPak
|
|
If /i "%N64ExpPatch%" NEQ "Disabled" if /i "%ExpPakQ%" EQU "R" goto:ContinueExpPak
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:ExpPakQ
|
|
:ContinueExpPak
|
|
|
|
::set str1=418200083C800080
|
|
::set str2=600000003C800080
|
|
|
|
If /i "%N64ExpPatch%" EQU "Enabled" if /i "%ExpPakQ%" EQU "Y" goto:NoExpPak
|
|
If /i "%N64ExpPatch%" EQU "Disabled" if /i "%ExpPakQ%" EQU "R" goto:NoExpPak
|
|
|
|
if /i "%ExpPakQ%" EQU "Y" support\sfk replace "%ImageDol%" -binary /%str1%/%str2%/ -firsthit -yes>"temp\patches.txt"
|
|
if /i "%ExpPakQ%" EQU "R" support\sfk replace "%ImageDol%" -binary /%str2%/%str1%/ -firsthit -yes>"temp\patches.txt"
|
|
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF not ERRORLEVEL 1 (support\sfk echo [%magentatext%]N64 Expansion Pak Patching FAILED) & (goto:NoExpPak2)
|
|
if /i "%ExpPakQ%" EQU "Y" (set N64ExpPatch=Enabled) & (echo N64 Expansion Pak Patch Applied)
|
|
if /i "%ExpPakQ%" EQU "R" (set N64ExpPatch=Disabled) & (echo N64 Expansion Pak Patch Removed)
|
|
goto:NoExpPak2
|
|
:NoExpPak
|
|
|
|
|
|
::check if patches already applied
|
|
if /i "%WADdeflickerQ%" NEQ "D" goto:skip
|
|
if /i "%WADdeflicker%" EQU "Disabled" (support\sfk echo [%greentext%]Deflicker Already Disabled!) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wadsAlrDone=%wadsAlrDone%+1) & (goto:%gotoNext%)
|
|
:skip
|
|
|
|
if /i "%WADdeflickerQ%" NEQ "R" goto:skip
|
|
if /i "%WADdeflicker%" EQU "Enabled" (support\sfk echo [%greentext%]Deflicker Already Enabled!) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wadsAlrDone=%wadsAlrDone%+1) & (goto:%gotoNext%)
|
|
:skip
|
|
|
|
:NoExpPak2
|
|
|
|
|
|
::if decompressed with wwcxtool, it needs to be compressed again in original compression style before repacking
|
|
::if exist "%ImageDol%.bak" it means "%ImageDol%" has already been decompressed
|
|
if not exist "%ImageDol%.bak" goto:AfterRecompress
|
|
temp\wwcxtool.exe /cr "%ImageDol%.bak" "%ImageDol%" "%ImageDol%.new">nul
|
|
if not errorlevel 0 (support\sfk echo [%redtext%]Recompressing FAILED...) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wads2error=%wads2error%+1) & (goto:%gotoPrev%)
|
|
if not exist "%ImageDol%.new" (support\sfk echo [%redtext%]Recompressing FAILED...) & (@ping 127.0.0.1 -n %pingtime% -w 1000> nul) & (set /a wads2error=%wads2error%+1) & (goto:%gotoPrev%)
|
|
move /y "%ImageDol%.new" "%ImageDol%">nul
|
|
if exist "%ImageDol%.bak" del "%ImageDol%.bak">nul
|
|
:AfterRecompress
|
|
|
|
::Repack!
|
|
if exist "temp\__channel.wad" del "temp\__channel.wad">nul
|
|
set errorlevel=
|
|
%WiiPy% wad pack --fakesign "temp\__channel" "temp\__channel.wad">nul
|
|
set SigningStatus=Fakesigned
|
|
|
|
::support\sharpii.exe wad -p "temp\__channel" "temp\__channel.wad"
|
|
|
|
If /i "%droptype%" EQU "folder" goto:skip
|
|
if /i "%errorlevel%" NEQ "0" goto:WADfail
|
|
if not exist "temp\__channel.wad" goto:WADfail
|
|
:skip
|
|
if /i "%errorlevel%" NEQ "0" (support\sfk echo [%redtext%]Repacking WAD FAILED...) & (set /a wads2error=%wads2error%+1) & (goto:%EOF%)
|
|
if not exist "temp\__channel.wad" (support\sfk echo [%redtext%]Repacking WAD FAILED...) & (set /a wads2error=%wads2error%+1) & (goto:%EOF%)
|
|
|
|
move /y "temp\__channel.wad" "%WADcopy%">nul
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
|
|
If /i "%droptype%" NEQ "folder" echo Operation completed succesfully!
|
|
If /i "%droptype%" EQU "folder" (support\sfk echo [%greentext%]Patched Successfully!) & (set /a wadsSuccess=%wadsSuccess%+1) & (goto:%EOF%)
|
|
|
|
|
|
if /i "%WADdeflickerQ%" EQU "D" set WADdeflicker=Disabled
|
|
if /i "%WADdeflickerQ%" EQU "R" set WADdeflicker=Enabled
|
|
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyVisibility
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyDeflickerWAD
|
|
|
|
|
|
|
|
::-------------------------------
|
|
|
|
:modifyVisibility
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify Channel WAD: %TITtext%Title ID, IOS, DOL, AHB^|DVD, %NLtext%Fakesign, %DFtext%[%cyantext%]Visibility
|
|
|
|
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]-Mod%RandomNum%[%bluetext%].wad"
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Channel Visibility
|
|
echo.
|
|
|
|
If /i "%wadtype%" EQU "hidden" goto:hidden
|
|
echo Would you like to make the Channel Hidden\Invisible?
|
|
echo.
|
|
echo Y = Yes, hide it and exit
|
|
echo M = make invisible and inject Minimalist banner to reduce size and exit
|
|
echo N = No, don't make it invisible and exit
|
|
goto:skip
|
|
|
|
:hidden
|
|
echo Would you like to make the Channel visible\unhidden?
|
|
echo.
|
|
|
|
If /i "%WadBannerless%" EQU " [Minimalist Banner]" support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%yellowtext%]WAD is Bannerless, making it visible is restricted as it may cause banner brick
|
|
If /i "%WadBannerless%" EQU " [Minimalist Banner]" support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%yellowtext%]To make visible first add a banner to the WAD using CustomizeMii or similar tool
|
|
If /i "%WadBannerless%" EQU " [Minimalist Banner]" echo.
|
|
|
|
If /i "%WadBannerless%" NEQ " [Minimalist Banner]" echo Y = Yes, make it visible (Channel ID: 00010001) and exit
|
|
echo N = No, don't make it visible and exit
|
|
:skip
|
|
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WADvisibility="
|
|
set /p WADvisibility=Enter Selection Here:
|
|
set "WADvisibility=%WADvisibility:"=%"
|
|
|
|
::last screen, don't exit if nothing entered
|
|
::if "%WADvisibility%"=="" goto:modifyFin
|
|
|
|
if /i "%WADvisibility%" NEQ "B" goto:skip
|
|
if "%DFtext%"=="" goto:modifyFakesign
|
|
goto:modifyDeflickerWAD
|
|
:skip
|
|
|
|
|
|
if /i "%WADvisibility%" EQU "E" exit
|
|
If /i "%WADvisibility%" EQU "N" goto:modifyFin
|
|
|
|
if /i "%WADvisibility%" EQU "Y" goto:MakeInvisible
|
|
If /i "%wadtype%" EQU "hidden" goto:badkey
|
|
if /i "%WADvisibility%" NEQ "M" goto:badkey
|
|
|
|
:MakeInvisible
|
|
If /i "%wadtype%" EQU "hidden" goto:Makevisible
|
|
:MakeInvisible2
|
|
::hidden channels will have 00010008 in tmd at offset 0x18C (len 4), or offset at 0xE8C of wad (offset is 0xD00 or 3328 greater in WAD than tmd), if converting type it may not be enough to edit tmd as Sharpii makes other changes (including 0xC1C of wad)
|
|
::save copy and apply change
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
::set ERRORLEVEL=
|
|
::support\hexalter.exe "%WADcopy%" 0xE8C=0x00,0x01,0x00,0x08
|
|
::If /i "%ERRORLEVEL%" NEQ "0" goto:WADfail
|
|
|
|
set ERRORLEVEL=
|
|
%WiiPy% wad edit --type HiddenChannel "%WADcopy%"
|
|
::support\sharpii.exe Wad -e "%WADcopy%" "%WADcopy%" -type HiddenChannels>nul
|
|
if not errorlevel 0 goto:WADfail
|
|
|
|
::%WiiPy% fakesign "%WADcopy%">nul
|
|
::if not errorlevel 0 goto:WADfail
|
|
set SigningStatus=Fakesigned
|
|
|
|
set channelpath=00010008
|
|
set wadtype=hidden
|
|
if /i "%WADvisibility%" EQU "Y" goto:modifyFin
|
|
|
|
::replace banner
|
|
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
mkdir "temp\__channel"
|
|
|
|
::silently build minimalist modmii banner placeholder for hidden channels (00000000.app)
|
|
support\sfk echo 4D6F644D69692E31373038333731333537000000000000000000000000000000000000000000000000000000010100014D6F642E4D6969404D4F442E4D494900 +hextobin "temp\__channel\00000000.app">nul
|
|
if not exist "temp\__channel\00000000.app" goto:WADfail
|
|
|
|
%WiiPy% wad set -i 0 "%WADcopy%" "temp\__channel\00000000.app"
|
|
if /i "%errorlevel%" NEQ "0" goto:WADfail
|
|
|
|
set SigningStatus=Fakesigned
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
|
|
If /i "%droptype%" NEQ "folder" echo Minimalist banner injected succesfully!
|
|
If /i "%droptype%" NEQ "folder" set "WadBannerless= [Minimalist Banner]"
|
|
goto:modifyFin
|
|
|
|
|
|
:Makevisible
|
|
::simple bannerless check
|
|
If /i "%WadBannerless%" EQU " [Minimalist Banner]" goto:badkey
|
|
|
|
::hidden channels will have 00010008 in tmd at offset 0x18C (len 4), or offset at 0xE8C of wad (offset is 0xD00 or 3328 greater in WAD than tmd), if converting type it may not be enough to edit tmd as Sharpii makes other changes (including 0xC1C of wad)
|
|
::save copy and apply change
|
|
if not exist "%WADcopy%" copy /y "%cmdinput%" "%WADcopy%">nul
|
|
::set ERRORLEVEL=
|
|
::support\hexalter.exe "%WADcopy%" 0xE8C=0x00,0x01,0x00,0x01
|
|
::If /i "%ERRORLEVEL%" NEQ "0" goto:WADfail
|
|
|
|
set ERRORLEVEL=
|
|
|
|
%WiiPy% wad edit --type Channel "%WADcopy%"
|
|
::support\sharpii.exe Wad -e "%WADcopy%" "%WADcopy%" -type Channel>nul
|
|
if not errorlevel 0 goto:WADfail
|
|
|
|
set channelpath=00010001
|
|
set wadtype=channel
|
|
|
|
::%WiiPy% fakesign "%WADcopy%">nul
|
|
::if not errorlevel 0 goto:WADfail
|
|
set SigningStatus=Fakesigned
|
|
|
|
::goto:modifyFin
|
|
|
|
:modifyFin
|
|
If /i "%droptype%" EQU "folder" (support\sfk echo [%greentext%]Operation completed succesfully!) & (set /a wadsSuccess=%wadsSuccess%+1) & (goto:%EOF%)
|
|
::echo Operation completed succesfully!
|
|
echo.
|
|
echo Channel modifications finished, exiting...
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyVisibility
|
|
|
|
|
|
|
|
|
|
|
|
:modifyIOSwad
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify IOS WAD: [%cyantext%]Patches[def], Slot, Version, Confirmation
|
|
echo.
|
|
support\sfk.exe echo Input: [%bluetext%]"%cmdinput%"
|
|
echo Note : Changes will be applied to a copy of the original WAD
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20[%cyantext%]Apply Patches to IOS
|
|
echo.
|
|
echo A = All 4 available patches Select multiple patches by separating them with spaces
|
|
echo N = No Patches (or leave selection blank) ------------------------------------------------------
|
|
echo -FS = FakeSigning Patch Examples:
|
|
echo -ES = ES Identify Patch -FS -ES -NP
|
|
echo -NP = Nand Permission Patch -NP -FS
|
|
echo -VP = Version Patch -FS -ES -NP -VP
|
|
echo B = Back etc.
|
|
echo E = Exit
|
|
echo.
|
|
|
|
set ADVPATCH="
|
|
set /p ADVPATCH=Enter Selection Here:
|
|
set "ADVPATCH=%ADVPATCH:"=%"
|
|
|
|
|
|
if "%ADVPATCH%"=="" goto:modifySlot
|
|
If /i "%ADVPATCH%" EQU "N" (set ADVPATCH=) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "B" goto:WADdrop
|
|
if /i "%ADVPATCH%" EQU "E" exit
|
|
|
|
if /i "%ADVPATCH%" EQU "A" (set ADVPATCH=-FS -ES -NP -VP) & (goto:modifySlot)
|
|
|
|
::if lower case letters entered change to upper
|
|
if /i "%ADVPATCH%" EQU "-FS" (set ADVPATCH=-FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES" (set ADVPATCH=-ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP" (set ADVPATCH=-NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP" (set ADVPATCH=-VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -ES" (set ADVPATCH=-FS -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -FS" (set ADVPATCH=-ES -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -NP" (set ADVPATCH=-FS -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -FS" (set ADVPATCH=-NP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -VP" (set ADVPATCH=-FS -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -FS" (set ADVPATCH=-VP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -NP" (set ADVPATCH=-ES -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -ES" (set ADVPATCH=-NP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -VP" (set ADVPATCH=-ES -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -ES" (set ADVPATCH=-VP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -VP" (set ADVPATCH=-NP -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -NP" (set ADVPATCH=-VP -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -NP" (set ADVPATCH=-FS -ES -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -ES" (set ADVPATCH=-FS -NP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -NP" (set ADVPATCH=-ES -FS -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -FS" (set ADVPATCH=-ES -NP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -ES" (set ADVPATCH=-NP -FS -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -FS" (set ADVPATCH=-NP -ES -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -VP" (set ADVPATCH=-FS -ES -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -ES" (set ADVPATCH=-FS -VP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -VP" (set ADVPATCH=-ES -FS -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -FS" (set ADVPATCH=-ES -VP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -ES" (set ADVPATCH=-VP -FS -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -FS" (set ADVPATCH=-VP -ES -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -VP" (set ADVPATCH=-FS -NP -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -NP" (set ADVPATCH=-FS -VP -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -VP" (set ADVPATCH=-NP -FS -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -FS" (set ADVPATCH=-NP -VP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -FS" (set ADVPATCH=-VP -NP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -NP" (set ADVPATCH=-VP -FS -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -VP" (set ADVPATCH=-ES -NP -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -NP" (set ADVPATCH=-ES -VP -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -VP" (set ADVPATCH=-NP -ES -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -ES" (set ADVPATCH=-NP -VP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -NP" (set ADVPATCH=-VP -ES -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -ES" (set ADVPATCH=-VP -NP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -ES -NP" (set ADVPATCH=-VP -FS -ES -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -NP -ES" (set ADVPATCH=-VP -FS -NP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -FS -NP" (set ADVPATCH=-VP -ES -FS -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -NP -FS" (set ADVPATCH=-VP -ES -NP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -FS -ES" (set ADVPATCH=-VP -NP -FS -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -ES -FS" (set ADVPATCH=-VP -NP -ES -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -ES -VP" (set ADVPATCH=-NP -FS -ES -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -VP -ES" (set ADVPATCH=-NP -FS -VP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -FS -VP" (set ADVPATCH=-NP -ES -FS -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -VP -FS" (set ADVPATCH=-NP -ES -VP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -FS -ES" (set ADVPATCH=-NP -VP -FS -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -ES -FS" (set ADVPATCH=-NP -VP -ES -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -NP -VP" (set ADVPATCH=-ES -FS -NP -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -VP -NP" (set ADVPATCH=-ES -FS -VP -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -FS -VP" (set ADVPATCH=-ES -NP -FS -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -VP -FS" (set ADVPATCH=-ES -NP -VP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -NP -FS" (set ADVPATCH=-ES -VP -NP -FS) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -FS -NP" (set ADVPATCH=-ES -VP -FS -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -NP -VP" (set ADVPATCH=-FS -ES -NP -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -VP -NP" (set ADVPATCH=-FS -ES -VP -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -ES -VP" (set ADVPATCH=-FS -NP -ES -VP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -VP -ES" (set ADVPATCH=-FS -NP -VP -ES) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -ES -NP" (set ADVPATCH=-FS -VP -ES -NP) & (goto:modifySlot)
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -NP -ES" (set ADVPATCH=-FS -VP -NP -ES) & (goto:modifySlot)
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyIOSwad
|
|
|
|
|
|
:modifySlot
|
|
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify IOS WAD: Patches, [%cyantext%]Slot[def], Version, Confirmation
|
|
echo.
|
|
support\sfk.exe echo Input: [%bluetext%]"%cmdinput%"
|
|
echo Note : Changes will be applied to a copy of the original WAD
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Change IOS Slot
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%yellowtext%]Warning:[def] Be careful what IOS slot you choose, if it overwrites a crucial IOS it can cause brick!
|
|
echo.
|
|
echo If you would like to change the IOS slot enter it now (must be between 3-254).
|
|
echo.
|
|
echo To leave the IOS slot unchanged (%iosslot%), leave the selection blank and press Enter.
|
|
echo.
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set WADios="
|
|
set /p WADios=Enter Selection Here:
|
|
|
|
set "WADios=%WADios:"=%"
|
|
|
|
if "%WADios%"=="" (set WADios=?) & (goto:modifyVersion)
|
|
|
|
if /i "%WADios%" EQU "B" goto:modifyIOSwad
|
|
if /i "%WADios%" EQU "E" exit
|
|
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%WADios%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%WADios%") do set "WADios=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%WADios%"=="" set "WADios=0"
|
|
|
|
|
|
|
|
::IOS 3-254 check
|
|
|
|
::limit user input to X# of digits
|
|
if not "%WADios:~3%"=="" goto:badkey
|
|
if %WADios% LSS 3 goto:badkey
|
|
if %WADios% GTR 254 goto:badkey
|
|
|
|
if "%WadStub%"=="" goto:modifyVersion
|
|
|
|
::STUBS!
|
|
if %WADios% NEQ 80 if %WADios% NEQ 70 if %WADios% NEQ 60 if %WADios% NEQ 52 if %WADios% NEQ 50 if %WADios% NEQ 40 if %WADios% NEQ 30 if %WADios% NEQ 20 if %WADios% NEQ 11 if %WADios% NEQ 10 if %WADios% NEQ 9 if %WADios% NEQ 4 goto:modifyVersion
|
|
|
|
if /i "%debug%" NEQ "on" goto:badkeystub
|
|
|
|
:StubConfirm
|
|
echo.
|
|
echo Warning! Are you sure you want to change the slot of a stubbed IOS to %WADios%? (Y/N):
|
|
set StubConfirm="
|
|
set /p StubConfirm=Enter Selection Here:
|
|
set "StubConfirm=%StubConfirm:"=%"
|
|
if /i "%StubConfirm%" EQU "Y" goto:modifyVersion
|
|
if /i "%StubConfirm%" EQU "N" goto:modifySlot
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:StubConfirm
|
|
|
|
|
|
:badkeystub
|
|
echo For your safety I refuse change the slot of a stubbed IOS to %WADios%
|
|
::ref: debug mode serves as a discreet reminder this can be bypassed by enabling debug mode
|
|
echo (ref: debug mode)
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
goto:modifySlot
|
|
|
|
:badkey
|
|
echo IOS must be between 3-254, try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifySlot
|
|
|
|
|
|
|
|
|
|
:modifyVersion
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify IOS WAD: Patches, Slot, [%cyantext%]Version[def], Confirmation
|
|
echo.
|
|
support\sfk.exe echo Input: [%bluetext%]"%cmdinput%"
|
|
echo Note : Changes will be applied to a copy of the original WAD
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Change Version Number
|
|
echo.
|
|
echo If you would like to change the Version number enter it now (must be between 0-65535).
|
|
echo.
|
|
echo To leave the Version number unchanged (%iosversion%), leave the selection blank and press Enter.
|
|
echo.
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
|
|
set ADVVERSION="
|
|
set /p ADVVERSION=Enter Selection Here:
|
|
set "ADVVERSION=%ADVVERSION:"=%"
|
|
|
|
if "%ADVVERSION%"=="" (set ADVVERSION=?) & (goto:IOSwadConfirm)
|
|
if /i "%ADVVERSION%" EQU "B" goto:modifySlot
|
|
if /i "%ADVVERSION%" EQU "E" exit
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%ADVVERSION%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%ADVVERSION%") do set "ADVVERSION=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%ADVVERSION%"=="" set "ADVVERSION=0"
|
|
|
|
|
|
::IOS 0-65535 check
|
|
|
|
::limit user input to X# of digits
|
|
if not "%ADVVERSION:~5%"=="" goto:badkey
|
|
if %ADVVERSION% LSS 0 goto:badkey
|
|
if %ADVVERSION% GTR 65535 goto:badkey
|
|
|
|
goto:IOSwadConfirm
|
|
|
|
:badkey
|
|
echo Version must be between 0-65535, try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:modifyVersion
|
|
|
|
|
|
|
|
:IOSwadConfirm
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
support\sfk echo Modify IOS WAD: Patches, Slot, Version, [%cyantext%]Confirmation
|
|
echo.
|
|
support\sfk.exe echo Input : [%bluetext%]"%cmdinput%"
|
|
|
|
::check for changes...
|
|
if not "%ADVPATCH%"=="" goto:skip
|
|
If /i "%WADios%" NEQ "?" goto:skip
|
|
If /i "%ADVVERSION%" NEQ "?" goto:skip
|
|
::no changes
|
|
echo.
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]You have not selected any changes
|
|
echo.
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set ADVCONFIRM="
|
|
set /p ADVCONFIRM=Enter Selection Here:
|
|
set "ADVCONFIRM=%ADVCONFIRM:"=%"
|
|
if /i "%ADVCONFIRM%" EQU "B" goto:modifyVersion
|
|
if /i "%ADVCONFIRM%" EQU "E" exit
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:IOSwadConfirm
|
|
|
|
:skip
|
|
|
|
::get new name
|
|
set patchcode=
|
|
set patchname=
|
|
set SLOTCODE=
|
|
set SLOTNAME=
|
|
set versioncode=
|
|
set versionname=
|
|
|
|
if "%ADVPATCH%"=="" goto:skip
|
|
::add leading space for patchcode
|
|
set patchcode= %ADVPATCH%
|
|
::remove leading dash and space for patchname
|
|
echo [%ADVPATCH:~1%]>temp\temp.txt
|
|
support\sfk filter -quiet temp\temp.txt -rep _" "__ -write -yes
|
|
set /p patchname= <temp\temp.txt
|
|
del temp\temp.txt>nul
|
|
:skip
|
|
|
|
If /i "%WADios%" EQU "?" goto:skip
|
|
set SLOTCODE= -slot %WADios%
|
|
set SLOTNAME=-slot%WADios%
|
|
:skip
|
|
|
|
If /i "%ADVVERSION%" EQU "?" goto:skip
|
|
set versioncode= -v %ADVVERSION%
|
|
set versionname=-[v%ADVVERSION%]
|
|
:skip
|
|
|
|
set "WADcopy=%cmdinput:~0,-4%%patchname%%SLOTNAME%%versionname%.wad"
|
|
|
|
support\sfk.exe echo Output: [%bluetext%]"%cmdinput:~0,-4%[%redtext%]%patchname%%SLOTNAME%%versionname%[%bluetext%].wad"
|
|
echo.
|
|
|
|
::set "WADinfo=%cmdinput%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Confirmation
|
|
echo.
|
|
echo Proceed with the changes highlighted in %redtext% above?
|
|
echo.
|
|
echo Y = Yes, save a copy, apply changes, and exit
|
|
echo B = Back
|
|
echo E = Exit
|
|
echo.
|
|
set ADVCONFIRM="
|
|
|
|
setlocal ENABLEDELAYEDEXPANSION
|
|
set /p ADVCONFIRM=Enter Selection Here:
|
|
set "ADVCONFIRM=%ADVCONFIRM:"=%"
|
|
|
|
if /i "%ADVCONFIRM%" EQU "B" goto:modifyVersion
|
|
if /i "%ADVCONFIRM%" EQU "E" exit
|
|
if /i "%ADVCONFIRM%" NEQ "Y" goto:badkey
|
|
|
|
::save copy and apply change
|
|
|
|
::copy /y "%cmdinput%" "%WADcopy%">nul
|
|
::cd support
|
|
::patchios "%WADcopy%"%PATCHCODE%%slotcode%%versioncode%
|
|
::cd..
|
|
|
|
::::fakesign!
|
|
::%WiiPy% fakesign "%WADcopy%">nul
|
|
|
|
|
|
|
|
::convert %SLOTCODE% from legacy patchios format " -slot ###" to " -s ###" for wiipy
|
|
if not "%SLOTCODE%"=="" set "SLOTCODE= -s %SLOTCODE:~7%"
|
|
|
|
::convert %PATCHCODE% from legacy patchios format to wiipy format
|
|
if "%PATCHCODE%"=="" goto:tinyskip
|
|
echo %PATCHCODE%>temp\patchcode.txt
|
|
support\sfk filter -quiet "temp\patchcode.txt" -rep _-FS_-fs_ -rep _-ES_-ei_ -rep _-NP_-na_ -rep _-VP_-vd_ -write -yes
|
|
set /p PATCHCODE= <temp\patchcode.txt
|
|
:tinyskip
|
|
|
|
%WiiPy% iospatch%PATCHCODE%%slotcode%%versioncode% -o "%WADcopy%" "%cmdinput%"
|
|
if /i "%errorlevel%" EQU "0" goto:skip
|
|
echo.
|
|
::echo Something went wrong, were all the patches already applied?
|
|
echo Exiting...
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
:skip
|
|
|
|
|
|
if "%PATCHCODE%"=="" goto:tinyskip
|
|
echo.
|
|
echo Double checking applied patches...
|
|
::check if patches applied successfully
|
|
set "WadInput=%WADcopy%"
|
|
call "Support\subscripts\CollectWadInfo.bat"
|
|
|
|
set "patchname=["
|
|
if /i "%FSpatch%" EQU "Y" set "patchname=%patchname%FS"
|
|
if /i "%ESpatch%" EQU "Y" set "patchname=%patchname%-ES"
|
|
if /i "%NPpatch%" EQU "Y" set "patchname=%patchname%-NP"
|
|
if /i "%VPpatch%" EQU "Y" set "patchname=%patchname%-VP"
|
|
if /i "%patchname:~0,2%" EQU "[-" set "patchname=[%patchname:~2%"
|
|
set "patchname=%patchname%]"
|
|
if /i "%patchname%" EQU "[]" set patchname=
|
|
|
|
if /i "%WADcopy%" EQU "%cmdinput:~0,-4%%patchname%%SLOTNAME%%versionname%.wad" echo Everything looks good!
|
|
if /i "%WADcopy%" EQU "%cmdinput:~0,-4%%patchname%%SLOTNAME%%versionname%.wad" goto:tinyskip
|
|
echo Renaming file to align with applied patches as follows:
|
|
support\sfk.exe echo [%bluetext%]"%cmdinput:~0,-4%[%redtext%]%patchname%[%bluetext%]%SLOTNAME%%versionname%.wad"
|
|
echo.
|
|
move /y "%WADcopy%" "%cmdinput:~0,-4%%patchname%%SLOTNAME%%versionname%.wad">nul
|
|
|
|
:tinyskip
|
|
|
|
echo Exiting...
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:IOSwadConfirm
|
|
|
|
:notwad
|
|
|
|
|
|
|
|
::----------mym2csm converter---------------
|
|
if /i "%cmdinput:~-4%" NEQ ".mym" goto:notmym2csm
|
|
if not exist "%cmdinput%" goto:notmym2csm
|
|
if exist "%cmdinput%\" goto:notmym2csm
|
|
:mym2csm
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Theme Builder
|
|
echo.
|
|
if /i "%droptype%" EQU "folder" echo Folder of mym themes loaded: "%cmdinput%"
|
|
if /i "%droptype%" NEQ "folder" echo Loaded theme: "%cmdinput%"
|
|
echo.
|
|
echo Enter the System Menu version you would like to create a csm theme for
|
|
echo For vWii (WiiU) enter "v" followed by your region letter (UEJ)
|
|
echo For Wii Mini enter "m" followed by your region letter (UE)
|
|
echo.
|
|
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Installing themes for the wrong System Menu version can cause brick, make sure you have Priiloader ^& a nand backup.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Use the ModMii Wizard or SysCheck Updater Wizard for brick protection before applying themes!
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]If using vWii (WiiU) DO NOT use MyMenuifyMod, instead USE csm-installer!
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]vWii and Mini themes are experimental and not every MYM will work properly with vWii and Mini
|
|
|
|
echo.
|
|
echo Install themes for YOUR System Menu version using csm-installer from ModMii's Download Page 3.
|
|
echo More themes available at wiithemer.org and wii.hacks.guide/themes
|
|
echo.
|
|
echo Note: to check your System Menu version, turn on your Wii, click the Wii button in the
|
|
echo bottom left of the main system menu, click Wii Settings, then you should see the
|
|
echo System Menu version in the top right of the screen (ie. 4.2U, 4.1J, 3.2E, etc.)
|
|
echo.
|
|
echo Wii Options: 4.1-4.3 UEJK vWii Options: vU vE vJ Wii Mini Options: mU mE
|
|
echo.
|
|
echo Wii Examples: 4.3U vWii Examples: vU Wii Mini Examples: mU
|
|
echo 4.2E vE mE
|
|
echo 4.1K, etc. vJ
|
|
echo.
|
|
echo Or enter "Help" for an instructional video on checking your System Menu Version.
|
|
echo.
|
|
set mym2csm="
|
|
set /p mym2csm=Enter Selection Here:
|
|
set "mym2csm=%mym2csm:"=%"
|
|
|
|
If /i "%mym2csm%" EQU "4.1J" (set appfile=78) & (set A78=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.1K" (set appfile=81) & (set A81=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.1U" (set appfile=7b) & (set A7b=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.1E" (set appfile=7e) & (set A7e=*) & (goto:mym2csm2)
|
|
|
|
If /i "%mym2csm%" EQU "4.2J" (set appfile=84) & (set A84=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.2U" (set appfile=87) & (set A87=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.2E" (set appfile=8a) & (set A8a=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.2K" (set appfile=8d) & (set A8d=*) & (goto:mym2csm2)
|
|
|
|
If /i "%mym2csm%" EQU "4.3J" (set appfile=94) & (set A94=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.3U" (set appfile=97) & (set A97=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.3E" (set appfile=9a) & (set A9a=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "4.3K" (set appfile=9d) & (set A9d=*) & (goto:mym2csm2)
|
|
|
|
If /i "%mym2csm%" EQU "vJ" (set appfile=1c) & (set A1c=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "vU" (set appfile=1f) & (set A1f=*) & (goto:mym2csm2)
|
|
If /i "%mym2csm%" EQU "vE" (set appfile=22) & (set A22=*) & (goto:mym2csm2)
|
|
|
|
If /i "%mym2csm%" EQU "mU" (set wadname=00000001_4.3U_Wii_Mini.app) & (set md5=80d6b23797c8959aea2872f01befc744) & (goto:checkapp)
|
|
If /i "%mym2csm%" EQU "mE" (set wadname=00000001_4.3E_Wii_Mini.app) & (set md5=6288582ee122e9b2443fe178e72cd0ef) & (goto:checkapp)
|
|
|
|
if /i "%mym2csm%" EQU "help" (start https://www.youtube.com/embed/1Z2MtFcllTY) & (goto:mym2csm)
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:mym2csm
|
|
|
|
|
|
:checkapp
|
|
|
|
::check md5 if exists already
|
|
if not exist "temp\%wadname%" goto:skip
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if not errorlevel 1 goto:mym2csm2
|
|
::if not errorlevel 1 (echo %wadname% for constructing %mym2csm% themes found and verified, continuing...) & (echo.) & (goto:mym2csm2)
|
|
|
|
del "temp\%wadname%">nul
|
|
::support\sfk.exe echo [%redtext%]%wadname% already exists but failed MD5 verification...
|
|
::@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
:skip
|
|
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Theme Builder
|
|
echo.
|
|
if /i "%droptype%" EQU "folder" echo Folder of mym themes loaded: "%cmdinput%"
|
|
if /i "%droptype%" NEQ "folder" echo Loaded theme: "%cmdinput%"
|
|
echo.
|
|
echo The file required to build this Wii Mini theme is not available online so you must provide it yourself.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" If /i "%mym2csm%" EQU "mU" support\sfk.exe echo [%bluetext%]To build your theme drag the 00000001.app file from the 4.3U Wii Mini System Menu (v4609), or a WAD of the System Menu itself, onto this window and press enter
|
|
if /i "%adminmode%" EQU "N" If /i "%mym2csm%" EQU "mE" support\sfk.exe echo [%bluetext%]To build your theme drag the 00000001.app file from the 4.3E Wii Mini System Menu (v4610), or a WAD of the System Menu itself, onto this window and press enter
|
|
|
|
if /i "%adminmode%" EQU "Y" If /i "%mym2csm%" EQU "mU" support\sfk.exe echo [%bluetext%]To build your theme enter the path to the 00000001.app file from the 4.3U Wii Mini System Menu (v4609), or a WAD of the System Menu itself
|
|
if /i "%adminmode%" EQU "Y" If /i "%mym2csm%" EQU "mE" support\sfk.exe echo [%bluetext%]To build your theme enter the path to the 00000001.app file from the 4.3E Wii Mini System Menu (v4610), or a WAD of the System Menu itself
|
|
|
|
|
|
echo.
|
|
|
|
set MiniApp="
|
|
set /p MiniApp=Enter Selection Here:
|
|
set "MiniApp=%MiniApp:"=%"
|
|
|
|
::echo MiniApp "%MiniApp%"
|
|
|
|
if "%MiniApp%"=="" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:checkapp)
|
|
if not exist "%MiniApp%" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:checkapp)
|
|
|
|
If /i "%MiniApp:~-4%" NEQ ".wad" goto:skip
|
|
::unpack wad and check
|
|
if exist "temp\MiniTemp\" rd /s /q "temp\MiniTemp\"> nul
|
|
mkdir "temp\MiniTemp"
|
|
%WiiPy% wad unpack --skip-hash "%MiniApp%" "temp\MiniTemp">nul
|
|
if not exist "temp\MiniTemp\00000001.app" (echo Something went wrong, try again with a different file...) & (@ping 127.0.0.1 -n 2 -w 1000> nul)
|
|
if exist "temp\MiniTemp\00000001.app" move /y "temp\MiniTemp\00000001.app" "temp\%wadname%">nul
|
|
if exist "temp\MiniTemp\" rd /s /q "temp\MiniTemp\"> nul
|
|
goto:checkapp
|
|
:skip
|
|
|
|
If /i "%MiniApp:~-4%" NEQ ".app" goto:skip
|
|
copy /y "%MiniApp%" "temp\%wadname%">nul
|
|
goto:checkapp
|
|
:skip
|
|
|
|
echo This isn't an APP or a WAD file, try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:checkapp
|
|
|
|
|
|
|
|
:mym2csm2
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Theme Builder
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Installing themes for the wrong System Menu version can cause brick, make sure you have Priiloader ^& a nand backup.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Use the ModMii Wizard or SysCheck Updater Wizard for brick protection before applying themes!
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]If using vWii (WiiU) DO NOT use MyMenuifyMod, instead USE csm-installer!
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]vWii and Mini themes are experimental and not every MYM will work properly with vWii and Mini
|
|
echo.
|
|
echo Install themes for YOUR System Menu version using csm-installer from ModMii's Download Page 3.
|
|
echo More themes available at wiithemer.org and wii.hacks.guide/themes
|
|
echo.
|
|
|
|
|
|
call Support\subscripts\dependency.bat themewii
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
|
|
::skip this part for Wii Mini
|
|
If /i "%mym2csm:~0,1%" EQU "m" (set mym2csm=%wadname:~9,-4%) & (goto:gotbase)
|
|
|
|
set loadorgo=load4mym2csm
|
|
If /i "%mym2csm:~0,1%" EQU "v" set CurrentDLNAME=A%appfile%
|
|
If /i "%mym2csm:~0,1%" NEQ "v" set CurrentDLNAME=NUSGRABBER%appfile%
|
|
call "Support\subscripts\DB.bat"
|
|
:load4mym2csm
|
|
|
|
::make sure caps, cuz OCD (i.e. 4.3u turns into 4.3U)
|
|
set "mym2csm=%wadname:~9,-4%"
|
|
set "dlname=%wadname:~0,8%.app"
|
|
|
|
::echo cmdinput: "%cmdinput%"
|
|
::echo dlname: "%dlname%"
|
|
::echo mym2csm: %mym2csm%
|
|
::echo name: %name%
|
|
::echo wadname: %wadname%
|
|
::echo code1: %code1%
|
|
::echo code2: %code2%
|
|
::echo version: %version%
|
|
::echo md5: %md5%
|
|
|
|
::check md5 if exists already
|
|
if not exist "temp\%wadname%" goto:skip
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if not errorlevel 1 (echo %wadname% for constructing %mym2csm% themes already downloaded and verified, continuing...) & (echo.) & (goto:gotbase)
|
|
support\sfk.exe echo [%redtext%]%wadname% already exists but failed MD5 verification, redownloading...
|
|
del "temp\%wadname%">nul
|
|
:skip
|
|
|
|
|
|
|
|
|
|
echo Downloading %wadname% for constructing %mym2csm% themes ...
|
|
echo.
|
|
|
|
|
|
%WiiPy% nus content -v %version% -o "temp\%dlname%" -d %code1%%code2% %dlname:~0,8%
|
|
|
|
if /i "%code1%%code2%" NEQ "0000000700000002" goto:skip
|
|
|
|
echo.
|
|
echo Fixing vWii aspect ratio for Everybody Votes and Check Mii Out channels...
|
|
%WiiPy% u8 unpack "temp\%dlname%" "temp\%dlname:~0,-4%"
|
|
|
|
::fixes aspect ratio on vWii for Everybody Votes and Check Mii Out channels
|
|
::use partcopy and partcopy +append to remove 8 bytes from 0x10-0x17 [48 41 4A 00 48 41 50 00], and also change 0x82 to 0x80 at offset 0xB
|
|
support\sfk partcopy "temp\%dlname:~0,-4%\titlelist\wwdb.bin" -fromto 0x0 0x10 "temp\wwdb.bin" -yes +sfk partcopy "temp\%dlname:~0,-4%\titlelist\wwdb.bin" -allfrom 0x18 "temp\wwdb.bin" -yes -append>nul
|
|
support\sfk setbytes "temp\wwdb.bin" 0xB 0x80 -yes>nul
|
|
if exist "temp\wwdb.bin" move /y "temp\wwdb.bin" "temp\%dlname:~0,-4%\titlelist\wwdb.bin">nul
|
|
%WiiPy% u8 pack "temp\%dlname:~0,-4%" "temp\%dlname%"
|
|
if exist "temp\%dlname:~0,-4%" rd /s /q "temp\%dlname:~0,-4%"
|
|
|
|
|
|
:skip
|
|
|
|
|
|
|
|
echo.
|
|
|
|
if not exist "temp\%dlname%" (support\sfk.exe echo [%redtext%]Failed to download %wadname%, exiting...) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
move /Y "temp\%dlname%" "temp\%wadname%">nul
|
|
|
|
|
|
|
|
::check md5
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if errorlevel 1 (support\sfk.exe echo [%redtext%]%wadname% failed MD5 verification, exiting...) & (del "temp\%wadname%">nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
|
|
|
|
|
|
:gotbase
|
|
::base app verified
|
|
|
|
|
|
if /i "%droptype%" EQU "folder" goto:mymfolder
|
|
|
|
set "outputcsm=%cmdinput:~0,-4%-%mym2csm%.csm"
|
|
set "inputmym=%cmdinput%"
|
|
|
|
::pass, get folder to open when any key is pressed
|
|
::get mymfile and mympath names, i.e. get filename and get folder full path not including filename
|
|
:mymgetfolder
|
|
set "mymfile=%cmdinput:*\=%"
|
|
set "mympath=%cmdinput%"
|
|
:stripmymfile
|
|
set "mymfile=%mymfile:*\=%"
|
|
echo "%mymfile%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripmymfile
|
|
|
|
echo set "mympath=%%mympath:%mymfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
|
|
|
|
set "mympath=%cmdinput%"
|
|
echo set "mympathback=%%mympath:\%mymfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
::echo mymfile: "%mymfile%"
|
|
::echo mympath: "%mympath%"
|
|
::echo mympathback: "%mympathback%"
|
|
|
|
support\sfk.exe echo Building [%cyantext%]"%outputcsm%"...
|
|
echo.
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "%inputmym%" "..\%wadname%" "%outputcsm%"
|
|
cd ..\..
|
|
echo.
|
|
::%WiiPy% theme mym "%inputmym%" "temp\%wadname%" "%outputcsm%"
|
|
::if /i "%errorlevel%" NEQ "0" if exist "%outputcsm%" del "%outputcsm%">nul
|
|
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if exist "%outputcsm%" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
if not exist "%outputcsm%" (echo Something went wrong, press any key to exit...) & (pause>nul) & (exit)
|
|
|
|
:mymfinish
|
|
|
|
support\sfk.exe echo [%greentext%]CSM created successfully!
|
|
echo.
|
|
|
|
if /i "%adminmode%" EQU "N" support\sfk.exe echo [%bluetext%]If this theme needs more MYMs to complete, drag the next MYM here and press enter
|
|
if /i "%adminmode%" EQU "Y" support\sfk.exe echo [%bluetext%]If this theme needs more MYMs to complete, enter the path of the next MYM and press enter
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
echo (To exit you can close this window or leave selection blank and press enter)
|
|
echo.
|
|
|
|
|
|
|
|
set multimym="
|
|
set /p multimym=Enter Selection Here:
|
|
set "multimym=%multimym:"=%"
|
|
|
|
::echo multimym "%multimym%"
|
|
::echo mympath "%mympath%"
|
|
|
|
if "%multimym%"=="" exit
|
|
|
|
If /i "%multimym%" EQU "O" (explorer "%mympath%") & (exit)
|
|
|
|
if not exist "%multimym%" (echo Something went wrong, press any key to exit...) & (pause>nul) & (exit)
|
|
|
|
If /i "%multimym:~-4%" NEQ ".mym" (echo That isn't a mym file, exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
|
|
::apply second mym
|
|
echo.
|
|
support\sfk.exe echo Applying [%cyantext%]"%multimym%"...
|
|
echo.
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "%multimym%" "%outputcsm%" "%outputcsm%"
|
|
cd ..\..
|
|
echo.
|
|
::%WiiPy% theme mym "%multimym%" "%outputcsm%" "%outputcsm%"
|
|
::if /i "%errorlevel%" NEQ "0" if exist "%outputcsm%" del "%outputcsm%">nul
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if exist "%outputcsm%" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
if not exist "%outputcsm%" (echo Something went wrong, press any key to exit...) & (pause>nul) & (exit)
|
|
set multimym=?
|
|
goto:mymfinish
|
|
|
|
:notmym2csm
|
|
::--------------------------------
|
|
|
|
|
|
|
|
::----------csm2csm converter---------------
|
|
if /i "%cmdinput:~-4%" NEQ ".csm" goto:notcsm2csm
|
|
if not exist "%cmdinput%" goto:notcsm2csm
|
|
if exist "%cmdinput%\" goto:notcsm2csm
|
|
:csm2csm
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Theme Builder
|
|
echo.
|
|
if /i "%droptype%" EQU "folder" echo Folder of csm themes loaded: "%cmdinput%"
|
|
if /i "%droptype%" NEQ "folder" echo Loaded theme: "%cmdinput%"
|
|
echo.
|
|
support\sfk echo [%bluetext%]If the csm doesn't match your System Menu version, convert it to mym with ThemeMii Mod from ModMii's Download Page 5.
|
|
echo.
|
|
echo Some themes may come with additional\optional myms to apply different effects (e.g. spinning channel effect)
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" support\sfk echo [%bluetext%]To apply an additional mym to the loaded theme(s), drag it here and press enter
|
|
if /i "%adminmode%" EQU "Y" support\sfk echo [%bluetext%]To apply an additional mym to the loaded theme(s), enter its path now
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Installing themes for the wrong System Menu version can cause brick, make sure you have Priiloader ^& a nand backup.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]If using vWii (WiiU) DO NOT use MyMenuifyMod, instead USE csm-installer!
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Use the ModMii Wizard or SysCheck Updater Wizard for brick protection before applying themes!
|
|
echo.
|
|
echo Install themes for YOUR System Menu version using csm-installer from ModMii's Download Page 3.
|
|
echo More themes available at wiithemer.org and wii.hacks.guide/themes
|
|
echo.
|
|
|
|
|
|
set multimym="
|
|
set /p multimym= Enter mym here:
|
|
set "multimym=%multimym:"=%"
|
|
|
|
if "%multimym%"=="" goto:badkey
|
|
|
|
::echo multimym "%multimym%"
|
|
::echo mympath "%mympath%"
|
|
|
|
if "%multimym%"=="" goto:badkey
|
|
if not exist "%multimym%" goto:badkey
|
|
If /i "%multimym:~-4%" NEQ ".mym" goto:badkey
|
|
|
|
call Support\subscripts\dependency.bat themewii
|
|
if /i "%dependency%" EQU "F" (echo Exiting...) & (@ping 127.0.0.1 -n 3 -w 1000> nul) & (exit)
|
|
|
|
::apply second mym
|
|
|
|
if /i "%droptype%" EQU "folder" goto:csmfolder
|
|
|
|
echo.
|
|
support\sfk.exe echo Applying [%cyantext%]"%multimym%"...
|
|
echo.
|
|
|
|
|
|
|
|
move /y "%cmdinput%" "%cmdinput:~0,-4%_original.csm">nul
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "%multimym%" "%cmdinput:~0,-4%_original.csm" "%cmdinput%"
|
|
cd ..\..
|
|
echo.
|
|
::%WiiPy% theme mym "%multimym%" "%cmdinput:~0,-4%_original.csm" "%cmdinput%"
|
|
::if /i "%errorlevel%" NEQ "0" if exist "%cmdinput%" del "%cmdinput%">nul
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if exist "%cmdinput%" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
if not exist "%cmdinput%" (echo Something went wrong, press any key to exit...) & (pause>nul) & (exit)
|
|
|
|
::success
|
|
set multimym=?
|
|
set "outputcsm=%cmdinput%"
|
|
goto:csmgetfolder
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:csm2csm
|
|
|
|
|
|
|
|
|
|
|
|
::pass, get folder to open when any key is pressed
|
|
::get mymfile and mympath names, i.e. get filename and get folder full path not including filename
|
|
:csmgetfolder
|
|
set "mymfile=%cmdinput:*\=%"
|
|
set "mympath=%cmdinput%"
|
|
:stripmymfile2
|
|
set "mymfile=%mymfile:*\=%"
|
|
echo "%mymfile%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripmymfile2
|
|
|
|
echo set "mympath=%%mympath:%mymfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
set "mympath=%cmdinput%"
|
|
echo set "mympathback=%%mympath:\%mymfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
::echo mymfile: "%mymfile%"
|
|
::echo mympath: "%mympath%"
|
|
::echo mympathback: "%mympathback%"
|
|
|
|
|
|
goto:mymfinish
|
|
|
|
|
|
:notcsm2csm
|
|
::--------------------------------
|
|
|
|
|
|
|
|
|
|
::drag and drop for file cleanup and app updater, and other dropped items not piped already
|
|
:fixitnow
|
|
set fixslash=
|
|
if /i "%cmdinput:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%cmdinput:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "cmdinput=%cmdinput:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:fixitnow
|
|
|
|
if not exist "%cmdinput%\apps\" if not exist "%cmdinput%\wiiu\" if not exist "%cmdinput%\*ModMii*.html" if not exist "%cmdinput%\00000001\" if not exist "%cmdinput%\00010001\" if not exist "%cmdinput%\00010002\" if not exist "%cmdinput%\00010008\" if not exist "%cmdinput%\bootmii\" if not exist "%cmdinput%\WAD\" if not exist "%cmdinput%\private\wii\" goto:Nothing2CleanCMD
|
|
|
|
set "DRIVEtemp=%cmdinput%"
|
|
set "REALDRIVE=%DRIVE%"
|
|
set "DRIVE=%cmdinput%"
|
|
set MENU1=FC
|
|
set cmdlinemodeswitchoff=Y
|
|
goto:go
|
|
:Nothing2CleanCMD
|
|
|
|
|
|
if /i "%cmdinput:~-5%" EQU ".wbfs" goto:gameimage
|
|
if /i "%cmdinput:~-5%" EQU ".ciso" goto:gameimage
|
|
::if /i "%cmdinput:~-8%" EQU "nkit.iso" goto:tinyskip
|
|
if /i "%cmdinput:~-4%" EQU ".iso" goto:gameimage
|
|
:tinyskip
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::----------wiiload drag and drop---------------
|
|
|
|
if not exist "%cmdinput%" goto:notWiiload
|
|
set WiiLoadU=
|
|
if exist "%cmdinput%\boot.elf" set "cmdinput=%cmdinput%\boot.elf"
|
|
if exist "%cmdinput%\boot.dol" set "cmdinput=%cmdinput%\boot.dol"
|
|
if /i "%cmdinput:~-4%" EQU ".elf" goto:WiiloadDragged
|
|
if /i "%cmdinput:~-4%" EQU ".dol" goto:WiiloadDragged
|
|
if /i "%cmdinput:~-5%" EQU ".wuhb" (set WiiLoadU=Y) & (goto:WiiloadDragged)
|
|
if /i "%cmdinput:~-4%" EQU ".rpx" (set WiiLoadU=Y) & (goto:WiiloadDragged)
|
|
if /i "%cmdinput:~-4%" EQU ".wps" (set WiiLoadU=Y) & (goto:WiiloadDragged)
|
|
goto:notWiiload
|
|
::support\sfk echo [%redtext%]ModMii v%currentversion%
|
|
|
|
:WiiloadDragged
|
|
|
|
set GetFileSize=1
|
|
|
|
::pass, get folder to open when any key is pressed
|
|
::get binary and mympath names, i.e. get filename and get folder full path not including filename
|
|
|
|
set "binary=%cmdinput:*\=%"
|
|
set "binarypath=%cmdinput%"
|
|
:stripbinary
|
|
set "binary=%binary:*\=%"
|
|
echo "%binary%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripbinary
|
|
echo set "binarypath=%%binarypath:%binary%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
set "binarypath=%binarypath:~0,-1%"
|
|
|
|
::echo binary: "%binary%"
|
|
::echo binarypath: "%binarypath%"
|
|
|
|
if /i "%WiiLoadU%" EQU "Y" goto:nometa
|
|
if not exist "%binarypath%\meta.xml" goto:nometa
|
|
|
|
::below fixes meta's that have 00 bytes and may make the OHBC 1.1.4 or ModMii crash upon inspecting the meta
|
|
support\sfk replace "%binarypath%\meta.xml" -binary /00// -yes>nul
|
|
|
|
::remove comments from a copy of the meta
|
|
copy /y "%binarypath%\meta.xml" "temp\temp.xml">nul
|
|
|
|
support\sfk filter temp\temp.xml -rep _"<!--*-->"__ -write -yes>nul
|
|
support\sfk filter temp\temp.xml -cut "<!--" to "-->" -cut "<disabled_arguments>" to "</disabled_arguments>" -write -yes>nul
|
|
|
|
::get metaname
|
|
support\sfk filter temp\temp.xml -nocheck -inc "<name>" to "</name>" -and+"<name>" -rep _*"<name>"_" "_ -rep _"</name>"*__ -join>"temp\temp.txt"
|
|
set MetaName=
|
|
set /p MetaName= <"temp\temp.txt"
|
|
|
|
::echo "%AppName%"
|
|
|
|
|
|
set wiiloadArg=
|
|
findStr /I "<ahb_access/>" "temp\temp.xml" >nul
|
|
IF NOT ERRORLEVEL 1 set "wiiloadArg= ahb_access"
|
|
|
|
findStr /I "<ahb_access />" "temp\temp.xml" >nul
|
|
IF NOT ERRORLEVEL 1 set "wiiloadArg= ahb_access"
|
|
|
|
findStr /I "<no_ios_reload/>" "temp\temp.xml" >nul
|
|
IF NOT ERRORLEVEL 1 set "wiiloadArg=%wiiloadArg% no_ios_reload"
|
|
|
|
support\sfk filter temp\temp.xml -nocheck -inc "<arg>" to "</arg>" -and+"<arg>" -rep _*"<arg>"_" "_ -rep _"</arg>"*__ -join>"temp\temp.txt"
|
|
|
|
set MoreWiiloadArgs=
|
|
set /p MoreWiiloadArgs= <"temp\temp.txt"
|
|
if "%MoreWiiloadArgs%"=="" goto:nometa
|
|
set "wiiloadArg=%wiiloadArg%%MoreWiiloadArgs%"
|
|
:nometa
|
|
|
|
set WiiIP=
|
|
if exist temp\WiiIP.txt set /p WiiIP= <temp\WiiIP.txt
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% App Launcher
|
|
echo.
|
|
if /i "%WiiLoadU%" EQU "Y" goto:skip
|
|
|
|
if not "%MetaName%"=="" support\sfk echo Launching [%bluetext%]"%MetaName%"
|
|
if not "%MetaName%"=="" echo.
|
|
echo Start the Homebrew Channel before continuing and make sure both the console and this device are on the same network
|
|
echo.
|
|
if not "%WiiIP%"=="" support\sfk echo If [%bluetext%]%WiiIP%[def] is your Wii\vWii IP address, enter Y or leave the selection blank to launch the app
|
|
if not "%WiiIP%"=="" echo.
|
|
if not "%WiiIP%"=="" echo To update your Wii\vWii IP address and launch the app, enter the new address now; e.g 192.168.1.6
|
|
if "%WiiIP%"=="" support\sfk echo [%bluetext%]Enter your Wii\vWii IP Address and press enter to launch the loaded app; e.g 192.168.1.6
|
|
echo.
|
|
support\sfk -spat echo [%bluetext%]wiiload.exe \x22"%cmdinput%"\x22"%wiiloadArg%"
|
|
echo.
|
|
echo To check your Wii\vWii IP address press home while in the HBC, but remember to exit the Home Menu before
|
|
echo continuing. If you see 'Network Not Initialized' you must first connect the console to the internet.
|
|
echo.
|
|
|
|
echo Enter "Help" for an instructional video on checking your Wii\vWii IP Address.
|
|
echo.
|
|
echo Enter "+" to add a new argument, e.g. --skipIOS=0 for SysCheck to skip an IOS, just change 0 to the IOS to skip
|
|
if not "%wiiloadArg%"=="" echo Enter "-" to remove last argument
|
|
|
|
echo.
|
|
::disabled filesize check, validated on receiver
|
|
::if %GetFileSize% GTR 26214400 goto:skip
|
|
if /i "%cmdinput%" EQU "%homedrive%\boot.elf" goto:skip
|
|
if /i "%cmdinput%" EQU "%homedrive%\boot.dol" goto:skip
|
|
If /i "%binary%" EQU "boot.elf" (echo Enter "S" to wirelessly Save this app to devices connected to your Wii\vWii using ModMii's HBC Transfer Tool.) & (echo.)
|
|
If /i "%binary%" EQU "boot.dol" (echo Enter "S" to wirelessly Save this app to devices connected to your Wii\vWii using ModMii's HBC Transfer Tool.) & (echo.)
|
|
goto:skipWiiU
|
|
:skip
|
|
|
|
echo Make sure the Wiiload Plugin is enabled on your WiiU and that you are not in Wii mode.
|
|
echo - Access the Aroma plugin menu by pressing L + Down + SELECT (-) on the WiiU GamePad
|
|
echo - If you're missing the Wiiload Plugin you can download it from ModMii Classic's Download Page 5
|
|
echo - Also make sure both the console and this device are on the same internet network
|
|
echo.
|
|
if not "%WiiIP%"=="" support\sfk echo If [%bluetext%]%WiiIP%[def] is your WiiU IP address, enter Y or leave the selection blank to launch the app
|
|
if not "%WiiIP%"=="" echo.
|
|
if not "%WiiIP%"=="" echo To update your WiiU IP address and launch the app, enter the new address now; e.g 192.168.1.6
|
|
if "%WiiIP%"=="" support\sfk echo [%bluetext%]Enter your WiiU IP Address and press enter to launch the loaded app; e.g 192.168.1.6
|
|
echo.
|
|
support\sfk -spat echo [%bluetext%]wiiload.exe \x22"%cmdinput%"\x22"%wiiloadArg%"
|
|
echo.
|
|
echo To check your WiiU IP address open Aroma's plugin menu and launch the FTPiiU Plugin (see ModMii's Download Page 5),
|
|
echo or press the home button while in the Homebrew Channel if your vWii is also softmodded.
|
|
echo If you see 'Network Not Initialized' or a different error double check that the console is connected to the internet.
|
|
echo.
|
|
echo Enter "Help" for an instructional video on checking your vWii IP Address.
|
|
echo.
|
|
:skipWiiU
|
|
|
|
set WiiLoadPrompt="
|
|
if not "%WiiIP%"=="" set WiiLoadPrompt=Y
|
|
set /p WiiLoadPrompt=Enter Selection Here:
|
|
set WiiLoadPrompt=%WiiLoadPrompt:"=%
|
|
|
|
if "%WiiLoadPrompt%"=="" goto:badkey
|
|
if /i "%WiiLoadPrompt%" EQU "help" (start https://www.youtube.com/embed/JSyIDx35TVo) & (goto:nometa)
|
|
|
|
::disabled filesize check, validated on receiver
|
|
::if %GetFileSize% GTR 26214400 goto:nocheckSend
|
|
if /i "%WiiLoadU%" EQU "Y" goto:nocheckSend
|
|
if /i "%cmdinput%" EQU "%homedrive%\boot.elf" goto:nocheckSend
|
|
if /i "%cmdinput%" EQU "%homedrive%\boot.dol" goto:nocheckSend
|
|
If /i "%binary%" EQU "boot.elf" goto:checkSend
|
|
If /i "%binary%" NEQ "boot.dol" goto:nocheckSend
|
|
:checkSend
|
|
If /i "%WiiLoadPrompt%" NEQ "S" goto:nocheckSend
|
|
if exist "temp\HBC_Transfer_" rd /s /q "temp\HBC_Transfer_">nul
|
|
if not exist temp\HBC_Transfer_ mkdir temp\HBC_Transfer_
|
|
|
|
set binaryfolder=
|
|
echo "%binarypath%">temp\temp.txt
|
|
support\sfk filter -spat temp\temp.txt -lerep _\*__ -rep _*\__ -rep _\x22__ -write -yes>nul
|
|
set /p binaryfolder= <temp\temp.txt
|
|
::echo binaryfolder:"%binaryfolder%"
|
|
|
|
::disabled filesize check, validated on receiver
|
|
goto:not2big2
|
|
::check if over 25MB (I think limit is actually 20MB)
|
|
set GetFileSize=
|
|
support\sfk stat -sum "%binarypath%">"temp\tmp.txt"
|
|
support\sfk filter "temp\tmp.txt" -rep _" bytes*"__ -rep _"* "__ >temp\hexdump.txt
|
|
set /p GetFileSize= <temp\hexdump.txt
|
|
::set to 1 if nul in case check fails, but new sfk method shouldn't
|
|
if "%GetFileSize%"=="" set GetFileSize=1
|
|
::echo GetFileSize: %GetFileSize% bytes
|
|
if %GetFileSize% LEQ 26214400 goto:not2big2
|
|
support\sfk echo [%yellowtext%]"%binarypath%" is too large to send over the internet
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
goto:nometa
|
|
|
|
:not2big2
|
|
|
|
|
|
set "ModMiiDir=%cd%"
|
|
cd /d "%binarypath%"
|
|
cd..
|
|
"%ModMiiDir%\support\7za" a "%ModMiiDir%\temp\HBC_Transfer_\%binaryfolder%.zip" "%binaryfolder%">nul
|
|
cd /d "%ModMiiDir%"
|
|
set "cmdinput=%ModMiiDir%\temp\HBC_Transfer_\%binaryfolder%.zip"
|
|
|
|
goto:Wiiloadzip
|
|
|
|
|
|
:nocheckSend
|
|
|
|
if /i "%WiiLoadU%" EQU "Y" goto:noargs
|
|
|
|
if /i "%WiiLoadPrompt%" EQU "+" goto:AddArgument
|
|
|
|
::remove last arg
|
|
if "%wiiloadArg%"=="" goto:noargs
|
|
if /i "%WiiLoadPrompt%" NEQ "-" goto:noargs
|
|
|
|
:getlastarg
|
|
set "lastarg=%wiiloadArg:~1%"
|
|
set "lastarg=%lastarg:* =%"
|
|
::set "mympath=%wiiloadArg%"
|
|
:striplastarg
|
|
set "lastarg=%lastarg:* =%"
|
|
echo "%lastarg%">temp\temp.txt
|
|
findStr /C:" " temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:striplastarg
|
|
|
|
echo "%wiiloadArg%">temp\temp.txt
|
|
set "lastarg=%lastarg:_=\x5f%"
|
|
::echo %lastarg%
|
|
support\sfk filter -spat temp\temp.txt -lsrep _"\x22"__ -lerep _" %lastarg%\x22"__ -write -yes>nul
|
|
set /p wiiloadArg= <temp\temp.txt
|
|
|
|
set testarg=
|
|
set /p testarg= <temp\temp.txt
|
|
if "%testarg%"=="" set wiiloadArg=
|
|
goto:nometa
|
|
:noargs
|
|
|
|
if "%WiiIP%"=="" goto:skip
|
|
If /i "%WiiLoadPrompt%" EQU "Y" set "WiiLoadPrompt=%WiiIP%"
|
|
:skip
|
|
|
|
::check valid IP
|
|
powershell -nologo -noprofile -Command "[ipaddress]::TryParse('%WiiLoadPrompt%',[ref][ipaddress]::Loopback)" | findstr "False">NUL && goto:badkey
|
|
|
|
::check for 3 periods
|
|
set "string=%WiiLoadPrompt%"
|
|
set /a dotcount=0
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if defined string (set ^"strtmp=!string:.=^
|
|
%= empty string =%
|
|
!^") else set "strtmp="
|
|
for /F %%C in ('cmd /V /C echo(^^!strtmp^^!^| find /C /V ""') do set /A "dotcount=%%C-1"
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
::echo "!string!" contains %dotcount% periods.
|
|
if /i "%dotcount%" EQU "3" goto:pingme
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:nometa
|
|
|
|
|
|
:AddArgument
|
|
echo.
|
|
echo Include ONE space in-between arguments to add multiple arguments at the same time.
|
|
echo.
|
|
|
|
|
|
|
|
set AddArgument="
|
|
set /p AddArgument= Add argument(s):
|
|
set "AddArgument=%AddArgument:"=%"
|
|
|
|
::echo %AddArgument%
|
|
|
|
if "%AddArgument%"=="" goto:nometa
|
|
|
|
::check for insane argument with 2 spaces
|
|
echo "%AddArgument%"|findstr /I /C:" ">nul
|
|
IF NOT ERRORLEVEL 1 (echo Too many spaces in between arguments...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:nometa)
|
|
|
|
if /i "%AddArgument:~0,1%" EQU " " set "AddArgument=%AddArgument:~1%"
|
|
if /i "%AddArgument:~-1%" EQU " " set "AddArgument=%AddArgument:~0,-1%"
|
|
|
|
set "wiiloadArg=%wiiloadArg% %AddArgument%"
|
|
goto:nometa
|
|
|
|
|
|
:pingme
|
|
::check if Wii is reachable
|
|
::echo.
|
|
::echo Pinging Wii to see if reachable...
|
|
ping -n 1 "%WiiLoadPrompt%"|findstr /I /C:"ms">nul
|
|
IF NOT ERRORLEVEL 1 goto:Pinged
|
|
support\sfk echo [%yellowtext%]Unable to reach IP %WiiLoadPrompt%, check your settings and try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:nometa
|
|
|
|
|
|
:Pinged
|
|
cls
|
|
set "WiiIP=%WiiLoadPrompt%"
|
|
> "temp\WiiIP.txt" ECHO %WiiIP%
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% App Launcher
|
|
echo.
|
|
if not "%MetaName%"=="" support\sfk echo Launching app: [%bluetext%]"%MetaName%"
|
|
if "%MetaName%"=="" support\sfk echo Launching app: [%bluetext%]"%cmdinput%"
|
|
support\sfk echo To IP Address: [%bluetext%]"%WiiIP%"
|
|
echo.
|
|
|
|
if /i "%WiiLoadU%" NEQ "Y" echo If you have issues make sure you have the HBC open but that you are not inside its Home Menu,
|
|
if /i "%WiiLoadU%" EQU "Y" echo If you have issues make sure the Wiiload Plugin is enabled in Aroma and that you are not in Wii mode,
|
|
echo Double check the console's IP address and make sure both it and this device are on the same network.
|
|
if exist temp\wiiload.exe goto:skip
|
|
|
|
|
|
if exist index.html del index.html>nul
|
|
|
|
call Support\subscripts\dependency.bat wiiload
|
|
if /i "%dependency%" NEQ "F" goto:skip
|
|
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Fail.mp3%"
|
|
echo Unable to download wiiload, press any key to exit...
|
|
pause>nul
|
|
exit
|
|
|
|
:skip
|
|
set "WIILOAD=tcp:%WiiIP%"
|
|
echo.
|
|
support\sfk -spat echo Sending command: [%cyantext%]wiiload.exe \x22"%cmdinput%"\x22%wiiloadArg%
|
|
echo.
|
|
temp\wiiload.exe "%cmdinput%"%wiiloadArg%
|
|
echo.
|
|
echo exiting...
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
exit
|
|
|
|
:notWiiload
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::emunand modifier drag and drop
|
|
if exist "%cmdinput%\title\00000001\00000002\content\title.tmd" set "DRIVETEMP=%cmdinput%"
|
|
if exist "%cmdinput%\title\00000001\00000002\content\title.tmd" (SET MENU1=S) & (set SNEEKSELECT=5) &(set one=EMUMOD) & (set cmdlinemodeswitchoff=Y) & (goto:go)
|
|
|
|
|
|
::----------Folder drag and drop (Wad Packer, wad unpacker entry, mym folder, etc)---------------
|
|
::keep near the bottom of cmd line stuff for reasons, just in case
|
|
|
|
::check if file or folder
|
|
|
|
if exist "%cmdinput%" (dir "%cmdinput%" | findstr /I /R /C:"<DIR>">NUL) else (goto:notwadfolder)
|
|
IF ERRORLEVEL 1 (set droptype=file) else (set droptype=folder)
|
|
|
|
if /i "%droptype%" EQU "folder" goto:skip
|
|
if /i "%cmdinput:~-4%" EQU ".app" goto:skip
|
|
if /i "%cmdinput:~-4%" EQU ".tik" goto:skip
|
|
if /i "%cmdinput:~-4%" EQU ".tmd" goto:skip
|
|
if /i "%cmdinput:~-5%" EQU ".cert" goto:skip
|
|
if /i "%cmdinput:~-7%" EQU ".footer" goto:skip
|
|
goto:notwadfolder
|
|
:skip
|
|
|
|
::get wadfile and wadpath names, i.e. get filename and get folder full path not including filename
|
|
set "wadfile=%cmdinput:*\=%"
|
|
set "wadpath=%cmdinput%"
|
|
:stripwadfile
|
|
set "wadfile=%wadfile:*\=%"
|
|
echo "%wadfile%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripwadfile
|
|
|
|
echo set "wadpath=%%wadpath:%wadfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
|
|
set "wadpath=%cmdinput%"
|
|
echo set "wadpathback=%%wadpath:\%wadfile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
::echo wadfile: "%wadfile%"
|
|
::echo wadpath: "%wadpath%"
|
|
::echo wadpathback: "%wadpathback%"
|
|
|
|
|
|
|
|
::::below doesn't work with multiple subdirs
|
|
::if exist "%wadpath%\*.wad" goto:wadfolder
|
|
::if exist "%wadpath%\*.mym" goto:mym2csm
|
|
::if exist "%wadpath%\*.csm" goto:csm2csm
|
|
|
|
::WAD FOLDER CHECK
|
|
::check for file types, also in subdirectories
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
2>nul dir /s /b /a-d "%wadpath%\*.wad">temp\temp.txt
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\temp.txt" || del "temp\temp.txt"
|
|
if exist temp\temp.txt goto:wadfolder
|
|
|
|
::MYM FOLDER CHECK
|
|
::check for file types, also in subdirectories
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
2>nul dir /s /b /a-d "%wadpath%\*.mym">temp\temp.txt
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\temp.txt" || del "temp\temp.txt"
|
|
if exist temp\temp.txt goto:mym2csm
|
|
|
|
::CSM FOLDER CHECK
|
|
::check for file types, also in subdirectories
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
2>nul dir /s /b /a-d "%wadpath%\*.csm">temp\temp.txt
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\temp.txt" || del "temp\temp.txt"
|
|
if exist temp\temp.txt goto:csm2csm
|
|
|
|
|
|
::GAME IMAGE FOLDER CHECK
|
|
::check for file types, also in subdirectories
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
2>nul dir /s /b /a-d "%wadpath%\*.wbfs" "%wadpath%\*.iso" "%wadpath%\*.ciso">temp\temp.txt
|
|
::support\sfk -spat filter temp\temp.txt -le!"nkit.iso" -write -yes>nul
|
|
|
|
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\temp.txt" || del "temp\temp.txt"
|
|
if exist temp\temp.txt goto:gameimage
|
|
|
|
|
|
|
|
|
|
if /i "%droptype%" EQU "folder" set "wadpathback=%wadpath%"
|
|
|
|
|
|
if not exist "%wadpathback%\*.app" goto:notwadfolder
|
|
if not exist "%wadpathback%\*.tik" goto:notwadfolder
|
|
if not exist "%wadpathback%\*.tmd" goto:notwadfolder
|
|
if not exist "%wadpathback%\*.cert" goto:notwadfolder
|
|
::if not exist "%wadpath%*.footer" goto:notwadfolder
|
|
::footer unnecessary when packing wads
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
echo Repacking: "%wadpathback%"
|
|
echo To WAD: "%wadpathback%.wad"
|
|
echo.
|
|
|
|
if exist "%wadpathback%.wad" (support\sfk.exe echo [%yellowtext%]This WAD already exists, press any key to send it to the recycling bin and continue, or close this window to abort) & (pause> nul)
|
|
if exist "%wadpathback%.wad" echo.
|
|
::RECYCLING POWERSHELL CODE, works for directories too
|
|
if exist "%wadpathback%.wad" powershell -nologo -noprofile -Command "& {Add-Type -AssemblyName 'Microsoft.VisualBasic'; Get-ChildItem -Path '"%wadpathback%.wad"' | ForEach-Object { if ($_ -is [System.IO.DirectoryInfo]) { [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteDirectory($_.FullName,'OnlyErrorDialogs','SendToRecycleBin') } else { [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile($_.FullName,'OnlyErrorDialogs','SendToRecycleBin') } } }"
|
|
set errorlevel=
|
|
%WiiPy% wad pack --fakesign "%wadpathback%" "%wadpathback%.wad">nul
|
|
|
|
if /i "%errorlevel%" NEQ "0" goto:RepackFail
|
|
if not exist "%wadpathback%.wad" goto:RepackFail
|
|
|
|
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Success.mp3%"
|
|
support\sfk.exe echo [%greentext%]Wad repacked successfully!
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
echo (To exit you can close this window or press enter)
|
|
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%wadpathback%" explorer "%wadpathback%"
|
|
exit
|
|
:noRepack
|
|
|
|
:RepackFail
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Fail.mp3%"
|
|
echo Something went wrong, press any key to exit...
|
|
pause> nul
|
|
exit
|
|
::--------------------------------------------------------
|
|
|
|
|
|
goto:notwadfolder
|
|
:wadfolder
|
|
FINDSTR /N . temp\temp.txt>temp\temp2.txt
|
|
|
|
title ModMii WAD tools
|
|
support\nircmd.exe win setsize ititle "ModMii WAD tools" 0 0 895 780
|
|
:wadfolder2
|
|
|
|
set WiiIP=
|
|
if exist temp\WiiIP.txt set /p WiiIP= <temp\WiiIP.txt
|
|
cls
|
|
::set "wad2folder=%wadfile%"
|
|
::echo wad2folder: "%wad2folder%"
|
|
::echo wadpath: "%wadpath%"
|
|
::echo wadpathback: "%wadpathback%"
|
|
|
|
dir /s /b /a-d "%wadpath%\*.wad">temp\temp.txt
|
|
::copy /y temp\temp.txt temp\wad2folder.txt>nul
|
|
|
|
::count # of lines
|
|
set /a wad2count=0
|
|
for /f %%a in (temp\temp.txt) do set /a wad2count+=1
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
echo What would you like to do with this folder of WADs?
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
|
|
::list wads (numbered)
|
|
::FINDSTR /N . temp\temp.txt>temp\temp2.txt
|
|
type temp\temp2.txt
|
|
|
|
|
|
echo.
|
|
support\sfk -spat echo [%bluetext%]Start the Homebrew Channel before trying to send WADs to your Wii!
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Installing the wrong WAD can cause brick, choose wisely and make sure you have Priiloader and
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]a nand backup. Use the ModMii Wizard or SysCheck Updater Wizard for brick protection!
|
|
echo.
|
|
echo U = Unpack WADs; each will be unpacked into a folder of the same name in the same directory.
|
|
if not "%WiiIP%"=="" support\sfk.exe -spat echo \x20 \x20 \x20 \x20 \x20 S = Send WADs to Homebrew Channel using [%bluetext%]Saved IP address: %WiiIP%
|
|
echo [IP] = Send WADs to Homebrew Channel with IP entered; e.g 192.168.1.6
|
|
echo D = Deflicker Filter Changer; improves video quality (inapplicable channels will be skipped)
|
|
echo - Can also apply\remove N64 Expansion Pak and N64 Dark Filter patches for applicable N64 WADs
|
|
echo N = NandLoader Updater (inapplicable channels will be skipped)
|
|
echo H = Hidden Channel Converter (inapplicable channels will be skipped)
|
|
::echo V = make Visible (Channel WADs only, others will be skipped)
|
|
|
|
|
|
Set WiiPyColour=%redtext%
|
|
Set ODBColour=%redtext%
|
|
if /i "%WiiPyInfo%" EQU "Y" Set WiiPyColour=%greentext%
|
|
if /i "%ODBInfo%" EQU "Y" Set ODBColour=%greentext%
|
|
|
|
support\sfk.exe -spat echo \x20 \x20 \x20 \x20 \x20 I = Inspector Wadget; Inspect and display WAD Information ( Extra Info[%cyantext%]*[def] : [%WiiPyColour%]WiiPy [def]\x7c[%ODBColour%] ODB [def])
|
|
support\sfk.exe -spat echo \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%cyantext%]*[def] Enter \x22WiiPy\x22 or \x22ODB\x22 to toggle extra WiiPy\x5cOpenDolBoot info [%greentext%]on[def] \x26 [%redtext%]off[def] for applicable WADs
|
|
|
|
echo HELP = Instructional video on checking your Wii\vWii IP Address
|
|
echo E = Exit
|
|
echo.
|
|
echo To check your Wii\vWii IP address press Home while in the HBC, but exit the Home Menu before continuing.
|
|
echo If you see 'Network Not Initialized' you must first connect the console to the internet.
|
|
echo.
|
|
echo Notes: - WADs larger than 8MB cannot be sent to the Wii over the internet
|
|
echo - When sending WADs you will have the option to skip or approve sending each individual WAD
|
|
echo.
|
|
|
|
set SendWADs="
|
|
set /p SendWADs=Enter Selection Here:
|
|
set "SendWADs=%SendWADs:"=%"
|
|
if "%SendWADs%"=="" goto:badkey
|
|
|
|
if /i "%SendWADs%" EQU "help" (start https://www.youtube.com/embed/JSyIDx35TVo) & (goto:wadfolder2)
|
|
if /i "%SendWADs%" EQU "E" exit
|
|
if /i "%SendWADs%" EQU "U" goto:BulkWADUnpacker
|
|
if /i "%SendWADs%" EQU "N" (set SendWAD=M) & (goto:modifyNandLoader2)
|
|
|
|
if /i "%SendWADs%" NEQ "WiiPy" goto:skip
|
|
if /i "%WiiPyInfo%" NEQ "Y" (Set WiiPyInfo=Y) & (echo Set WiiPyInfo=Y>>Support\settings.bat) & (goto:wadfolder2)
|
|
if /i "%WiiPyInfo%" EQU "Y" (Set WiiPyInfo=) & (support\sfk filter Support\settings.bat -ls!"Set WiiPyInfo=" -write -yes>nul) & (goto:wadfolder2)
|
|
:skip
|
|
|
|
if /i "%SendWADs%" NEQ "ODB" goto:skip
|
|
if /i "%ODBInfo%" NEQ "Y" (Set ODBInfo=Y) & (echo Set ODBInfo=Y>>Support\settings.bat) & (goto:wadfolder2)
|
|
if /i "%ODBInfo%" EQU "Y" (Set ODBInfo=) & (support\sfk filter Support\settings.bat -ls!"Set ODBInfo=" -write -yes>nul) & (goto:wadfolder2)
|
|
:skip
|
|
|
|
|
|
if /i "%SendWADs%" NEQ "H" goto:notinvisible
|
|
echo.
|
|
echo Would you like to also inject a Minimalist banner to reduce size? (Y/N):
|
|
echo.
|
|
set WADvisibility="
|
|
set /p WADvisibility=Enter Selection Here:
|
|
set "WADvisibility=%WADvisibility:"=%"
|
|
::echo Y = Yes, make it invisible
|
|
::echo M = make invisible and inject Minimalist banner to reduce size
|
|
if /i "%WADvisibility%" EQU "Y" (set WADvisibility=M) & (goto:BulkInvisible)
|
|
if /i "%WADvisibility%" EQU "N" (set WADvisibility=Y) & (goto:BulkInvisible)
|
|
goto:badkey
|
|
:notinvisible
|
|
|
|
|
|
if /i "%SendWADs%" NEQ "D" goto:notdeflicker
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Modify Deflicker Settings
|
|
echo.
|
|
echo D = Disable Deflicker Filter (and N64 Dark Filter for applicable games)
|
|
echo * Disables blur filter; recommended when using 480p display mode to improve video quality
|
|
echo.
|
|
echo R = Re-enable Deflicker Filter (and N64 Dark Filter for applicable games)
|
|
echo * Re-enables blur filter; recommended when using 480i display mode on a CRT TV
|
|
echo.
|
|
set WADdeflickerQ="
|
|
set /p WADdeflickerQ=Enter Selection Here:
|
|
set "WADdeflickerQ=%WADdeflickerQ:"=%"
|
|
if /i "%WADdeflickerQ%" EQU "D" goto:continue
|
|
if /i "%WADdeflickerQ%" EQU "R" goto:continue
|
|
goto:badkey
|
|
|
|
:continue
|
|
|
|
|
|
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Would you like to apply the N64 Expansion Pak Patch to double 4MB of RAM to 8MB?
|
|
echo.
|
|
echo This patch will only be applied to applicable N64 games
|
|
echo.
|
|
echo Note: the patch works for some games, for many games it has no impact,
|
|
echo but it may cause some games to crash (depends on original N64 game).
|
|
echo.
|
|
echo Y = Yes, apply N64 Expansion Pak patch
|
|
echo R = Remove N64 Expansion Pak patch (if applicable)
|
|
echo N = No, do not apply any N64 Expansion Pak patches
|
|
echo.
|
|
:ExpPakQ2
|
|
set ExpPakQ="
|
|
set /p ExpPakQ=Enter Selection Here:
|
|
set "ExpPakQ=%ExpPakQ:"=%"
|
|
if /i "%ExpPakQ%" EQU "N" goto:continue
|
|
if /i "%ExpPakQ%" EQU "Y" goto:continue
|
|
if /i "%ExpPakQ%" EQU "R" goto:continue
|
|
goto:badkey
|
|
:continue
|
|
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 \x20 \x20 \x20 [%cyantext%]Would you like changes to be made to a COPY of the file? (Y/N)
|
|
echo * To edit the original file enter "N"
|
|
echo.
|
|
set CopyQ="
|
|
set /p CopyQ=Enter Selection Here:
|
|
set "CopyQ=%CopyQ:"=%"
|
|
if /i "%CopyQ%" EQU "Y" goto:BulkWADdeflicker
|
|
if /i "%CopyQ%" EQU "N" goto:BulkWADdeflicker
|
|
goto:badkey
|
|
:notdeflicker
|
|
|
|
|
|
|
|
|
|
If /i "%SendWADs%" NEQ "I" goto:skip
|
|
cls
|
|
title ModMii Inspector Wadget
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Inspector Wadget
|
|
echo.
|
|
echo Analyzing WADs from this folder:
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
|
|
|
|
|
|
If /i "%WiiPyInfo%" NEQ "Y" support\sfk.exe echo Extra WiiPy WAD Info: [%redtext%]Disabled
|
|
If /i "%WiiPyInfo%" EQU "Y" support\sfk.exe echo Extra WiiPy WAD Info: [%greentext%]Enabled
|
|
|
|
If /i "%ODBinfo%" NEQ "Y" support\sfk.exe echo Extra OpenDolBoot Info: [%redtext%]Disabled[def] (only applies to NandLoader ^& Main Dol for supported WADs)
|
|
If /i "%ODBinfo%" EQU "Y" support\sfk.exe echo Extra OpenDolBoot Info: [%greentext%]Enabled[def] (only applies to NandLoader ^& Main Dol for supported WADs)
|
|
|
|
goto:WadBulkInfo
|
|
|
|
:WadBulkInfoPickUp
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Success.mp3%"
|
|
echo.
|
|
support\sfk.exe echo [%greentext%]Finished Analyzing WADs from folder:
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
set /p promptO=
|
|
exit
|
|
:skip
|
|
|
|
|
|
|
|
if "%WiiIP%"=="" goto:skip
|
|
If /i "%SendWADs%" EQU "S" set "SendWADs=%WiiIP%"
|
|
:skip
|
|
|
|
::check valid IP
|
|
powershell -nologo -noprofile -Command "[ipaddress]::TryParse('%SendWADs%',[ref][ipaddress]::Loopback)" | findstr "False">NUL && goto:badkey
|
|
|
|
::check for 3 periods
|
|
set "string=%SendWADs%"
|
|
set /a dotcount=0
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if defined string (set ^"strtmp=!string:.=^
|
|
%= empty string =%
|
|
!^") else set "strtmp="
|
|
for /F %%C in ('cmd /V /C echo(^^!strtmp^^!^| find /C /V ""') do set /A "dotcount=%%C-1"
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
::echo "!string!" contains %dotcount% periods.
|
|
if /i "%dotcount%" EQU "3" goto:pingme
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:wadfolder2
|
|
|
|
|
|
|
|
|
|
:pingme
|
|
call Support\subscripts\dependency.bat Sharpii
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:wadfolder2)
|
|
|
|
|
|
::check if Wii is reachable
|
|
::echo.
|
|
::echo Pinging Wii to see if reachable...
|
|
ping -n 1 "%SendWADs%"|findstr /I /C:"ms">nul
|
|
IF NOT ERRORLEVEL 1 goto:Pinged
|
|
support\sfk echo [%yellowtext%]Unable to reach IP %SendWADs%, check your settings and try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:wadfolder2
|
|
|
|
|
|
:Pinged
|
|
cls
|
|
set "WiiIP=%SendWADs%"
|
|
> "temp\WiiIP.txt" ECHO %WiiIP%
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% WAD tools
|
|
echo.
|
|
|
|
::echo wad2folder: "%wad2folder%"
|
|
::echo wadpath: "%wadpath%"
|
|
::echo wadpathback: "%wadpathback%"
|
|
|
|
support\sfk -spat echo [%bluetext%]Start the Homebrew Channel before trying to send WADs to your Wii.
|
|
echo.
|
|
echo If you have issues make sure you have the HBC open but that you are not inside its Home Menu,
|
|
echo Double check the Wii IP address and make sure both this device and the Wii are on the same network.
|
|
echo.
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]Installing the wrong WAD can cause brick, choose wisely and make sure you have Priiloader and
|
|
support\sfk -spat echo \x20 \x20 [%yellowtext%]a nand backup. Use the ModMii Wizard or SysCheck Updater Wizard for brick protection!
|
|
echo.
|
|
support\sfk.exe -spat echo [%bluetext%]Sending WADs to Homebrew Channel using IP address: %WiiIP%
|
|
|
|
:WadBulkInfo
|
|
set wads2count=0
|
|
|
|
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:wads2count2
|
|
set EOF=wads2count2
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentWAD=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
If /i "%SendWADs%" EQU "I" (set NextStep=WadBulkInfoPickUp) else (set NextStep=skipwads2count)
|
|
>nul findstr "^" "temp\temp.txt" || goto:%NextStep%
|
|
|
|
::set variable equal to top line
|
|
set /p CurrentWAD= <temp\temp.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\temp.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
|
|
set /a wads2count=%wads2count%+1
|
|
echo.
|
|
support\sfk echo [%redtext%]%wads2count% of %wad2count%: "%CurrentWAD%"
|
|
echo.
|
|
|
|
If /i "%SendWADs%" EQU "I" goto:not2big
|
|
::check if over 8MB, check fails with some special characters so set to 1 if nul
|
|
set GetFileSize=
|
|
echo set "GetFileSize=%%~z1" > %temp%\GetFileSize.bat
|
|
call %temp%\GetFileSize "%CurrentWAD%"
|
|
if "%GetFileSize%"=="" set GetFileSize=1
|
|
if %GetFileSize% LEQ 8388576 goto:not2big
|
|
support\sfk echo [%yellowtext%]WAD is too large to send over the internet, skipping...
|
|
goto:%EOF%
|
|
:not2big
|
|
|
|
|
|
set "WadInput=%CurrentWAD%"
|
|
If /i "%SendWADs%" EQU "I" (set AutoDetectDF=Y) & (set AutoDetectNL=Y)
|
|
call "Support\subscripts\CollectWadInfo.bat"
|
|
|
|
If /i "%wadtype%" EQU "Invalid" goto:%EOF%
|
|
|
|
::Detect NandLoader if %AutoDetectNL% setting is enabled, WADcontents is not GTR than 3 (so channels like Region Select & bomberman aren't attempted), and wadtype is channel or hidden
|
|
if "%AutoDetectNL%"=="" goto:AutoDetectNLpickup2
|
|
if %WadContents% LEQ 1 goto:AutoDetectNLpickup2
|
|
if %WadContents% GTR 3 goto:AutoDetectNLpickup2
|
|
If /i "%wadtype%" EQU "channel" goto:AutoDetectNL2
|
|
If /i "%wadtype%" NEQ "hidden" goto:AutoDetectNLpickup2
|
|
:AutoDetectNL2
|
|
set WadNandLoader=D
|
|
set DetectNLpickup=AutoDetectNLpickup2
|
|
::Careful editing cmdinput!
|
|
set "cmdinput=%CurrentWAD%"
|
|
goto:NLcount
|
|
:AutoDetectNLpickup2
|
|
|
|
::set "WADinfo=%CurrentWAD%"
|
|
::if exist "%WADcopy%" set "WADinfo=%WADcopy%"
|
|
call "Support\subscripts\DisplayWadInfo.bat"
|
|
|
|
|
|
If /i "%SendWADs%" NEQ "I" goto:skip2
|
|
|
|
::Extra WiiPy Info
|
|
If /i "%WiiPyinfo%" NEQ "Y" goto:skip
|
|
echo.
|
|
support\sfk echo [%cyantext%]WiiPy Info:
|
|
type temp\WADinfo.txt
|
|
::%WiiPy% info "%CurrentWAD%"
|
|
:skip
|
|
|
|
|
|
::Extra NandLoader Info
|
|
If /i "%ODBinfo%" NEQ "Y" goto:skip2
|
|
if "%WadNL%"=="" goto:skip2
|
|
If /i "%WadNL%" EQU "Unable to detect" goto:skip2
|
|
|
|
echo.
|
|
If /i "%NANDloadLoc%" EQU "%MainBinLoc%" support\sfk echo [%cyantext%]NandLoader and Main Dol ODB Info:
|
|
If /i "%NANDloadLoc%" NEQ "%MainBinLoc%" support\sfk echo [%cyantext%]NandLoader ODB Info:
|
|
temp\OpenDolBoot.exe -i "temp\__channel\%NANDloadLoc%"
|
|
If /i "%NANDloadLoc%" EQU "%MainBinLoc%" goto:skip2
|
|
|
|
echo.
|
|
support\sfk echo [%cyantext%]Main Dol ODB Info:
|
|
temp\OpenDolBoot.exe -i "temp\__channel\%MainBinLoc%"
|
|
|
|
:skip2
|
|
|
|
If /i "%SendWADs%" EQU "I" goto:%EOF%
|
|
|
|
echo.
|
|
|
|
:confirmsend
|
|
|
|
if %wads2count% GEQ 2 (echo Wait until you are back in the homebrew channel before sending the next WAD) & (echo.)
|
|
:confirmsend2
|
|
set confirmsend="
|
|
set /p confirmsend= Send WAD to Wii now? (Y/N):
|
|
set "confirmsend=%confirmsend:"=%"
|
|
if /i "%confirmsend%" EQU "N" goto:%EOF%
|
|
if /i "%confirmsend%" EQU "Y" goto:skip
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:confirmsend2
|
|
|
|
:skip
|
|
::send wad and loop!
|
|
|
|
::check if back in the HBC
|
|
ping -n 1 "%WiiIP%"|findstr /I /C:"ms">nul
|
|
IF ERRORLEVEL 1 (support\sfk echo [%yellowtext%]Unable to reach IP %SendWADs%, wait until you're back in the Homebrew Channel...) & (goto:confirmsend)
|
|
|
|
|
|
echo.
|
|
echo To cancel in the middle of sending a WAD, type Ctrl+C, then N, then Enter
|
|
support\sfk -spat echo "Sending command: [%cyantext%]sharpii.exe SendWad -ip "%WiiIP%" -wad \x22"%CurrentWAD:&=^&%"\x22 -ahb"
|
|
temp\Sharpii.exe SendWad -ip %WiiIP% -wad "%CurrentWAD%" -ahb
|
|
goto:%EOF%
|
|
|
|
:skipwads2count
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
|
|
if /i "%AudioOption%" EQU "on" start support\nircmd.exe mediaplay 3000 "%Success.mp3%"
|
|
|
|
echo.
|
|
support\sfk.exe echo [%greentext%]Finished Sending WADs from folder:
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
echo Press any key to exit
|
|
pause>nul
|
|
exit
|
|
|
|
|
|
:BulkWADUnpacker
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Bulk WAD Unpacker
|
|
|
|
::echo wad2folder: "%wad2folder%"
|
|
::echo wadpath: "%wadpath%"
|
|
::echo wadpathback: "%wadpathback%"
|
|
|
|
set wads2error=0
|
|
set wads2count=0
|
|
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:wads2count
|
|
set EOF=wads2count
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentWAD=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
>nul findstr "^" "temp\temp.txt" || goto:skipwads2count
|
|
::set variable equal to top line
|
|
set /p CurrentWAD= <temp\temp.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\temp.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
|
|
set /a wads2count=%wads2count%+1
|
|
echo.
|
|
echo Unpacking %wads2count% of %wad2count%: "%CurrentWAD%"
|
|
::if not exist "%CurrentWAD:~0,-4%" mkdir "%CurrentWAD:~0,-4%"
|
|
set errorlevel=
|
|
%WiiPy% wad unpack --skip-hash "%CurrentWAD%" "%CurrentWAD:~0,-4%">nul
|
|
if /i "%errorlevel%" NEQ "0" goto:UnpackFail2
|
|
|
|
::success
|
|
if exist "%CurrentWAD:~0,-4%\*.tmd" (echo WAD Unpacked) & (goto:%EOF%)
|
|
::fail
|
|
:UnpackFail2
|
|
support\sfk.exe echo [%redtext%]Error Unpacking "%CurrentWAD%"
|
|
echo %DATE%-%TIME:~0,-6% - Error Unpacking "%CurrentWAD%">>"%wadpath%\WadUnpackerError.log"
|
|
set /a wads2error=%wads2error%+1
|
|
|
|
::empty folder check, if not empty goto:%EOF%, if empty delete it
|
|
dir /A /B "%CurrentWAD:~0,-4%" | findstr /R ".">NUL && goto:%EOF%
|
|
rd /s /q "%CurrentWAD:~0,-4%"> nul
|
|
goto:%EOF%
|
|
:skipwads2count
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if /i "%wads2error%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
echo.
|
|
echo Finished processing WADs saved here:
|
|
support\sfk.exe echo [%bluetext%]"%wadpath%"
|
|
echo.
|
|
if /i "%wads2error%" NEQ "0" goto:fail
|
|
support\sfk.exe echo [%greentext%]%wad2count% WADs unpacked successfully!
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
|
|
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%wadpath%" explorer "%wadpath%"
|
|
exit
|
|
|
|
:fail
|
|
support\sfk.exe echo [%redtext%]%wads2error% of %wad2count% WADs failed to unpack, see above for more information.
|
|
echo %wads2error% error(s) logged to: "%wadpath%\WadUnpackerError.log"
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%wadpath%" explorer "%wadpath%"
|
|
exit
|
|
:notwadfolder
|
|
::---------------------------------------
|
|
|
|
|
|
goto:notmymfolder
|
|
:mymfolder
|
|
::cls
|
|
|
|
set "Folder=%wadfile%"
|
|
set "FullPath=%wadpath%"
|
|
set "FullPathback=%wadpathback%"
|
|
support\sfk.exe echo [%bluetext%]Building %mym2csm% csms from myms saved here: "%FullPath%"
|
|
|
|
::echo Folder: "%Folder%"
|
|
::echo FullPath: "%FullPath%"
|
|
::echo FullPathback: "%FullPathback%"
|
|
|
|
dir /s /b /a-d "%FullPath%\*.mym">temp\temp.txt
|
|
::copy /y temp\temp.txt temp\Folder.txt>nul
|
|
|
|
::set "TotalFiles=%filecount%"
|
|
::line count
|
|
set /a TotalFiles=0
|
|
for /f %%a in (temp\temp.txt) do set /a TotalFiles+=1
|
|
|
|
|
|
set /a counter=0
|
|
set /a Files2error=0
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:mymfolderprocess
|
|
set EOF=mymfolderprocess
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentFile=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
>nul findstr "^" "temp\temp.txt" || goto:skipcounter
|
|
::set variable equal to top line
|
|
set /p CurrentFile= <temp\temp.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\temp.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
|
|
set /a counter=%counter%+1
|
|
|
|
echo set "filenameX=%%CurrentFile:%FullPath%\=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
::echo filenameX: "%filenameX%"
|
|
|
|
::if not exist "%FullPath%\csm" mkdir "%FullPath%\csm"
|
|
::set "outputcsm=%FullPath%\csm\%filenameX:~0,-4%-%mym2csm%.csm"
|
|
set "outputcsm=%CurrentFile:~0,-4%-%mym2csm%.csm"
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]Theming %counter% of %TotalFiles%: "%filenameX:~0,-4%-%mym2csm%.csm"
|
|
|
|
::echo cmdinput: "%cmdinput%"
|
|
::echo dlname: "%dlname%"
|
|
::echo mym2csm: %mym2csm%
|
|
::echo name: %name%
|
|
::echo wadname: %wadname%
|
|
::echo code1: %code1%
|
|
::echo code1: %version%
|
|
::echo md5: %md5%
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "%CurrentFile%" "..\%wadname%" "%outputcsm%"
|
|
cd ..\..
|
|
echo.
|
|
::%WiiPy% theme mym "%CurrentFile%" "temp\%wadname%" "%outputcsm%"
|
|
::if /i "%errorlevel%" NEQ "0" if exist "%outputcsm%" del "%outputcsm%">nul
|
|
|
|
|
|
::success
|
|
if exist "%outputcsm%" (support\sfk.exe echo [%greentext%]CSM Created) & (goto:%EOF%)
|
|
::fail
|
|
support\sfk.exe echo [%redtext%]Error Creating CSM
|
|
echo %DATE%-%TIME:~0,-6% - Error Creating CSM "%outputcsm%">>"%FullPath%\ModMii.log"
|
|
set /a Files2error=%Files2error%+1
|
|
|
|
goto:%EOF%
|
|
:skipcounter
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
|
|
::call support\subscripts\TMCL_Portable_Fix_Reversal.bat
|
|
|
|
::empty folder check, if not empty goto:%EOF%, if empty delete it
|
|
::dir /A /B "%FullPath%\csm" | findstr /R ".">NUL
|
|
::IF ERRORLEVEL 1 rd /s /q "%FullPath%\csm"> nul
|
|
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if /i "%Files2error%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
|
|
echo.
|
|
echo Finished building csms from myms saved here:
|
|
support\sfk.exe echo [%bluetext%]"%FullPath%"
|
|
echo.
|
|
if /i "%Files2error%" NEQ "0" goto:fail
|
|
support\sfk.exe echo [%greentext%]%TotalFiles% CSMs were created successfully!
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%FullPath%" explorer "%FullPath%"
|
|
exit
|
|
|
|
:fail
|
|
support\sfk.exe echo [%redtext%]Failed to construct %Files2error% of %TotalFiles% CSMs, see above for more information.
|
|
echo %Files2error% error(s) logged to: "%FullPath%\ModMii.log"
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
echo.
|
|
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%FullPath%" explorer "%FullPath%"
|
|
exit
|
|
:notmymfolder
|
|
::---------------------------------------
|
|
|
|
goto:notcsmfolder
|
|
:csmfolder
|
|
::cls
|
|
|
|
set "Folder=%wadfile%"
|
|
set "FullPath=%wadpath%"
|
|
set "FullPathback=%wadpathback%"
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]Updating csms saved here: "%FullPath%"
|
|
|
|
::echo Folder: "%Folder%"
|
|
::echo FullPath: "%FullPath%"
|
|
::echo FullPathback: "%FullPathback%"
|
|
::echo multimym: "%multimym%"
|
|
::echo cmdinput: "%cmdinput%"
|
|
::echo mym2csm: %mym2csm%
|
|
|
|
dir /s /b /a-d "%FullPath%\*.csm">temp\temp.txt
|
|
::copy /y temp\temp.txt temp\Folder.txt>nul
|
|
|
|
::set "TotalFiles=%filecount%"
|
|
::line count
|
|
set /a TotalFiles=0
|
|
for /f %%a in (temp\temp.txt) do set /a TotalFiles+=1
|
|
|
|
|
|
set /a counter=0
|
|
set /a Files2error=0
|
|
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:csmfolderprocess
|
|
set EOF=csmfolderprocess
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentFile=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
>nul findstr "^" "temp\temp.txt" || goto:skipcounter
|
|
::set variable equal to top line
|
|
set /p CurrentFile= <temp\temp.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\temp.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\temp.txt>nul
|
|
|
|
|
|
set /a counter=%counter%+1
|
|
|
|
echo set "filenameX=%%CurrentFile:%FullPath%\=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
::echo filenameX: "%filenameX%"
|
|
|
|
set "outputcsm=%FullPath%\%filenameX%"
|
|
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]Theming %counter% of %TotalFiles%: "%filenameX%"
|
|
|
|
move /y "%outputcsm%" "%FullPath%\%filenameX:~0,-4%_original.csm">nul
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "%multimym%" "%FullPath%\%filenameX:~0,-4%_original.csm" "%outputcsm%"
|
|
cd ..\..
|
|
echo.
|
|
|
|
::%WiiPy% theme mym "%multimym%" "%FullPath%\%filenameX:~0,-4%_original.csm" "%outputcsm%"
|
|
::if /i "%errorlevel%" NEQ "0" if exist "%outputcsm%" del "%outputcsm%">nul
|
|
|
|
|
|
::success
|
|
if exist "%outputcsm%" (support\sfk.exe echo [%greentext%]CSM Created) & (goto:%EOF%)
|
|
::fail
|
|
support\sfk.exe echo [%redtext%]Error Creating CSM
|
|
echo %DATE%-%TIME:~0,-6% - Error Creating CSM "%outputcsm%">>"%FullPath%\ModMii.log"
|
|
set /a Files2error=%Files2error%+1
|
|
|
|
goto:%EOF%
|
|
:skipcounter
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
|
|
::call support\subscripts\TMCL_Portable_Fix_Reversal.bat
|
|
|
|
::empty folder check, if not empty goto:EOF, if empty delete it
|
|
::dir /A /B "%FullPath%\csm" | findstr /R ".">NUL
|
|
::IF ERRORLEVEL 1 rd /s /q "%FullPath%\csm"> nul
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if /i "%Files2error%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
echo.
|
|
echo Finished building csms from myms saved here:
|
|
support\sfk.exe echo [%bluetext%]"%FullPath%"
|
|
echo.
|
|
if /i "%Files2error%" NEQ "0" goto:fail
|
|
support\sfk.exe echo [%greentext%]%TotalFiles% CSMs were updated successfully!
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
|
|
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
if exist "%FullPath%" explorer "%FullPath%"
|
|
exit
|
|
|
|
|
|
:fail
|
|
support\sfk.exe echo [%redtext%]Failed to updated %Files2error% of %TotalFiles% CSMs, see above for more information.
|
|
echo %Files2error% error(s) logged to: "%FullPath%\ModMii.log"
|
|
echo.
|
|
support\sfk.exe echo [%bluetext%]To Open output folder and exit enter O
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" NEQ "O" exit
|
|
|
|
if exist "%FullPath%" explorer "%FullPath%"
|
|
exit
|
|
:notcsmfolder
|
|
|
|
|
|
::------------------GAME IMAGE---------------------
|
|
goto:notgameimage
|
|
:gameimage
|
|
|
|
if exist "%cmdinput%\" goto:imagefolder
|
|
echo "%cmdinput%">temp\GameImages.txt
|
|
support\sfk -spat filter temp\GameImages.txt -rep _\x22__ -write -yes>nul
|
|
goto:gameimage1
|
|
|
|
:imagefolder
|
|
::check for file types, also in subdirectories
|
|
2>nul dir /s /b /a-d "%cmdinput%\*.wbfs" "%cmdinput%\*.iso" "%cmdinput%\*.ciso">temp\GameImages.txt
|
|
sort temp\GameImages.txt /o temp\GameImages.txt
|
|
::support\sfk -spat filter temp\GameImages.txt -le!"nkit.iso" -write -yes>nul
|
|
|
|
:gameimage1
|
|
|
|
::count # of lines
|
|
SET Imagetotal=0
|
|
for /f %%a in (temp\GameImages.txt) do set /a Imagetotal+=1
|
|
|
|
|
|
::list files (numbered)
|
|
FINDSTR /N . temp\GameImages.txt>temp\GameImages2.txt
|
|
type temp\GameImages2.txt
|
|
|
|
|
|
:gameimage2
|
|
|
|
cls
|
|
set imageAction="
|
|
|
|
title ModMii Game Image tools
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Game Image tools
|
|
echo.
|
|
|
|
|
|
if exist "%cmdinput%\" support\sfk echo [%cyantext%]What would you like to do with these Game Images?
|
|
if not exist "%cmdinput%\" support\sfk echo [%cyantext%]What would you like to do with this Game Image?
|
|
echo.
|
|
|
|
::list files (numbered)
|
|
::FINDSTR /N . temp\GameImages.txt>temp\GameImages2.txt
|
|
type temp\GameImages2.txt
|
|
|
|
|
|
echo.
|
|
support\sfk echo -spat [%cyantext%] \x20 D = Disable Deflicker
|
|
echo * Disables blur filter; recommended when using 480p display mode to improve video quality
|
|
echo.
|
|
support\sfk echo -spat [%cyantext%] \x20 R = Re-enable Deflicker
|
|
echo * Re-enable blur filter; recommended when using 480i display mode on a CRT TV
|
|
echo.
|
|
support\sfk echo -spat [%cyantext%] \x20 E = Extract game contents
|
|
echo * Extracted format required for OLDER versions of SNEEK
|
|
echo.
|
|
|
|
set /p imageAction=Enter Selection Here:
|
|
set "imageAction=%imageAction:"=%"
|
|
|
|
if /i "%imageAction%" NEQ "E" goto:skip
|
|
call Support\subscripts\dependency.bat wit
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:gameimage2)
|
|
|
|
::bulk extractor
|
|
SET MENU1=S
|
|
set cmdlinemodeswitchoff=Y
|
|
set SNEEKSELECT=4
|
|
set "DRIVETEMP=%cmdinput%"
|
|
cls
|
|
::set "ISOFOLDER=%cmdinput%"
|
|
::goto:hardcodedoptions
|
|
goto:go
|
|
::goto:doublecheckISOFOLDER
|
|
:skip
|
|
|
|
|
|
|
|
if /i "%imageAction%" EQU "D" goto:CopyOverwrite
|
|
if /i "%imageAction%" NEQ "R" goto:skip
|
|
:CopyOverwrite
|
|
echo.
|
|
support\sfk echo [%cyantext%]Would you like changes to be made to a COPY of the file? (Y/N)
|
|
echo * To edit the original file enter "N"; this requires less free space and patches Gamecube games faster
|
|
echo.
|
|
:CopyQ
|
|
set CopyQ="
|
|
set /p CopyQ=Enter Selection Here:
|
|
set "CopyQ=%CopyQ:"=%"
|
|
if /i "%CopyQ%" EQU "Y" goto:deflicker
|
|
if /i "%CopyQ%" EQU "N" goto:deflicker
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:CopyQ
|
|
:skip
|
|
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:gameimage2
|
|
|
|
|
|
|
|
:deflicker
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Game Image tools
|
|
echo.
|
|
if /i "%imageAction%" EQU "D" support\sfk echo [%cyantext%]Disabling Deflicker...
|
|
if /i "%imageAction%" EQU "R" support\sfk echo [%cyantext%]Re-enabling Deflicker...
|
|
if /i "%CopyQ%" EQU "Y" support\sfk echo Changes will be saved to a [%cyantext%]COPY[def] of the file
|
|
if /i "%CopyQ%" EQU "N" support\sfk echo Changes will [%cyantext%]OVERWRITE[def] the original file
|
|
|
|
|
|
::if destination drive is FAT32, force split WBFS later
|
|
set ForceSplit=
|
|
::DISABLED: if ISOs and CISOs are already on the drive then presumably size constraints not an issue
|
|
goto:disabled
|
|
echo powershell "Invoke-Command {Get-CimInstance -ClassName Win32_LogicalDisk | Where-Object {$PSItem.FileSystem -ne $null} | Select-Object DeviceID,Filesystem}" ^>format2.txt>"%temp%\Get-Disk.bat"
|
|
echo exit>>"%temp%\Get-Disk.bat"
|
|
|
|
::vbs to run script invisibly, "nircmd.exe exec hide" can run hidden but not hide+wait
|
|
echo Set ws = WScript.CreateObject("WScript.Shell")>"%temp%\Get-Disk.vbs"
|
|
echo cmd = "%temp%\Get-Disk.bat">>"%temp%\Get-Disk.vbs"
|
|
echo ret = ws.Run(cmd, 0, True)>>"%temp%\Get-Disk.vbs"
|
|
echo Set ws = Nothing>>"%temp%\Get-Disk.vbs"
|
|
|
|
if exist "%temp%\format2.txt" del "%temp%\format2.txt">nul
|
|
|
|
set "ModMiiDir=%cd%"
|
|
|
|
cd /d "%temp%"
|
|
@ping 127.0.0.1 -n 1 -w 1000> nul
|
|
start /wait Get-Disk.vbs
|
|
cd /d "%ModMiiDir%"
|
|
|
|
::if not exist "%temp%\format2.txt" echo goto:SkipUSBSpoiler
|
|
support\sfk filter -quiet "%temp%\format2.txt" -and+FAT32 -rep _:*__ -write -yes
|
|
|
|
findStr /I /C:"%cmdinput:~0,1%" "%temp%\format2.txt" >nul
|
|
IF ERRORLEVEL 1 (set ForceSplit=) else (set "ForceSplit= --split")
|
|
:disabled
|
|
|
|
set /a image2count=0
|
|
set /a ImagesSkipped=0
|
|
set /a ImagesPatched=0
|
|
set /a ImagesBroken=0
|
|
set /a PatchedAlready=0
|
|
set /a PartiallyPatched=0
|
|
|
|
call Support\subscripts\dependency.bat wit
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:gameimage2)
|
|
|
|
::Loop through the following once for EACH line in *.txt, alt method without FOR command to support & ^ and ! without using setlocal ENABLEDELAYEDEXPANSION
|
|
:image2count2
|
|
set EOF=image2count2
|
|
::use goto:above (or goto:%EOF%) instead of goto:EOF
|
|
set CurrentImage=
|
|
::check if file is empty, if empty it means list completed and goto:continue
|
|
>nul findstr "^" "temp\GameImages.txt" || goto:skipimage2count2
|
|
::set variable equal to top line
|
|
set /p CurrentImage= <temp\GameImages.txt
|
|
|
|
::Remove top line from list
|
|
more +1 "temp\GameImages.txt" > "temp\temp2.txt"
|
|
::"more" limits lines to about 65535 bytes/characters and the file to about 65535 lines. Also TABs become expanded to spaces
|
|
move /y temp\temp2.txt temp\GameImages.txt>nul
|
|
|
|
|
|
set /a image2count=%image2count%+1
|
|
|
|
set /a DolsPatched=0
|
|
set /a DolsAlreadyPatched=0
|
|
|
|
::the below may change if a copy is being made
|
|
set "CurrentImageAdj=%CurrentImage%"
|
|
|
|
echo.
|
|
support\sfk echo [%cyantext%]%image2count% of %Imagetotal%: "%CurrentImage%"
|
|
|
|
::wit.exe dump command to determine if Wii or GC game
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
if exist temp\witdump.txt del temp\witdump.txt>nul
|
|
|
|
%wit% d "%CurrentImage%">temp\witdump.txt
|
|
support\sfk filter "temp\witdump.txt" -+"disc type" >"temp\temp.txt"
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\temp.txt" || del "temp\temp.txt"
|
|
if not exist temp\temp.txt goto:NotGame
|
|
|
|
::get type
|
|
set gametype=
|
|
findStr /I /E /C:"Gamecube" temp\temp.txt >nul
|
|
IF not ERRORLEVEL 1 set gametype=GC
|
|
|
|
findStr /I /E /C:"Wii" temp\temp.txt >nul
|
|
IF not ERRORLEVEL 1 set gametype=Wii
|
|
|
|
::echo gametype:%gametype%:
|
|
|
|
if not "%gametype%"=="" goto:continue
|
|
::SKIP, not a game!
|
|
:NotGame
|
|
support\sfk -spat echo [%yellowtext%]This does not appear to be a Wii or GC game, skipping...
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
|
|
goto:%EOF%
|
|
:continue
|
|
|
|
|
|
::get imagefile and imagepath names, i.e. get filename and get folder full path not including filename
|
|
set "imagefile=%CurrentImage:*\=%"
|
|
set "imagepath=%CurrentImage%"
|
|
:stripimagefile
|
|
set "imagefile=%imagefile:*\=%"
|
|
echo "%imagefile%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripimagefile
|
|
|
|
echo set "imagepath=%%imagepath:%imagefile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
|
|
set "imagepath=%CurrentImage%"
|
|
echo set "imagepathback=%%imagepath:\%imagefile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
::echo imagefile: "%imagefile%"
|
|
::echo imagepath: "%imagepath%"
|
|
::echo imagepathback: "%imagepathback%"
|
|
|
|
|
|
|
|
|
|
if /i "%gametype%" NEQ "GC" goto:skipGC
|
|
|
|
|
|
::save a copy if applicable
|
|
if /i "%CopyQ%" EQU "N" goto:NoCopy
|
|
|
|
|
|
::check if enough free space check
|
|
set MegaBytesRequired=1
|
|
|
|
%wit% list-l --recurse "%CurrentImage%">temp\gametotal.bat
|
|
::%wit% list-l --unit GB --recurse "%CurrentImage%">temp\gametotal.bat
|
|
|
|
::---get required MB-------
|
|
support\sfk filter temp\gametotal.bat -ls+Total -rep _*", "_"set MegaBytesRequired="_ -rep _" MiB*"__ -write -yes>nul
|
|
if exist temp\gametotal.bat call temp\gametotal.bat
|
|
if exist temp\gametotal.bat del temp\gametotal.bat>nul
|
|
|
|
::add a bit of buffer just in case
|
|
set /a MegaBytesRequired=%MegaBytesRequired%+20
|
|
|
|
::echo Game size (MegaBytesRequired) is %MegaBytesRequired% MB
|
|
|
|
|
|
::---check for free space---
|
|
if /i "%CurrentImage:~1,1%" EQU ":" (set BackupDrive=%CurrentImage:~0,2%) else (set set BackupDrive=%cd:~0,2%)
|
|
|
|
set freespaceMB=99999999999999
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
support\sfk space "%BackupDrive%">temp\freespaceMB.txt
|
|
support\sfk filter "temp\freespaceMB.txt" -rep _"*freemb="__ -write -yes>nul
|
|
set /p freespaceMB= <temp\freespaceMB.txt
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
::echo freespaceMB needed on "%BackupDrive%" is %freespaceMB% MB
|
|
if %MegaBytesRequired% GEQ %freespaceMB% goto:NoSpace
|
|
|
|
::echo MegaBytesRequired is %MegaBytesRequired% MB
|
|
::echo Total Free Space is approximately %freespaceMB% MB
|
|
|
|
|
|
if /i "%imageAction%" EQU "D" set "imagepathbackAdj=%imagepathback%_DeflickerOff"
|
|
if /i "%imageAction%" EQU "R" set "imagepathbackAdj=%imagepathback%_DeflickerOn"
|
|
set "CurrentImageAdj=%imagepathbackAdj%\%imagefile%"
|
|
if not exist "%imagepathbackAdj%" mkdir "%imagepathbackAdj%"
|
|
echo Copying...
|
|
::sfk copy only if newer, -mirror arg will overwrite even if older
|
|
support\sfk copy "%CurrentImage%" "%CurrentImageAdj%" -mirror -yes
|
|
echo Saved to "%CurrentImageAdj%"
|
|
:NoCopy
|
|
|
|
|
|
::Disabling GXSetCopyFilter for GameCube games https://gbatemp.net/threads/possible-to-disable-the-wiis-de-flicker-filter.477163/post-9492091
|
|
echo Patching...
|
|
::Version 1 (for games compiled with gx.a); e.g. Resident Evil - Code Veronica X
|
|
::Replace
|
|
set str1=91238000988380009143800041820068
|
|
::with
|
|
set str2=91238000988380009143800048000068
|
|
|
|
::check if already patched (easier to do first) binary search \ hex search (see CollectWadInfo.bat for e.g. of searching multiple files)
|
|
if /i "%imageAction%" EQU "D" support\sfk hexfind "%CurrentImageAdj%" -binary /%str2%/ >nul
|
|
if /i "%imageAction%" EQU "R" support\sfk hexfind "%CurrentImageAdj%" -binary /%str1%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 goto:PatchedAlready
|
|
|
|
::-firsthit arg used so it will only replace the first hit, have it on good authority that there will never be more than 1 so this speeds things up a bit
|
|
if /i "%imageAction%" EQU "D" support\sfk replace "%CurrentImageAdj%" -binary /%str1%/%str2%/ -firsthit -yes>"temp\patches.txt"
|
|
if /i "%imageAction%" EQU "R" support\sfk replace "%CurrentImageAdj%" -binary /%str2%/%str1%/ -firsthit -yes>"temp\patches.txt"
|
|
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF not ERRORLEVEL 1 goto:nextversion
|
|
::confirm 1 change made in 1 file by finding this output "[001/1/0] "
|
|
findStr /I /C:"[001/1/0] " "temp\patches.txt" >nul
|
|
::ERRORLEVEL 1 means not found
|
|
IF not ERRORLEVEL 1 goto:PatchSuccess
|
|
::if here it means multiple patches applied
|
|
goto:PatchError
|
|
|
|
|
|
:nextversion
|
|
::Version 2 (for games compiled with Dolphin.a); e.g. "Spider-Man 2 [GK2P52]"
|
|
::Replace
|
|
set str1=91048000994480009124800041820040
|
|
::with
|
|
set str2=91048000994480009124800048000040
|
|
|
|
::check if already patched (easier to do first) binary search \ hex search (see CollectWadInfo.bat for e.g. of searching multiple files)
|
|
if /i "%imageAction%" EQU "D" support\sfk hexfind "%CurrentImageAdj%" -binary /%str2%/ >nul
|
|
if /i "%imageAction%" EQU "R" support\sfk hexfind "%CurrentImageAdj%" -binary /%str1%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 goto:PatchedAlready
|
|
|
|
::-firsthit arg used so it will only replace the first hit, have it on good authority that there will never be more than 1 so this speeds things up a bit
|
|
if /i "%imageAction%" EQU "D" support\sfk replace "%CurrentImageAdj%" -binary /%str1%/%str2%/ -firsthit -yes>"temp\patches.txt"
|
|
if /i "%imageAction%" EQU "R" support\sfk replace "%CurrentImageAdj%" -binary /%str2%/%str1%/ -firsthit -yes>"temp\patches.txt"
|
|
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF not ERRORLEVEL 1 goto:nextversion
|
|
::confirm 1 change made in 1 file by finding this output "[001/1/0] "
|
|
findStr /I /C:"[001/1/0] " "temp\patches.txt" >nul
|
|
::ERRORLEVEL 1 means not found
|
|
IF not ERRORLEVEL 1 goto:PatchSuccess
|
|
::if here it means multiple patches applied
|
|
goto:PatchError
|
|
|
|
|
|
:nextversion
|
|
::Version 3 (for games compiled with SN Systems ProDG SDK)
|
|
::Replace
|
|
set str1=912B8000980B8000910B80004182005C
|
|
::with
|
|
set str2=912B8000980B8000910B80004800005C
|
|
|
|
::check if already patched (easier to do first) binary search \ hex search (see CollectWadInfo.bat for e.g. of searching multiple files)
|
|
if /i "%imageAction%" EQU "D" support\sfk hexfind "%CurrentImageAdj%" -binary /%str2%/ >nul
|
|
if /i "%imageAction%" EQU "R" support\sfk hexfind "%CurrentImageAdj%" -binary /%str1%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 goto:PatchedAlready
|
|
|
|
::-firsthit arg used so it will only replace the first hit, have it on good authority that there will never be more than 1 so this speeds things up a bit
|
|
if /i "%imageAction%" EQU "D" support\sfk replace "%CurrentImageAdj%" -binary /%str1%/%str2%/ -firsthit -yes>"temp\patches.txt"
|
|
if /i "%imageAction%" EQU "R" support\sfk replace "%CurrentImageAdj%" -binary /%str2%/%str1%/ -firsthit -yes>"temp\patches.txt"
|
|
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF not ERRORLEVEL 1 goto:nextversion
|
|
::confirm 1 change made in 1 file by finding this output "[001/1/0] "
|
|
findStr /I /C:"[001/1/0] " "temp\patches.txt" >nul
|
|
::ERRORLEVEL 1 means not found
|
|
IF not ERRORLEVEL 1 goto:PatchSuccess
|
|
::if here it means multiple patches applied
|
|
goto:PatchError
|
|
|
|
|
|
|
|
:nextversion
|
|
::DISABLED: Version 4 (for games compiled with gxD.a); e.g. "Sega Soccer Slam"; only 1 example?
|
|
::disabled as string gets replaced 3 times and almost no games use it. Can maybe be done with enough research, would need to convert ciso to iso and extract start.dol using gcr.exe (www.romhacking.net/utilities/619) then patch following the process from below link, repack, and analyze changes to ciso\iso to determine how to automate without unpacking
|
|
::https://gbatemp.net/threads/possible-to-disable-the-wiis-de-flicker-filter.477163/page-28#post-9623347
|
|
goto:NoPatch
|
|
|
|
::Replace
|
|
set str1=7C0802A6900100049421FFC0BF61002C986100087C9E237898A100103B660000
|
|
::with
|
|
set str2=4E800020900100049421FFC0BF61002C986100087C9E237898A100103B660000
|
|
|
|
::check if already patched (easier to do first) binary search \ hex search (see CollectWadInfo.bat for e.g. of searching multiple files)
|
|
if /i "%imageAction%" EQU "D" support\sfk hexfind "%CurrentImageAdj%" -binary /%str2%/ >nul
|
|
if /i "%imageAction%" EQU "R" support\sfk hexfind "%CurrentImageAdj%" -binary /%str1%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 goto:PatchedAlready
|
|
|
|
::-firsthit not included in the below as there may be more than one hit if something goes wrong
|
|
if /i "%imageAction%" EQU "D" support\sfk replace "%CurrentImageAdj%" -binary /%str1%/%str2%/ -yes>"temp\patches.txt"
|
|
if /i "%imageAction%" EQU "R" support\sfk replace "%CurrentImageAdj%" -binary /%str2%/%str1%/ -yes>"temp\patches.txt"
|
|
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF not ERRORLEVEL 1 goto:NoPatch
|
|
::confirm 1 change made in 1 file by finding this output "[001/1/0] "
|
|
findStr /I /C:"[001/1/0] " "temp\patches.txt" >nul
|
|
::ERRORLEVEL 1 means not found
|
|
IF not ERRORLEVEL 1 goto:PatchSuccess
|
|
::if here it means multiple patches applied
|
|
goto:PatchError
|
|
|
|
::shouldn't make it here
|
|
goto:%EOF%
|
|
|
|
:skipGC
|
|
|
|
|
|
|
|
if /i "%gametype%" NEQ "Wii" goto:skipWiiGame
|
|
|
|
|
|
::echo imagefile: "%imagefile%"
|
|
::echo imagepath: "%imagepath%"
|
|
::echo imagepathback: "%imagepathback%"
|
|
|
|
|
|
::save a copy if applicable
|
|
if /i "%CopyQ%" EQU "N" goto:NoCopy
|
|
|
|
if /i "%imageAction%" EQU "D" set "imagepathbackAdj=%imagepathback%_DeflickerOff"
|
|
if /i "%imageAction%" EQU "R" set "imagepathbackAdj=%imagepathback%_DeflickerOn"
|
|
set "CurrentImageAdj=%imagepathbackAdj%\%imagefile%"
|
|
|
|
::echo imagepathbackAdj: "%imagepathbackAdj%"
|
|
::echo CurrentImageAdj: "%CurrentImageAdj%"
|
|
|
|
:NoCopy
|
|
|
|
|
|
|
|
echo Extracting game contents...
|
|
|
|
::check if enough free space check
|
|
set MegaBytesRequired=1
|
|
|
|
%wit% list-l --recurse "%CurrentImage%">temp\gametotal.bat
|
|
::%wit% list-l --unit GB --recurse "%CurrentImage%">temp\gametotal.bat
|
|
|
|
::---get required MB-------
|
|
support\sfk filter temp\gametotal.bat -ls+Total -rep _*", "_"set MegaBytesRequired="_ -rep _" MiB*"__ -write -yes>nul
|
|
if exist temp\gametotal.bat call temp\gametotal.bat
|
|
if exist temp\gametotal.bat del temp\gametotal.bat>nul
|
|
|
|
::add a bit of buffer just in case
|
|
set /a MegaBytesRequired=%MegaBytesRequired%+20
|
|
|
|
::echo Game size (MegaBytesRequired) is %MegaBytesRequired% MB
|
|
|
|
::Will need double space if copying ONLY IF file saved to same drive as modmii\temp\witdump
|
|
if /i "%CopyQ%" EQU "N" goto:NoCopy
|
|
set BackupDrive=
|
|
if /i "%CurrentImage:~1,1%" EQU ":" (set BackupDrive=%CurrentImage:~0,2%) else (set set BackupDrive=%cd:~0,2%)
|
|
|
|
if /i "%BackupDrive%" NEQ "%cd:~0,2%" goto:NoCopy
|
|
|
|
support\sfk calc %MegaBytesRequired%*2>temp\MBrequired.txt
|
|
support\sfk filter temp\MBrequired.txt -rep _".*"__ -write -yes>nul
|
|
set /p MegaBytesRequired= <temp\MBrequired.txt
|
|
if exist temp\MBrequired.txt del temp\MBrequired.txt>nul
|
|
:NoCopy
|
|
|
|
::---check for free space---
|
|
set freespaceMB=99999999999999
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
support\sfk space "%cd:~0,2%">temp\freespaceMB.txt
|
|
support\sfk filter "temp\freespaceMB.txt" -rep _"*freemb="__ -write -yes>nul
|
|
set /p freespaceMB= <temp\freespaceMB.txt
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
::echo freespaceMB needed on "%cd:~0,2%" is %freespaceMB% MB
|
|
if %MegaBytesRequired% GEQ %freespaceMB% goto:NoSpace
|
|
|
|
|
|
::---check for free space x2---
|
|
if /i "%BackupDrive%" EQU "%cd:~0,2%" goto:skip
|
|
set freespaceMB=99999999999999
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
support\sfk space "%BackupDrive%">temp\freespaceMB.txt
|
|
support\sfk filter "temp\freespaceMB.txt" -rep _"*freemb="__ -write -yes>nul
|
|
set /p freespaceMB= <temp\freespaceMB.txt
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
::echo freespaceMB needed on "%BackupDrive%" is %freespaceMB% MB
|
|
if %MegaBytesRequired% GEQ %freespaceMB% goto:NoSpace
|
|
:skip
|
|
|
|
::echo MegaBytesRequired is %MegaBytesRequired% MB
|
|
::echo Total Free Space is approximately %freespaceMB% MB
|
|
|
|
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
|
|
::"--neek" is an Abbreviation of "--psel data --pmode none --files :neek --copy-gc"; it works fine for Wii games but "--copy-gc" is not desirable for GC
|
|
%wit% x --neek "%CurrentImage%" --DEST "temp\witdump" --progress
|
|
::Errorlevel 0 means success
|
|
IF ERRORLEVEL 0 goto:continue
|
|
|
|
::ERROR: unable to unpack
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk -spat echo [%yellowtext%]Error extracting game contents, skipping...
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
::an empty cygdrive folder may be created previous directory, so delete it!
|
|
if exist cygdrive rd /s /q cygdrive
|
|
goto:%EOF%
|
|
:continue
|
|
|
|
::an empty cygdrive folder may be created previous directory, so delete it!
|
|
if exist cygdrive rd /s /q cygdrive
|
|
|
|
|
|
::get list of dols
|
|
if exist temp\GameDols.txt del temp\GameDols.txt>nul
|
|
::check for file types, also in subdirectories
|
|
2>nul dir /s /b /a-d "temp\witdump\*.dol">temp\GameDols.txt
|
|
|
|
set /a DolNum=0
|
|
:NextDol
|
|
set /a DolNum=%DolNum%+1
|
|
if exist "temp\ImageDol.txt" del "temp\ImageDol.txt">nul
|
|
support\sfk filter temp\GameDols.txt -line=%DolNum% -+"?">"temp\ImageDol.txt"
|
|
|
|
::delete if file is empty, if empty it means we're out of dols
|
|
>nul findstr "^" "temp\ImageDol.txt" || del "temp\ImageDol.txt"
|
|
if exist "temp\ImageDol.txt" goto:continue
|
|
|
|
::No (more) dols!
|
|
|
|
if /i "%DolNum%" NEQ "1" goto:DoneDolPatching
|
|
|
|
::ERROR: NO DOLS FOUND! Erase dump\copy and skip image
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk -spat echo [%yellowtext%]Error! No dols found to patch, skipping...
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
goto:%EOF%
|
|
|
|
|
|
:continue
|
|
echo.
|
|
::patch each dol
|
|
set /p ImageDol= <"temp\ImageDol.txt"
|
|
echo Patching dol %DolNum%: "%ImageDol%"
|
|
|
|
::patch dol
|
|
::Disabling GXSetCopyFilter for Wii games
|
|
::Replace
|
|
set str1=5439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800041820040
|
|
::longer version of str1, only last 4 bytes change ::set str1=2C030000418200F8890400003800000089440001386000005100073E88E40006514026368904000C50E3073E38E000005107073E8944000D8964000739000000514726368944000289240012516326365140452E8944000E5128073E892400135147452E894400035128263689240014514064268944000F5128452E89240015514764268944000489640008512864265140831E89440010892400165163452E896400095147831E894400055128831E89240011516364268964000A5140A2168944000B5127A21688840017392000015163831E5143A2165088A2165120C00E3940000239200003388000045143C00E5127C00E5088C00E480000243D0001663C6002663CE003663C800466380866663863666638E76666390466663D20CC0139400061994980002C0500003880005339600000900980003800005439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800041820040
|
|
::with
|
|
set str2=5439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800048000040
|
|
::longer version of str2, only last 4 bytes change ::set str2=2C030000418200F8890400003800000089440001386000005100073E88E40006514026368904000C50E3073E38E000005107073E8944000D8964000739000000514726368944000289240012516326365140452E8944000E5128073E892400135147452E894400035128263689240014514064268944000F5128452E89240015514764268944000489640008512864265140831E89440010892400165163452E896400095147831E894400055128831E89240011516364268964000A5140A2168944000B5127A21688840017392000015163831E5143A2165088A2165120C00E3940000239200003388000045143C00E5127C00E5088C00E480000243D0001663C6002663CE003663C800466380866663863666638E76666390466663D20CC0139400061994980002C0500003880005339600000900980003800005439800000508BC00E99498000500CC00E906980009949800090E98000994980009109800048000040
|
|
|
|
::check if already patched (easier to do first) binary search \ hex search (see CollectWadInfo.bat for e.g. of searching multiple files)
|
|
if /i "%imageAction%" EQU "D" support\sfk hexfind "%ImageDol%" -binary /%str2%/ >nul
|
|
if /i "%imageAction%" EQU "R" support\sfk hexfind "%ImageDol%" -binary /%str1%/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 (echo dol patched already) & (set /a DolsAlreadyPatched=%DolsAlreadyPatched%+1) & (goto:NextDol)
|
|
|
|
::-firsthit arg used so it will only replace the first hit, have it on good authority that there will never be more than 1 so this speeds things up a bit
|
|
if /i "%imageAction%" EQU "D" support\sfk replace "%ImageDol%" -binary /%str1%/%str2%/ -firsthit -yes>"temp\patches.txt"
|
|
if /i "%imageAction%" EQU "R" support\sfk replace "%ImageDol%" -binary /%str2%/%str1%/ -firsthit -yes>"temp\patches.txt"
|
|
|
|
::ERRORLEVEL 1 means replacement successful
|
|
IF ERRORLEVEL 1 (echo dol patched successfully) & (set /a DolsPatched=%DolsPatched%+1) & (goto:NextDol)
|
|
echo dol NOT patched, continuing...
|
|
goto:NextDol
|
|
|
|
::::confirm 1 change made in 1 file by finding this output "[001/1/0] " :: NO POINT WHEN USING -firsthit
|
|
::findStr /I /C:"[001/1/0] " "temp\patches.txt" >nul
|
|
::::ERRORLEVEL 1 means not found
|
|
::IF not ERRORLEVEL 1 goto:PatchSuccess
|
|
::::if here it means multiple patches applied
|
|
::goto:SomeNewErrorPlace...Abort!
|
|
|
|
|
|
|
|
:DoneDolPatching
|
|
::processed 1 or more dols here
|
|
|
|
::Correct\reduce DolNum count by 1
|
|
set /a DolNum=%DolNum%-1
|
|
|
|
echo.
|
|
if /i "%DolsAlreadyPatched%" EQU "0" echo %DolNum% dol(s) found: %DolsPatched% patched
|
|
if /i "%DolsAlreadyPatched%" NEQ "0" echo %DolNum% dol(s) found: %DolsPatched% patched and %DolsAlreadyPatched% already patched
|
|
|
|
|
|
if /i "%DolsPatched%" NEQ "0" goto:continue
|
|
::No Dols patched! Now determine if already fully patched or already partially patched
|
|
if /i "%DolsAlreadyPatched%" EQU "%DolNum%" goto:PatchedAlreadyWii
|
|
if /i "%DolsAlreadyPatched%" NEQ "0" goto:PartiallyPatchedAlreadyWii
|
|
if /i "%DolsAlreadyPatched%" EQU "0" goto:NoPatchWii
|
|
:continue
|
|
|
|
|
|
::Some Dols patched! Repack now
|
|
|
|
if /i "%CopyQ%" EQU "N" goto:NoCopy
|
|
if not exist "%imagepathbackAdj%" mkdir "%imagepathbackAdj%"
|
|
:NoCopy
|
|
echo.
|
|
echo Reconstructing game file(s)...
|
|
|
|
|
|
::::if destination drive is FAT32, force split WBFS
|
|
::if not "%ForceSplit%"=="" goto:noForce
|
|
::if /i "%CurrentImageAdj:~-4%" EQU ".iso" echo Destination Drive is FAT32! Forcing ISO output to be split into WBFS files
|
|
::if /i "%CurrentImageAdj:~-4%" EQU ".iso" set "CurrentImageAdj=%CurrentImageAdj:~0,-4%.wbfs"
|
|
::if /i "%CurrentImageAdj:~-5%" EQU ".ciso" echo Destination Drive is FAT32! Forcing CISO output to be split into WBFS files
|
|
::if /i "%CurrentImageAdj:~-5%" EQU ".ciso" set "CurrentImageAdj=%CurrentImageAdj:~0,-5%.wbfs"
|
|
:::noForce
|
|
|
|
::ForceSplit is disabled WAY above
|
|
::"--raw" wit.exe argument may be useful if any issues encountered (but wbfs files will much larger)
|
|
if /i "%CurrentImageAdj:~-4%" EQU ".iso" %wit% copy "temp\witdump" "%CurrentImageAdj%" --iso%ForceSplit% --progress --overwrite
|
|
if /i "%CurrentImageAdj:~-5%" EQU ".ciso" %wit% copy "temp\witdump" "%CurrentImageAdj%" --ciso%ForceSplit% --progress --overwrite
|
|
::always split WBFS files
|
|
if /i "%CurrentImageAdj:~-3%" NEQ "iso" %wit% copy "temp\witdump" "%CurrentImageAdj%" --wbfs --split --progress --overwrite
|
|
|
|
|
|
::Errorlevel 0 means success
|
|
IF not ERRORLEVEL 0 goto:RepackErrorWii
|
|
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
|
|
::SUCCESS! Now determine if fully patched or partially patched
|
|
set /a TotalDolsPatched=%DolsPatched%+%DolsAlreadyPatched%
|
|
|
|
if /i "%DolNum%" EQU "%TotalDolsPatched%" goto:PatchSuccess
|
|
|
|
::Patches made to some but not all dols
|
|
::if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk echo [%megantatext%]Partially Patched; %TotalDolsPatched% of %DolNum% dols patched
|
|
set /a PartiallyPatched=%PartiallyPatched%+1
|
|
goto:%EOF%
|
|
|
|
:skipWiiGame
|
|
|
|
::shouldn't make it here, but EOF just in case
|
|
goto:%EOF%
|
|
|
|
|
|
::------Logging--------
|
|
|
|
:PatchSuccess
|
|
::if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk echo [%greentext%]Patched Successfully!
|
|
set /a ImagesPatched=%ImagesPatched%+1
|
|
goto:%EOF%
|
|
|
|
:NoSpace
|
|
::if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk echo [%yellowtext%]Not enough free space on disk, skipping...
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
goto:%EOF%
|
|
|
|
|
|
::------GC Logging (with deletions for COPY operations)--------
|
|
|
|
:PatchedAlready
|
|
support\sfk echo [%greentext%]Already Patched!
|
|
::delete only if copy
|
|
set /a PatchedAlready=%PatchedAlready%+1
|
|
if /i "%CopyQ%" EQU "N" goto:%EOF%
|
|
if exist "%CurrentImageAdj%" del "%CurrentImageAdj%">nul
|
|
::empty folder check, if not empty goto something, if empty delete it
|
|
dir /A /B "%imagepathbackAdj%" | findstr /R ".">NUL && goto:notempty
|
|
rd /s /q "%imagepathbackAdj%"> nul
|
|
:notempty
|
|
::already added to count above
|
|
::set /a PatchedAlready=%PatchedAlready%+1
|
|
goto:%EOF%
|
|
|
|
:PatchError
|
|
if /i "%CopyQ%" EQU "N" (support\sfk echo [%redtext%]Error! Too many replacements made, game may be corrupted...) & (set /a ImagesBroken=%ImagesBroken%+1) & (goto:%EOF%)
|
|
|
|
::delete ONLY if COPY, and skip
|
|
support\sfk -spat echo [%yellowtext%]Error! Too many replacements made in copy, skipping...
|
|
if exist "%CurrentImageAdj%" del "%CurrentImageAdj%">nul
|
|
::empty folder check, if not empty goto something, if empty delete it
|
|
dir /A /B "%imagepathbackAdj%" | findstr /R ".">NUL && goto:notempty
|
|
rd /s /q "%imagepathbackAdj%"> nul
|
|
:notempty
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
goto:%EOF%
|
|
|
|
|
|
:NoPatch
|
|
support\sfk echo [%yellowtext%]Unable to locate strings to patch, skipping...
|
|
::delete only if copy
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
if /i "%CopyQ%" EQU "N" goto:%EOF%
|
|
if exist "%CurrentImageAdj%" del "%CurrentImageAdj%">nul
|
|
::empty folder check, if not empty goto something, if empty delete it
|
|
dir /A /B "%imagepathbackAdj%" | findstr /R ".">NUL && goto:notempty
|
|
rd /s /q "%imagepathbackAdj%"> nul
|
|
:notempty
|
|
::already added to count above
|
|
::set /a ImagesSkipped=%ImagesSkipped%+1
|
|
goto:%EOF%
|
|
|
|
::------Wii Logging--------
|
|
:NoPatchWii
|
|
::ERROR: NO DOLS WERE CHANGED! Erase temp\witdump and skip image
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk echo [%yellowtext%]Unable to locate strings to patch, skipping...
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
goto:%EOF%
|
|
|
|
:PatchedAlreadyWii
|
|
::ALL dols patched already
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk echo [%greentext%]Already Patched!
|
|
set /a PatchedAlready=%PatchedAlready%+1
|
|
goto:%EOF%
|
|
|
|
:PartiallyPatchedAlreadyWii
|
|
::SOME dols patched already
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
support\sfk echo [%yellowtext%]No changes made, %DolsAlreadyPatched% of %DolNum% dols already patched, skipping...
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
goto:%EOF%
|
|
|
|
:RepackErrorWii
|
|
::wit failed to repack
|
|
if exist "temp\witdump" rd /s /q "temp\witdump">nul
|
|
if /i "%CopyQ%" EQU "N" (support\sfk echo [%redtext%]Error Reconstructing WBFS! Game may be corrupted...) & (set /a ImagesBroken=%ImagesBroken%+1) & (goto:%EOF%)
|
|
::delete ONLY if COPY, and skip
|
|
support\sfk echo [%yellowtext%]Error Reconstructing copy of WBFS! No changes made, skipping...
|
|
if exist "%CurrentImageAdj%" del "%CurrentImageAdj%">nul
|
|
::empty folder check, if not empty goto something, if empty delete it
|
|
dir /A /B "%imagepathbackAdj%" | findstr /R ".">NUL && goto:notempty
|
|
rd /s /q "%imagepathbackAdj%"> nul
|
|
:notempty
|
|
set /a ImagesSkipped=%ImagesSkipped%+1
|
|
goto:%EOF%
|
|
|
|
|
|
:skipimage2count2
|
|
|
|
echo.
|
|
|
|
support\sfk echo -spat [%redtext%]Finished Processing %image2count% Game Image\x28s\x29
|
|
|
|
if /i "%AudioOption%" NEQ "on" goto:nosound
|
|
if /i "%ImagesBroken%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:nosound
|
|
|
|
If /i "%ImagesPatched%" NEQ "0" support\sfk.exe echo -spat [%greentext%]%ImagesPatched% Game\x28s\x29 patched successfully
|
|
If /i "%PatchedAlready%" NEQ "0" support\sfk.exe echo -spat [%greentext%]%PatchedAlready% Game\x28s\x29 patched already
|
|
If /i "%PartiallyPatched%" NEQ "0" support\sfk.exe echo -spat [%magentatext%]%PartiallyPatched% Game\x28s\x29 partially patched
|
|
If /i "%ImagesSkipped%" NEQ "0" support\sfk.exe echo -spat [%yellowtext%]%ImagesSkipped% Game\x28s\x29 skipped
|
|
If /i "%ImagesBroken%" NEQ "0" support\sfk.exe echo -spat [%redtext%]%ImagesBroken% Game\x28s\x29 may have been corrupted
|
|
echo See above for details.
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]To copy this information press Ctrl+A then Ctrl+C
|
|
echo (To exit you can close this window or press enter)
|
|
set /p promptO=
|
|
exit
|
|
|
|
:notgameimage
|
|
|
|
|
|
|
|
|
|
::-----------HashMyFiles-----------------
|
|
:HashMyFiles
|
|
|
|
if not exist "%cmdinput%\" goto:skip
|
|
|
|
::empty folder check, if not empty goto something, if empty do nothing
|
|
dir /A /B "%cmdinput%" | findstr /R ".">NUL && goto:HashMyFiles2
|
|
::rd /s /q "%cmdinput%"> nul
|
|
echo Bro this folder is empty... exiting...
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
exit
|
|
:skip
|
|
|
|
if not exist "%cmdinput%" goto:donthash
|
|
::sanity check for LZ77
|
|
set start=
|
|
if exist "%temp%\hexdump.txt" del "%temp%\hexdump.txt">nul
|
|
support\sfk hexdump -pure -nofile -offlen 0x00 0x04 "%cmdinput%">"%temp%\hexdump.txt"
|
|
set /p start= <"%temp%\hexdump.txt"
|
|
::4C5A3737 is LZ77 in hex
|
|
::echo if "%start%" is 4C5A3737 it is already compressed
|
|
|
|
:HashMyFiles2
|
|
|
|
if not exist "%cmdinput%" goto:donthash
|
|
if /i "%cmdinput%" EQU "%windir%\system32\cmd.exe " goto:donthash
|
|
if /i "%cmdinput%" EQU "%windir%\system32\cmd.exe" goto:donthash
|
|
|
|
cls
|
|
support\sfk echo [%redtext%]ModMii v%currentversion%
|
|
echo.
|
|
support\sfk echo Dropped item: [%bluetext%]"%cmdinput%"
|
|
echo.
|
|
echo I don't have a dedicated function for this, do you want to perform one of the following:
|
|
echo.
|
|
|
|
if exist "%cmdinput%\" goto:skip
|
|
If /i "%start%" NEQ "4C5A3737" echo C = save a Compressed copy using LZ77Helper (file is currently decompressed)
|
|
If /i "%start%" EQU "4C5A3737" echo D = save a Decompressed copy using LZ77Helper (file is currently compressed)
|
|
:skip
|
|
|
|
if exist "%cmdinput%\" echo C = Compress folder contents using LZ77Helper
|
|
if exist "%cmdinput%\" echo D = Decompress folder contents using LZ77Helper
|
|
echo H = Calculate hashes with HashMyFiles
|
|
echo E = Exit
|
|
echo.
|
|
echo Pro tips! To (de)compress multiple files\folders dragged all at once with only one prompt use LZ77 Helper directly.
|
|
echo Add HashMyFiles to your right-click by choosing the 'Enable Explorer Context Menu' from its Options menu!
|
|
echo To hash files in subfolders, copy ^& paste or drag and drop files into the HashMyFiles window.
|
|
echo.
|
|
set promptO="
|
|
set /p promptO=Enter Selection Here:
|
|
set "promptO=%promptO:"=%"
|
|
If /i "%promptO%" EQU "E" exit
|
|
|
|
If /i "%promptO%" NEQ "H" goto:skiphash
|
|
if exist "%homedrive%\Program Files (x86)" (set code2=hashmyfiles-x64) else (set code2=hashmyfiles)
|
|
|
|
if exist temp\%code2%\hashmyfiles.exe goto:skipDL
|
|
echo.
|
|
echo Downloading %code2% to check "%cmdinput%"
|
|
support\wget --no-check-certificate -t 3 "https://www.nirsoft.net/utils/%code2%.zip" -q --show-progress
|
|
if exist %code2%.zip support\7za x -aoa "%code2%.zip" -o"temp\%code2%" -r
|
|
if exist %code2%.zip move /y %code2%.zip temp\%code2%.zip>nul
|
|
:skipDL
|
|
if not exist temp\%code2%\hashmyfiles.exe (echo %code2% failed to download, exiting...) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
::using the folder command successfully searches subdirectories, but it opens a new instance of the app each time
|
|
::if exist "%cmdinput%\" start temp\%code2%\hashmyfiles.exe /folder "%cmdinput%"
|
|
::if not exist "%cmdinput%\" start temp\%code2%\hashmyfiles.exe /file "%cmdinput%"
|
|
|
|
::fix for items dropped with relative path
|
|
If /i "%cmdinput:~1,1%" NEQ ":" set "cmdinput=%cd%\%cmdinput%"
|
|
|
|
start temp\%code2%\hashmyfiles.exe /file "%cmdinput%"
|
|
exit
|
|
:skiphash
|
|
|
|
|
|
If /i "%promptO%" EQU "C" goto:LaunchLZ77Helper
|
|
If /i "%promptO%" NEQ "D" goto:badkey
|
|
:LaunchLZ77Helper
|
|
if exist "%cmdinput%\" goto:doit
|
|
|
|
If /i "%start%" NEQ "4C5A3737" goto:skip
|
|
If /i "%promptO%" EQU "C" goto:badkey
|
|
If /i "%promptO%" EQU "D" goto:doit
|
|
:skip
|
|
If /i "%promptO%" EQU "D" goto:badkey
|
|
|
|
:doit
|
|
|
|
call Support\subscripts\dependency.bat LZ77Helper
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:HashMyFiles2)
|
|
|
|
::fix for items dropped with relative path
|
|
If /i "%cmdinput:~1,1%" NEQ ":" set "cmdinput=%cd%\%cmdinput%"
|
|
start temp\LZ77Helper\LZ77Helper.bat -%promptO% "%cmdinput%"
|
|
exit
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:HashMyFiles2
|
|
|
|
:donthash
|
|
|
|
|
|
|
|
|
|
|
|
:specificCMDhelp
|
|
if /i "%one%" EQU "W" goto:cmdlinewizardhelp
|
|
if /i "%one%" EQU "RC" goto:cmdlineRegionChangehelp
|
|
if /i "%one%" EQU "HS" goto:cmdlineHMhelp
|
|
if /i "%one%" EQU "S" goto:cmdlineSNEEKhelp
|
|
if /i "%one%" EQU "SE" goto:cmdlineEMUNANDhelp
|
|
if /i "%one%" EQU "U" goto:cmdlineUSBhelp
|
|
if /i "%one%" EQU "E" goto:cmdlineEMUNANDhelp
|
|
if /i "%one%" EQU "L" goto:cmdlineDLQUEUEhelp
|
|
if /i "%one%" EQU "SU" goto:cmdlineSYSCHECKhelp
|
|
if /i "%one%" EQU "O" goto:cmdlineOPTIONShelp
|
|
if /i "%one%" EQU "AW" goto:cmdlineAWhelp
|
|
if /i "%one%" EQU "D" goto:cmdlineDhelp
|
|
|
|
|
|
if not "%one%"=="" (goto:cmdlinehelp)
|
|
|
|
:cmdlinehelp
|
|
::title ModMii Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii v%currentversion% Command Line Help
|
|
echo.
|
|
echo Command Line Usage: ModMii [function] [parameters] [Options]
|
|
echo.
|
|
echo Functions:
|
|
echo.
|
|
echo W Wizard
|
|
echo AW Abstinence Wizard
|
|
echo U USB-Loader Set-up
|
|
echo HS HackMii Solutions
|
|
echo SU SysCheck Updater
|
|
echo RC Region Change
|
|
echo S SNEEK Installation
|
|
echo E Emulated NAND Builder
|
|
echo SE SNEEK Installation + Emulated NAND Builder
|
|
echo L Load ModMii Download Queue
|
|
echo.
|
|
echo O ModMii Options: Options cannot be used by themselves
|
|
echo but they can be applied to other functions. Saved\default
|
|
echo settings will be restored after each command. If an
|
|
echo option is not defined saved\default settings are used.
|
|
echo.
|
|
echo D Drag and Drop Help and Info on supported files\folders
|
|
echo.
|
|
echo NOTE: Too see detailed descriptions and parameters for any of the above,
|
|
echo use 'ModMii [function] Help'
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
|
|
:cmdlineRegionChangehelp
|
|
::title ModMii Region Change Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii Region Change Command Line Help
|
|
echo.
|
|
echo ModMii.exe RC DesiredSystemMenu Extras Options
|
|
echo.
|
|
echo DesiredSystemMenu: #.#X
|
|
echo where; "#.#" can be "4.1", "4.2" or "4.3" and "X" can be "U", "E", "J", "K"
|
|
echo.
|
|
echo Extras:
|
|
echo "Red" Red Theme [cannot be used simultaneously with other themes]
|
|
echo "Green" Green Theme [cannot be used simultaneously with other themes]
|
|
echo "Blue" Blue Theme [cannot be used simultaneously with other themes]
|
|
echo "Orange" Orange Theme [cannot be used simultaneously with other themes]
|
|
echo.
|
|
echo "Guide" Generate Guide ONLY
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe RC 4.1U
|
|
echo ModMii.exe RC 4.2E Red
|
|
echo ModMii.exe RC 4.3J Orange Guide
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
|
|
:cmdlinewizardhelp
|
|
::title ModMii Wizard Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii Wizard Command Line Help
|
|
echo.
|
|
echo ModMii.exe W CurrentFirm Region DesiredFirm Extras Options
|
|
echo.
|
|
echo ModMii.exe 1 2 3 4 5 Extras Options
|
|
echo.
|
|
echo 1) Wizard "W"
|
|
echo 2) CurrentSystemMenu: Wii Options: "4.3","4.2","4.1","4.0","3.X" [3.0-3.5], "O" [other ^<2.2]
|
|
echo WiiU Options: "U2" [WiiU+vWii mods], "U" [WiiU only mods], "V" [vWii only mods]
|
|
echo 3) Region: Wii Options: "U","E","J","K"
|
|
echo WiiU Options: "U","E","J"
|
|
echo. If your Region has been changed select the Region you are currently on
|
|
echo 4) DesiredSystemMenu (Optional): Wii Options: "4.1", "4.2", "4.3" [n\a for WiiU or vWii]
|
|
echo Note: If DesiredSystemMenu not specified ModMii uses recommended System Menu
|
|
echo.
|
|
echo Extras:
|
|
echo "Guide" Generate Guide ONLY
|
|
echo.
|
|
echo Extras for Wii ^& vWii (including WiiU+vWii):
|
|
echo.
|
|
echo "Default" Reinstall Default Theme [cannot be used simultaneously with other themes]
|
|
echo "Red" Red Theme [cannot be used simultaneously with other themes]
|
|
echo "Green" Green Theme [cannot be used simultaneously with other themes]
|
|
echo "Blue" Blue Theme [cannot be used simultaneously with other themes]
|
|
echo "Orange" Orange Theme [cannot be used simultaneously with other themes]
|
|
echo.
|
|
echo "USB" Set-up a USB-loader [choose no more than one of each A and B]
|
|
echo A - "CFG" Use Configurable USB-Loader
|
|
echo "FLOW" Use WiiFlow
|
|
echo "GX" Use USB-Loader GX [default]
|
|
echo "CFG-FLOW-GX" Use Configurable USB-Loader, WiiFlow and USB-Loader GX
|
|
echo B - "USBConfig" Save USB-Loader Config files to USB [default]
|
|
echo "SDConfig" Save USB-Loader Config files to SD Card
|
|
echo.
|
|
echo Extras for Wii only:
|
|
echo.
|
|
echo "CH" All Wii Channels [ie. Photo, Mii, etc.]
|
|
echo "PHOTO" Photo Channel
|
|
echo "SHOP" Shopping Channel [and IOS56]
|
|
echo "MII" Mii Channel
|
|
::echo "SPEAK" Wii Speak Channel [not applicable to Korean Wiis]
|
|
::echo "NEWS" News Channel [not applicable to Korean Wiis]
|
|
echo "NET" Internet Channel [not applicable to Korean Wiis]
|
|
::echo "WEATHER" Weather Channel [not applicable to Korean Wiis]
|
|
echo.
|
|
echo "Min" Minimal Update - Choose one or more of the following updates:
|
|
echo "HBC" Homebrew Channel and\or Bootmii
|
|
echo "REC" Recommended cIOSs (and cMIOS if enabled in options)
|
|
echo "Pri" Priiloader and hacks_hash.ini
|
|
echo.
|
|
echo "str2hax" to use str2hax
|
|
echo "MAC:aabbccddeeff" to use Wilbrand 4.3 exploit
|
|
echo "LetterBomb" to use LetterBomb 4.3 exploit
|
|
echo.
|
|
echo Force a disc based exploit for 4.3 and ^<2.2 Wii's
|
|
echo "SmashStack" Smash Stack (U\E\J\K)
|
|
echo "IndianaPwns" IndianaPwns (U\E\J)
|
|
echo "Bathaxx" Bathaxx (U\E\J)
|
|
echo "ROTJ" Return of the Jodi (U\E\J)
|
|
echo "YuGiOwned" Yu-Gi Owned (U\E\J)
|
|
echo "EriHakawai" Eri Hakawai (U\E\J)
|
|
echo "Twilight" Twilight Hack (^<2.2 U\E\J\K)
|
|
echo "AllExploits" All Exploits
|
|
echo.
|
|
echo Notes:
|
|
echo Default for 4.3 Wii's is "AllExploits"
|
|
echo Default for ^<2.2 Wii's is "AllExploits"
|
|
echo Guides for 3.0-4.2 Wii's always use Bannerbomb as primary
|
|
echo.
|
|
echo Extras for vWii only (excluding WiiU+vWii):
|
|
echo.
|
|
echo Force an exploit
|
|
echo "Browser" Browser Exploit (U\E\J)
|
|
echo "SmashStack" Smash Stack (U\E\J)
|
|
echo "IndianaPwns" IndianaPwns (U\E\J)
|
|
echo "Bathaxx" Bathaxx (U\E\J)
|
|
echo "ROTJ" Return of the Jodi (U\E\J)
|
|
echo "YuGiOwned" Yu-Gi Owned (U\E\J)
|
|
echo "EriHakawai" Eri Hakawai (U\E\J)
|
|
echo "AllExploits" All Exploits [Default]
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe W 4.3 U
|
|
echo ModMii.exe W 4.1 U 4.2 Blue CH USB
|
|
echo ModMii.exe W 4.3 E 4.1 MII PHOTO Min REC Green
|
|
echo ModMii.exe W O J Green USB Flow SDConfig
|
|
echo ModMii.exe W U Guide
|
|
echo ModMii.exe W U2 E Default USB
|
|
echo ModMii.exe W V J Red Browser
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
|
|
:cmdlineAWhelp
|
|
::title ModMii Abstinence Wizard Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii Abstinence Wizard Command Line Help
|
|
echo.
|
|
echo ModMii.exe AW SystemMenu SNEEK-TYPE SNKSystemMenu SNKRegion Extras Options
|
|
echo.
|
|
echo ModMii.exe 1 2 3 4 5 Extras Options
|
|
echo.
|
|
echo 1) Abstinence Wizard "AW"
|
|
echo 2) SystemMenu: "4.3","4.2","4.1","4.0","3.X" [3.0-3.5], "O" [other ^<2.2]
|
|
echo 3) SNEEK-TYPE: "S" SNEEK, "U" UNEEK, "SD" SNEEK+DI, "UD" UNEEK+DI
|
|
echo 4) SNKSystemMenu: "4.1", "4.2", "4.3"
|
|
echo 5) SNKRegion: "U","E","J","K"
|
|
echo.
|
|
echo Extras:
|
|
echo "Guide" Generate Guide ONLY
|
|
echo.
|
|
echo "str2hax" to use str2hax
|
|
echo "MAC:aabbccddeeff" to use Wilbrand 4.3 exploit
|
|
echo "LetterBomb" to use LetterBomb 4.3 exploit
|
|
echo.
|
|
echo Force a disc based exploit for 4.3 and ^<2.2 Wii's
|
|
echo "SmashStack" Smash Stack (U\E\J\K)
|
|
echo "IndianaPwns" IndianaPwns (U\E\J)
|
|
echo "Bathaxx" Bathaxx (U\E\J)
|
|
echo "ROTJ" Return of the Jodi (U\E\J)
|
|
echo "YuGiOwned" Yu-Gi Owned (U\E\J)
|
|
echo "EriHakawai" Eri Hakawai (U\E\J)
|
|
echo "Twilight" Twilight Hack (^<2.2 U\E\J\K)
|
|
echo "AllExploits" All Exploits
|
|
echo.
|
|
echo Notes:
|
|
echo Default for 4.3 Wii's is "AllExploits"
|
|
echo Default for ^<2.2 Wii's is "AllExploits"
|
|
echo Guides for 3.0-4.2 Wii's always use Bannerbomb as primary
|
|
echo.
|
|
echo "Rev:#" Build a Specific Rev # of neek or neek2o
|
|
echo.
|
|
echo Note: If a Rev # is not specified ModMii will build the
|
|
echo rev currently Featured on the google-code page
|
|
echo (or newest version saved locally if you are offline).
|
|
echo If using this, you should also use the n2o argument.
|
|
echo.
|
|
echo "Red" Red Theme [cannot be used simultaneously with other themes]
|
|
echo "Green" Green Theme [cannot be used simultaneously with other themes]
|
|
echo "Blue" Blue Theme [cannot be used simultaneously with other themes]
|
|
echo "Orange" Orange Theme [cannot be used simultaneously with other themes]
|
|
echo.
|
|
echo "OHBC" Open Homebrew Channel (LULZ)
|
|
echo "PLC" postLoader Channel
|
|
echo "249" cIOS249 rev14
|
|
echo "Pri" Priiloader (and hacks)
|
|
echo "FLOW" WiiFlow Forwarder and App
|
|
echo.
|
|
echo "SN:Serial-Number" - default serial will be used if not specified
|
|
echo.
|
|
echo "CH" All Wii Channels [ie. Photo, Mii, etc.]
|
|
echo "PHOTO" Photo Channel
|
|
echo "SHOP" Shopping Channel
|
|
echo "MII" Mii Channel
|
|
::echo "SPEAK" Wii Speak Channel [not applicable to Korean NANDs]
|
|
::echo "NEWS" News Channel [not applicable to Korean NANDs]
|
|
echo "NET" Internet Channel [not applicable to Korean NANDs]
|
|
::echo "WEATHER" Weather Channel [not applicable to Korean NANDs]
|
|
|
|
echo.
|
|
echo "WADdir:Path?" - Optionally specify custom folder of WADs to install.
|
|
echo Note: do not forget the "?" which marks the end of the path
|
|
echo.
|
|
echo "n2o:E" Optional: force override settings to enable neek2o
|
|
echo "n2o:D" Optional: force override settings to disable neek2o
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe AW 4.2 SD 4.3 U
|
|
echo ModMii.exe AW o SD 4.3 J SmashStack
|
|
echo ModMii.exe AW 4.1 UD 4.2 E Orange PLC 249 Pri FLOW CH Rev:64 n2o:E
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
|
|
:cmdlineUSBhelp
|
|
::title ModMii USB-Loader Set-up Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii USB-Loader Set-up Command Line Help
|
|
echo.
|
|
echo ModMii.exe U Extras Options
|
|
echo.
|
|
echo Extras:
|
|
echo Choose no more than one of each A and B:
|
|
echo A - "CFG" Use Configurable USB-Loader
|
|
echo "FLOW" Use WiiFlow
|
|
echo "GX" Use USB-Loader GX [default]
|
|
echo "CFG-FLOW-GX" Use Configurable USB-Loader, WiiFlow and USB-Loader GX
|
|
echo B - "USBConfig" Save USB-Loader Config files to USB [default]
|
|
echo "SDConfig" Save USB-Loader Config files to SD Card
|
|
echo.
|
|
echo "Guide" Generate Guide ONLY
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe U
|
|
echo ModMii.exe U Flow
|
|
echo ModMii.exe U CFG-Flow SDConfig
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
:cmdlineHMhelp
|
|
::title ModMii HackMii Solutions Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii HackMii Solutions Command Line Help
|
|
echo.
|
|
echo ModMii.exe HS SystemMenu Extras Options
|
|
echo.
|
|
echo ModMii.exe 1 2 Extras Options
|
|
echo.
|
|
echo 1) HackMii Solutions "HS"
|
|
echo 2) SystemMenu: "4.3","4.2","4.1","4.0","3.X" [3.0-3.5], "O" [other ^<2.2]
|
|
echo.
|
|
echo Extras:
|
|
echo "Guide" Generate Guide ONLY
|
|
echo.
|
|
echo "str2hax" to use str2hax
|
|
echo "MAC:aabbccddeeff" to use Wilbrand 4.3 exploit
|
|
echo "LetterBomb" to use LetterBomb 4.3 exploit
|
|
echo.
|
|
echo Force a disc based exploit for 4.3 and ^<2.2 Wii's
|
|
echo "SmashStack" Smash Stack (U\E\J\K)
|
|
echo "IndianaPwns" IndianaPwns (U\E\J)
|
|
echo "Bathaxx" Bathaxx (U\E\J)
|
|
echo "ROTJ" Return of the Jodi (U\E\J)
|
|
echo "YuGiOwned" Yu-Gi Owned (U\E\J)
|
|
echo "EriHakawai" Eri Hakawai (U\E\J)
|
|
echo "Twilight" Twilight Hack (^<2.2 U\E\J\K)
|
|
echo "AllExploits" All Exploits
|
|
echo.
|
|
echo Notes:
|
|
echo Default for 4.3 Wii's is "AllExploits"
|
|
echo Default for ^<2.2 Wii's is "AllExploits"
|
|
echo Guides for 3.0-4.2 Wii's always use Bannerbomb as primary
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe HS 4.3
|
|
echo ModMii.exe HS 4.1
|
|
echo ModMii.exe HS 3.X
|
|
echo ModMii.exe HS o SmashStack
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
:cmdlineSYSCHECKhelp
|
|
::title ModMii SysCheck Updater Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii SysCheck Updater Command Line Help
|
|
echo.
|
|
echo ModMii.exe SU SysCheck.csv Extras Options
|
|
echo.
|
|
echo ModMii.exe 1 2 Extras Options
|
|
echo.
|
|
echo 1) SysCheck Updater "SU"
|
|
echo 2) SysCheck Log Path\Name
|
|
echo.
|
|
echo Extras:
|
|
echo "Guide" Generate Guide ONLY
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe SU SysCheck.csv
|
|
echo ModMii.exe SU X:\New Folder\SysCheck.csv
|
|
echo ModMii.exe SU "XFlaks-SysCheck.csv" Guide
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
:cmdlineSNEEKhelp
|
|
::title ModMii SNEEK Installation Command Line Help
|
|
support\sfk echo [%redtext%]ModMii SNEEK Installation Command Line Help
|
|
echo.
|
|
echo ModMii.exe S SNEEK-TYPE Extras Options
|
|
echo.
|
|
echo SNEEK-TYPE: "S" SNEEK, "U" UNEEK, "SD" SNEEK+DI, "UD" UNEEK+DI
|
|
echo.
|
|
echo Extras:
|
|
echo "Rev:#" Build a Specific Rev # of neek or neek2o
|
|
echo.
|
|
echo Note: If a Rev # is not specified ModMii will build the
|
|
echo rev currently Featured on the google-code page
|
|
echo (or newest version saved locally if you are offline).
|
|
echo If using this, you should also use the n2o argument.
|
|
echo.
|
|
echo "n2o:E" Optional: force override settings to enable neek2o
|
|
echo "n2o:D" Optional: force override settings to disable neek2o
|
|
echo.
|
|
support\sfk echo [%bluetext%]Example:
|
|
echo ModMii.exe S UD
|
|
echo ModMii.exe S SD Rev:64 n2o:E
|
|
echo.
|
|
echo Note: You can install S\UNEEK and simultaneously build an emulated
|
|
echo NAND using the Emulated NAND builder instructions below.
|
|
echo.
|
|
|
|
|
|
:cmdlineEMUNANDhelp
|
|
::title ModMii Emulated NAND Builder Command Line Help
|
|
support\sfk echo [%redtext%]ModMii Emulated NAND Builder Command Line Help
|
|
echo.
|
|
echo ModMii.exe E SNEEK-TYPE SystemMenu Region Extras Options
|
|
echo.
|
|
echo ModMii.exe 1 2 3 4 Extras Options
|
|
echo.
|
|
echo 1) Emulated NAND Builder "E" [or "SE" to install S\UNEEK AND build a NAND]
|
|
echo 2) SNEEK-TYPE: "S" SNEEK, "U" UNEEK, "SD" SNEEK+DI, "UD" UNEEK+DI
|
|
echo 3) SystemMenu: "4.1", "4.2", "4.3", "V" [for vWii EmuNAND building Only]
|
|
echo 4) Region: "U","E","J","K" [K not an option for vWii]
|
|
echo.
|
|
echo Extras:
|
|
echo "Rev:#" Build a Specific Rev # of neek or neek2o
|
|
echo.
|
|
echo Note: If a Rev # is not specified ModMii will build the
|
|
echo rev currently Featured on the google-code page
|
|
echo (or newest version saved locally if you are offline).
|
|
echo If using this, you should also use the n2o argument.
|
|
echo.
|
|
echo "Red" Red Theme [cannot be used simultaneously with other themes]
|
|
echo "Green" Green Theme [cannot be used simultaneously with other themes]
|
|
echo "Blue" Blue Theme [cannot be used simultaneously with other themes]
|
|
echo "Orange" Orange Theme [cannot be used simultaneously with other themes]
|
|
echo.
|
|
echo "OHBC" Open Homebrew Channel (LULZ)
|
|
echo "PLC" postLoader Channel
|
|
echo "FLOW" WiiFlow Forwarder and App
|
|
echo "249"* cIOS249 rev14
|
|
echo "nswitch" nSwitch Channel
|
|
echo "S2U"* Switch2Uneek [only for UNEEK or UNEEK+DI when neek2o disabled]
|
|
echo "Pri"* Priiloader and hacks
|
|
echo "NMM"* No More Memory Cards [cannot be used simultaneously with DML]
|
|
echo "DML"* Dios Mios Lite [only for SNEEK+DI]
|
|
echo * Not available when bulding a vWii EmuNAND
|
|
echo.
|
|
echo "SN:Serial-Number" - default serial will be used if not specified
|
|
echo.
|
|
echo "CH" All Wii Channels [ie. Photo, Mii, etc.]
|
|
echo "PHOTO" Photo Channel
|
|
echo "SHOP" Shopping Channel
|
|
echo "MII" Mii Channel
|
|
::echo "SPEAK" Wii Speak Channel [not applicable to Korean NANDs]
|
|
::echo "NEWS" News Channel [not applicable to Korean NANDs]
|
|
echo "NET" Internet Channel [not applicable to Korean NANDs]
|
|
::echo "WEATHER" Weather Channel [not applicable to Korean NANDs]
|
|
echo.
|
|
echo "WADdir:Path?" - Optionally specify custom folder of WADs to install.
|
|
echo Note: do not forget the "?" which marks the end of the path
|
|
echo.
|
|
echo "n2o:E" Optional: force override settings to enable neek2o
|
|
echo "n2o:D" Optional: force override settings to disable neek2o
|
|
echo.
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe E U 4.3 U
|
|
echo ModMii.exe SE UD 4.2 U Orange PLC 249 NMM S2U Pri FLOW CH Rev:64 n2o:E
|
|
echo ModMii.exe E SD V J nswitch
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
:cmdlineDLQUEUEhelp
|
|
::title ModMii Download Queue Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii Download Queue Command Line Help
|
|
echo.
|
|
echo ModMii.exe L DownloadQueue Options
|
|
echo.
|
|
echo Note: Download Queue must exist and be saved in temp\DownloadQueues\
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe L cIOSs
|
|
echo ModMii.exe L My Fav Themes.bat
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
:cmdlineOPTIONShelp
|
|
::title ModMii Options Command Line Help
|
|
|
|
support\sfk echo [%redtext%]ModMii Options Command Line Help
|
|
echo.
|
|
echo Define ModMii's options using the following commands.
|
|
echo.
|
|
echo Note: If an option is not defined ModMii will use saved\default settings.
|
|
echo Saved\default settings will be restored after each command.
|
|
echo If you're unsure of what an option does, read the description
|
|
echo in ModMii's options page.
|
|
echo.
|
|
support\sfk echo [%cyantext%]Drive Letter or Path setting for SD Card
|
|
|
|
echo ModMii.exe [base command] Drive:Path?
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe [base command] Drive:new folder?
|
|
echo ModMii.exe [base command] Drive:E:?
|
|
echo.
|
|
echo Note: do not forget the "?" which marks the end of the path
|
|
echo.
|
|
support\sfk echo [%cyantext%]Drive Letter or Path setting for USB Hard Drive
|
|
|
|
echo ModMii.exe [base command] DriveU:Path?
|
|
echo.
|
|
support\sfk echo [%bluetext%]Examples:
|
|
echo ModMii.exe [base command] DriveU:new folder?
|
|
echo ModMii.exe [base command] DriveU:H:?
|
|
echo.
|
|
echo Note: do not forget the "?" which marks the end of the path
|
|
echo.
|
|
support\sfk echo [%cyantext%]PC Program Save Location
|
|
|
|
echo ModMii.exe [base command] PC:A
|
|
echo ModMii.exe [base command] PC:L
|
|
echo ModMii.exe [base command] PC:P
|
|
echo.
|
|
echo Where;
|
|
echo A = Auto, L = Local, and P = Portable
|
|
echo.
|
|
support\sfk echo [%cyantext%]Root Save
|
|
|
|
echo ModMii.exe [base command] RS:E
|
|
echo ModMii.exe [base command] RS:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
support\sfk echo [%cyantext%]Channel Effect
|
|
echo ModMii.exe [base command] CE:NS
|
|
echo ModMii.exe [base command] CE:S
|
|
echo ModMii.exe [base command] CE:FS
|
|
echo.
|
|
echo Where;
|
|
echo NS = No Spin, S = Spin and FS = Fast Spin
|
|
echo.
|
|
|
|
::support\sfk echo [%cyantext%]Keep 00000001 Folder and\or NUS Folder
|
|
::echo ModMii.exe [base command] 1:0
|
|
::echo ModMii.exe [base command] 1:1
|
|
::echo ModMii.exe [base command] 1:N
|
|
::echo ModMii.exe [base command] 1:A
|
|
::echo.
|
|
::echo Where;
|
|
::echo 0 = do not keep, 1 = keep 00000001, N = keep NUS and A = keep All
|
|
::echo.
|
|
|
|
support\sfk echo [%cyantext%]Update Active IOSs
|
|
|
|
echo ModMii.exe [base command] UIOS:E
|
|
echo ModMii.exe [base command] UIOS:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
support\sfk echo [%cyantext%]Auto-Updating downloads will skip update check if cached
|
|
|
|
echo ModMii.exe [base command] AUSKIP:E
|
|
echo ModMii.exe [base command] AUSKIP:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
|
|
support\sfk echo [%cyantext%]Include cMIOS in ModMii Wizard Downloads
|
|
|
|
echo ModMii.exe [base command] CMIOS:E
|
|
echo ModMii.exe [base command] CMIOS:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
support\sfk echo [%cyantext%]Include hermes cIOSs in ModMii's Recommended cIOSs
|
|
|
|
echo ModMii.exe [base command] hermes:E
|
|
echo ModMii.exe [base command] hermes:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
|
|
support\sfk echo [%cyantext%]Play Sound at Finish
|
|
|
|
echo ModMii.exe [base command] SOUND:E
|
|
echo ModMii.exe [base command] SOUND:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
support\sfk echo [%cyantext%]Include USB-Loader Forwarder Channel in ModMii Wizard Downloads
|
|
|
|
echo ModMii.exe [base command] FWD:E
|
|
echo ModMii.exe [base command] FWD:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
support\sfk echo [%cyantext%]Verbose Output for ModMii and SNEEK Installer
|
|
|
|
echo ModMii.exe [base command] VERBOSE:E
|
|
echo ModMii.exe [base command] VERBOSE:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
support\sfk echo [%cyantext%]neek2o - build neek2o mod of s\uneek by OverjoY and obcd
|
|
echo ModMii.exe [base command] n2o:E
|
|
echo ModMii.exe [base command] n2o:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
support\sfk echo [%cyantext%]SNEEK and SNEEK+DI SD Access
|
|
echo ModMii.exe [base command] SSD:E
|
|
echo ModMii.exe [base command] SSD:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
|
|
support\sfk echo [%cyantext%]SNEEK Verbose Output
|
|
echo ModMii.exe [base command] SNKVERBOSE:E
|
|
echo ModMii.exe [base command] SNKVERBOSE:D
|
|
echo.
|
|
echo Where;
|
|
echo E = Enabled and D = Disabled
|
|
echo.
|
|
support\sfk echo [%cyantext%]Font.bin Colour for SNEEK/UNEEK
|
|
|
|
echo ModMii.exe [base command] Font:B
|
|
echo ModMii.exe [base command] Font:W
|
|
echo ModMii.exe [base command] Font:R
|
|
echo.
|
|
echo Where;
|
|
echo B = Black and W = White and R = Red
|
|
echo.
|
|
echo.
|
|
::echo Press Any Key to Close the Help Menu...
|
|
pause
|
|
exit /b
|
|
|
|
|
|
|
|
|
|
|
|
:cmdlineDhelp
|
|
title ModMii Drag and Drop Help and Info
|
|
support\sfk echo [%redtext%]ModMii Drag and Drop Help and Info
|
|
echo.
|
|
echo Individual or multiple items can be dragged and dropped onto ModMii
|
|
echo or a ModMii shortcut; check out the ModMii Toolbar for quicklaunch access!
|
|
echo.
|
|
echo You can also right-click an item and choose to open it with ModMii.
|
|
echo.
|
|
echo Note: If dragging a folder launches into a "wrong" activity, check that there aren't
|
|
echo other file types saved in the same folder; i.e. if trying to load a folder of
|
|
echo myms, make sure there aren't any WADs saved to the same folder or subfolders.
|
|
echo.
|
|
support\sfk echo [%bluetext%]nand tools [%cyantext%](nand.bin, slccmpt.bin)[def]; Extract, Check, Clone or Defragment a Wii or vWii nand
|
|
echo Examples: nand.bin, slccmpt.bin, anything.bin
|
|
echo.
|
|
support\sfk echo [%bluetext%]Game Image tools [%cyantext%](wbfs, iso, ciso, folder containing these file types)[def];
|
|
echo Disable Deflicker, Re-enable Deflicker, or Extract game contents of Wii and Gamecube games
|
|
echo Examples: SMNP01.wbfs, game.iso, anything.ciso, WBFS Folder, GAMES Folder
|
|
echo.
|
|
support\sfk echo [%bluetext%]HBC Transfer Tool [%cyantext%](zip, 7z, rar, boot.dol, boot.elf, folder containing boot.dol or boot.elf)[def];
|
|
echo Wirelessly transfer apps to the device selected in the Homebrew Channnel (e.g. SD, USB)
|
|
echo Examples: usbloader_gx.7z, yawmME.zip, anyfile.rar, boot.dol, boot.elf, AppFolder (which contains boot.dol or boot.elf)
|
|
echo.
|
|
support\sfk echo [%bluetext%]App Launcher [%cyantext%](wuhb, rpx, wps, dol, elf, folder containing boot.dol or boot.elf)[def];
|
|
echo Launch apps from a PC to a Wii\vWii\WiiU via the internet, without needing the app on an SD Card or USB drive
|
|
echo Examples: anyfile.wuhb, anyfile.rpx, anyfile.wps, anyfile.dol, anyfile.elf, AppFolder containing boot.dol or boot.elf
|
|
echo.
|
|
support\sfk echo [%bluetext%]WAD Sender [%cyantext%](WAD, folder of WADs)[def]; install WADs ^<8MB from your PC to your Wii\vWii via the internet, no SD\USB required
|
|
echo Examples: anything.wad, or any folder containing WADs
|
|
echo.
|
|
support\sfk echo [%bluetext%]WAD Modifier [%cyantext%](WAD)[def]; Modify Channel WAD or IOS WAD Attributes
|
|
echo Modifiable Channel WAD Attributes: Title, Title ID, IOS, DOL, AHB^|DVD, NandLoader, Fakesign, Deflicker*, Visibility
|
|
echo Modifiable IOS WAD Attributes: Patches, Slot, Version
|
|
echo Examples: anything.wad
|
|
echo * Can also apply\remove N64 Expansion Pak and N64 Dark Filter patches for applicable N64 WADs
|
|
echo.
|
|
support\sfk echo [%bluetext%]WAD Unpacker [%cyantext%](WAD, folder of WADs)[def]; unpack WADs
|
|
echo Examples: anything.wad, or any folder containing WADs
|
|
echo.
|
|
support\sfk echo [%bluetext%]WAD Packer [%cyantext%](unpacked WAD folder or component file: app, cert, footer, tik, tmd)[def]; repack WAD
|
|
echo Examples: Any_Unpacked_WAD_Folder, or any file inside an unpacked WAD folder (e.g. 00000000.app, cert, footer, tik, tmd)
|
|
echo.
|
|
support\sfk echo [%bluetext%]CSM Theme Builder [%cyantext%](mym, csm, folder of myms, folder of csms)[def]; Create csm files to install Wii\vWii\Wii-Mini themes
|
|
echo Examples: DarkWii_Purple.mym, Random_Theme_4.1U.csm, MYM_Folder, CSM_Folder
|
|
echo.
|
|
support\sfk echo [%bluetext%]SysCheck Updater [%cyantext%](SysCheck.csv)[def]; update only your outdated softmods
|
|
echo Examples: SysCheck.csv, or any csv that was created by SysCheck and renamed
|
|
echo.
|
|
support\sfk echo [%bluetext%]App Updater ^& File Cleanup [%cyantext%](SD\USB Drives or Folders)[def]; Update Apps and\or remove un-needed files
|
|
echo Examples: W:, X:, COPY_TO_SD, COPY_TO_USB
|
|
echo.
|
|
support\sfk echo [%bluetext%]Emulated Nand Modifer [%cyantext%](EmuNand Folder)[def]; Edit an Emulated NAND
|
|
echo Examples: pl_us, or any folder containing an Emulated NAND System Menu; i.e. \title\00000001\00000002\content\title.tmd
|
|
echo.
|
|
support\sfk echo [%bluetext%]Load Download Queue [%cyantext%](ModMii_Download_Queue.bat)[def]; Load a ModMii Download Queue
|
|
echo Examples: ModMii_Download_Queue.bat, or any download queue that was created by ModMii
|
|
echo.
|
|
support\sfk echo [%bluetext%]Load Wizard Settings [%cyantext%](Wizard_Settings.bat)[def]; Load Saved ModMii Wizard Settings from previous session
|
|
echo Examples: Wizard_Settings.bat, or any Wizard_Settings.bat that was created by ModMii and renamed
|
|
echo.
|
|
support\sfk echo [%bluetext%]Edit Bootmii Config Settings [%cyantext%](bootmii.ini)[def]; Load and edit bootmii.ini config settings
|
|
echo Example: bootmii.ini
|
|
echo.
|
|
|
|
support\sfk echo [%bluetext%]Bulk WAD Deflicker Filter Changer [%cyantext%](folder of WADs)[def]; Modify Deflicker* settings to improve video quality
|
|
echo Examples: Any folder containing WADs (inapplicable channels will be skipped)
|
|
echo * Can also apply\remove N64 Expansion Pak and N64 Dark Filter patches for applicable N64 WADs
|
|
echo.
|
|
|
|
support\sfk echo [%bluetext%]Bulk WAD NandLoader Updater [%cyantext%](folder of WADs)[def]; inject a new NandLoader into Channel WADs
|
|
echo Examples: Any folder containing WADs (inapplicable channels will be skipped)
|
|
echo.
|
|
support\sfk echo [%bluetext%]Bulk WAD Hidden Channel Converter [%cyantext%](folder of WADs)[def];
|
|
echo Convert Channel WADs to hidden type and optionally inject a Minimalist banner to reduce size
|
|
echo Examples: Any folder containing WADs (inapplicable channels will be skipped)
|
|
echo.
|
|
support\sfk echo [%bluetext%]Inspector Wadget [%cyantext%](WAD, folder of WADs)[def]; Inspect ^& display WAD Info like cIOS tags, AHB^|DVD, NandLoader, Deflicker, etc.
|
|
echo Examples: anything.wad, or any folder containing WADs
|
|
echo.
|
|
support\sfk echo [%bluetext%]LZ77 (De)Compression [%cyantext%](everything else)[def]; Compress\Decompress files\folders using LZ77Helper
|
|
echo Examples: iplSetting.js, *.*, New_Folder, any file or folder not mentioned above
|
|
echo.
|
|
support\sfk echo [%bluetext%]Calculate Hashes [%cyantext%](everything else)[def]; Calculate file hashes using HashMyFiles
|
|
echo Examples: anything.doc, *.*, New_Folder, any file or folder not mentioned above
|
|
echo.
|
|
echo Press Any Key to Close the Help Menu...
|
|
pause>nul
|
|
exit
|
|
|
|
|
|
|
|
::-----------------------------------
|
|
:hardcodedoptions
|
|
|
|
echo "%cmdinput%">temp\cmdinput.txt
|
|
|
|
support\sfk -spat filter temp\cmdinput.txt -lsrep _\x22__ -lerep _\x22__ -write -yes>nul
|
|
findStr /I ":" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 goto:nohardcodedoptions
|
|
|
|
::backup current settings (in order to revert after cmd)
|
|
if not exist support\settings.bat echo ::ModMii Settings >support\settings.bat
|
|
copy /y support\settings.bat support\settings.bak>nul
|
|
|
|
|
|
::-----------DRIVE: (ie. DRIVE:whatever_ test?)---------------
|
|
findStr /I /C:" Drive:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:nodrivecmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
::check if a ? was entered
|
|
findStr /I /C:"?" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (echo Please mark the end of your Drive setting using a question mark "?", try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* DRIVE:"__ -rep _\x3f*__ -write -yes>nul
|
|
support\sfk filter temp\cmdinput2.txt -rep _"^"_"^^"_ -rep _"&"_"^&"_ -rep _"("_"^("_ -rep _")"_"^)"_ -write -yes>nul
|
|
set /p DRIVE= <temp\cmdinput2.txt
|
|
set DRIVE=%DRIVE:"=%
|
|
|
|
:doublecheckcmd1
|
|
set fixslash=
|
|
if /i "%DRIVE:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%DRIVE:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "DRIVE=%DRIVE:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheckcmd1
|
|
|
|
::if second char is ":" check if drive exists
|
|
if /i "%DRIVE:~1,1%" NEQ ":" goto:skipcheck
|
|
if exist "%DRIVE:~0,2%" (goto:skipcheck) else (echo "%DRIVE:~0,2%" doesn't exist, please try again...)
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
:skipcheck
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*Drive=" -write -yes>nul
|
|
echo Set "Drive=%DRIVE%">>Support\settings.bat
|
|
|
|
::remove from temp\cmdinput.txt (compensate for _'s by replacing them with \x5f)
|
|
support\sfk -spat filter temp\cmdinput2.txt -rep _\x5f_\x5c\x22_ -write -yes>nul
|
|
support\sfk -spat filter -quiet temp\cmdinput2.txt -rep _\x22_x5f_ -write -yes
|
|
::support\sfk -spat filter temp\cmdinput2.txt -rep _\x5f_\x22_ -write -yes>nul
|
|
::support\sfk filter -quiet temp\cmdinput2.txt -rep _"""_\x5f_ -write -yes
|
|
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk -spat filter temp\cmdinput.txt -rep _" Drive:%removeme%?"__ -write -yes>nul
|
|
:nodrivecmd
|
|
|
|
|
|
::-----------DRIVEU: (ie. DRIVEU:whatever_ test?)---------------
|
|
findStr /I /C:" DRIVEU:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noDRIVEUcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
::check if a ? was entered
|
|
findStr /I /C:"?" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (echo Please mark the end of your DriveU setting using a question mark "?", try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* DRIVEU:"__ -rep _\x3f*__ -write -yes>nul
|
|
support\sfk filter temp\cmdinput2.txt -rep _"^"_"^^"_ -rep _"&"_"^&"_ -rep _"("_"^("_ -rep _")"_"^)"_ -write -yes>nul
|
|
|
|
set /p DRIVEU= <temp\cmdinput2.txt
|
|
set DRIVEU=%DRIVEU:"=%
|
|
|
|
|
|
|
|
:doublecheckcmd
|
|
set fixslash=
|
|
if /i "%DRIVEU:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%DRIVEU:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "DRIVEU=%DRIVEU:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheckcmd
|
|
|
|
::if second char is ":" check if DRIVEU exists
|
|
if /i "%DRIVEU:~1,1%" NEQ ":" goto:skipcheck
|
|
if exist "%DRIVEU:~0,2%" (goto:skipcheck) else (echo "%DRIVEU:~0,2%" doesn't exist, please try again...)
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
:skipcheck
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*DRIVEU=" -write -yes>nul
|
|
echo Set "DRIVEU=%DRIVEU%">>Support\settings.bat
|
|
|
|
::remove from temp\cmdinput.txt (compensate for _'s by replacing them with \x5f)
|
|
support\sfk -spat filter temp\cmdinput2.txt -rep _\x5f_\x5c\x22_ -write -yes>nul
|
|
support\sfk -spat filter -quiet temp\cmdinput2.txt -rep _\x22_x5f_ -write -yes
|
|
::support\sfk -spat filter temp\cmdinput2.txt -rep _\x5f_\x22_ -write -yes>nul
|
|
::support\sfk filter -quiet temp\cmdinput2.txt -rep _"""_\x5f_ -write -yes
|
|
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk -spat filter temp\cmdinput.txt -rep _" DRIVEU:%removeme%?"__ -write -yes>nul
|
|
:noDRIVEUcmd
|
|
|
|
|
|
|
|
::-----------WADdir: (ie. WADdir:whatever_ test?)---------------
|
|
findStr /I /C:" WADdir:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noWADdircmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
::check if a ? was entered
|
|
findStr /I /C:"?" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (echo Please mark the end of your WADdir setting using a question mark "?", try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* WADdir:"__ -rep _\x3f*__ -write -yes>nul
|
|
|
|
set /p addwadfolder= <temp\cmdinput2.txt
|
|
|
|
:doublecheckcmd2
|
|
set fixslash=
|
|
if /i "%addwadfolder:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%addwadfolder:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "addwadfolder=%addwadfolder:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheckcmd2
|
|
|
|
if not exist "%addwadfolder%" (echo %addwadfolder% doesn't exist, please try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (exit)
|
|
|
|
::make sure second char is ":"
|
|
if /i "%addwadfolder:~1,1%" NEQ ":" (echo Enter the full path including the drive letter, please try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (exit)
|
|
|
|
if not exist "%addwadfolder%\*.wad" (echo No Wads found in %addwadfolder%, please try a different folder...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (exit)
|
|
|
|
::remove from temp\cmdinput.txt (compensate for _'s by replacing them with \x5f)
|
|
support\sfk -spat filter temp\cmdinput2.txt -rep _\x5f_\x5c\x22_ -write -yes>nul
|
|
support\sfk -spat filter -quiet temp\cmdinput2.txt -rep _\x22_x5f_ -write -yes
|
|
::support\sfk -spat filter temp\cmdinput2.txt -rep _\x5f_\x22_ -write -yes>nul
|
|
::support\sfk filter -quiet temp\cmdinput2.txt -rep _"""_\x5f_ -write -yes
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk -spat filter temp\cmdinput.txt -rep _" WADdir:%removeme%?"__ -write -yes>nul
|
|
:noWADdircmd
|
|
|
|
|
|
::-----------PC: Option---------------
|
|
findStr /I /C:" PC:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noPCcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* PC:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p PCSAVEcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%PCSAVEcmd%" EQU "A" set PCSAVE=Auto
|
|
if /i "%PCSAVEcmd%" EQU "L" set PCSAVE=Local
|
|
if /i "%PCSAVEcmd%" EQU "P" set PCSAVE=Portable
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set PCSAVE=" -write -yes>nul
|
|
echo Set PCSAVE=%PCSAVE%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" PC:%removeme%"__ -write -yes>nul
|
|
:noPCcmd
|
|
|
|
|
|
::-----------RS: Option---------------
|
|
findStr /I /C:" RS:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noRScmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* RS:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p ROOTSAVEcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%ROOTSAVEcmd%" EQU "E" set ROOTSAVE=ON
|
|
if /i "%ROOTSAVEcmd%" EQU "D" set ROOTSAVE=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set ROOTSAVE=" -write -yes>nul
|
|
echo Set ROOTSAVE=%ROOTSAVE%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" RS:%removeme%"__ -write -yes>nul
|
|
:noRScmd
|
|
|
|
|
|
|
|
::-----------CE: Option---------------
|
|
findStr /I /C:" CE:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noCEcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* CE:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p effectcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%effectcmd%" EQU "NS" set effect=No-Spin
|
|
if /i "%effectcmd%" EQU "S" set effect=Spin
|
|
if /i "%effectcmd%" EQU "FS" set effect=Fast-Spin
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set effect=" -write -yes>nul
|
|
echo Set effect=%effect%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" CE:%removeme%"__ -write -yes>nul
|
|
:noCEcmd
|
|
|
|
|
|
::-----------keep *01 or NUS Folders---------------
|
|
::option1 disabled
|
|
goto:no1cmd
|
|
findStr /I /C:" 1:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:no1cmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* 1:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p Option1cmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%Option1cmd%" EQU "0" set Option1=off
|
|
if /i "%Option1cmd%" EQU "1" set Option1=on
|
|
if /i "%Option1cmd%" EQU "N" set Option1=nus
|
|
if /i "%Option1cmd%" EQU "A" set Option1=all
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set Option1=" -write -yes>nul
|
|
echo Set Option1=%Option1%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" 1:%removeme%"__ -write -yes>nul
|
|
:no1cmd
|
|
|
|
|
|
::-----------UIOS: Option---------------
|
|
findStr /I /C:" UIOS:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noUIOScmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* UIOS:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p ACTIVEIOScmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%ACTIVEIOScmd%" EQU "E" set ACTIVEIOS=ON
|
|
if /i "%ACTIVEIOScmd%" EQU "D" set ACTIVEIOS=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set ACTIVEIOS=" -write -yes>nul
|
|
echo Set ACTIVEIOS=%ACTIVEIOS%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" UIOS:%removeme%"__ -write -yes>nul
|
|
:noUIOScmd
|
|
|
|
|
|
::-----------AUSKIP: Option---------------
|
|
findStr /I /C:" AUSKIP:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noAUSKIPcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* AUSKIP:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p AUSKIPcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%AUSKIPcmd%" EQU "E" set AUSKIP=ON
|
|
if /i "%AUSKIPcmd%" EQU "D" set AUSKIP=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set AUSKIP=" -write -yes>nul
|
|
echo Set AUSKIP=%AUSKIP%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" AUSKIP:%removeme%"__ -write -yes>nul
|
|
:noAUSKIPcmd
|
|
|
|
|
|
|
|
::-----------SOUND: Option---------------
|
|
findStr /I /C:" SOUND:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noSOUNDcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* SOUND:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p AudioOptioncmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%AudioOptioncmd%" EQU "E" set AudioOption=ON
|
|
if /i "%AudioOptioncmd%" EQU "D" set AudioOption=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set AudioOption=" -write -yes>nul
|
|
echo Set AudioOption=%AudioOption%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" SOUND:%removeme%"__ -write -yes>nul
|
|
:noSOUNDcmd
|
|
|
|
|
|
::-----------CMIOS: Option---------------
|
|
findStr /I /C:" CMIOS:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noCMIOScmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* CMIOS:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p CMIOSOPTIONcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%CMIOSOPTIONcmd%" EQU "E" set CMIOSOPTION=ON
|
|
if /i "%CMIOSOPTIONcmd%" EQU "D" set CMIOSOPTION=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set CMIOSOPTION=" -write -yes>nul
|
|
echo Set CMIOSOPTION=%CMIOSOPTION%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" CMIOS:%removeme%"__ -write -yes>nul
|
|
:noCMIOScmd
|
|
|
|
|
|
|
|
|
|
::-----------hermes: Option---------------
|
|
findStr /I /C:" hermes:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:nohermescmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* hermes:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p hermesOPTIONcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%hermesOPTIONcmd%" EQU "E" set hermesOPTION=ON
|
|
if /i "%hermesOPTIONcmd%" EQU "D" set hermesOPTION=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set hermesOPTION=" -write -yes>nul
|
|
echo Set hermesOPTION=%hermesOPTION%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" hermes:%removeme%"__ -write -yes>nul
|
|
:nohermescmd
|
|
|
|
|
|
|
|
::-----------USB-Loader Forwarder: Option---------------
|
|
findStr /I /C:" FWD:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noFWDcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* FWD:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p FWDOPTIONcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%FWDOPTIONcmd%" EQU "E" set FWDOPTION=ON
|
|
if /i "%FWDOPTIONcmd%" EQU "D" set FWDOPTION=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set FWDOPTION=" -write -yes>nul
|
|
echo Set FWDOPTION=%FWDOPTION%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" FWD:%removeme%"__ -write -yes>nul
|
|
:noFWDcmd
|
|
|
|
|
|
::-----------VERBOSE: Option---------------
|
|
findStr /I /C:" VERBOSE:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noVERBOSEcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* VERBOSE:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p ModMiiverbosecmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%ModMiiverbosecmd%" EQU "E" set ModMiiverbose=ON
|
|
if /i "%ModMiiverbosecmd%" EQU "D" set ModMiiverbose=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set ModMiiverbose=" -write -yes>nul
|
|
echo Set ModMiiverbose=%ModMiiverbose%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" VERBOSE:%removeme%"__ -write -yes>nul
|
|
:noVERBOSEcmd
|
|
|
|
|
|
|
|
::-----------n2o: Option---------------
|
|
findStr /I /C:" n2o:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:non2ocmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* n2o:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p NEEKcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%NEEKcmd%" EQU "E" set neek2o=ON
|
|
if /i "%NEEKcmd%" EQU "D" set neek2o=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set neek2o=" -write -yes>nul
|
|
echo Set neek2o=%neek2o%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" n2o:%removeme%"__ -write -yes>nul
|
|
:non2ocmd
|
|
|
|
|
|
|
|
::-----------SSD: Option---------------
|
|
findStr /I /C:" SSD:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noSSDcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* SSD:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p SSDcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%SSDcmd%" EQU "E" set SSD=ON
|
|
if /i "%SSDcmd%" EQU "D" set SSD=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set SSD=" -write -yes>nul
|
|
echo Set SSD=%SSD%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" SSD:%removeme%"__ -write -yes>nul
|
|
:noSSDcmd
|
|
|
|
|
|
::-----------snkverbose: Option---------------
|
|
findStr /I /C:" snkverbose:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:nosnkverbosecmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* snkverbose:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p sneekverbosecmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%sneekverbosecmd%" EQU "E" set sneekverbose=ON
|
|
if /i "%sneekverbosecmd%" EQU "D" set sneekverbose=OFF
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set sneekverbose=" -write -yes>nul
|
|
echo Set sneekverbose=%sneekverbose%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" snkverbose:%removeme%"__ -write -yes>nul
|
|
:nosnkverbosecmd
|
|
|
|
|
|
::-----------Font: Option---------------
|
|
findStr /I /C:" Font:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noFontcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* Font:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p SNKFONTcmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%SNKFONTcmd%" EQU "B" set SNKFONT=B
|
|
if /i "%SNKFONTcmd%" EQU "W" set SNKFONT=W
|
|
if /i "%SNKFONTcmd%" EQU "R" set SNKFONT=R
|
|
|
|
::overwrite option in settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set SNKFONT=" -write -yes>nul
|
|
echo Set SNKFONT=%SNKFONT%>>Support\settings.bat
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" Font:%removeme%"__ -write -yes>nul
|
|
:noFontcmd
|
|
|
|
|
|
|
|
::-----------GUI: Option---------------
|
|
findStr /I /C:" GUI:" temp\cmdinput.txt >nul
|
|
|
|
IF ERRORLEVEL 1 (goto:noGUIcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* GUI:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p GUIModecmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%GUIModecmd%" EQU "E" (set GUIMode=Y) & (set SkinMode=Y)
|
|
if /i "%GUIModecmd%" EQU "D" set GUIMode=
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" GUI:%removeme%"__ -write -yes>nul
|
|
|
|
::GUI mode mostly the same as Skin Mode except no "wizapp PB OPEN" command, not enabled yet
|
|
goto:noSkincmd
|
|
:noGUIcmd
|
|
|
|
|
|
|
|
|
|
::-----------Skin: Option---------------
|
|
findStr /I /C:" Skin:" temp\cmdinput.txt >nul
|
|
|
|
IF ERRORLEVEL 1 (goto:noSkincmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* Skin:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p SkinModecmd= <temp\cmdinput2.txt
|
|
|
|
if /i "%SkinModecmd%" EQU "E" set SkinMode=Y
|
|
if /i "%SkinModecmd%" EQU "D" set SkinMode=
|
|
|
|
if /i "%SkinMode%" NEQ "Y" goto:noprogress
|
|
|
|
set watitle=ModMii Skin
|
|
|
|
if exist "Support\Skins\%skin%\skin.ico" (set "waico=Support\Skins\%skin%\skin.ico") else (set "waico=Support\Skins\Default\skin.ico")
|
|
if exist "Support\Skins\%skin%\CLASSIC.bmp" (set "wabmp=Support\Skins\%skin%\CLASSIC.bmp") else (set "wabmp=Support\Skins\Default\CLASSIC.bmp")
|
|
|
|
::set temp=temp
|
|
set wabat=temp\wabat.bat
|
|
set wasig=ModMii v%currentversion% by XFlak
|
|
set watext=~~~ModMii Classic Working...
|
|
::support\nircmd.exe win activate ititle "ModMiiSkinCMD"
|
|
::support\nircmd.exe win hide ititle "ModMiiSkinCMD"
|
|
|
|
start support\wizapp PB OPEN
|
|
|
|
|
|
|
|
|
|
::------Check for old Windows Versions-------
|
|
::ver | findstr /i "5\.0\." > nul
|
|
::IF %ERRORLEVEL% EQU 0 set OSYS=2000
|
|
|
|
::ver | findstr /i "5\.1\." > nul
|
|
::IF %ERRORLEVEL% EQU 0 set OSYS=XP
|
|
|
|
::ver | findstr /i "5\.2\." > nul
|
|
::IF %ERRORLEVEL% EQU 0 set OSYS=2003
|
|
|
|
::::ver | findstr /i "6\.0\." > nul
|
|
::::IF %ERRORLEVEL% EQU 0 set OSYS=VISTA
|
|
|
|
::::ver | findstr /i "6\.1\." > nul
|
|
::::IF %ERRORLEVEL% EQU 0 set OSYS=SEVEN
|
|
|
|
::if not "%OSYS%"=="" title ModMii
|
|
|
|
|
|
:noprogress
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk filter temp\cmdinput.txt -rep _" Skin:%removeme%"__ -write -yes>nul
|
|
:noSkincmd
|
|
|
|
|
|
::remove hard options from %cmdinput% to avoid conflict
|
|
set /p cmdinput= <temp\cmdinput.txt
|
|
|
|
:nohardcodedoptions
|
|
|
|
|
|
|
|
|
|
::recommended d2x version check = "RecD2XcIOS", but check no more than once per day
|
|
if /i "%SkinMode%" EQU "Y" goto:proceed
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:proceed
|
|
FOR /F "tokens=*" %%g IN ('support\sfk date') do (SET CurDate=%%g)
|
|
if not exist temp\d2xClassicCheck.txt echo whatever>temp\d2xClassicCheck.txt
|
|
findStr /I /X /C:"%CurDate% " "temp\d2xClassicCheck.txt" >nul
|
|
IF NOT ERRORLEVEL 1 goto:proceed
|
|
if exist temp\RecD2XcIOS.txt del temp\RecD2XcIOS.txt>nul
|
|
support\wget --no-check-certificate "https://github.com/xflak/stats/releases/latest/download/classic.txt" -O temp\RecD2XcIOS.txt -q
|
|
::delete if file is empty (if empty)
|
|
if exist "temp\RecD2XcIOS.txt" >nul findstr "^" "temp\RecD2XcIOS.txt" || del "temp\RecD2XcIOS.txt"
|
|
if not exist temp\RecD2XcIOS.txt goto:proceed
|
|
set /p RecD2XcIOS= <temp\RecD2XcIOS.txt
|
|
del "temp\RecD2XcIOS.txt">nul
|
|
if exist "Support\settings.bat" support\sfk filter -spat "Support\settings.bat" -ls!"set \x22RecD2XcIOS=" -write -yes>nul
|
|
echo Set "RecD2XcIOS=%RecD2XcIOS%">> Support\settings.bat
|
|
echo %CurDate% >temp\d2xClassicCheck.txt
|
|
:proceed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if /i "%one%" EQU "W" goto:cmdlinewizard
|
|
if /i "%one%" EQU "RC" goto:cmdlineRegionChange
|
|
if /i "%one%" EQU "HS" goto:cmdlinehackmiisolutions
|
|
if /i "%one%" EQU "S" goto:cmdlinesneekinstaller
|
|
if /i "%one%" EQU "U" goto:cmdlineUSBLoaderSetup
|
|
if /i "%one%" EQU "SE" goto:cmdlineemunandbuilder
|
|
if /i "%one%" EQU "E" goto:cmdlineemunandbuilder
|
|
if /i "%one%" EQU "L" goto:cmdlineloadqueue
|
|
if /i "%one%" EQU "SU" goto:cmdlinesyscheck
|
|
if /i "%one%" EQU "AW" goto:cmdlineabstinenceWizard
|
|
if /i "%one%" EQU "BM" goto:go
|
|
|
|
::-----------------------------------
|
|
:cmdlinewizard
|
|
set MENU1=%one%
|
|
set ctype=Wii
|
|
if /i "%two%" EQU "U" (set FIRMSTART=U) & (set ctype=WiiU) & (goto:nofirmdefaults)
|
|
if /i "%two%" EQU "U2" (set FIRMSTART=U2) & (set ctype=WiiU)
|
|
if /i "%two%" EQU "V" (set FIRMSTART=V) & (set ctype=WiiU)
|
|
if /i "%two%" EQU "4.3" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.2" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.1" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.0" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "3.X" set FIRMSTART=3.X
|
|
if /i "%two%" EQU "O" set FIRMSTART=O
|
|
if "%firmstart%"=="" (echo "%two%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
set REGION=
|
|
if /i "%three%" EQU "U" set REGION=U
|
|
if /i "%three%" EQU "E" set REGION=E
|
|
if /i "%three%" EQU "J" set REGION=J
|
|
::K region not available for vWii
|
|
if /i "%ctype%" EQU "WiiU" goto:skip
|
|
if /i "%three%" EQU "K" set REGION=K
|
|
:skip
|
|
if "%region%"=="" (echo "%three%" is not a valid Region input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
if /i "%ctype%" EQU "WiiU" goto:nofirmdefaults
|
|
|
|
set VIRGIN=Y
|
|
|
|
if /i "%four%" EQU "4.3" set FIRM=%four%
|
|
if /i "%four%" EQU "4.2" set FIRM=%four%
|
|
if /i "%four%" EQU "4.1" set FIRM=%four%
|
|
|
|
if not "%FIRM%"=="" goto:nofirmdefaults
|
|
set FIRM=4.3
|
|
if /i "%FIRMSTART%" EQU "4.2" set FIRM=4.2
|
|
if /i "%FIRMSTART%" EQU "4.1" set FIRM=4.1
|
|
:nofirmdefaults
|
|
|
|
|
|
findStr /I /C:" Guide" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set cmdguide=) else (set cmdguide=G)
|
|
if /i "%cmdguide%" EQU "G" set settings=G
|
|
|
|
::WiiU Only is done
|
|
if /i "%FIRMSTART%" EQU "U" goto:go
|
|
|
|
|
|
::----EXtras------
|
|
::set defaults
|
|
set ThemeSelection=N
|
|
set MIIQ=N
|
|
set PIC=N
|
|
set NET=N
|
|
set WEATHER=N
|
|
set NEWS=N
|
|
set SHOP=N
|
|
set SPEAK=N
|
|
set USBGUIDE=N
|
|
|
|
|
|
::----themes----
|
|
findStr /I /C:" Red" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=R)
|
|
if /i "%ThemeSelection%" EQU "R" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Green" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=G)
|
|
if /i "%ThemeSelection%" EQU "G" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Blue" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=BL)
|
|
if /i "%ThemeSelection%" EQU "BL" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Orange" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=O)
|
|
if /i "%ThemeSelection%" EQU "O" goto:donecmdthemes
|
|
:donecmdthemes
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:defaultcheck
|
|
if /i "%FIRMSTART%" EQU "V" goto:defaultcheck
|
|
if /i "%FIRMSTART%" NEQ "%FIRM%" goto:donecmdthemes
|
|
:defaultcheck
|
|
findStr /I /C:" Default" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=D)
|
|
if /i "%ThemeSelection%" EQU "D" goto:donecmdthemes
|
|
:donecmdthemes
|
|
|
|
|
|
findStr /I /C:" USB" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noUSBcmd) else (set USBGUIDE=Y)
|
|
|
|
|
|
::Loader - GX (or 1) is default
|
|
set LOADER=GX
|
|
findStr /I /C:" CFG-FLOW-GX" temp\cmdinput.txt >nul
|
|
IF NOT ERRORLEVEL 1 (set LOADER=ALL) & (goto:donecmdloader)
|
|
|
|
findStr /I /C:" CFG" temp\cmdinput.txt >nul
|
|
IF NOT ERRORLEVEL 1 (set LOADER=CFG) & (goto:donecmdloader)
|
|
|
|
findStr /I /C:" FLOW" temp\cmdinput.txt >nul
|
|
IF NOT ERRORLEVEL 1 set LOADER=FLOW
|
|
:donecmdloader
|
|
|
|
::USB-Loader Config files (USB is default)
|
|
findStr /I /C:" SDConfig" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set USBCONFIG=USB) else (set USBCONFIG=SD)
|
|
:noUSBcmd
|
|
|
|
::WiiU+vWii is done (WiiU Only done already above)
|
|
if /i "%FIRMSTART%" EQU "U2" goto:go
|
|
::vWii only just needs to collect exploit args then is done
|
|
if /i "%FIRMSTART%" EQU "V" goto:cmdlineDiscExploits
|
|
|
|
findStr /I /C:" CH" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set MIIQ=N) else (set MIIQ=Y)
|
|
::if /i "%MIIQ%" EQU "Y" set MIIQ=Y
|
|
if /i "%MIIQ%" EQU "Y" set PIC=Y
|
|
if /i "%MIIQ%" EQU "Y" set SHOP=Y
|
|
if /i "%REGION%" EQU "K" goto:nomoreKchannels
|
|
if /i "%MIIQ%" EQU "Y" set NET=Y
|
|
::if /i "%MIIQ%" EQU "Y" set WEATHER=Y
|
|
::if /i "%MIIQ%" EQU "Y" set NEWS=Y
|
|
::if /i "%MIIQ%" EQU "Y" set SPEAK=Y
|
|
:nomoreKchannels
|
|
if /i "%MIIQ%" EQU "Y" goto:alreadygotallchannels
|
|
|
|
|
|
findStr /I /C:" PHOTO" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set PIC=N) else (set PIC=Y)
|
|
|
|
findStr /I /C:" SHOP" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SHOP=N) else (set SHOP=Y)
|
|
|
|
findStr /I /C:" MII" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set MIIQ=N) else (set MIIQ=Y)
|
|
|
|
|
|
if /i "%REGION%" EQU "K" goto:alreadygotallchannels
|
|
|
|
::findStr /I /C:" SPEAK" temp\cmdinput.txt >nul
|
|
::IF ERRORLEVEL 1 (set SPEAK=N) else (set SPEAK=Y)
|
|
|
|
::findStr /I /C:" NEWS" temp\cmdinput.txt >nul
|
|
::IF ERRORLEVEL 1 (set NEWS=N) else (set NEWS=Y)
|
|
|
|
findStr /I /C:" NET" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set NET=N) else (set NET=Y)
|
|
|
|
::findStr /I /C:" WEATHER" temp\cmdinput.txt >nul
|
|
::IF ERRORLEVEL 1 (set WEATHER=N) else (set WEATHER=Y)
|
|
:alreadygotallchannels
|
|
|
|
|
|
findStr /I /C:" Min" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:notminupdate) else (set VIRGIN=N)
|
|
|
|
findStr /I /C:" HBC" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set HMInstaller=N) else (set HMInstaller=Y)
|
|
|
|
findStr /I /C:" REC" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set RECCIOS=N) else (set RECCIOS=Y)
|
|
|
|
findStr /I /C:" Pri" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set PRIQ=N) else (set PRIQ=Y)
|
|
:notminupdate
|
|
|
|
|
|
goto:cmdlineExploitCheck
|
|
|
|
|
|
|
|
|
|
::---------------------------------
|
|
:cmdlinehackmiisolutions
|
|
set MENU1=H
|
|
|
|
|
|
if /i "%two%" EQU "4.3" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.2" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.1" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.0" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "3.X" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "o" set FIRMSTART=%two%
|
|
if "%firmstart%"=="" (echo "%two%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
findStr /I /C:" Guide" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set cmdguide=) else (set cmdguide=G)
|
|
if /i "%cmdguide%" EQU "G" set settings=G
|
|
|
|
|
|
|
|
:cmdlineExploitCheck
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:cmdline4.3Exploits
|
|
if /i "%FIRMSTART%" EQU "o" goto:cmdlineDiscExploits
|
|
goto:nocmdlineDiscExploits
|
|
|
|
|
|
::-----------MAC:*---------------
|
|
:cmdline4.3Exploits
|
|
findStr /I /C:" MAC:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noMACcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
set EXPLOIT=W
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* MAC:"__ -rep _\x20*__ -rep _"-"__ -rep _":"__ -write -yes>nul
|
|
|
|
set /p macaddress= <temp\cmdinput2.txt
|
|
if "%macaddress%" EQU "s" goto:quickskip
|
|
if "%macaddress%" EQU "S" goto:quickskip
|
|
|
|
::confirm 12 digits
|
|
if "%macaddress:~11%"=="" goto:badkey
|
|
if not "%macaddress:~12%"=="" goto:badkey
|
|
|
|
::confirm MAC addy is hex chars
|
|
|
|
set digit=0
|
|
|
|
:confirmMACaddycmd
|
|
|
|
if /i "%SkinMode%" EQU "Y" goto:quickskip
|
|
|
|
set /a digit=%digit%+1
|
|
set testme=
|
|
if /i "%digit%" EQU "1" set testme=%macaddress:~0,1%
|
|
if /i "%digit%" EQU "2" set testme=%macaddress:~1,1%
|
|
if /i "%digit%" EQU "3" set testme=%macaddress:~2,1%
|
|
if /i "%digit%" EQU "4" set testme=%macaddress:~3,1%
|
|
if /i "%digit%" EQU "5" set testme=%macaddress:~4,1%
|
|
if /i "%digit%" EQU "6" set testme=%macaddress:~5,1%
|
|
if /i "%digit%" EQU "7" set testme=%macaddress:~6,1%
|
|
if /i "%digit%" EQU "8" set testme=%macaddress:~7,1%
|
|
if /i "%digit%" EQU "9" set testme=%macaddress:~8,1%
|
|
if /i "%digit%" EQU "10" set testme=%macaddress:~9,1%
|
|
if /i "%digit%" EQU "11" set testme=%macaddress:~10,1%
|
|
if /i "%digit%" EQU "12" set testme=%macaddress:~11,1%
|
|
|
|
if "%testme%"=="" goto:quickskip
|
|
|
|
if /i "%testme%" EQU "0" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "1" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "2" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "3" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "4" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "5" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "6" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "7" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "8" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "9" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "a" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "b" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "c" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "d" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "e" goto:confirmMACaddycmd
|
|
if /i "%testme%" EQU "f" goto:confirmMACaddycmd
|
|
|
|
goto:badkey
|
|
:quickskip
|
|
|
|
::pass
|
|
goto:noMACcmd
|
|
|
|
:badkey
|
|
|
|
echo "%macaddress%" is not a valid MAC Address, try again...
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
:noMACcmd
|
|
|
|
|
|
findStr /I /C:" LetterBomb" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 (set EXPLOIT=W) & (set macaddress=S)
|
|
|
|
|
|
:cmdlineDiscExploits
|
|
findStr /I /C:" IndianaPwns" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=L
|
|
|
|
findStr /I /C:" Bathaxx" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=LB
|
|
|
|
findStr /I /C:" ROTJ" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=LS
|
|
|
|
findStr /I /C:" YuGiOwned" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=Y
|
|
|
|
findStr /I /C:" SmashStack" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=S
|
|
|
|
if /i "%FIRMSTART%" NEQ "o" goto:notwi
|
|
findStr /I /C:" Twilight" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=T
|
|
:notwi
|
|
|
|
if /i "%FIRMSTART%" NEQ "V" goto:noBE
|
|
findStr /I /C:" Browser" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=BE
|
|
:noBE
|
|
|
|
findStr /I /C:" AllExploits" temp\cmdinput.txt >nul
|
|
IF not ERRORLEVEL 1 set EXPLOIT=?
|
|
|
|
::apply default exploits
|
|
if not "%EXPLOIT%"=="" goto:nocmdlineDiscExploits
|
|
if /i "%firmstart%" EQU "4.3" set EXPLOIT=?
|
|
if /i "%firmstart%" EQU "o" set EXPLOIT=?
|
|
if /i "%firmstart%" EQU "V" set EXPLOIT=?
|
|
:nocmdlineDiscExploits
|
|
|
|
|
|
::set macaddress to (S)kip for letterbomb if no MAC provided and all exploits selected
|
|
if not "%macaddress%"=="" goto:skip
|
|
if /i "%EXPLOIT%" NEQ "?" goto:skip
|
|
if /i "%firmstart%" EQU "4.3" set macaddress=S
|
|
:skip
|
|
|
|
|
|
goto:go
|
|
|
|
|
|
|
|
|
|
::---------------------------------
|
|
:cmdlineRegionChange
|
|
set MENU1=%one%
|
|
|
|
set FIRMSTART=
|
|
|
|
if /i "%two:~0,3%" EQU "4.3" set FIRM=%two:~0,3%
|
|
if /i "%two:~0,3%" EQU "4.2" set FIRM=%two:~0,3%
|
|
if /i "%two:~0,3%" EQU "4.1" set FIRM=%two:~0,3%
|
|
|
|
if "%firm%"=="" (echo "%two:~0,3%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
|
|
if /i "%two:~3,1%" EQU "U" set REGION=%two:~3,1%
|
|
if /i "%two:~3,1%" EQU "E" set REGION=%two:~3,1%
|
|
if /i "%two:~3,1%" EQU "J" set REGION=%two:~3,1%
|
|
if /i "%two:~3,1%" EQU "K" set REGION=%two:~3,1%
|
|
|
|
if "%region%"=="" (echo "%two:~3,1%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
|
|
findStr /I /C:" Guide" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set cmdguide=) else (set cmdguide=G)
|
|
if /i "%cmdguide%" EQU "G" set settings=G
|
|
|
|
|
|
::----themes----
|
|
findStr /I /C:" Red" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=R)
|
|
if /i "%ThemeSelection%" EQU "R" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Green" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=G)
|
|
if /i "%ThemeSelection%" EQU "G" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Blue" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=BL)
|
|
if /i "%ThemeSelection%" EQU "BL" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Orange" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=O)
|
|
if /i "%ThemeSelection%" EQU "O" goto:donecmdthemes
|
|
:donecmdthemes
|
|
|
|
|
|
goto:go
|
|
|
|
|
|
|
|
::---------------------------------
|
|
:cmdlineUSBLoaderSetup
|
|
set MENU1=%one%
|
|
|
|
|
|
::Loader - GX (or 1) is default
|
|
set LOADER=GX
|
|
findStr /I /C:" CFG-FLOW-GX" temp\cmdinput.txt >nul
|
|
IF NOT ERRORLEVEL 1 (set LOADER=ALL) & (goto:donecmdloader)
|
|
|
|
findStr /I /C:" CFG" temp\cmdinput.txt >nul
|
|
IF NOT ERRORLEVEL 1 (set LOADER=CFG) & (goto:donecmdloader)
|
|
|
|
findStr /I /C:" FLOW" temp\cmdinput.txt >nul
|
|
IF NOT ERRORLEVEL 1 set LOADER=FLOW
|
|
:donecmdloader
|
|
|
|
|
|
::USB-Loader Config files (USB is default)
|
|
findStr /I /C:" SDConfig" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set USBCONFIG=USB) else (set USBCONFIG=SD)
|
|
|
|
findStr /I /C:" Guide" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set cmdguide=) else (set cmdguide=G)
|
|
if /i "%cmdguide%" EQU "G" set settings=G
|
|
|
|
|
|
goto:go
|
|
|
|
|
|
::---------------------------------
|
|
:cmdlinesyscheck
|
|
|
|
set MENU1=SU
|
|
|
|
findStr /I /C:".csv" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (echo A csv file was not identified, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _".csv*"_".csv"_ -write -yes>nul
|
|
|
|
set /p sysCheckName= <temp\cmdinput2.txt
|
|
|
|
if /i "%syscheckname:~0,3%" EQU "SU " set "syscheckname=%syscheckname:~3%"
|
|
|
|
if not exist "%sysCheckName%" (echo The csv file identified does not exist, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
findStr /I /C:"syscheck" "%sysCheckName%" >nul
|
|
IF ERRORLEVEL 1 (echo This is not a valid SysCheck log, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
echo "%syscheckname%">temp\cmdinput2.txt
|
|
|
|
::remove from temp\cmdinput.txt (compensate for _'s by replacing them with \x5f)
|
|
support\sfk -spat filter temp\cmdinput2.txt -lsrep _\x22__ -lerep _\x22__ -rep _\x5f_\x5c\x22_ -write -yes>nul
|
|
support\sfk -spat filter -quiet temp\cmdinput2.txt -rep _\x22_x5f_ -write -yes
|
|
::remove cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk -spat filter temp\cmdinput.txt -rep _" %removeme%"__ -write -yes>nul
|
|
|
|
del temp\cmdinput2.txt>nul
|
|
|
|
findStr /I /C:" Guide" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set cmdguide=) else (set cmdguide=G)
|
|
if /i "%cmdguide%" EQU "G" set settings=G
|
|
|
|
::goto:sysCheckAnalyzer
|
|
|
|
|
|
goto:go
|
|
|
|
::---------------------------------
|
|
:cmdlineloadqueue
|
|
|
|
set MENU1=L
|
|
|
|
|
|
if /i "%cmdlinemodeswitchoff%" NEQ "Y" goto:notdragged
|
|
::dragged
|
|
findStr /I /C:":endofqueue" "%cmdinput%" >nul
|
|
IF ERRORLEVEL 1 (echo Not a valid ModMii Download Queue...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
support\sfk filter -spat temp\cmdinput.txt -rep _*\__ -write -yes>nul
|
|
set /p two= <temp\cmdinput.txt
|
|
|
|
if not exist "temp\DownloadQueues" mkdir "temp\DownloadQueues"
|
|
copy /y "%cmdinput%" "temp\DownloadQueues\%two%">nul
|
|
|
|
goto:skip
|
|
|
|
:notdragged
|
|
set "two=%cmdinput:~2%"
|
|
:skip
|
|
|
|
if "%two:~-4%" EQU ".bat" set "two=%two:~0,-4%"
|
|
|
|
|
|
if exist "temp\DownloadQueues\%two%.bat" set "DLQUEUE=%two%"
|
|
if "%DLQUEUE%"=="" (echo "%two%" does not exist, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
set "CurrentQueue=%DLQUEUE%.bat"
|
|
|
|
goto:go
|
|
|
|
|
|
::---------------------------------
|
|
:cmdlineabstinenceWizard
|
|
|
|
set MENU1=S
|
|
set AbstinenceWiz=Y
|
|
set SNEEKSELECT=3
|
|
|
|
if /i "%two%" EQU "4.3" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.2" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.1" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "4.0" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "3.X" set FIRMSTART=%two%
|
|
if /i "%two%" EQU "o" set FIRMSTART=%two%
|
|
if "%firmstart%"=="" (echo "%two%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
|
|
|
|
if /i "%three%" EQU "S" set SNEEKTYPE=%three%
|
|
if /i "%three%" EQU "U" set SNEEKTYPE=%three%
|
|
if /i "%three%" EQU "SD" set SNEEKTYPE=%three%
|
|
if /i "%three%" EQU "UD" set SNEEKTYPE=%three%
|
|
if "%SNEEKTYPE%"=="" (echo "%three%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
set DITYPE=off
|
|
if /i "%SNEEKTYPE%" EQU "UD" set DITYPE=on
|
|
if /i "%SNEEKTYPE%" EQU "SD" set DITYPE=on
|
|
|
|
|
|
if /i "%four%" EQU "4.3" set SNKVERSION=%four%
|
|
if /i "%four%" EQU "4.2" set SNKVERSION=%four%
|
|
if /i "%four%" EQU "4.1" set SNKVERSION=%four%
|
|
|
|
if "%SNKVERSION%"=="" (echo "%four%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
if /i "%five%" EQU "U" set SNKREGION=%five%
|
|
if /i "%five%" EQU "E" set SNKREGION=%five%
|
|
if /i "%five%" EQU "J" set SNKREGION=%five%
|
|
if /i "%five%" EQU "K" set SNKREGION=%five%
|
|
|
|
if "%SNKREGION%"=="" (echo "%five%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
|
|
findStr /I /C:" Guide" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set cmdguide=) else (set cmdguide=G)
|
|
if /i "%cmdguide%" EQU "G" set settings=G
|
|
|
|
::parse other variables from other sections
|
|
goto:SNKserialCMD
|
|
::then after goto:cmdlineExploitCheck
|
|
|
|
|
|
::---------------------------------
|
|
:cmdlinesneekinstaller
|
|
|
|
::if not "%three%"=="" goto:cmdlineemunandbuilder
|
|
|
|
set MENU1=S
|
|
set SNEEKSELECT=1
|
|
|
|
if /i "%two%" EQU "S" set SNEEKTYPE=%two%
|
|
if /i "%two%" EQU "U" set SNEEKTYPE=%two%
|
|
if /i "%two%" EQU "SD" set SNEEKTYPE=%two%
|
|
if /i "%two%" EQU "UD" set SNEEKTYPE=%two%
|
|
if "%SNEEKTYPE%"=="" (echo "%two%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
|
|
::-----------Rev:#---------------
|
|
set neekrev=1
|
|
|
|
findStr /I /C:" Rev:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noRevcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
set neekrev=
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* Rev:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p CurrentRev= <temp\cmdinput2.txt
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk -spat filter temp\cmdinput.txt -rep _" Rev:%removeme%"__ -write -yes>nul
|
|
|
|
if /i "%neek2o%" EQU "ON" (set googlecode=neek2o) & (set neekname=neek2o)
|
|
if /i "%neek2o%" NEQ "ON" (set googlecode=sneeky-compiler-modmii) & (set neekname=neek)
|
|
|
|
|
|
if exist "temp\%neekname%\%neekname%-rev%CurrentRev%.zip" goto:noRevcmd
|
|
|
|
echo Downloading %neekname%-rev%CurrentRev%.zip...
|
|
support\wget --no-check-certificate -t 3 "https://master.dl.sourceforge.net/project/%googlecode%/%neekname%-rev%CurrentRev%.zip" -q --show-progress
|
|
|
|
if not exist "%neekname%-rev%CurrentRev%.zip" (echo "%CurrentRev%" is not a valid input, using latest version instead...) & (echo check this URL for available versions: https://sourceforge.net/projects/%googlecode%/files/?source=navbar) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (set neekrev=1) & (set CurrentRev=) & (goto:noRevcmd)
|
|
|
|
if not exist "temp\%neekname%" mkdir "temp\%neekname%"
|
|
move /y "%neekname%-rev%CurrentRev%.zip" "temp\%neekname%\%neekname%-rev%CurrentRev%.zip">nul
|
|
|
|
:noRevcmd
|
|
|
|
|
|
|
|
goto:go
|
|
|
|
|
|
|
|
::---------------------------------
|
|
:cmdlineemunandbuilder
|
|
|
|
set MENU1=S
|
|
|
|
if /i "%one%" EQU "E" set SNEEKSELECT=2
|
|
if /i "%one%" EQU "SE" set SNEEKSELECT=3
|
|
|
|
|
|
if /i "%two%" EQU "S" set SNEEKTYPE=%two%
|
|
if /i "%two%" EQU "U" set SNEEKTYPE=%two%
|
|
if /i "%two%" EQU "SD" set SNEEKTYPE=%two%
|
|
if /i "%two%" EQU "UD" set SNEEKTYPE=%two%
|
|
if "%SNEEKTYPE%"=="" (echo "%two%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
set DITYPE=off
|
|
if /i "%SNEEKTYPE%" EQU "UD" set DITYPE=on
|
|
if /i "%SNEEKTYPE%" EQU "SD" set DITYPE=on
|
|
|
|
|
|
if /i "%three%" EQU "4.3" set SNKVERSION=%three%
|
|
if /i "%three%" EQU "4.2" set SNKVERSION=%three%
|
|
if /i "%three%" EQU "4.1" set SNKVERSION=%three%
|
|
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:skip
|
|
if /i "%three%" EQU "V" set SNKVERSION=%three%
|
|
:skip
|
|
|
|
if "%SNKVERSION%"=="" (echo "%three%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
if /i "%four%" EQU "U" set SNKREGION=%four%
|
|
if /i "%four%" EQU "E" set SNKREGION=%four%
|
|
if /i "%four%" EQU "J" set SNKREGION=%four%
|
|
|
|
if /i "%SNKVERSION%" EQU "V" goto:skip
|
|
if /i "%four%" EQU "K" set SNKREGION=%four%
|
|
:skip
|
|
|
|
if "%SNKREGION%"=="" (echo "%four%" is not a valid input, try again...) & (if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (exit)
|
|
|
|
|
|
:SNKserialCMD
|
|
::-----------SN: (ie. SN:LU111111111)---------------
|
|
findStr /I /C:" SN:" temp\cmdinput.txt >nul
|
|
if ERRORLEVEL 1 (goto:noSNcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* SN:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p SNKSERIAL= <temp\cmdinput2.txt
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk -spat filter temp\cmdinput.txt -rep _" SN:%removeme%"__ -write -yes>nul
|
|
|
|
::limit user input to X# of digits
|
|
if "%SNKSERIAL:~2%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~3%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~4%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~5%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~6%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~7%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~8%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~9%"=="" (goto:badsnkkey)
|
|
if "%SNKSERIAL:~10%"=="" (goto:badsnkkey)
|
|
|
|
if /i "%SNKREGION%" EQU "U" goto:skip
|
|
::if "%SNKSERIAL:~11%"=="" (goto:badsnkkey)
|
|
:skip
|
|
|
|
if not "%SNKSERIAL:~12%"=="" (goto:badsnkkey)
|
|
|
|
::next page
|
|
goto:skipSNdefaults
|
|
|
|
:badsnkkey
|
|
echo "%SNKSERIAL%" is not a valid input, try again...
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
exit
|
|
|
|
:noSNcmd
|
|
|
|
if /i "%SNKREGION%" EQU "U" set SNKSERIAL=LU521175683
|
|
if /i "%SNKREGION%" EQU "E" set SNKSERIAL=LEH133789940
|
|
if /i "%SNKREGION%" EQU "J" set SNKSERIAL=LJM101175683
|
|
if /i "%SNKREGION%" EQU "K" set SNKSERIAL=LKM101175683
|
|
|
|
:skipSNdefaults
|
|
|
|
|
|
|
|
::-----------Rev:#---------------
|
|
set neekrev=1
|
|
|
|
findStr /I /C:" Rev:" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (goto:noRevcmd) else (copy /y temp\cmdinput.txt temp\cmdinput2.txt>nul)
|
|
set neekrev=
|
|
|
|
support\sfk filter -spat temp\cmdinput2.txt -rep _"* Rev:"__ -rep _\x20*__ -write -yes>nul
|
|
|
|
set /p CurrentRev= <temp\cmdinput2.txt
|
|
|
|
::remove hard option from cmdinput.txt
|
|
set /p removeme= <temp\cmdinput2.txt
|
|
support\sfk -spat filter temp\cmdinput.txt -rep _" Rev:%removeme%"__ -write -yes>nul
|
|
|
|
if /i "%neek2o%" EQU "ON" (set googlecode=neek2o) & (set neekname=neek2o)
|
|
if /i "%neek2o%" NEQ "ON" (set googlecode=sneeky-compiler-modmii) & (set neekname=neek)
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" goto:noRevcmd
|
|
|
|
if exist "temp\%neekname%\%neekname%-rev%CurrentRev%.zip" goto:noRevcmd
|
|
echo Downloading %neekname%-rev%CurrentRev%.zip...
|
|
support\wget --no-check-certificate -t 3 "https://master.dl.sourceforge.net/project/%googlecode%/%neekname%-rev%CurrentRev%.zip" -q --show-progress
|
|
|
|
if not exist "%neekname%-rev%CurrentRev%.zip" (echo "%CurrentRev%" is not a valid input, using latest version instead...) & (echo check this URL for available versions: https://sourceforge.net/projects/%googlecode%/files/?source=navbar) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (set neekrev=1) & (set CurrentRev=) & (goto:noRevcmd)
|
|
|
|
if not exist "temp\%neekname%" mkdir "temp\%neekname%"
|
|
move /y "%neekname%-rev%CurrentRev%.zip" "temp\%neekname%\%neekname%-rev%CurrentRev%.zip">nul
|
|
|
|
|
|
:noRevcmd
|
|
|
|
|
|
|
|
::----------Other-----------
|
|
::set defaults
|
|
|
|
set ThemeSelection=N
|
|
set SNKPLC=N
|
|
set SNKOHBC=N
|
|
set SNKCIOS=N
|
|
set SNKcBC=N
|
|
set SNKPRI=N
|
|
set SNKFLOW=N
|
|
set SNKS2U=N
|
|
set SNKnswitch=N
|
|
set MIIQ=N
|
|
set PIC=N
|
|
set NET=N
|
|
set WEATHER=N
|
|
set NEWS=N
|
|
set SHOP=N
|
|
set SPEAK=N
|
|
|
|
if /i "%SNKVERSION%" EQU "V" goto:notUorUD
|
|
if /i "%SNEEKTYPE:~0,1%" NEQ "U" goto:notUorUD
|
|
findStr /I /C:" S2U" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKS2U=N) else (set SNKS2U=Y)
|
|
:notUorUD
|
|
|
|
findStr /I /C:" nswitch" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKnswitch=N) else (set SNKnswitch=Y)
|
|
|
|
findStr /I /C:" CH" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set MIIQ=N) else (set MIIQ=Y)
|
|
::if /i "%MIIQ%" EQU "Y" set MIIQ=Y
|
|
if /i "%MIIQ%" EQU "Y" set PIC=Y
|
|
if /i "%MIIQ%" EQU "Y" set SHOP=Y
|
|
if /i "%SNKREGION%" EQU "K" goto:nomoreKchannels
|
|
if /i "%MIIQ%" EQU "Y" set NET=Y
|
|
::if /i "%MIIQ%" EQU "Y" set WEATHER=Y
|
|
::if /i "%MIIQ%" EQU "Y" set NEWS=Y
|
|
::if /i "%MIIQ%" EQU "Y" set SPEAK=Y
|
|
:nomoreKchannels
|
|
if /i "%MIIQ%" EQU "Y" goto:alreadygotallchannels
|
|
|
|
|
|
findStr /I /C:" PHOTO" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set PIC=N) else (set PIC=Y)
|
|
|
|
findStr /I /C:" SHOP" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SHOP=N) else (set SHOP=Y)
|
|
|
|
findStr /I /C:" MII" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set MIIQ=N) else (set MIIQ=Y)
|
|
|
|
|
|
if /i "%SNKREGION%" EQU "K" goto:alreadygotallchannels
|
|
|
|
::findStr /I /C:" SPEAK" temp\cmdinput.txt >nul
|
|
::IF ERRORLEVEL 1 (set SPEAK=N) else (set SPEAK=Y)
|
|
|
|
::findStr /I /C:" NEWS" temp\cmdinput.txt >nul
|
|
::IF ERRORLEVEL 1 (set NEWS=N) else (set NEWS=Y)
|
|
|
|
findStr /I /C:" NET" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set NET=N) else (set NET=Y)
|
|
|
|
::findStr /I /C:" WEATHER" temp\cmdinput.txt >nul
|
|
::IF ERRORLEVEL 1 (set WEATHER=N) else (set WEATHER=Y)
|
|
:alreadygotallchannels
|
|
|
|
|
|
|
|
findStr /I /C:" PLC" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKPLC=N) else (set SNKPLC=Y)
|
|
|
|
findStr /I /C:" OHBC" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKOHBC=N) else (set SNKOHBC=Y)
|
|
|
|
|
|
if /i "%SNKVERSION%" EQU "V" goto:skipPri
|
|
|
|
findStr /I /C:" 249" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKcIOS=N) else (set SNKcIOS=Y)
|
|
|
|
findStr /I /C:" NMM" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKcBC=N) else (set SNKcBC=NMM)
|
|
|
|
::DML only if using SNEEK+DI and if NMM is not also selected
|
|
if /i "%SNKcBC%" EQU "NMM" goto:skipDMLcmd
|
|
if /i "%SNEEKTYPE%" NEQ "SD" goto:skipDMLcmd
|
|
findStr /I /C:" DML" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKcBC=N) else (set SNKcBC=DML)
|
|
:skipDMLcmd
|
|
|
|
findStr /I /C:" Pri" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKPRI=N) else (set SNKPRI=Y)
|
|
:skipPri
|
|
|
|
findStr /I /C:" FLOW" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set SNKFLOW=N) else (set SNKFLOW=Y)
|
|
|
|
|
|
|
|
::----themes----
|
|
findStr /I /C:" Red" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=R)
|
|
if /i "%ThemeSelection%" EQU "R" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Green" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=G)
|
|
if /i "%ThemeSelection%" EQU "G" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Blue" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=BL)
|
|
if /i "%ThemeSelection%" EQU "BL" goto:donecmdthemes
|
|
|
|
findStr /I /C:" Orange" temp\cmdinput.txt >nul
|
|
IF ERRORLEVEL 1 (set ThemeSelection=N) else (set ThemeSelection=O)
|
|
if /i "%ThemeSelection%" EQU "O" goto:donecmdthemes
|
|
|
|
:donecmdthemes
|
|
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:cmdlineExploitCheck
|
|
|
|
|
|
goto:go
|
|
::---------------------------------
|
|
:go
|
|
title ModMii...
|
|
if exist temp\cmdinput.txt del temp\cmdinput.txt>nul
|
|
if exist temp\cmdinput2.txt del temp\cmdinput2.txt>nul
|
|
::mode con cols=85 lines=54
|
|
support\nircmd.exe win setsize ititle "ModMii..." 0 0 705 820
|
|
::support\nircmd.exe win setsize title "Administrator: ModMii..." 0 0 705 820
|
|
title ModMii
|
|
::support\cmdow.exe ModMii /siz 650 820
|
|
|
|
color %backgroundcolor%%whitetext%
|
|
goto:defaultsettings
|
|
:notcmd
|
|
::---------------------------------------------------------
|
|
title ModMii...
|
|
::mode con cols=85 lines=54
|
|
support\nircmd.exe win setsize ititle "ModMii..." 0 0 705 820
|
|
::support\nircmd.exe win setsize title "Administrator: ModMii..." 0 0 705 820
|
|
title ModMii
|
|
::support\cmdow.exe ModMii /siz 650 820
|
|
|
|
color %backgroundcolor%%whitetext%
|
|
|
|
::SET FILENAME=%~nx0 //this returns the name of the batch file running (doesn't work when packaged in an exe)
|
|
::SET PATHNAME=%0 //this returns the filename but also with absolute path
|
|
|
|
if exist support\skipscam.txt goto:skip
|
|
if /i "%agreedversion%" EQU "%currentversion%" goto:skip
|
|
|
|
::Bushing from Team Twizzers specifically requested ModMii include a scam warning
|
|
|
|
set warning="
|
|
echo ModMii
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%] THIS SOFTWARE IS NOT FOR SALE.
|
|
echo.
|
|
|
|
echo IF YOU PAID FOR THIS SOFTWARE OR RECEIVED IT AS PART OF A "BUNDLE"
|
|
echo YOU HAVE BEEN SCAMMED AND YOU SHOULD DEMAND YOUR MONEY BACK IMMEDIATELY
|
|
echo.
|
|
echo.
|
|
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%] USE THIS AT YOUR OWN RISK!
|
|
echo.
|
|
echo THIS PACKAGE COMES WITH ABSOLUTELY NO WARRANTY, NEITHER STATED NOR IMPLIED.
|
|
echo NO ONE BUT YOURSELF IS TO BE HELD RESPONSIBLE FOR ANY DAMAGE THIS MAY CAUSE
|
|
echo TO YOUR NINTENDO WII CONSOLE!
|
|
echo.
|
|
|
|
echo.
|
|
|
|
echo.
|
|
echo Please type the word "I" followed by the word "Agree"
|
|
echo with a space between those two words and
|
|
echo then press "Enter" to continue.
|
|
echo.
|
|
|
|
echo If you can't follow those instructions,
|
|
echo then you have no business modding anything.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
set /p warning=Enter Selection Here:
|
|
set "warning=%warning:"=%"
|
|
|
|
if /i "%warning%" EQU "I Agree" goto:skip
|
|
|
|
if /i "%warning%" EQU "skipscam" goto:doit
|
|
if /i "%warning%" NEQ "skip scam" goto:dontdoit
|
|
:doit
|
|
|
|
if exist support\skipscam.txt attrib -r -h -s support\skipscam.txt
|
|
echo %currentversion%>Support\skipscam.txt
|
|
attrib +r +h +s support\skipscam.txt
|
|
goto:skip
|
|
:dontdoit
|
|
|
|
|
|
|
|
echo.
|
|
echo Exiting ModMii...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
Exit
|
|
:skip
|
|
|
|
::Save version agreed to
|
|
if exist Support\settings.bat support\sfk filter -quiet Support\settings.bat -ls!"set AGREEDVERSION=" -write -yes
|
|
echo set AGREEDVERSION=%currentversion%>> Support\settings.bat
|
|
|
|
|
|
:DefaultSettings
|
|
|
|
::----LOAD SETTINGS (if exist)----
|
|
if exist Support\settings.bat call Support\settings.bat
|
|
call "Support\subscripts\DB.bat"
|
|
::-----default settings (default applies even if a single variable is missing from settings.bat)------
|
|
IF "%ROOTSAVE%"=="" set ROOTSAVE=off
|
|
IF "%effect%"=="" set effect=No-Spin
|
|
IF "%PCSAVE%"=="" set PCSAVE=Auto
|
|
::IF "%OPTION1%"=="" set OPTION1=off
|
|
IF "%AudioOption%"=="" set AudioOption=on
|
|
IF "%hermesOPTION%"=="" set hermesOPTION=off
|
|
IF "%CMIOSOPTION%"=="" set CMIOSOPTION=off
|
|
IF "%FWDOPTION%"=="" set FWDOPTION=on
|
|
IF "%ExtraProtectionOPTION%"=="" set ExtraProtectionOPTION=on
|
|
IF "%Drive%"=="" set Drive=COPY_TO_SD
|
|
IF "%DriveU%"=="" set DriveU=COPY_TO_USB
|
|
IF "%ACTIVEIOS%"=="" set ACTIVEIOS=on
|
|
IF "%AUSKIP%"=="" set AUSKIP=off
|
|
IF "%AUTOUPDATE%"=="" set AUTOUPDATE=on
|
|
IF "%ModMiiverbose%"=="" set ModMiiverbose=off
|
|
IF "%sneekverbose%"=="" set sneekverbose=off
|
|
IF "%neek2o%"=="" set neek2o=on
|
|
IF "%SSD%"=="" set SSD=off
|
|
::IF "%discexverify%"=="" set discexverify=off
|
|
IF "%SNKFONT%"=="" set SNKFONT=B
|
|
IF "%skin%"=="" set skin=Default
|
|
::IF "%AutoDetectNL%"=="" set AutoDetectNL=
|
|
::IF "%AutoDetectDF%"=="" set AutoDetectDF=
|
|
if exist "Support\Skins\%skin%\Success.mp3" (set "Success.mp3=Support\Skins\%skin%\Success.mp3") else (set "Success.mp3=Support\Skins\Default\Success.mp3")
|
|
if exist "Support\Skins\%skin%\Fail.mp3" (set "Fail.mp3=Support\Skins\%skin%\Fail.mp3") else (set "Fail.mp3=Support\Skins\Default\Fail.mp3")
|
|
if exist "Support\Skins\%skin%\splash.png" (set "splash.png=Support\Skins\%skin%\splash.png") else (set "splash.png=Support\Skins\Default\splash.png")
|
|
|
|
|
|
::by default legacy apps are disabled (107 at present) less retroarch which should be updated later in 2025 (but will continue to exclude more_ra_arcade & more_ra_cores which are relatively large downloads)
|
|
if not exist Support\settings_skipped_apps.txt powershell echo "?100_Boxes_Wiiu?`n?AM64DSPatcher?`n?AocPatcher?`n?asturoids?`n?Bloopair?`n?cave?`n?cbhc?`n?cfwbooter?`n?CHIP8?`n?clock?`n?CloseHBL?`n?controller-test?`n?Crispy-Doom?`n?ddd?`n?diibugger?`n?disc2app?`n?disc2appWUTPort?`n?drc-test?`n?Fake-08?`n?fireplace-nx-wiiu?`n?flappy_bird?`n?flappy_bird_3d?`n?fsdumper?`n?ft2sd?`n?ftpiiu-cbhc?`n?ftpiiu?`n?ftpiiu_everywhere?`n?fuckyoustick?`n?gacubeboy?`n?GamepadTester?`n?gbiine?`n?geckiine?`n?haxchi?`n?HBL_Dpad?`n?hbl2hbc?`n?hid_keyboard_monitor?`n?hidtest?`n?hidtovpad?`n?homebrew_launcher?`n?IOSreboot?`n?iosuotp?`n?jezzballu?`n?keyboard_example?`n?lameIRCU?`n?LiveSynthesisU?`n?loadiine_gx2?`n?loadiine_gx2_y?`n?MegaZeux?`n?menu_sort?`n?Minesweeper_WiiU?`n?mocha?`n?mocha_fat32?`n?mocha_fshax?`n?mocha_sd_access?`n?more_ra_arcade?`n?more_ra_cores?`n?nanddumper?`n?nnupatcher?`n?Opensupaplex?`n?otp2sd?`n?ourloader?`n?PacmanGX2?`n?Pokemini?`n?PokeMiniU?`n?pong?`n?RemotePad?`n?savemii?`n?savemii_inject_mod?`n?saviine?`n?SDcafiine?`n?SDGeckiine?`n?seeprom2sd?`n?shutdown-hbl?`n?sign_c2w_patcher?`n?sigpatcher2HBL?`n?sigpatcher2sysmenu?`n?Simple_SDL_Snake?`n?sm4sh2sd?`n?snake?`n?spacegame?`n?spiik?`n?SuDokuL?`n?swapdrc?`n?swapdrc_lite?`n?swipswapme?`n?TetrisU?`n?tictactoe?`n?tik2sd?`n?timingu?`n?u-paint?`n?Uclick?`n?UFDiine?`n?UselessHomebrew?`n?VidChanger?`n?vwii-compat-installer?`n?vWii-NAND-Restorer?`n?vWii_decaffeinator?`n?WiiAlarmU?`n?wiiu-vnc?`n?wim?`n?wudump?`n?wup_installer_gx2?`n?wup_installer_gx2_mod?`n?wuphax?`n?wupinstaller?`n?wupymod?`n?yapesdl?">Support\settings_skipped_apps.txt
|
|
|
|
::check for supporting apps that AVs are known to remove
|
|
if not exist support\hexalter.exe (echo One or more of ModMii's supporting files are missing, redownloading...) & (set currentversion=0.0.0) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:UpdateModMii)
|
|
if not exist support\nircmd.exe (echo One or more of ModMii's supporting files are missing, redownloading...) & (set currentversion=0.0.0) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:UpdateModMii)
|
|
if not exist support\sfk.exe (echo One or more of ModMii's supporting files are missing, redownloading...) & (set currentversion=0.0.0) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:UpdateModMii)
|
|
if not exist %WiiPy% (echo One or more of ModMii's supporting files are missing, redownloading...) & (set currentversion=0.0.0) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:UpdateModMii)
|
|
if not exist support\wget.exe (echo One or more of ModMii's supporting files are missing, redownloading...) & (set currentversion=0.0.0) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:UpdateModMii)
|
|
if not exist support\7za.exe (echo One or more of ModMii's supporting files are missing, redownloading...) & (set currentversion=0.0.0) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:UpdateModMii)
|
|
if not exist support\jptch.exe (echo One or more of ModMii's supporting files are missing, redownloading...) & (set currentversion=0.0.0) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:UpdateModMii)
|
|
::WizApp.exe only needed for skin
|
|
|
|
|
|
|
|
::recommended d2x version check = "RecD2XcIOS", but check no more than once per day
|
|
FOR /F "tokens=*" %%g IN ('support\sfk date') do (SET CurDate=%%g)
|
|
if not exist temp\d2xClassicCheck.txt echo whatever>temp\d2xClassicCheck.txt
|
|
findStr /I /X /C:"%CurDate% " "temp\d2xClassicCheck.txt" >nul
|
|
IF NOT ERRORLEVEL 1 goto:proceed
|
|
if exist temp\RecD2XcIOS.txt del temp\RecD2XcIOS.txt>nul
|
|
support\wget --no-check-certificate "https://github.com/xflak/stats/releases/latest/download/classic.txt" -O temp\RecD2XcIOS.txt -q
|
|
::delete if file is empty (if empty)
|
|
if exist "temp\RecD2XcIOS.txt" >nul findstr "^" "temp\RecD2XcIOS.txt" || del "temp\RecD2XcIOS.txt"
|
|
if not exist temp\RecD2XcIOS.txt goto:proceed
|
|
set /p RecD2XcIOS= <temp\RecD2XcIOS.txt
|
|
del "temp\RecD2XcIOS.txt">nul
|
|
if exist "Support\settings.bat" support\sfk filter -spat "Support\settings.bat" -ls!"set \x22RecD2XcIOS=" -write -yes>nul
|
|
echo Set "RecD2XcIOS=%RecD2XcIOS%">> Support\settings.bat
|
|
echo %CurDate% >temp\d2xClassicCheck.txt
|
|
:proceed
|
|
|
|
|
|
|
|
|
|
if /i "%cmdlinemode%" NEQ "Y" if /i "%AUTOUPDATE%" EQU "on" goto:UpdateModMii
|
|
|
|
::......................................................MAIN MENU..............................................
|
|
|
|
:MENU
|
|
|
|
color %backgroundcolor%%whitetext%
|
|
|
|
if exist temp\ModMii_Log.bat del temp\ModMii_Log.bat>nul
|
|
if exist temp\DLgotos-copy.txt del temp\DLgotos-copy.txt>nul
|
|
|
|
::----restore settings if applicable (download queue and sneek nand builder)----
|
|
IF "%MENU1%"=="" goto:NOCLEAR
|
|
if /i "%MENU1%" NEQ "O" goto:Cleartempsettings
|
|
goto:NOCLEAR
|
|
:Cleartempsettings
|
|
Set ROOTSAVE=%ROOTSAVETEMP%
|
|
::Set Option1=%Option1TEMP%
|
|
if exist Support\settings.bat call Support\settings.bat
|
|
:NOCLEAR
|
|
|
|
::---SET TEMP SETTINGS FOR DL QUE---
|
|
Set ROOTSAVETEMP=%ROOTSAVE%
|
|
::Set Option1TEMP=%Option1%
|
|
|
|
|
|
|
|
|
|
|
|
::variables that interfere with cmd line wizard
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" EQU "Y" goto:MENUafterbadvars
|
|
|
|
SET VIRGIN=
|
|
set REGIONCHANGE=
|
|
SET FIRMSTART=
|
|
set ctype=
|
|
set macaddress=
|
|
set PIC=
|
|
set NET=
|
|
set WEATHER=
|
|
set NEWS=
|
|
set SHOP=
|
|
set SPEAK=
|
|
set MIIQ=
|
|
set REGION=
|
|
set SNKREGION=
|
|
set UpdatesIOSQ=
|
|
set SNEEKTYPE=
|
|
set SNEEKSELECT=
|
|
set USBGUIDE=
|
|
set LOADER=
|
|
SET EXPLOIT=default
|
|
if /i "%USBCONFIG%" EQU "USB" set "DRIVE=%DRIVETEMP%"
|
|
set addwadfolder=
|
|
set AbstinenceWiz=
|
|
:MENUafterbadvars
|
|
|
|
set ADVSLOT2=247
|
|
set ADVVERSION2=65535
|
|
set REALDRIVE=
|
|
set MORE=
|
|
SET DEC=
|
|
SET HEX=
|
|
SET VER=
|
|
SET CONFIRM=
|
|
set loadorgo=go
|
|
set SMAPP=
|
|
set customSMfix=
|
|
set secondmmmrun=
|
|
|
|
::SET EXPLOIT=default
|
|
set exploitselection=
|
|
set COPY=
|
|
set DLTOTAL=0
|
|
set OPTIONS=
|
|
set DB=N
|
|
|
|
::if /i "%USBCONFIG%" EQU "USB" set "DRIVE=%DRIVETEMP%"
|
|
::set USBGUIDE=
|
|
::set LOADER=
|
|
::set SNEEKTYPE=
|
|
::set SNEEKSELECT=
|
|
::set patchIOSnum=36 or 236
|
|
|
|
::--followup--
|
|
IF "%Drive%"=="" set Drive=COPY_TO_SD
|
|
IF "%DriveU%"=="" set DriveU=COPY_TO_USB
|
|
set DRIVErestore=
|
|
|
|
if /i "%cmdlinemode%" NEQ "Y" set USBCONFIG=
|
|
::set USBCONFIG=
|
|
|
|
|
|
::if second char is ":" check if drive exists
|
|
if /i "%DRIVE:~1,1%" NEQ ":" goto:skipcheck
|
|
if not exist "%DRIVE:~0,2%" set DRIVE=COPY_TO_SD
|
|
:skipcheck
|
|
|
|
::if second char is ":" check if driveU exists
|
|
if /i "%DRIVEU:~1,1%" NEQ ":" goto:skipcheck
|
|
if not exist "%DRIVEU:~0,2%" set DRIVE=COPY_TO_USB
|
|
:skipcheck
|
|
|
|
:CLEAR
|
|
|
|
set basewad=none
|
|
set basewadb=none
|
|
set CurrentDLNAME=
|
|
set AdvNumber=0
|
|
if exist temp\DLnamesADV.txt del temp\DLnamesADV.txt>nul
|
|
if exist temp\DLgotosADV.txt del temp\DLgotosADV.txt>nul
|
|
|
|
set EULAU=
|
|
set EULAE=
|
|
set EULAJ=
|
|
set EULAK=
|
|
set RSU=
|
|
set RSE=
|
|
set RSJ=
|
|
set RSK=
|
|
set HAZA=
|
|
set vRSU=
|
|
set vRSE=
|
|
set vRSJ=
|
|
set BC=
|
|
set BCnand=
|
|
set BCwfs=
|
|
set SM4.1U=
|
|
set SM4.2U=
|
|
set SM4.3U=
|
|
set SM4.1E=
|
|
set SM4.2E=
|
|
set SM4.3E=
|
|
set SM4.1J=
|
|
set SM4.2J=
|
|
set SM4.3J=
|
|
set SM4.1K=
|
|
set SM4.2K=
|
|
set SM4.3K=
|
|
set vSM4.3U=
|
|
set vSM4.3E=
|
|
set vSM4.3J=
|
|
set SM4.3U-DWR=
|
|
set SM4.2U-DWR=
|
|
set SM4.1U-DWR=
|
|
set SM4.3E-DWR=
|
|
set SM4.2E-DWR=
|
|
set SM4.1E-DWR=
|
|
set SM4.3J-DWR=
|
|
set SM4.2J-DWR=
|
|
set SM4.1J-DWR=
|
|
set SM4.3K-DWR=
|
|
set SM4.2K-DWR=
|
|
set SM4.1K-DWR=
|
|
|
|
set SM4.3U-DWG=
|
|
set SM4.2U-DWG=
|
|
set SM4.1U-DWG=
|
|
set SM4.3E-DWG=
|
|
set SM4.2E-DWG=
|
|
set SM4.1E-DWG=
|
|
set SM4.3J-DWG=
|
|
set SM4.2J-DWG=
|
|
set SM4.1J-DWG=
|
|
set SM4.3K-DWG=
|
|
set SM4.2K-DWG=
|
|
set SM4.1K-DWG=
|
|
|
|
set SM4.3U-DWB=
|
|
set SM4.2U-DWB=
|
|
set SM4.1U-DWB=
|
|
set SM4.3E-DWB=
|
|
set SM4.2E-DWB=
|
|
set SM4.1E-DWB=
|
|
set SM4.3J-DWB=
|
|
set SM4.2J-DWB=
|
|
set SM4.1J-DWB=
|
|
set SM4.3K-DWB=
|
|
set SM4.2K-DWB=
|
|
set SM4.1K-DWB=
|
|
|
|
set SM4.3U-DWO=
|
|
set SM4.2U-DWO=
|
|
set SM4.1U-DWO=
|
|
set SM4.3E-DWO=
|
|
set SM4.2E-DWO=
|
|
set SM4.1E-DWO=
|
|
set SM4.3J-DWO=
|
|
set SM4.2J-DWO=
|
|
set SM4.1J-DWO=
|
|
set SM4.3K-DWO=
|
|
set SM4.2K-DWO=
|
|
set SM4.1K-DWO=
|
|
|
|
set IOS30=
|
|
|
|
set IOS30P60=
|
|
set IOS40P60=
|
|
set IOS20P60=
|
|
set IOS11P60=
|
|
set IOS50P=
|
|
set IOS52P=
|
|
set IOS60=
|
|
set IOS60P=
|
|
set IOS70=
|
|
set IOS80=
|
|
set IOS236=
|
|
|
|
set IOS70K=
|
|
set IOS80K=
|
|
set BB1=
|
|
set BB2=
|
|
set HM=
|
|
set IOS236Installer=
|
|
set SIP=
|
|
set DumpMii=
|
|
set casper=
|
|
set Wilbrand=
|
|
set syscheck=
|
|
set locked=
|
|
set AccioHacks=
|
|
set usbgx=
|
|
set nintendont=
|
|
set MyM=
|
|
set HBB=
|
|
set WII64=
|
|
set Not64=
|
|
set Dolphin=
|
|
set FILEZILLA=
|
|
set hxd=
|
|
set Diskitude=
|
|
set WiiLink=
|
|
set Cemu=
|
|
set Nkit=
|
|
set RC24=
|
|
set SDTEST=
|
|
set HashMF=
|
|
set ThemeMiiMod=
|
|
set UStealth=
|
|
set UWUVCI=
|
|
set GCBM=
|
|
set NUSGet=
|
|
set ftpii=
|
|
set CheatZip=
|
|
set AccountSwap=
|
|
set OSClib=
|
|
set HBASlib=
|
|
set OSC=
|
|
set WIISX=
|
|
set bootmiisd=
|
|
set pwns=
|
|
set twi=
|
|
set twi2=
|
|
set YUGI=
|
|
set Bathaxx=
|
|
set ROTJ=
|
|
set TOS=
|
|
set smash=
|
|
set mmm=
|
|
set CleanRip=
|
|
set clean=
|
|
set code1=
|
|
set OSCmode=
|
|
set HBASmode=
|
|
set ARC=
|
|
set KK=
|
|
set yawm=
|
|
set neogamma=
|
|
set usbfolder=
|
|
set WiiMC=
|
|
set Bloopair=
|
|
set Inkay=
|
|
set Aroma=
|
|
set wup_installer_gx2_wuhb=
|
|
set wudd=
|
|
set GiveMiiYouTube=
|
|
set HMold=
|
|
set csminstaller=
|
|
set evWii=
|
|
set WiiUIdent=
|
|
set WiiVCLaunch=
|
|
set Tiramisu=
|
|
set Screenshot_WUPS=
|
|
set appstore=
|
|
set SaveMiiModWUTPort=
|
|
set vWii80Installer=
|
|
set v43DB=
|
|
set Swiss_cMIOS=
|
|
set DiosMios=
|
|
set SCR=
|
|
set vIOS9=
|
|
set vIOS12=
|
|
set vIOS13=
|
|
set vIOS14=
|
|
set vIOS15=
|
|
set vIOS17=
|
|
set vIOS21=
|
|
set vIOS22=
|
|
set vIOS28=
|
|
set vIOS31=
|
|
set vIOS33=
|
|
set vIOS34=
|
|
set vIOS35=
|
|
set vIOS36=
|
|
set vIOS37=
|
|
set vIOS38=
|
|
set vIOS41=
|
|
set vIOS43=
|
|
set vIOS45=
|
|
set vIOS46=
|
|
set vIOS48=
|
|
set vIOS53=
|
|
set vIOS55=
|
|
set vIOS56=
|
|
set vIOS57=
|
|
set vIOS58=
|
|
set vIOS59=
|
|
set vIOS61=
|
|
set vIOS62=
|
|
set vIOS80=
|
|
set vIOS80P=
|
|
set CompatTitleInstaller=
|
|
set EnvironmentLoader=
|
|
set Nanddumper=
|
|
set Wiiload Plugin=
|
|
set FTPiiU Plugin=
|
|
set fceugx=
|
|
set snes9xgx=
|
|
set STUBS=
|
|
set vbagx=
|
|
set SGM=
|
|
set PL=
|
|
set WIIX=
|
|
set flow=
|
|
set wbm=
|
|
set CheatCodes=
|
|
set f32=
|
|
set WiiGSC=
|
|
set ohnes=
|
|
set SMW=
|
|
set CM=
|
|
set USBX=
|
|
set FLOWF=
|
|
set S2U=
|
|
set nswitch=
|
|
set PLC=
|
|
set OHBC=
|
|
set OHBC113=
|
|
set OHBC114=
|
|
set Pri=
|
|
set UpdatePri=
|
|
set HAX=
|
|
set CM5=
|
|
set MP=
|
|
set MII=
|
|
set P=
|
|
set PHOTOK=
|
|
set WSK=
|
|
set P0=
|
|
set S=
|
|
set SK=
|
|
set IU=
|
|
set IE=
|
|
set IJ=
|
|
set WU=
|
|
set WE=
|
|
set WJ=
|
|
set NU=
|
|
set NE=
|
|
set NJ=
|
|
set WSU=
|
|
set WSE=
|
|
set WSJ=
|
|
set M10=
|
|
set IOS9=
|
|
set IOS12=
|
|
set IOS13=
|
|
set IOS14=
|
|
set IOS15=
|
|
set IOS17=
|
|
set IOS21=
|
|
set IOS22=
|
|
set IOS28=
|
|
set IOS31=
|
|
set IOS33=
|
|
set IOS34=
|
|
set IOS35=
|
|
set IOS36=
|
|
set IOS36v3608=
|
|
set IOS37=
|
|
set IOS38=
|
|
set IOS41=
|
|
set IOS48v4124=
|
|
set IOS43=
|
|
set IOS45=
|
|
set IOS46=
|
|
set IOS53=
|
|
set IOS55=
|
|
set IOS56=
|
|
set IOS57=
|
|
set IOS58=
|
|
set IOS59=
|
|
set IOS61=
|
|
set IOS62=
|
|
set A0e=
|
|
set A0c=
|
|
::set A0e_60=
|
|
::set A0e_70=
|
|
::set A01=
|
|
set A01_60=
|
|
::set A01_70=
|
|
set A1c=
|
|
set A1f=
|
|
set A22=
|
|
set A0d=
|
|
set A78=
|
|
set A7b=
|
|
set A7e=
|
|
set A84=
|
|
set A87=
|
|
set A8a=
|
|
set A94=
|
|
set A97=
|
|
set A9a=
|
|
set A81=
|
|
set A8d=
|
|
set A9d=
|
|
set RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2=
|
|
set RVL-cmios-v4_WiiGator_GCBL_v0.2=
|
|
set RVL-cmios-v4_Waninkoko_rev5=
|
|
|
|
set DarkWii_Red_vWiiJ=
|
|
set DarkWii_Red_vWiiU=
|
|
set DarkWii_Red_vWiiE=
|
|
|
|
set DarkWii_Green_vWiiJ=
|
|
set DarkWii_Green_vWiiU=
|
|
set DarkWii_Green_vWiiE=
|
|
|
|
set DarkWii_Blue_vWiiJ=
|
|
set DarkWii_Blue_vWiiU=
|
|
set DarkWii_Blue_vWiiE=
|
|
|
|
set darkwii_orange_vWiiJ=
|
|
set darkwii_orange_vWiiU=
|
|
set darkwii_orange_vWiiE=
|
|
|
|
|
|
set DarkWii_Red_4.3U=
|
|
set DarkWii_Red_4.2U=
|
|
set DarkWii_Red_4.1U=
|
|
set DarkWii_Red_4.3E=
|
|
set DarkWii_Red_4.2E=
|
|
set DarkWii_Red_4.1E=
|
|
set DarkWii_Red_4.3J=
|
|
set DarkWii_Red_4.2J=
|
|
set DarkWii_Red_4.1J=
|
|
set DarkWii_Red_4.3K=
|
|
set DarkWii_Red_4.2K=
|
|
set DarkWii_Red_4.1K=
|
|
|
|
set DarkWii_Green_4.3U=
|
|
set DarkWii_Green_4.2U=
|
|
set DarkWii_Green_4.1U=
|
|
set DarkWii_Green_4.3E=
|
|
set DarkWii_Green_4.2E=
|
|
set DarkWii_Green_4.1E=
|
|
set DarkWii_Green_4.3J=
|
|
set DarkWii_Green_4.2J=
|
|
set DarkWii_Green_4.1J=
|
|
set DarkWii_Green_4.3K=
|
|
set DarkWii_Green_4.2K=
|
|
set DarkWii_Green_4.1K=
|
|
|
|
set DarkWii_Blue_4.3U=
|
|
set DarkWii_Blue_4.2U=
|
|
set DarkWii_Blue_4.1U=
|
|
set DarkWii_Blue_4.3E=
|
|
set DarkWii_Blue_4.2E=
|
|
set DarkWii_Blue_4.1E=
|
|
set DarkWii_Blue_4.3J=
|
|
set DarkWii_Blue_4.2J=
|
|
set DarkWii_Blue_4.1J=
|
|
set DarkWii_Blue_4.3K=
|
|
set DarkWii_Blue_4.2K=
|
|
set DarkWii_Blue_4.1K=
|
|
|
|
set darkwii_orange_4.3U=
|
|
set darkwii_orange_4.2U=
|
|
set darkwii_orange_4.1U=
|
|
set darkwii_orange_4.3E=
|
|
set darkwii_orange_4.2E=
|
|
set darkwii_orange_4.1E=
|
|
set darkwii_orange_4.3J=
|
|
set darkwii_orange_4.2J=
|
|
set darkwii_orange_4.1J=
|
|
set darkwii_orange_4.3K=
|
|
set darkwii_orange_4.2K=
|
|
set darkwii_orange_4.1K=
|
|
set cIOS222[38]-v4=
|
|
set cIOS223[37-38]-v4=
|
|
set cBC=
|
|
set DML=
|
|
set cIOS222[38]-v5=
|
|
set cIOS223[37]-v5=
|
|
set cIOS224[57]-v5=
|
|
set cIOS202[60]-v5.1R=
|
|
set cIOS222[38]-v5.1R=
|
|
set cIOS223[37]-v5.1R=
|
|
set cIOS224[57]-v5.1R=
|
|
set cIOS249[37]-v19=
|
|
set cIOS249[38]-v19=
|
|
set cIOS249[57]-v19=
|
|
set cIOS249[38]-v20=
|
|
set cIOS250[38]-v20=
|
|
set cIOS249[56]-v20=
|
|
set cIOS250[56]-v20=
|
|
set cIOS249[57]-v20=
|
|
set cIOS250[57]-v20=
|
|
set cIOS249-v17b=
|
|
set cIOS249-v14=
|
|
set cIOS250-v14=
|
|
set cIOS202[37]-v5=
|
|
set cIOS202[38]-v5=
|
|
set cIOS250[57]-v19=
|
|
set cIOS250-v17b=
|
|
set cIOS250[37]-v19=
|
|
set cIOS250[38]-v19=
|
|
|
|
set cIOS249[37]-v21=
|
|
set cIOS250[37]-v21=
|
|
set cIOS249[38]-v21=
|
|
set cIOS250[38]-v21=
|
|
set cIOS249[56]-v21=
|
|
|
|
set cIOS249[53]-v21=
|
|
set cIOS250[53]-v21=
|
|
set cIOS249[55]-v21=
|
|
set cIOS250[55]-v21=
|
|
|
|
|
|
set cIOS250[56]-v21=
|
|
set cIOS249[57]-v21=
|
|
set cIOS250[57]-v21=
|
|
set cIOS249[58]-v21=
|
|
set cIOS250[58]-v21=
|
|
set cIOS248[38]-d2x-v10-beta52=
|
|
set cIOS251[58]-d2x-v10-beta52=
|
|
set cIOS249[37]-d2x-v10-beta52=
|
|
set cIOS249[38]-d2x-v10-beta52=
|
|
set cIOS249[53]-d2x-v10-beta52=
|
|
set cIOS249[55]-d2x-v10-beta52=
|
|
set cIOS249[56]-d2x-v10-beta52=
|
|
set cIOS249[57]-d2x-v10-beta52=
|
|
set cIOS249[58]-d2x-v10-beta52=
|
|
set cIOS249[60]-d2x-v10-beta52=
|
|
set cIOS249[70]-d2x-v10-beta52=
|
|
set cIOS249[80]-d2x-v10-beta52=
|
|
set cIOS250[37]-d2x-v10-beta52=
|
|
set cIOS250[38]-d2x-v10-beta52=
|
|
set cIOS250[53]-d2x-v10-beta52=
|
|
set cIOS250[55]-d2x-v10-beta52=
|
|
set cIOS250[56]-d2x-v10-beta52=
|
|
set cIOS250[57]-d2x-v10-beta52=
|
|
set cIOS250[58]-d2x-v10-beta52=
|
|
set cIOS250[60]-d2x-v10-beta52=
|
|
set cIOS250[70]-d2x-v10-beta52=
|
|
set cIOS250[80]-d2x-v10-beta52=
|
|
set cIOS248[38]-d2x-vWii=
|
|
set cIOS249[56]-d2x-vWii=
|
|
set cIOS250[57]-d2x-vWii=
|
|
set cIOS251[58]-d2x-vWii=
|
|
|
|
if /i "%secondrun%" NEQ "Y" goto:miniskip
|
|
if /i "%cleardownloadsettings%" NEQ "yes" goto:miniskip
|
|
set nswitchFound=
|
|
set BCtype=
|
|
goto:DownloadSettings
|
|
:miniskip
|
|
|
|
|
|
if /i "%MENUREAL%" EQU "S" goto:finishsneekinstall2
|
|
|
|
set nswitchFound=
|
|
set BCtype=
|
|
|
|
if /i "%cleardownloadsettings%" EQU "yes" goto:DownloadSettings
|
|
|
|
if /i "%ADVPATCH%" EQU "B" goto:ADVANCED
|
|
if /i "%ADVSLOT%" EQU "B" goto:ADVANCED
|
|
if /i "%ADVVERSION%" EQU "B" goto:ADVANCED
|
|
|
|
if /i "%ADVLIST%" EQU "C" goto:ADVANCED
|
|
::if /i "%SETTINGS%" EQU "C" goto:DOWNLOADQUEUE
|
|
|
|
SET COUNT=1
|
|
SET COUNT2=1
|
|
SET COUNT3=1
|
|
SET COUNT4=1
|
|
SET COUNT5=1
|
|
SET COUNT6=1
|
|
SET COUNT7=1
|
|
SET COUNT8=1
|
|
SET CURRENTDL=0
|
|
|
|
|
|
|
|
:Clear simplelog
|
|
if exist temp\ModMii_Log.bat del temp\ModMii_Log.bat>nul
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:noextravars
|
|
if /i "%one%" EQU "W" goto:DOWNLOAD
|
|
if /i "%one%" EQU "WL" goto:LoadWizardSettings2
|
|
if /i "%one%" EQU "RC" goto:DOWNLOAD
|
|
if /i "%one%" EQU "SU" goto:sysCheckAnalyzer
|
|
if /i "%one%" EQU "BM" goto:BMCONFIG2nd
|
|
if /i "%one%" EQU "HS" goto:HACKMIISOLUTION
|
|
if /i "%one%" EQU "L" goto:forcmdlineL
|
|
if /i "%one%" EQU "U" goto:DLCOUNT
|
|
if /i "%one%" EQU "EMUMOD" goto:doublecheckNANDPATH
|
|
|
|
if /i "%MENU1%" EQU "FC" set "DRIVE=%DRIVEtemp%"
|
|
if /i "%MENU1%" EQU "FC" goto:FileCleanup
|
|
|
|
if /i "%SNEEKSELECT%" EQU "4" goto:doublecheckISOFOLDER
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:extravars
|
|
if /i "%one%" EQU "S" goto:extravars
|
|
if /i "%one%" EQU "E" goto:extravars
|
|
if /i "%one%" EQU "SE" goto:extravars
|
|
goto:noextravars
|
|
:extravars
|
|
::random vars required for everything to work
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "S" set "nandpath=%DRIVE%"
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "U" set "nandpath=%DRIVEU%"
|
|
|
|
|
|
set nandexist=no
|
|
::if exist "%nandpath%"\title set nandexist=yes
|
|
::if exist "%nandpath%"\ticket set nandexist=yes
|
|
::if exist "%nandpath%"\sys set nandexist=yes
|
|
::if exist "%nandpath%"\shared1 set nandexist=yes
|
|
::if exist "%nandpath%"\title\00000001\00000002\data\setting.txt (set settingtxtExist=yes) else (set settingtxtExist=no)
|
|
|
|
if /i "%neek2o%" EQU "ON" goto:DOIT
|
|
if /i "%SNKS2U%" EQU "N" goto:quickskip
|
|
:DOIT
|
|
SET NANDcount=0
|
|
if /i "%SNKREGION%" EQU "U" set nandregion=us
|
|
if /i "%SNKREGION%" EQU "E" set nandregion=eu
|
|
if /i "%SNKREGION%" EQU "J" set nandregion=jp
|
|
if /i "%SNKREGION%" EQU "K" set nandregion=kr
|
|
if not exist "%nandpath%\nands\pl_%nandregion%" set "nandpath=%nandpath%\nands\pl_%nandregion%"
|
|
if not exist "%nandpath%\nands\pl_%nandregion%" goto:quickskip
|
|
|
|
:NANDnamecmd
|
|
SET /a NANDcount=%NANDcount%+1
|
|
if not exist "%nandpath%\nands\pl_%nandregion%%NANDcount%" set "nandpath=%nandpath%\nands\pl_%nandregion%%NANDcount%"
|
|
if not exist "%nandpath%\nands\pl_%nandregion%%NANDcount%" goto:quickskip
|
|
goto:NANDnamecmd
|
|
:quickskip
|
|
|
|
|
|
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:NEEKrevSelect
|
|
if /i "%one%" EQU "S" goto:NEEKrevSelect
|
|
if /i "%one%" EQU "SE" goto:NEEKrevSelect
|
|
if /i "%one%" EQU "E" goto:SNKNANDBUILDER
|
|
:noextravars
|
|
|
|
::---------------------------------------
|
|
|
|
if /i "%MENU1%" EQU "L" if /i "%SETTINGS%" EQU "B" goto:PICKDOWNLOADQUEUE
|
|
|
|
|
|
set MENU1="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak %DBversion%
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%] Choose an Activity:
|
|
echo.
|
|
echo W = ModMii Wizard ^<-- Start Here to Mod Your Wii, vWii or WiiU!
|
|
echo.
|
|
echo SU = SysCheck Updater Wizard (update only your outdated Wii\vWii softmods)
|
|
echo.
|
|
echo U = USB-Loader Setup Wizard ( Wii \ vWii \ Wii Mini )
|
|
echo.
|
|
echo H = HackMii Solutions Wizard (Wii): Upside-Down HBC\No Vulnerable IOS Fix
|
|
echo.
|
|
echo AW = Abstinence Wizard (Non-permanent Wii Hacks)
|
|
echo.
|
|
echo RC = Region Change Wizard (Wii)
|
|
echo.
|
|
echo S = SNEEK Installation, EmuNAND Builder\Modifier, Game Bulk Extractor
|
|
echo.
|
|
echo F = open a File or Folder with ModMii for many more functions!
|
|
if /i "%adminmode%" EQU "N" echo (or drag and drop a file\folder here and press Enter)
|
|
if /i "%adminmode%" EQU "Y" echo (or enter the path to a file\folder and press Enter)
|
|
echo.
|
|
echo # = Download Pages: 1=NUS, 2=Wii Homebrew, 3=Themes, 4=cIOSs, 5=WiiU+PC Apps
|
|
echo.
|
|
echo A = Advanced Downloads and Forwarder Builder
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20L = Load Download Queue:[%yellowtext%] Nintendo could possibly shut down their servers!
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20[%yellowtext%]Download from NUS while you still can! After ModMii's downloaded
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20[%yellowtext%]files to its temp folder for future use you can delete 'COPY_TO_SD'
|
|
echo.
|
|
echo C = Customize Config Files for Bootmii, Wad Manager or Multi-Mod Manager
|
|
echo.
|
|
echo FC = File Cleanup ^& App Updater: Update Apps and\or remove un-needed files
|
|
echo.
|
|
echo O = Options CR = Credits E = Exit
|
|
echo.
|
|
echo M = ModMii Skin Mode: use your mouse instead of your keyboard!
|
|
echo.
|
|
echo *********MORE INFO*********
|
|
support\sfk echo -spat \x20 \x20 [%redtext%] WWW = Visit modmii.github.io for more info, support, vote or to donate!
|
|
echo.
|
|
echo All Wizard activities will build a custom guide for you based on your answers
|
|
|
|
echo ***************************
|
|
echo.
|
|
set /p MENU1=Enter Selection Here:
|
|
|
|
set "MENU1=%MENU1:"=%"
|
|
if "%MENU1%"=="" goto:badkey
|
|
|
|
If /i "%MENU1%" EQU "?" goto:badkey
|
|
|
|
if /i "%MENU1%" EQU "W" goto:LoadWizardSettings
|
|
if /i "%MENU1%" EQU "SU" goto:sysCheckName
|
|
if /i "%MENU1%" EQU "RC" goto:RCPAGE1
|
|
if /i "%MENU1%" EQU "F" goto:NotSoHidden
|
|
if /i "%MENU1%" EQU "U" goto:UPAGE1b
|
|
if /i "%MENU1%" EQU "S" goto:SNKPAGE1
|
|
|
|
if /i "%MENU1%" EQU "#" (set "nextpage=DLPAGE%MENU1%.hta") & (goto:DLPAGES)
|
|
if /i "%MENU1%" EQU "1" (set "nextpage=DLPAGE%MENU1%.hta") & (goto:DLPAGES)
|
|
if /i "%MENU1%" EQU "2" (set "nextpage=DLPAGE%MENU1%.hta") & (goto:DLPAGES)
|
|
if /i "%MENU1%" EQU "3" (set "nextpage=DLPAGE%MENU1%.hta") & (goto:DLPAGES)
|
|
if /i "%MENU1%" EQU "4" (set "nextpage=DLPAGE%MENU1%.hta") & (goto:DLPAGES)
|
|
if /i "%MENU1%" EQU "5" (set "nextpage=DLPAGE%MENU1%.hta") & (goto:DLPAGES)
|
|
|
|
if /i "%MENU1%" EQU "A" goto:ADVANCED
|
|
|
|
if /i "%MENU1%" NEQ "E" goto:NotExit
|
|
tasklist /fi "ImageName eq nircmd.exe" /fo csv 2>NUL | find /I "nircmd.exe">NUL
|
|
if "%ERRORLEVEL%"=="0" taskkill /F /IM "nircmd.exe" /T >nul
|
|
exit
|
|
:NotExit
|
|
|
|
if /i "%MENU1%" EQU "O" goto:OPTIONS
|
|
if /i "%MENU1%" EQU "H" goto:WPAGE2
|
|
if /i "%MENU1%" EQU "FC" set BACKB4DRIVE=Menu
|
|
if /i "%MENU1%" EQU "FC" goto:DRIVECHANGE
|
|
if /i "%MENU1%" EQU "C" goto:CONFIGFILEMENU
|
|
|
|
if /i "%MENU1%" NEQ "M" goto:NotSkinMode
|
|
tasklist /fi "ImageName eq nircmd.exe" /fo csv 2>NUL | find /I "nircmd.exe">NUL
|
|
if "%ERRORLEVEL%"=="0" taskkill /F /IM "nircmd.exe" /T >nul
|
|
start ModMiiSkin.exe
|
|
exit
|
|
:NotSkinMode
|
|
|
|
if /i "%MENU1%" EQU "AW" (set MENU1=S) & (set SNEEKSELECT=3) & (set AbstinenceWiz=Y) & (goto:WPAGE2)
|
|
|
|
|
|
|
|
if /i "%MENU1%" EQU "CR" (start https://modmii.github.io/credits.html) & (goto:MENU)
|
|
|
|
if /i "%MENU1%" EQU "WWW" (start https://modmii.github.io) & (goto:MENU)
|
|
|
|
|
|
::eggz
|
|
set oldcolour=%redtext%
|
|
if /i "%MENU1%" EQU "red2aqua" set redtext=Cyan
|
|
if /i "%MENU1%" EQU "red2cyan" set redtext=Cyan
|
|
if /i "%MENU1%" EQU "red2red" set redtext=Red
|
|
if /i "%MENU1%" EQU "red2" set redtext=Red
|
|
if /i "%MENU1%" EQU "red2yellow" set redtext=Yellow
|
|
if /i "%MENU1%" EQU "red2blue" set redtext=Blue
|
|
if /i "%MENU1%" EQU "red2green" set redtext=Green
|
|
if /i "%MENU1%" EQU "red2purple" set redtext=Magenta
|
|
if /i "%MENU1%" EQU "red2def" set redtext=def
|
|
if /i "%MENU1:~0,4%" EQU "red2" support\sfk filter -spat Support\settings.bat -ls!"set \x22redtext=" -write -yes>nul
|
|
if /i "%MENU1:~0,4%" EQU "red2" if /i "%redtext%" NEQ "Red" echo set "redtext=%redtext%">> Support\settings.bat
|
|
if /i "%redtext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%greentext%
|
|
if /i "%MENU1%" EQU "green2aqua" set greentext=Cyan
|
|
if /i "%MENU1%" EQU "green2cyan" set greentext=Cyan
|
|
if /i "%MENU1%" EQU "green2red" set greentext=Red
|
|
if /i "%MENU1%" EQU "green2yellow" set greentext=Yellow
|
|
if /i "%MENU1%" EQU "green2blue" set greentext=Blue
|
|
if /i "%MENU1%" EQU "green2green" set greentext=Green
|
|
if /i "%MENU1%" EQU "green2" set greentext=Green
|
|
if /i "%MENU1%" EQU "green2purple" set greentext=Magenta
|
|
if /i "%MENU1%" EQU "green2def" set greentext=def
|
|
if /i "%MENU1:~0,6%" EQU "green2" support\sfk filter -spat Support\settings.bat -ls!"set \x22greentext=" -write -yes>nul
|
|
if /i "%MENU1:~0,6%" EQU "green2" if /i "%Greentext%" NEQ "Green" echo set "greentext=%greentext%">> Support\settings.bat
|
|
if /i "%greentext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%bluetext%
|
|
if /i "%MENU1%" EQU "blue2aqua" set bluetext=Cyan
|
|
if /i "%MENU1%" EQU "blue2cyan" set bluetext=Cyan
|
|
if /i "%MENU1%" EQU "blue2red" set bluetext=Red
|
|
if /i "%MENU1%" EQU "blue2yellow" set bluetext=Yellow
|
|
if /i "%MENU1%" EQU "blue2blue" set bluetext=Blue
|
|
if /i "%MENU1%" EQU "blue2" set bluetext=Blue
|
|
if /i "%MENU1%" EQU "blue2green" set bluetext=Green
|
|
if /i "%MENU1%" EQU "blue2purple" set bluetext=Magenta
|
|
if /i "%MENU1%" EQU "blue2def" set bluetext=def
|
|
if /i "%MENU1:~0,5%" EQU "blue2" support\sfk filter -spat Support\settings.bat -ls!"set \x22bluetext=" -write -yes>nul
|
|
if /i "%MENU1:~0,5%" EQU "blue2" if /i "%bluetext%" NEQ "Blue" echo set "bluetext=%bluetext%">> Support\settings.bat
|
|
if /i "%bluetext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%magentatext%
|
|
if /i "%MENU1%" EQU "magenta2aqua" set magentatext=Cyan
|
|
if /i "%MENU1%" EQU "magenta2cyan" set magentatext=Cyan
|
|
if /i "%MENU1%" EQU "magenta2red" set magentatext=Red
|
|
if /i "%MENU1%" EQU "magenta2yellow" set magentatext=Yellow
|
|
if /i "%MENU1%" EQU "magenta2blue" set magentatext=Blue
|
|
if /i "%MENU1%" EQU "magenta2green" set magentatext=Green
|
|
if /i "%MENU1%" EQU "magenta2purple" set magentatext=Magenta
|
|
if /i "%MENU1%" EQU "magenta2magenta" set magentatext=Magenta
|
|
if /i "%MENU1%" EQU "magenta2" set magentatext=Magenta
|
|
if /i "%MENU1%" EQU "magenta2def" set magentatext=def
|
|
if /i "%MENU1:~0,8%" EQU "magenta2" support\sfk filter -spat Support\settings.bat -ls!"set \x22magentatext=" -write -yes>nul
|
|
if /i "%MENU1:~0,8%" EQU "magenta2" if /i "%Magentatext%" NEQ "Magenta" echo set "magentatext=%magentatext%">> Support\settings.bat
|
|
if /i "%magentatext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%magentatext%
|
|
if /i "%MENU1%" EQU "purple2aqua" set magentatext=Cyan
|
|
if /i "%MENU1%" EQU "purple2cyan" set magentatext=Cyan
|
|
if /i "%MENU1%" EQU "purple2red" set magentatext=Red
|
|
if /i "%MENU1%" EQU "purple2yellow" set magentatext=Yellow
|
|
if /i "%MENU1%" EQU "purple2blue" set magentatext=Blue
|
|
if /i "%MENU1%" EQU "purple2green" set magentatext=Green
|
|
if /i "%MENU1%" EQU "purple2purple" set magentatext=Magenta
|
|
if /i "%MENU1%" EQU "purple2" set magentatext=Magenta
|
|
if /i "%MENU1%" EQU "purple2def" set magentatext=def
|
|
if /i "%MENU1:~0,7%" EQU "purple2" support\sfk filter -spat Support\settings.bat -ls!"set \x22magentatext=" -write -yes>nul
|
|
if /i "%MENU1:~0,7%" EQU "purple2" if /i "%Magentatext%" NEQ "Magenta" echo set "magentatext=%magentatext%">> Support\settings.bat
|
|
if /i "%magentatext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%yellowtext%
|
|
if /i "%MENU1%" EQU "yellow2aqua" set yellowtext=Cyan
|
|
if /i "%MENU1%" EQU "yellow2cyan" set yellowtext=Cyan
|
|
if /i "%MENU1%" EQU "yellow2red" set yellowtext=Red
|
|
if /i "%MENU1%" EQU "yellow2yellow" set yellowtext=Yellow
|
|
if /i "%MENU1%" EQU "yellow2" set yellowtext=Yellow
|
|
if /i "%MENU1%" EQU "yellow2blue" set yellowtext=Blue
|
|
if /i "%MENU1%" EQU "yellow2green" set yellowtext=Green
|
|
if /i "%MENU1%" EQU "yellow2purple" set yellowtext=Magenta
|
|
if /i "%MENU1%" EQU "yellow2def" set yellowtext=def
|
|
if /i "%MENU1:~0,7%" EQU "yellow2" support\sfk filter -spat Support\settings.bat -ls!"set \x22yellowtext=" -write -yes>nul
|
|
if /i "%MENU1:~0,7%" EQU "yellow2" if /i "%yellowtext%" NEQ "Yellow" echo set "yellowtext=%yellowtext%">> Support\settings.bat
|
|
if /i "%yellowtext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%cyantext%
|
|
if /i "%MENU1%" EQU "cyan2aqua" set cyantext=Cyan
|
|
if /i "%MENU1%" EQU "cyan2cyan" set cyantext=Cyan
|
|
if /i "%MENU1%" EQU "cyan2" set cyantext=Cyan
|
|
if /i "%MENU1%" EQU "cyan2red" set cyantext=Red
|
|
if /i "%MENU1%" EQU "cyan2yellow" set cyantext=Yellow
|
|
if /i "%MENU1%" EQU "cyan2blue" set cyantext=Blue
|
|
if /i "%MENU1%" EQU "cyan2green" set cyantext=Green
|
|
if /i "%MENU1%" EQU "cyan2purple" set cyantext=Magenta
|
|
if /i "%MENU1%" EQU "cyan2def" set cyantext=def
|
|
if /i "%MENU1:~0,5%" EQU "cyan2" support\sfk filter -spat Support\settings.bat -ls!"set \x22cyantext=" -write -yes>nul
|
|
if /i "%MENU1:~0,5%" EQU "cyan2" if /i "%cyantext%" NEQ "cyan" echo set "cyantext=%cyantext%">> Support\settings.bat
|
|
if /i "%cyantext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%backgroundcolor%
|
|
if /i "%MENU1%" EQU "back2black" set backgroundcolor=0
|
|
if /i "%MENU1%" EQU "back2blue" set backgroundcolor=1
|
|
if /i "%MENU1%" EQU "back2" set backgroundcolor=1
|
|
if /i "%MENU1%" EQU "back2green" set backgroundcolor=2
|
|
if /i "%MENU1%" EQU "back2cyan" set backgroundcolor=3
|
|
if /i "%MENU1%" EQU "back2aqua" set backgroundcolor=3
|
|
if /i "%MENU1%" EQU "back2red" set backgroundcolor=4
|
|
if /i "%MENU1%" EQU "back2purple" set backgroundcolor=5
|
|
if /i "%MENU1%" EQU "back2yellow" set backgroundcolor=6
|
|
if /i "%MENU1%" EQU "back2white" set backgroundcolor=7
|
|
if /i "%MENU1%" EQU "back2gray" set backgroundcolor=8
|
|
if /i "%MENU1%" EQU "back2grey" set backgroundcolor=8
|
|
if /i "%MENU1%" EQU "back2blue2" set backgroundcolor=9
|
|
if /i "%MENU1%" EQU "back2green2" set backgroundcolor=A
|
|
if /i "%MENU1%" EQU "back2cyan2" set backgroundcolor=B
|
|
if /i "%MENU1%" EQU "back2aqua2" set backgroundcolor=B
|
|
if /i "%MENU1%" EQU "back2red2" set backgroundcolor=C
|
|
if /i "%MENU1%" EQU "back2purple2" set backgroundcolor=D
|
|
if /i "%MENU1%" EQU "back2yellow2" set backgroundcolor=E
|
|
if /i "%MENU1%" EQU "back2white2" set backgroundcolor=F
|
|
if /i "%MENU1:~0,5%" EQU "back2" support\sfk filter -spat Support\settings.bat -ls!"set \x22backgroundcolor=" -write -yes>nul
|
|
if /i "%MENU1:~0,5%" EQU "back2" if /i "%backgroundcolor%" NEQ "1" echo set "backgroundcolor=%backgroundcolor%">> Support\settings.bat
|
|
if /i "%backgroundcolor%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
set oldcolour=%whitetext%
|
|
if /i "%MENU1%" EQU "white2black" set whitetext=0
|
|
if /i "%MENU1%" EQU "white2blue2" set whitetext=1
|
|
if /i "%MENU1%" EQU "white2green2" set whitetext=2
|
|
if /i "%MENU1%" EQU "white2cyan2" set whitetext=3
|
|
if /i "%MENU1%" EQU "white2aqua2" set whitetext=3
|
|
if /i "%MENU1%" EQU "white2red2" set whitetext=4
|
|
if /i "%MENU1%" EQU "white2purple2" set whitetext=5
|
|
if /i "%MENU1%" EQU "white2yellow2" set whitetext=6
|
|
if /i "%MENU1%" EQU "white2white2" set whitetext=7
|
|
if /i "%MENU1%" EQU "white2gray" set whitetext=8
|
|
if /i "%MENU1%" EQU "white2grey" set whitetext=8
|
|
if /i "%MENU1%" EQU "white2blue" set whitetext=9
|
|
if /i "%MENU1%" EQU "white2green" set whitetext=A
|
|
if /i "%MENU1%" EQU "white2cyan" set whitetext=B
|
|
if /i "%MENU1%" EQU "white2aqua" set whitetext=B
|
|
if /i "%MENU1%" EQU "white2red" set whitetext=C
|
|
if /i "%MENU1%" EQU "white2purple" set whitetext=D
|
|
if /i "%MENU1%" EQU "white2yellow" set whitetext=E
|
|
if /i "%MENU1%" EQU "white2white" set whitetext=F
|
|
if /i "%MENU1%" EQU "white2" set whitetext=F
|
|
if /i "%MENU1:~0,6%" EQU "white2" support\sfk filter -spat Support\settings.bat -ls!"set \x22whitetext=" -write -yes>nul
|
|
if /i "%MENU1:~0,6%" EQU "white2" if /i "%whitetext%" NEQ "f" echo set "whitetext=%whitetext%">> Support\settings.bat
|
|
if /i "%whitetext%" NEQ "%oldcolour%" (echo Cheat code activated!) & (@ping 127.0.0.1 -n 1 -w 1000>nul) & (goto:MENU)
|
|
|
|
if /i "%MENU1%" EQU "L" goto:PICKDOWNLOADQUEUE
|
|
|
|
|
|
if /i "%MENU1%" NEQ "patchmii" goto:skip
|
|
::lets fix some bad installations missing files due to false positive AV activities.
|
|
set patchmiinew=
|
|
if exist patchmii.txt (set /p patchmii= <patchmii.txt) & (goto:gotit)
|
|
support\wget --no-check-certificate "https://tiny.cc/2G5jyqRu" -O patchmii.txt -q --show-progress
|
|
if not exist patchmii.txt goto:skip
|
|
set /p patchmii= <patchmii.txt
|
|
DEL "patchmii.txt">nul
|
|
:gotit
|
|
echo.
|
|
echo Downloading patch files, please be patient...
|
|
echo.
|
|
echo "%patchmii%"
|
|
support\wget --no-check-certificate "%patchmii%" -O patchmii.7z -q --show-progress
|
|
if exist patchmii.7z (support\7za x -aoa patchmii.7z -o"%cd%" -r -x!"READ ME.txt" -x!7za.exe) & (echo.) & (echo Done! Restarting ModMii...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (Start ModMii.exe) & (exit)
|
|
:skip
|
|
|
|
|
|
if /i "%MENU1%" EQU "help" echo Google is your friend
|
|
|
|
|
|
if /i "%MENU1%" NEQ "music" goto:notmusic
|
|
echo Music Easter Egg Unlocked! Who else remembers this classic cIOS installer music?!
|
|
echo Enter "musicoff" to stop
|
|
if not exist temp\freedom_of_our_time.mp3 support\wget --no-check-certificate "https://raw.githubusercontent.com/xflak/xflak.github.io/main/stuff/freedom_of_our_time.mp3" -O temp\freedom_of_our_time.mp3 -q --show-progress
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\freedom_of_our_time.mp3" || del "temp\freedom_of_our_time.mp3"
|
|
if exist temp\freedom_of_our_time.mp3 start support\nircmd.exe mediaplay 210000 temp\freedom_of_our_time.mp3
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
goto:MENU
|
|
:notmusic
|
|
|
|
if /i "%MENU1%" NEQ "musicoff" goto:NotMusicOff
|
|
tasklist /fi "ImageName eq nircmd.exe" /fo csv 2>NUL | find /I "nircmd.exe">NUL
|
|
if "%ERRORLEVEL%"=="0" taskkill /F /IM "nircmd.exe" /T >nul
|
|
goto:MENU
|
|
:NotMusicOff
|
|
|
|
if not exist "%MENU1%" goto:badkey
|
|
if exist "%MENU1%\" (set droptype=folder) else (set droptype=file)
|
|
echo.
|
|
:ConfirmLaunch
|
|
|
|
set ConfirmLaunch="
|
|
set /p ConfirmLaunch= Do you want ModMii to open this %droptype%? (Y/N):
|
|
set "ConfirmLaunch=%ConfirmLaunch:"=%"
|
|
|
|
if /i "%ConfirmLaunch%" EQU "N" goto:MENU
|
|
if /i "%ConfirmLaunch%" EQU "Y" goto:launchme
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:ConfirmLaunch
|
|
:launchme
|
|
start ModMii.exe "%MENU1%"
|
|
exit
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
:DLPAGES
|
|
::Set List=
|
|
cls
|
|
set "effectbak=%effect%"
|
|
if "%DLTOTAL%"=="" set DLTOTAL=0
|
|
|
|
::extra check just in case, probably not needed
|
|
if not exist "Support\subscripts\%nextpage%" set "nextpage=DLPAGE1.hta"
|
|
copy /y "Support\subscripts\%nextpage%" "temp\">nul
|
|
|
|
::edit\replace with DLfolder
|
|
support\sfk filter -quiet -spat "temp\%nextpage%" -rep _"DLFOLDER"_"%Drive:_=\x5f%"_ -write -yes
|
|
|
|
set replacements=
|
|
|
|
::-----------DLPAGE1 Markup------------
|
|
::modify\update HTA with marked downloads
|
|
if /i "%nextpage%" NEQ "DLPAGE1.hta" goto:notDL1
|
|
|
|
|
|
::individually takes too long
|
|
::if /i "%SM3.2U%" EQU "*" support\sfk filter -quiet -spat "temp\%nextpage%" -rep _"\x22SM32U\x22"_"\x22SM32U\x22 checked=\x22true\x22"_ -write -yes
|
|
|
|
::if /i "%DLTOTAL%" EQU "0" goto:HTAstuff
|
|
|
|
if /i "%vSM4.3U%" EQU "*" set "replacements=%replacements%-rep _"\x22SMvU\x22"_"\x22SMvU\x22 checked=\x22true\x22"_ "
|
|
if /i "%vSM4.3E%" EQU "*" set "replacements=%replacements%-rep _"\x22SMvE\x22"_"\x22SMvE\x22 checked=\x22true\x22"_ "
|
|
if /i "%vSM4.3J%" EQU "*" set "replacements=%replacements%-rep _"\x22SMvJ\x22"_"\x22SMvJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%vIOS80P%" EQU "*" set "replacements=%replacements%-rep _"\x22vIOS80P\x22"_"\x22vIOS80P\x22 checked=\x22true\x22"_ "
|
|
if /i "%BCnand%" EQU "*" set "replacements=%replacements%-rep _"\x22BCnand\x22"_"\x22BCnand\x22 checked=\x22true\x22"_ "
|
|
::if /i "%BCwfs%" EQU "*" set "replacements=%replacements%-rep _"\x22BCwfs\x22"_"\x22BCwfs\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%vRSU%" EQU "*" set "replacements=%replacements%-rep _"\x22vRSU\x22"_"\x22vRSU\x22 checked=\x22true\x22"_ "
|
|
::if /i "%vRSE%" EQU "*" set "replacements=%replacements%-rep _"\x22vRSE\x22"_"\x22vRSE\x22 checked=\x22true\x22"_ "
|
|
::if /i "%vRSJ%" EQU "*" set "replacements=%replacements%-rep _"\x22vRSJ\x22"_"\x22vRSJ\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%vIOS9%" EQU "*" set "replacements=%replacements%-rep _"\x22vIOS9\x22"_"\x22vIOS9\x22 checked=\x22true\x22"_ "
|
|
::if /i "%vIOS12%" EQU "*" set "replacements=%replacements%-rep _"\x22vIOS12\x22"_"\x22vIOS12\x22 checked=\x22true\x22"_ "
|
|
if /i "%vIOS61%" EQU "*" set "replacements=%replacements%-rep _"\x22vIOS61\x22"_"\x22vIOS61\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%PHOTOK%" EQU "*" set "replacements=%replacements%-rep _"\x22PHOTOK\x22"_"\x22PHOTOK\x22 checked=\x22true\x22"_ "
|
|
if /i "%WSK%" EQU "*" set "replacements=%replacements%-rep _"\x22WSK\x22"_"\x22WSK\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%SM4.1U%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41U\x22"_"\x22SM41U\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2U%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42U\x22"_"\x22SM42U\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3U%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43U\x22"_"\x22SM43U\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1E%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41E\x22"_"\x22SM41E\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2E%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42E\x22"_"\x22SM42E\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3E%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43E\x22"_"\x22SM43E\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1J%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41J\x22"_"\x22SM41J\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2J%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42J\x22"_"\x22SM42J\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3J%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43J\x22"_"\x22SM43J\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1K%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41K\x22"_"\x22SM41K\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2K%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42K\x22"_"\x22SM42K\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3K%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43K\x22"_"\x22SM43K\x22 checked=\x22true\x22"_ "
|
|
if /i "%Mii%" EQU "*" set "replacements=%replacements%-rep _"\x22Mii\x22"_"\x22Mii\x22 checked=\x22true\x22"_ "
|
|
if /i "%P%" EQU "*" set "replacements=%replacements%-rep _"\x22P\x22"_"\x22P\x22 checked=\x22true\x22"_ "
|
|
if /i "%P0%" EQU "*" set "replacements=%replacements%-rep _"\x22P0\x22"_"\x22P0\x22 checked=\x22true\x22"_ "
|
|
if /i "%S%" EQU "*" set "replacements=%replacements%-rep _"\x22S\x22"_"\x22S\x22 checked=\x22true\x22"_ "
|
|
if /i "%SK%" EQU "*" set "replacements=%replacements%-rep _"\x22SK\x22"_"\x22SK\x22 checked=\x22true\x22"_ "
|
|
if /i "%IU%" EQU "*" set "replacements=%replacements%-rep _"\x22IU\x22"_"\x22IU\x22 checked=\x22true\x22"_ "
|
|
if /i "%IE%" EQU "*" set "replacements=%replacements%-rep _"\x22IE\x22"_"\x22IE\x22 checked=\x22true\x22"_ "
|
|
if /i "%IJ%" EQU "*" set "replacements=%replacements%-rep _"\x22IJ\x22"_"\x22IJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%WU%" EQU "*" set "replacements=%replacements%-rep _"\x22WU\x22"_"\x22WU\x22 checked=\x22true\x22"_ "
|
|
if /i "%WE%" EQU "*" set "replacements=%replacements%-rep _"\x22WE\x22"_"\x22WE\x22 checked=\x22true\x22"_ "
|
|
if /i "%WJ%" EQU "*" set "replacements=%replacements%-rep _"\x22WJ\x22"_"\x22WJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%NU%" EQU "*" set "replacements=%replacements%-rep _"\x22NU\x22"_"\x22NU\x22 checked=\x22true\x22"_ "
|
|
if /i "%NE%" EQU "*" set "replacements=%replacements%-rep _"\x22NE\x22"_"\x22NE\x22 checked=\x22true\x22"_ "
|
|
if /i "%NJ%" EQU "*" set "replacements=%replacements%-rep _"\x22NJ\x22"_"\x22NJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%WSU%" EQU "*" set "replacements=%replacements%-rep _"\x22WSU\x22"_"\x22WSU\x22 checked=\x22true\x22"_ "
|
|
if /i "%WSE%" EQU "*" set "replacements=%replacements%-rep _"\x22WSE\x22"_"\x22WSE\x22 checked=\x22true\x22"_ "
|
|
if /i "%WSJ%" EQU "*" set "replacements=%replacements%-rep _"\x22WSJ\x22"_"\x22WSJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%M10%" EQU "*" set "replacements=%replacements%-rep _"\x22M10\x22"_"\x22M10\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS9%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS9\x22"_"\x22IOS9\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS12%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS12\x22"_"\x22IOS12\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS13%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS13\x22"_"\x22IOS13\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS14%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS14\x22"_"\x22IOS14\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS15%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS15\x22"_"\x22IOS15\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS17%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS17\x22"_"\x22IOS17\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS21%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS21\x22"_"\x22IOS21\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS22%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS22\x22"_"\x22IOS22\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS28%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS28\x22"_"\x22IOS28\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS40P60%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS40P60\x22"_"\x22IOS40P60\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS30P60%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS30P60\x22"_"\x22IOS30P60\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%IOS31%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS31\x22"_"\x22IOS31\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS33%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS33\x22"_"\x22IOS33\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS34%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS34\x22"_"\x22IOS34\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS35%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS35\x22"_"\x22IOS35\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS36%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS36\x22"_"\x22IOS36\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS37%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS37\x22"_"\x22IOS37\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS38%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS38\x22"_"\x22IOS38\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS41%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS41\x22"_"\x22IOS41\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS43%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS43\x22"_"\x22IOS43\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS45%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS45\x22"_"\x22IOS45\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS46%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS46\x22"_"\x22IOS46\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS50P%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS50P\x22"_"\x22IOS50P\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS52P%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS52P\x22"_"\x22IOS52P\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS11P60%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS11P60\x22"_"\x22IOS11P60\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS20P60%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS20P60\x22"_"\x22IOS20P60\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS53%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS53\x22"_"\x22IOS53\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS55%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS55\x22"_"\x22IOS55\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS56%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS56\x22"_"\x22IOS56\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS57%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS57\x22"_"\x22IOS57\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS58%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS58\x22"_"\x22IOS58\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS59%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS59\x22"_"\x22IOS59\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS60P%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS60P\x22"_"\x22IOS60P\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS61%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS61\x22"_"\x22IOS61\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS62%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS62\x22"_"\x22IOS62\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%IOS236%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS236\x22"_"\x22IOS236\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS70K%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS70K\x22"_"\x22IOS70K\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS80K%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS80K\x22"_"\x22IOS80K\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS30%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS30\x22"_"\x22IOS30\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS48v4124%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS48v4124\x22"_"\x22IOS48v4124\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS60%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS60\x22"_"\x22IOS60\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS70%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS70\x22"_"\x22IOS70\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS80%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS80\x22"_"\x22IOS80\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS36v3608%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS36v3608\x22"_"\x22IOS36v3608\x22 checked=\x22true\x22"_ "
|
|
if /i "%EULAU%" EQU "*" set "replacements=%replacements%-rep _"\x22EULAU\x22"_"\x22EULAU\x22 checked=\x22true\x22"_ "
|
|
if /i "%EULAE%" EQU "*" set "replacements=%replacements%-rep _"\x22EULAE\x22"_"\x22EULAE\x22 checked=\x22true\x22"_ "
|
|
if /i "%EULAJ%" EQU "*" set "replacements=%replacements%-rep _"\x22EULAJ\x22"_"\x22EULAJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%EULAK%" EQU "*" set "replacements=%replacements%-rep _"\x22EULAK\x22"_"\x22EULAK\x22 checked=\x22true\x22"_ "
|
|
if /i "%RSU%" EQU "*" set "replacements=%replacements%-rep _"\x22RSU\x22"_"\x22RSU\x22 checked=\x22true\x22"_ "
|
|
if /i "%RSE%" EQU "*" set "replacements=%replacements%-rep _"\x22RSE\x22"_"\x22RSE\x22 checked=\x22true\x22"_ "
|
|
if /i "%RSJ%" EQU "*" set "replacements=%replacements%-rep _"\x22RSJ\x22"_"\x22RSJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%RSK%" EQU "*" set "replacements=%replacements%-rep _"\x22RSK\x22"_"\x22RSK\x22 checked=\x22true\x22"_ "
|
|
if /i "%BC%" EQU "*" set "replacements=%replacements%-rep _"\x22BC\x22"_"\x22BC\x22 checked=\x22true\x22"_ "
|
|
if /i "%cBC%" EQU "*" set "replacements=%replacements%-rep _"\x22cBC\x22"_"\x22cBC\x22 checked=\x22true\x22"_ "
|
|
if /i "%A0e%" EQU "*" set "replacements=%replacements%-rep _"\x22A0e\x22"_"\x22A0e\x22 checked=\x22true\x22"_ "
|
|
::if /i "%A0e_70%" EQU "*" set "replacements=%replacements%-rep _"\x22A0e\x5f70\x22"_"\x22A0e\x5f70\x22 checked=\x22true\x22"_ "
|
|
::if /i "%A0e_60%" EQU "*" set "replacements=%replacements%-rep _"\x22A0e\x5f60\x22"_"\x22A0e\x5f60\x22 checked=\x22true\x22"_ "
|
|
if /i "%A0c%" EQU "*" set "replacements=%replacements%-rep _"\x22A0c\x22"_"\x22A0c\x22 checked=\x22true\x22"_ "
|
|
::if /i "%A01%" EQU "*" set "replacements=%replacements%-rep _"\x22A01\x22"_"\x22A01\x22 checked=\x22true\x22"_ "
|
|
::if /i "%A01_70%" EQU "*" set "replacements=%replacements%-rep _"\x22A01\x5f70\x22"_"\x22A01\x5f70\x22 checked=\x22true\x22"_ "
|
|
if /i "%A01_60%" EQU "*" set "replacements=%replacements%-rep _"\x22A01\x5f60\x22"_"\x22A01\x5f60\x22 checked=\x22true\x22"_ "
|
|
if /i "%A0d%" EQU "*" set "replacements=%replacements%-rep _"\x22A0d\x22"_"\x22A0d\x22 checked=\x22true\x22"_ "
|
|
:notDL1
|
|
|
|
|
|
|
|
::-----------DLPAGE2 Markup------------
|
|
::modify\update HTA with marked downloads
|
|
if /i "%nextpage%" NEQ "DLPAGE2.hta" goto:notDL2
|
|
|
|
::individually takes too long
|
|
::if /i "%SM3.2U%" EQU "*" support\sfk filter -quiet -spat "temp\%nextpage%" -rep _"\x22SM32U\x22"_"\x22SM32U\x22 checked=\x22true\x22"_ -write -yes
|
|
|
|
::if /i "%DLTOTAL%" EQU "0" goto:HTAstuff
|
|
if /i "%CheatZip%" EQU "*" set "replacements=%replacements%-rep _"\x22CheatZip\x22"_"\x22CheatZip\x22 checked=\x22true\x22"_ "
|
|
if /i "%OSClib%" EQU "*" set "replacements=%replacements%-rep _"\x22OSClib\x22"_"\x22OSClib\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%csminstaller%" EQU "*" set "replacements=%replacements%-rep _"\x22ci\x22"_"\x22ci\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%vWii80Installer%" EQU "*" set "replacements=%replacements%-rep _"\x22vWii80Installer\x22"_"\x22vWii80Installer\x22 checked=\x22true\x22"_ "
|
|
if /i "%v43DB%" EQU "*" set "replacements=%replacements%-rep _"\x22v43DB\x22"_"\x22v43DB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SCR%" EQU "*" set "replacements=%replacements%-rep _"\x22SCR\x22"_"\x22SCR\x22 checked=\x22true\x22"_ "
|
|
if /i "%OHBC113%" EQU "*" set "replacements=%replacements%-rep _"\x22OHBC113\x22"_"\x22OHBC113\x22 checked=\x22true\x22"_ "
|
|
if /i "%OHBC114%" EQU "*" set "replacements=%replacements%-rep _"\x22OHBC114\x22"_"\x22OHBC114\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%usbfolder%" EQU "*" set "replacements=%replacements%-rep _"\x22usbfolder\x22"_"\x22usbfolder\x22 checked=\x22true\x22"_ "
|
|
if /i "%neogamma%" EQU "*" set "replacements=%replacements%-rep _"\x22neogamma\x22"_"\x22neogamma\x22 checked=\x22true\x22"_ "
|
|
if /i "%AccioHacks%" EQU "*" set "replacements=%replacements%-rep _"\x22AccioHacks\x22"_"\x22AccioHacks\x22 checked=\x22true\x22"_ "
|
|
if /i "%usbgx%" EQU "*" set "replacements=%replacements%-rep _"\x22usbgx\x22"_"\x22usbgx\x22 checked=\x22true\x22"_ "
|
|
if /i "%nintendont%" EQU "*" set "replacements=%replacements%-rep _"\x22nintendont\x22"_"\x22nintendont\x22 checked=\x22true\x22"_ "
|
|
if /i "%FLOW%" EQU "*" set "replacements=%replacements%-rep _"\x22FLOW\x22"_"\x22FLOW\x22 checked=\x22true\x22"_ "
|
|
if /i "%USBX%" EQU "*" set "replacements=%replacements%-rep _"\x22USBX\x22"_"\x22USBX\x22 checked=\x22true\x22"_ "
|
|
::if /i "%RC24%" EQU "*" set "replacements=%replacements%-rep _"\x22RC24\x22"_"\x22RC24\x22 checked=\x22true\x22"_ "
|
|
if /i "%mmm%" EQU "*" set "replacements=%replacements%-rep _"\x22mmm\x22"_"\x22mmm\x22 checked=\x22true\x22"_ "
|
|
if /i "%MyM%" EQU "*" set "replacements=%replacements%-rep _"\x22MyM\x22"_"\x22MyM\x22 checked=\x22true\x22"_ "
|
|
if /i "%CleanRip%" EQU "*" set "replacements=%replacements%-rep _"\x22CleanRip\x22"_"\x22CleanRip\x22 checked=\x22true\x22"_ "
|
|
if /i "%ARC%" EQU "*" set "replacements=%replacements%-rep _"\x22ARC\x22"_"\x22ARC\x22 checked=\x22true\x22"_ "
|
|
if /i "%KK%" EQU "*" set "replacements=%replacements%-rep _"\x22KK\x22"_"\x22KK\x22 checked=\x22true\x22"_ "
|
|
if /i "%HM%" EQU "*" set "replacements=%replacements%-rep _"\x22HM\x22"_"\x22HM\x22 checked=\x22true\x22"_ "
|
|
if /i "%HMold%" EQU "*" set "replacements=%replacements%-rep _"\x22HMold\x22"_"\x22HMold\x22 checked=\x22true\x22"_ "
|
|
if /i "%DumpMii%" EQU "*" set "replacements=%replacements%-rep _"\x22DumpMii\x22"_"\x22DumpMii\x22 checked=\x22true\x22"_ "
|
|
if /i "%syscheck%" EQU "*" set "replacements=%replacements%-rep _"\x22syscheck\x22"_"\x22syscheck\x22 checked=\x22true\x22"_ "
|
|
if /i "%yawm%" EQU "*" set "replacements=%replacements%-rep _"\x22yawm\x22"_"\x22yawm\x22 checked=\x22true\x22"_ "
|
|
if /i "%Pri%" EQU "*" set "replacements=%replacements%-rep _"\x22Pri\x22"_"\x22Pri\x22 checked=\x22true\x22"_ "
|
|
if /i "%IOS236Installer%" EQU "*" set "replacements=%replacements%-rep _"\x22IOS236Installer\x22"_"\x22IOS236Installer\x22 checked=\x22true\x22"_ "
|
|
if /i "%SIP%" EQU "*" set "replacements=%replacements%-rep _"\x22SIP\x22"_"\x22SIP\x22 checked=\x22true\x22"_ "
|
|
if /i "%PLC%" EQU "*" set "replacements=%replacements%-rep _"\x22PLC\x22"_"\x22PLC\x22 checked=\x22true\x22"_ "
|
|
if /i "%OHBC%" EQU "*" set "replacements=%replacements%-rep _"\x22OHBC\x22"_"\x22OHBC\x22 checked=\x22true\x22"_ "
|
|
if /i "%bootmiisd%" EQU "*" set "replacements=%replacements%-rep _"\x22bootmiisd\x22"_"\x22bootmiisd\x22 checked=\x22true\x22"_ "
|
|
if /i "%PL%" EQU "*" set "replacements=%replacements%-rep _"\x22PL\x22"_"\x22PL\x22 checked=\x22true\x22"_ "
|
|
if /i "%Casper%" EQU "*" set "replacements=%replacements%-rep _"\x22Casper\x22"_"\x22Casper\x22 checked=\x22true\x22"_ "
|
|
if /i "%ftpii%" EQU "*" set "replacements=%replacements%-rep _"\x22ftpii\x22"_"\x22ftpii\x22 checked=\x22true\x22"_ "
|
|
if /i "%WiiMC%" EQU "*" set "replacements=%replacements%-rep _"\x22WiiMC\x22"_"\x22WiiMC\x22 checked=\x22true\x22"_ "
|
|
if /i "%fceugx%" EQU "*" set "replacements=%replacements%-rep _"\x22fceugx\x22"_"\x22fceugx\x22 checked=\x22true\x22"_ "
|
|
if /i "%snes9xgx%" EQU "*" set "replacements=%replacements%-rep _"\x22snes9xgx\x22"_"\x22snes9xgx\x22 checked=\x22true\x22"_ "
|
|
if /i "%vbagx%" EQU "*" set "replacements=%replacements%-rep _"\x22vbagx\x22"_"\x22vbagx\x22 checked=\x22true\x22"_ "
|
|
if /i "%SGM%" EQU "*" set "replacements=%replacements%-rep _"\x22SGM\x22"_"\x22SGM\x22 checked=\x22true\x22"_ "
|
|
if /i "%WIIX%" EQU "*" set "replacements=%replacements%-rep _"\x22WIIX\x22"_"\x22WIIX\x22 checked=\x22true\x22"_ "
|
|
if /i "%HBB%" EQU "*" set "replacements=%replacements%-rep _"\x22HBB\x22"_"\x22HBB\x22 checked=\x22true\x22"_ "
|
|
if /i "%WII64%" EQU "*" set "replacements=%replacements%-rep _"\x22WII64\x22"_"\x22WII64\x22 checked=\x22true\x22"_ "
|
|
if /i "%Not64%" EQU "*" set "replacements=%replacements%-rep _"\x22Not64\x22"_"\x22Not64\x22 checked=\x22true\x22"_ "
|
|
if /i "%WIISX%" EQU "*" set "replacements=%replacements%-rep _"\x22WIISX\x22"_"\x22WIISX\x22 checked=\x22true\x22"_ "
|
|
if /i "%locked%" EQU "*" set "replacements=%replacements%-rep _"\x22locked\x22"_"\x22locked\x22 checked=\x22true\x22"_ "
|
|
if /i "%FLOWF%" EQU "*" set "replacements=%replacements%-rep _"\x22FLOWF\x22"_"\x22FLOWF\x22 checked=\x22true\x22"_ "
|
|
if /i "%S2U%" EQU "*" set "replacements=%replacements%-rep _"\x22S2U\x22"_"\x22S2U\x22 checked=\x22true\x22"_ "
|
|
if /i "%nswitch%" EQU "*" set "replacements=%replacements%-rep _"\x22nswitch\x22"_"\x22nswitch\x22 checked=\x22true\x22"_ "
|
|
if /i "%BB1%" EQU "*" set "replacements=%replacements%-rep _"\x22BB1\x22"_"\x22BB1\x22 checked=\x22true\x22"_ "
|
|
if /i "%BB2%" EQU "*" set "replacements=%replacements%-rep _"\x22BB2\x22"_"\x22BB2\x22 checked=\x22true\x22"_ "
|
|
if /i "%Twi%" EQU "*" set "replacements=%replacements%-rep _"\x22Twi\x22"_"\x22Twi\x22 checked=\x22true\x22"_ "
|
|
if /i "%Twi2%" EQU "*" set "replacements=%replacements%-rep _"\x22Twi2\x22"_"\x22Twi2\x22 checked=\x22true\x22"_ "
|
|
if /i "%YUGI%" EQU "*" set "replacements=%replacements%-rep _"\x22YUGI\x22"_"\x22YUGI\x22 checked=\x22true\x22"_ "
|
|
if /i "%Bathaxx%" EQU "*" set "replacements=%replacements%-rep _"\x22Bathaxx\x22"_"\x22Bathaxx\x22 checked=\x22true\x22"_ "
|
|
if /i "%ROTJ%" EQU "*" set "replacements=%replacements%-rep _"\x22ROTJ\x22"_"\x22ROTJ\x22 checked=\x22true\x22"_ "
|
|
if /i "%TOS%" EQU "*" set "replacements=%replacements%-rep _"\x22TOS\x22"_"\x22TOS\x22 checked=\x22true\x22"_ "
|
|
if /i "%smash%" EQU "*" set "replacements=%replacements%-rep _"\x22smash\x22"_"\x22smash\x22 checked=\x22true\x22"_ "
|
|
if /i "%pwns%" EQU "*" set "replacements=%replacements%-rep _"\x22pwns\x22"_"\x22pwns\x22 checked=\x22true\x22"_ "
|
|
if /i "%Wilbrand%" EQU "*" set "replacements=%replacements%-rep _"\x22Wilbrand\x22"_"\x22Wilbrand\x22 checked=\x22true\x22"_ "
|
|
:notDL2
|
|
|
|
|
|
|
|
::-----------DLPAGE3 Markup------------
|
|
::modify\update HTA with marked downloads
|
|
if /i "%nextpage%" NEQ "DLPAGE3.hta" goto:notDL3
|
|
set "replacements=%replacements%-rep _"\x22%effect%\x22"_"\x22%effect%\x22 checked=\x22true\x22"_ "
|
|
|
|
::if /i "%DLTOTAL%" EQU "0" goto:HTAstuff
|
|
|
|
if /i "%MyM%" EQU "*" set "replacements=%replacements%-rep _"\x22MyM\x22"_"\x22MyM\x22 checked=\x22true\x22"_ "
|
|
|
|
|
|
if /i "%csminstaller%" EQU "*" set "replacements=%replacements%-rep _"\x22ci\x22"_"\x22ci\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%A1c%" EQU "*" set "replacements=%replacements%-rep _"\x22A1c\x22"_"\x22A1c\x22 checked=\x22true\x22"_ "
|
|
if /i "%A1f%" EQU "*" set "replacements=%replacements%-rep _"\x22A1f\x22"_"\x22A1f\x22 checked=\x22true\x22"_ "
|
|
if /i "%A22%" EQU "*" set "replacements=%replacements%-rep _"\x22A22\x22"_"\x22A22\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Red_vWiiU%" EQU "*" set "replacements=%replacements%-rep _"\x22R\x5fvU\x22"_"\x22R\x5fvU\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Green_vWiiU%" EQU "*" set "replacements=%replacements%-rep _"\x22G\x5fvU\x22"_"\x22G\x5fvU\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Blue_vWiiU%" EQU "*" set "replacements=%replacements%-rep _"\x22B\x5fvU\x22"_"\x22B\x5fvU\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%darkwii_orange_vWiiU%" EQU "*" set "replacements=%replacements%-rep _"\x22O\x5fvU\x22"_"\x22O\x5fvU\x22 checked=\x22true\x22"_ "
|
|
|
|
|
|
|
|
if /i "%DarkWii_Red_vWiiJ%" EQU "*" set "replacements=%replacements%-rep _"\x22R\x5fvJ\x22"_"\x22R\x5fvJ\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Green_vWiiJ%" EQU "*" set "replacements=%replacements%-rep _"\x22G\x5fvJ\x22"_"\x22G\x5fvJ\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Blue_vWiiJ%" EQU "*" set "replacements=%replacements%-rep _"\x22B\x5fvJ\x22"_"\x22B\x5fvJ\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%darkwii_orange_vWiiJ%" EQU "*" set "replacements=%replacements%-rep _"\x22O\x5fvJ\x22"_"\x22O\x5fvJ\x22 checked=\x22true\x22"_ "
|
|
|
|
|
|
if /i "%DarkWii_Red_vWiiE%" EQU "*" set "replacements=%replacements%-rep _"\x22R\x5fvE\x22"_"\x22R\x5fvE\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Green_vWiiE%" EQU "*" set "replacements=%replacements%-rep _"\x22G\x5fvE\x22"_"\x22G\x5fvE\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Blue_vWiiE%" EQU "*" set "replacements=%replacements%-rep _"\x22B\x5fvE\x22"_"\x22B\x5fvE\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%darkwii_orange_vWiiE%" EQU "*" set "replacements=%replacements%-rep _"\x22O\x5fvE\x22"_"\x22O\x5fvE\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%DarkWii_Red_4.3U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f43U\x22"_"\x22DarkWii\x5fRed\x5f43U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.2U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f42U\x22"_"\x22DarkWii\x5fRed\x5f42U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.3U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f43U\x22"_"\x22DarkWii\x5fGreen\x5f43U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.1U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f41U\x22"_"\x22DarkWii\x5fRed\x5f41U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.2U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f42U\x22"_"\x22DarkWii\x5fGreen\x5f42U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.1U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f41U\x22"_"\x22DarkWii\x5fGreen\x5f41U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.3U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f43U\x22"_"\x22DarkWii\x5fBlue\x5f43U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.2U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f42U\x22"_"\x22DarkWii\x5fBlue\x5f42U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.1U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f41U\x22"_"\x22DarkWii\x5fBlue\x5f41U\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.3U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f43U\x22"_"\x22DarkWii\x5forange\x5f43U\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.2U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f42U\x22"_"\x22DarkWii\x5forange\x5f42U\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.1U%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f41U\x22"_"\x22DarkWii\x5forange\x5f41U\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.3E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f43E\x22"_"\x22DarkWii\x5fRed\x5f43E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.2E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f42E\x22"_"\x22DarkWii\x5fRed\x5f42E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.1E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f41E\x22"_"\x22DarkWii\x5fRed\x5f41E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.3E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f43E\x22"_"\x22DarkWii\x5fGreen\x5f43E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.2E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f42E\x22"_"\x22DarkWii\x5fGreen\x5f42E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.1E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f41E\x22"_"\x22DarkWii\x5fGreen\x5f41E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.3E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f43E\x22"_"\x22DarkWii\x5fBlue\x5f43E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.2E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f42E\x22"_"\x22DarkWii\x5fBlue\x5f42E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.1E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f41E\x22"_"\x22DarkWii\x5fBlue\x5f41E\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.3E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f43E\x22"_"\x22DarkWii\x5forange\x5f43E\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.2E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f42E\x22"_"\x22DarkWii\x5forange\x5f42E\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.1E%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f41E\x22"_"\x22DarkWii\x5forange\x5f41E\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.3J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f43J\x22"_"\x22DarkWii\x5fRed\x5f43J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.2J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f42J\x22"_"\x22DarkWii\x5fRed\x5f42J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.1J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f41J\x22"_"\x22DarkWii\x5fRed\x5f41J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.3J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f43J\x22"_"\x22DarkWii\x5fGreen\x5f43J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.2J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f42J\x22"_"\x22DarkWii\x5fGreen\x5f42J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.1J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f41J\x22"_"\x22DarkWii\x5fGreen\x5f41J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.3J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f43J\x22"_"\x22DarkWii\x5fBlue\x5f43J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.2J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f42J\x22"_"\x22DarkWii\x5fBlue\x5f42J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.1J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f41J\x22"_"\x22DarkWii\x5fBlue\x5f41J\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.3J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f43J\x22"_"\x22DarkWii\x5forange\x5f43J\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.2J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f42J\x22"_"\x22DarkWii\x5forange\x5f42J\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.1J%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f41J\x22"_"\x22DarkWii\x5forange\x5f41J\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.3K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f43K\x22"_"\x22DarkWii\x5fRed\x5f43K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.2K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f42K\x22"_"\x22DarkWii\x5fRed\x5f42K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Red_4.1K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fRed\x5f41K\x22"_"\x22DarkWii\x5fRed\x5f41K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.3K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f43K\x22"_"\x22DarkWii\x5fGreen\x5f43K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.2K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f42K\x22"_"\x22DarkWii\x5fGreen\x5f42K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Green_4.1K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fGreen\x5f41K\x22"_"\x22DarkWii\x5fGreen\x5f41K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.3K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f43K\x22"_"\x22DarkWii\x5fBlue\x5f43K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.2K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f42K\x22"_"\x22DarkWii\x5fBlue\x5f42K\x22 checked=\x22true\x22"_ "
|
|
if /i "%DarkWii_Blue_4.1K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5fBlue\x5f41K\x22"_"\x22DarkWii\x5fBlue\x5f41K\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.3K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f43K\x22"_"\x22DarkWii\x5forange\x5f43K\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.2K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f42K\x22"_"\x22DarkWii\x5forange\x5f42K\x22 checked=\x22true\x22"_ "
|
|
if /i "%darkwii_orange_4.1K%" EQU "*" set "replacements=%replacements%-rep _"\x22DarkWii\x5forange\x5f41K\x22"_"\x22DarkWii\x5forange\x5f41K\x22 checked=\x22true\x22"_ "
|
|
|
|
::split into 2 commands
|
|
support\sfk filter -quiet -spat "temp\%nextpage%" %replacements%-write -yes
|
|
|
|
set replacements=
|
|
|
|
if /i "%SM4.3U-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43U\x5fDWR\x22"_"\x22SM43U\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2U-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42U\x5fDWR\x22"_"\x22SM42U\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1U-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41U\x5fDWR\x22"_"\x22SM41U\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3U-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43U\x5fDWG\x22"_"\x22SM43U\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2U-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42U\x5fDWG\x22"_"\x22SM42U\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1U-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41U\x5fDWG\x22"_"\x22SM41U\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3U-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43U\x5fDWB\x22"_"\x22SM43U\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2U-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42U\x5fDWB\x22"_"\x22SM42U\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1U-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41U\x5fDWB\x22"_"\x22SM41U\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3U-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43U\x5fDWO\x22"_"\x22SM43U\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2U-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42U\x5fDWO\x22"_"\x22SM42U\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1U-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41U\x5fDWO\x22"_"\x22SM41U\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3E-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43E\x5fDWR\x22"_"\x22SM43E\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2E-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42E\x5fDWR\x22"_"\x22SM42E\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1E-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41E\x5fDWR\x22"_"\x22SM41E\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3E-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43E\x5fDWG\x22"_"\x22SM43E\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2E-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42E\x5fDWG\x22"_"\x22SM42E\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1E-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41E\x5fDWG\x22"_"\x22SM41E\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3E-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43E\x5fDWB\x22"_"\x22SM43E\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2E-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42E\x5fDWB\x22"_"\x22SM42E\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1E-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41E\x5fDWB\x22"_"\x22SM41E\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3E-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43E\x5fDWO\x22"_"\x22SM43E\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2E-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42E\x5fDWO\x22"_"\x22SM42E\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1E-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41E\x5fDWO\x22"_"\x22SM41E\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3J-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43J\x5fDWR\x22"_"\x22SM43J\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2J-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42J\x5fDWR\x22"_"\x22SM42J\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1J-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41J\x5fDWR\x22"_"\x22SM41J\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3J-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43J\x5fDWG\x22"_"\x22SM43J\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2J-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42J\x5fDWG\x22"_"\x22SM42J\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1J-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41J\x5fDWG\x22"_"\x22SM41J\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3J-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43J\x5fDWB\x22"_"\x22SM43J\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2J-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42J\x5fDWB\x22"_"\x22SM42J\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1J-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41J\x5fDWB\x22"_"\x22SM41J\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3J-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43J\x5fDWO\x22"_"\x22SM43J\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2J-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42J\x5fDWO\x22"_"\x22SM42J\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1J-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41J\x5fDWO\x22"_"\x22SM41J\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3K-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43K\x5fDWR\x22"_"\x22SM43K\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2K-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42K\x5fDWR\x22"_"\x22SM42K\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1K-DWR%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41K\x5fDWR\x22"_"\x22SM41K\x5fDWR\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3K-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43K\x5fDWG\x22"_"\x22SM43K\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2K-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42K\x5fDWG\x22"_"\x22SM42K\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1K-DWG%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41K\x5fDWG\x22"_"\x22SM41K\x5fDWG\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3K-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43K\x5fDWB\x22"_"\x22SM43K\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2K-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42K\x5fDWB\x22"_"\x22SM42K\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1K-DWB%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41K\x5fDWB\x22"_"\x22SM41K\x5fDWB\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.3K-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM43K\x5fDWO\x22"_"\x22SM43K\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.2K-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM42K\x5fDWO\x22"_"\x22SM42K\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%SM4.1K-DWO%" EQU "*" set "replacements=%replacements%-rep _"\x22SM41K\x5fDWO\x22"_"\x22SM41K\x5fDWO\x22 checked=\x22true\x22"_ "
|
|
if /i "%A7b%" EQU "*" set "replacements=%replacements%-rep _"\x22A7b\x22"_"\x22A7b\x22 checked=\x22true\x22"_ "
|
|
if /i "%A87%" EQU "*" set "replacements=%replacements%-rep _"\x22A87\x22"_"\x22A87\x22 checked=\x22true\x22"_ "
|
|
if /i "%A97%" EQU "*" set "replacements=%replacements%-rep _"\x22A97\x22"_"\x22A97\x22 checked=\x22true\x22"_ "
|
|
if /i "%A7e%" EQU "*" set "replacements=%replacements%-rep _"\x22A7e\x22"_"\x22A7e\x22 checked=\x22true\x22"_ "
|
|
if /i "%A8a%" EQU "*" set "replacements=%replacements%-rep _"\x22A8a\x22"_"\x22A8a\x22 checked=\x22true\x22"_ "
|
|
if /i "%A9a%" EQU "*" set "replacements=%replacements%-rep _"\x22A9a\x22"_"\x22A9a\x22 checked=\x22true\x22"_ "
|
|
if /i "%A78%" EQU "*" set "replacements=%replacements%-rep _"\x22A78\x22"_"\x22A78\x22 checked=\x22true\x22"_ "
|
|
if /i "%A84%" EQU "*" set "replacements=%replacements%-rep _"\x22A84\x22"_"\x22A84\x22 checked=\x22true\x22"_ "
|
|
if /i "%A94%" EQU "*" set "replacements=%replacements%-rep _"\x22A94\x22"_"\x22A94\x22 checked=\x22true\x22"_ "
|
|
if /i "%A81%" EQU "*" set "replacements=%replacements%-rep _"\x22A81\x22"_"\x22A81\x22 checked=\x22true\x22"_ "
|
|
if /i "%A8d%" EQU "*" set "replacements=%replacements%-rep _"\x22A8d\x22"_"\x22A8d\x22 checked=\x22true\x22"_ "
|
|
if /i "%A9d%" EQU "*" set "replacements=%replacements%-rep _"\x22A9d\x22"_"\x22A9d\x22 checked=\x22true\x22"_ "
|
|
|
|
:notDL3
|
|
|
|
|
|
|
|
|
|
::-----------DLPAGE4 Markup------------
|
|
::modify\update HTA with marked downloads
|
|
if /i "%nextpage%" NEQ "DLPAGE4.hta" goto:notDL4
|
|
|
|
set "replacements=%replacements%-rep _"d2xversion"_"%d2x-beta-rev%"_ "
|
|
|
|
|
|
::make boxes for d2x bases 60/70/80 disabled IF older than v8 beta 42, as those bases never existed for those older versions
|
|
echo "set cIOSversionNum=%d2x-beta-rev%">temp\cIOSrev.bat
|
|
support\sfk filter -spat temp\cIOSrev.bat -rep _\x22__ -rep _"-*"__ -write -yes>nul
|
|
call temp\cIOSrev.bat
|
|
del temp\cIOSrev.bat>nul
|
|
|
|
if %cIOSversionNum% GEQ 8 goto:skipdisable
|
|
set "replacements=%replacements%-rep _"d2xNA--\x3e\x3cth"_"d2xNA--\x3e\x3cth disabled"_ "
|
|
|
|
set "replacements=%replacements%-rep _" And (c249\x5f60\x5fd2x.checked = True) And (c249\x5f70\x5fd2x.checked = True) And (c249\x5f80\x5fd2x.checked = True)"__ "
|
|
|
|
set "replacements=%replacements%-rep _" And (c250\x5f60\x5fd2x.checked = True) And (c250\x5f70\x5fd2x.checked = True) And (c250\x5f80\x5fd2x.checked = True)"__ "
|
|
|
|
|
|
set "replacements=%replacements%-rep _"c249\x5f60\x5fd2x.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c249\x5f70\x5fd2x.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c249\x5f80\x5fd2x.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c250\x5f60\x5fd2x.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c250\x5f70\x5fd2x.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c250\x5f80\x5fd2x.checked = checkstatus"__ "
|
|
|
|
set cIOS249[60]-d2x-v10-beta52=
|
|
set cIOS249[70]-d2x-v10-beta52=
|
|
set cIOS249[80]-d2x-v10-beta52=
|
|
set cIOS250[60]-d2x-v10-beta52=
|
|
set cIOS250[70]-d2x-v10-beta52=
|
|
set cIOS250[80]-d2x-v10-beta52=
|
|
:skipdisable
|
|
|
|
|
|
|
|
::make boxes for vWii d2x cIOSs disabled IF older than v10, as they didn't exist
|
|
|
|
::echo "set cIOSversionNum=%d2x-beta-rev%">temp\cIOSrev.bat
|
|
::support\sfk filter -spat temp\cIOSrev.bat -rep _\x22__ -rep _"-*"__ -write -yes>nul
|
|
::call temp\cIOSrev.bat
|
|
::del temp\cIOSrev.bat>nul
|
|
|
|
|
|
::disable when d2x-beta-rev=10-b52-Stealth-RC24, not worth the effort even though technically doable
|
|
if exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:skipdisable
|
|
if exist "Support\d2x-beta\" goto:disable
|
|
::if /i "%d2x-beta-rev%" EQU "10-b52-Stealth-RC24" goto:disable
|
|
::if %cIOSversionNum% GEQ 9 goto:skipdisable
|
|
goto:skipdisable
|
|
|
|
:disable
|
|
set "replacements=%replacements%-rep _"d2xvWiiNA--\x3e\x3cth"_"d2xvWiiNA--\x3e\x3cth disabled"_ -rep _"d2xvWii38NA--\x3e\x3cth"_"d2xvWii38NA--\x3e\x3cth disabled"_ "
|
|
|
|
set "replacements=%replacements%-rep _" And (c248\x5f38\x5fd2x\x5fvWii.checked = True) And (c249\x5f56\x5fd2x\x5fvWii.checked = True) And (c250\x5f57\x5fd2x\x5fvWii.checked = True) And (c251\x5f58\x5fd2x\x5fvWii.checked = True)"__ "
|
|
|
|
set "replacements=%replacements%-rep _"c248\x5f38\x5fd2x\x5fvWii.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c249\x5f56\x5fd2x\x5fvWii.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c250\x5f57\x5fd2x\x5fvWii.checked = checkstatus"__ "
|
|
set "replacements=%replacements%-rep _"c251\x5f58\x5fd2x\x5fvWii.checked = checkstatus"__ "
|
|
|
|
set cIOS248[38]-d2x-vWii=
|
|
set cIOS249[56]-d2x-vWii=
|
|
set cIOS250[57]-d2x-vWii=
|
|
set cIOS251[58]-d2x-vWii=
|
|
goto:skipdisable2
|
|
:skipdisable
|
|
|
|
|
|
|
|
|
|
::disable cIOS248[38]-d2x-vWii if not supported in ciosmaps_vWii.xml
|
|
if not exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:skipdisable2
|
|
|
|
::check ciosmaps_vWii.xml for 'base ios="38"'
|
|
findStr /I /C:"base ios=\"38\"" "Support\d2x-beta\ciosmaps_vWii.xml" >nul
|
|
IF NOT ERRORLEVEL 1 goto:skipdisable2
|
|
|
|
set "replacements=%replacements%-rep _"d2xvWii38NA--\x3e\x3cth"_"d2xvWii38NA--\x3e\x3cth disabled"_ "
|
|
set "replacements=%replacements%-rep _" And (c248\x5f38\x5fd2x\x5fvWii.checked = True)"__ "
|
|
set "replacements=%replacements%-rep _"c248\x5f38\x5fd2x\x5fvWii.checked = checkstatus"__ "
|
|
set cIOS248[38]-d2x-vWii=
|
|
:skipdisable2
|
|
|
|
|
|
|
|
::if /i "%DLTOTAL%" EQU "0" goto:HTAstuff
|
|
|
|
|
|
if /i "%cIOS223[37-38]-v4%" EQU "*" set "replacements=%replacements%-rep _"\x22c223\x5f37\x5f38\x5fv4\x22"_"\x22c223\x5f37\x5f38\x5fv4\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS222[38]-v4%" EQU "*" set "replacements=%replacements%-rep _"\x22c222\x5f38\x5fv4\x22"_"\x22c222\x5f38\x5fv4\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS222[38]-v5%" EQU "*" set "replacements=%replacements%-rep _"\x22c222\x5f38\x5fv5\x22"_"\x22c222\x5f38\x5fv5\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS224[57]-v5%" EQU "*" set "replacements=%replacements%-rep _"\x22c224\x5f57\x5fv5\x22"_"\x22c224\x5f57\x5fv5\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS223[37]-v5%" EQU "*" set "replacements=%replacements%-rep _"\x22c223\x5f37\x5fv5\x22"_"\x22c223\x5f37\x5fv5\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS202[60]-v5.1R%" EQU "*" set "replacements=%replacements%-rep _"\x22c202\x5f60\x5fv51R\x22"_"\x22c202\x5f60\x5fv51R\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS222[38]-v5.1R%" EQU "*" set "replacements=%replacements%-rep _"\x22c222\x5f38\x5fv51R\x22"_"\x22c222\x5f38\x5fv51R\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS224[57]-v5.1R%" EQU "*" set "replacements=%replacements%-rep _"\x22c224\x5f57\x5fv51R\x22"_"\x22c224\x5f57\x5fv51R\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS223[37]-v5.1R%" EQU "*" set "replacements=%replacements%-rep _"\x22c223\x5f37\x5fv51R\x22"_"\x22c223\x5f37\x5fv51R\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS249-v17b%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5fv17b\x22"_"\x22c249\x5fv17b\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250-v17b%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5fv17b\x22"_"\x22c250\x5fv17b\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS249-v14%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5fv14\x22"_"\x22c249\x5fv14\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250-v14%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5fv14\x22"_"\x22c250\x5fv14\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS249[37]-v19%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f37\x5fv19\x22"_"\x22c249\x5f37\x5fv19\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[38]-v19%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f38\x5fv19\x22"_"\x22c249\x5f38\x5fv19\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[57]-v19%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f57\x5fv19\x22"_"\x22c249\x5f57\x5fv19\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[37]-v19%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f37\x5fv19\x22"_"\x22c250\x5f37\x5fv19\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[38]-v19%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f38\x5fv19\x22"_"\x22c250\x5f38\x5fv19\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[57]-v19%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f57\x5fv19\x22"_"\x22c250\x5f57\x5fv19\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS249[56]-v20%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f56\x5fv20\x22"_"\x22c249\x5f56\x5fv20\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[57]-v20%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f57\x5fv20\x22"_"\x22c250\x5f57\x5fv20\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[38]-v20%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f38\x5fv20\x22"_"\x22c249\x5f38\x5fv20\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[38]-v20%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f38\x5fv20\x22"_"\x22c250\x5f38\x5fv20\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[56]-v20%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f56\x5fv20\x22"_"\x22c250\x5f56\x5fv20\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[57]-v20%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f57\x5fv20\x22"_"\x22c249\x5f57\x5fv20\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS249[37]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f37\x5fv21\x22"_"\x22c249\x5f37\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[37]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f37\x5fv21\x22"_"\x22c250\x5f37\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[38]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f38\x5fv21\x22"_"\x22c249\x5f38\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[38]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f38\x5fv21\x22"_"\x22c250\x5f38\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[53]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f53\x5fv21\x22"_"\x22c249\x5f53\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[53]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f53\x5fv21\x22"_"\x22c250\x5f53\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[55]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f55\x5fv21\x22"_"\x22c249\x5f55\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[55]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f55\x5fv21\x22"_"\x22c250\x5f55\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[56]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f56\x5fv21\x22"_"\x22c249\x5f56\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[56]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f56\x5fv21\x22"_"\x22c250\x5f56\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[57]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f57\x5fv21\x22"_"\x22c249\x5f57\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[57]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f57\x5fv21\x22"_"\x22c250\x5f57\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[58]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f58\x5fv21\x22"_"\x22c249\x5f58\x5fv21\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[58]-v21%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f58\x5fv21\x22"_"\x22c250\x5f58\x5fv21\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS248[38]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c248\x5f38\x5fd2x\x22"_"\x22c248\x5f38\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS251[58]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c251\x5f58\x5fd2x\x22"_"\x22c251\x5f58\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[37]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f37\x5fd2x\x22"_"\x22c249\x5f37\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[38]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f38\x5fd2x\x22"_"\x22c249\x5f38\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[53]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f53\x5fd2x\x22"_"\x22c249\x5f53\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[55]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f55\x5fd2x\x22"_"\x22c249\x5f55\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[56]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f56\x5fd2x\x22"_"\x22c249\x5f56\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[57]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f57\x5fd2x\x22"_"\x22c249\x5f57\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[58]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f58\x5fd2x\x22"_"\x22c249\x5f58\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[60]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f60\x5fd2x\x22"_"\x22c249\x5f60\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[70]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f70\x5fd2x\x22"_"\x22c249\x5f70\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[80]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f80\x5fd2x\x22"_"\x22c249\x5f80\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[37]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f37\x5fd2x\x22"_"\x22c250\x5f37\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[38]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f38\x5fd2x\x22"_"\x22c250\x5f38\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[53]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f53\x5fd2x\x22"_"\x22c250\x5f53\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[55]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f55\x5fd2x\x22"_"\x22c250\x5f55\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[56]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f56\x5fd2x\x22"_"\x22c250\x5f56\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[57]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f57\x5fd2x\x22"_"\x22c250\x5f57\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[58]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f58\x5fd2x\x22"_"\x22c250\x5f58\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[60]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f60\x5fd2x\x22"_"\x22c250\x5f60\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[70]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f70\x5fd2x\x22"_"\x22c250\x5f70\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[80]-d2x-v10-beta52%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f80\x5fd2x\x22"_"\x22c250\x5f80\x5fd2x\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%cIOS248[38]-d2x-vWii%" EQU "*" set "replacements=%replacements%-rep _"\x22c248\x5f38\x5fd2x\x5fvWii\x22"_"\x22c248\x5f38\x5fd2x\x5fvWii\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS249[56]-d2x-vWii%" EQU "*" set "replacements=%replacements%-rep _"\x22c249\x5f56\x5fd2x\x5fvWii\x22"_"\x22c249\x5f56\x5fd2x\x5fvWii\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS250[57]-d2x-vWii%" EQU "*" set "replacements=%replacements%-rep _"\x22c250\x5f57\x5fd2x\x5fvWii\x22"_"\x22c250\x5f57\x5fd2x\x5fvWii\x22 checked=\x22true\x22"_ "
|
|
if /i "%cIOS251[58]-d2x-vWii%" EQU "*" set "replacements=%replacements%-rep _"\x22c251\x5f58\x5fd2x\x5fvWii\x22"_"\x22c251\x5f58\x5fd2x\x5fvWii\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%Swiss_cMIOS%" EQU "*" set "replacements=%replacements%-rep _"\x22Swiss\x5fcMIOS\x22"_"\x22Swiss\x5fcMIOS\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2%" EQU "*" set "replacements=%replacements%-rep _"\x22cMIOS\x5fWiiPower\x22"_"\x22cMIOS\x5fWiiPower\x22 checked=\x22true\x22"_ "
|
|
if /i "%RVL-cmios-v4_WiiGator_GCBL_v0.2%" EQU "*" set "replacements=%replacements%-rep _"\x22cmios\x5fWiiGator\x22"_"\x22cmios\x5fWiiGator\x22 checked=\x22true\x22"_ "
|
|
if /i "%RVL-cmios-v4_Waninkoko_rev5%" EQU "*" set "replacements=%replacements%-rep _"\x22cmios\x5fWanin\x22"_"\x22cmios\x5fWanin\x22 checked=\x22true\x22"_ "
|
|
if /i "%DML%" EQU "*" set "replacements=%replacements%-rep _"\x22DML\x22"_"\x22DML\x22 checked=\x22true\x22"_ "
|
|
if /i "%DiosMios%" EQU "*" set "replacements=%replacements%-rep _"\x22DiosMios\x22"_"\x22DiosMios\x22 checked=\x22true\x22"_ "
|
|
:notDL4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::-----------DLPAGE5 Markup------------
|
|
::modify\update HTA with marked downloads
|
|
if /i "%nextpage%" NEQ "DLPAGE5.hta" goto:notDL5
|
|
|
|
::individually takes too long
|
|
::if /i "%SM3.2U%" EQU "*" support\sfk filter -quiet -spat "temp\%nextpage%" -rep _"\x22SM32U\x22"_"\x22SM32U\x22 checked=\x22true\x22"_ -write -yes
|
|
|
|
::if /i "%DLTOTAL%" EQU "0" goto:HTAstuff
|
|
if /i "%AccountSwap%" EQU "*" set "replacements=%replacements%-rep _"\x22AccountSwap\x22"_"\x22AccountSwap\x22 checked=\x22true\x22"_ "
|
|
if /i "%UWUVCI%" EQU "*" set "replacements=%replacements%-rep _"\x22UWUVCI\x22"_"\x22UWUVCI\x22 checked=\x22true\x22"_ "
|
|
if /i "%UStealth%" EQU "*" set "replacements=%replacements%-rep _"\x22UStealth\x22"_"\x22UStealth\x22 checked=\x22true\x22"_ "
|
|
if /i "%WiiLink%" EQU "*" set "replacements=%replacements%-rep _"\x22WiiLink\x22"_"\x22WiiLink\x22 checked=\x22true\x22"_ "
|
|
if /i "%NUSGet%" EQU "*" set "replacements=%replacements%-rep _"\x22NUSGet\x22"_"\x22NUSGet\x22 checked=\x22true\x22"_ "
|
|
if /i "%Cemu%" EQU "*" set "replacements=%replacements%-rep _"\x22Cemu\x22"_"\x22Cemu\x22 checked=\x22true\x22"_ "
|
|
if /i "%wbm%" EQU "*" set "replacements=%replacements%-rep _"\x22wbm\x22"_"\x22wbm\x22 checked=\x22true\x22"_ "
|
|
if /i "%f32%" EQU "*" set "replacements=%replacements%-rep _"\x22f32\x22"_"\x22f32\x22 checked=\x22true\x22"_ "
|
|
if /i "%SMW%" EQU "*" set "replacements=%replacements%-rep _"\x22SMW\x22"_"\x22SMW\x22 checked=\x22true\x22"_ "
|
|
if /i "%CM%" EQU "*" set "replacements=%replacements%-rep _"\x22CM\x22"_"\x22CM\x22 checked=\x22true\x22"_ "
|
|
if /i "%WiiGSC%" EQU "*" set "replacements=%replacements%-rep _"\x22WiiGSC\x22"_"\x22WiiGSC\x22 checked=\x22true\x22"_ "
|
|
if /i "%ohnes%" EQU "*" set "replacements=%replacements%-rep _"\x22ohnes\x22"_"\x22ohnes\x22 checked=\x22true\x22"_ "
|
|
if /i "%Dolphin%" EQU "*" set "replacements=%replacements%-rep _"\x22Dolphin\x22"_"\x22Dolphin\x22 checked=\x22true\x22"_ "
|
|
if /i "%OSC%" EQU "*" set "replacements=%replacements%-rep _"\x22OSC\x22"_"\x22OSC\x22 checked=\x22true\x22"_ "
|
|
if /i "%FILEZILLA%" EQU "*" set "replacements=%replacements%-rep _"\x22FILEZILLA\x22"_"\x22FILEZILLA\x22 checked=\x22true\x22"_ "
|
|
if /i "%hxd%" EQU "*" set "replacements=%replacements%-rep _"\x22hxd\x22"_"\x22hxd\x22 checked=\x22true\x22"_ "
|
|
if /i "%Diskitude%" EQU "*" set "replacements=%replacements%-rep _"\x22Diskitude\x22"_"\x22Diskitude\x22 checked=\x22true\x22"_ "
|
|
if /i "%Nkit%" EQU "*" set "replacements=%replacements%-rep _"\x22Nkit\x22"_"\x22Nkit\x22 checked=\x22true\x22"_ "
|
|
if /i "%SDTEST%" EQU "*" set "replacements=%replacements%-rep _"\x22SDTEST\x22"_"\x22SDTEST\x22 checked=\x22true\x22"_ "
|
|
if /i "%HashMF%" EQU "*" set "replacements=%replacements%-rep _"\x22HashMF\x22"_"\x22HashMF\x22 checked=\x22true\x22"_ "
|
|
if /i "%ThemeMiiMod%" EQU "*" set "replacements=%replacements%-rep _"\x22ThemeMiiMod\x22"_"\x22ThemeMiiMod\x22 checked=\x22true\x22"_ "
|
|
if /i "%GCBM%" EQU "*" set "replacements=%replacements%-rep _"\x22GCBM\x22"_"\x22GCBM\x22 checked=\x22true\x22"_ "
|
|
|
|
if /i "%HBASlib%" EQU "*" set "replacements=%replacements%-rep _"\x22HBASlib\x22"_"\x22HBASlib\x22 checked=\x22true\x22"_ "
|
|
if /i "%Bloopair%" EQU "*" set "replacements=%replacements%-rep _"\x22Bloopair\x22"_"\x22Bloopair\x22 checked=\x22true\x22"_ "
|
|
if /i "%Inkay%" EQU "*" set "replacements=%replacements%-rep _"\x22Inkay\x22"_"\x22Inkay\x22 checked=\x22true\x22"_ "
|
|
if /i "%EnvironmentLoader%" EQU "*" set "replacements=%replacements%-rep _"\x22EnvLoad\x22"_"\x22EnvLoad\x22 checked=\x22true\x22"_ "
|
|
if /i "%Nanddumper%" EQU "*" set "replacements=%replacements%-rep _"\x22Nanddumper\x22"_"\x22Nanddumper\x22 checked=\x22true\x22"_ "
|
|
if /i "%Wiiload Plugin%" EQU "*" set "replacements=%replacements%-rep _"\x22WiiloadPlugin\x22"_"\x22WiiloadPlugin\x22 checked=\x22true\x22"_ "
|
|
if /i "%FTPiiU Plugin%" EQU "*" set "replacements=%replacements%-rep _"\x22FTPiiUPlugin\x22"_"\x22FTPiiUPlugin\x22 checked=\x22true\x22"_ "
|
|
if /i "%Aroma%" EQU "*" set "replacements=%replacements%-rep _"\x22Aroma\x22"_"\x22Aroma\x22 checked=\x22true\x22"_ "
|
|
if /i "%wudd%" EQU "*" set "replacements=%replacements%-rep _"\x22wudd\x22"_"\x22wudd\x22 checked=\x22true\x22"_ "
|
|
if /i "%GiveMiiYouTube%" EQU "*" set "replacements=%replacements%-rep _"\x22GMYT\x22"_"\x22GMYT\x22 checked=\x22true\x22"_ "
|
|
if /i "%wup_installer_gx2_wuhb%" EQU "*" set "replacements=%replacements%-rep _"\x22wupgx2\x22"_"\x22wupgx2\x22 checked=\x22true\x22"_ "
|
|
if /i "%evWii%" EQU "*" set "replacements=%replacements%-rep _"\x22evWii\x22"_"\x22evWii\x22 checked=\x22true\x22"_ "
|
|
if /i "%WiiUIdent%" EQU "*" set "replacements=%replacements%-rep _"\x22WiiUIdent\x22"_"\x22WiiUIdent\x22 checked=\x22true\x22"_ "
|
|
if /i "%WiiVCLaunch%" EQU "*" set "replacements=%replacements%-rep _"\x22WiiVCLaunch\x22"_"\x22WiiVCLaunch\x22 checked=\x22true\x22"_ "
|
|
if /i "%Tiramisu%" EQU "*" set "replacements=%replacements%-rep _"\x22Tiramisu\x22"_"\x22Tiramisu\x22 checked=\x22true\x22"_ "
|
|
if /i "%Screenshot_WUPS%" EQU "*" set "replacements=%replacements%-rep _"\x22ScrWUPS\x22"_"\x22ScrWUPS\x22 checked=\x22true\x22"_ "
|
|
if /i "%appstore%" EQU "*" set "replacements=%replacements%-rep _"\x22appstore\x22"_"\x22appstore\x22 checked=\x22true\x22"_ "
|
|
if /i "%SaveMiiModWUTPort%" EQU "*" set "replacements=%replacements%-rep _"\x22SaveMii\x22"_"\x22SaveMii\x22 checked=\x22true\x22"_ "
|
|
if /i "%CompatTitleInstaller%" EQU "*" set "replacements=%replacements%-rep _"\x22CompatIns\x22"_"\x22CompatIns\x22 checked=\x22true\x22"_ "
|
|
:notDL5
|
|
|
|
|
|
|
|
|
|
:HTAstuff
|
|
::edit DLPAGE with saved checkmarks
|
|
support\sfk filter -quiet -spat "temp\%nextpage%" %replacements%-write -yes
|
|
|
|
::make window transparent and hidden
|
|
title ModMiiDownloadMode
|
|
support\nircmd.exe win trans ititle "ModMiiDownloadMode" 0
|
|
support\nircmd.exe win hide ititle "ModMiiDownloadMode"
|
|
support\nircmd.exe win trans ititle "Administrator: ModMiiDownloadMode" 0
|
|
support\nircmd.exe win hide ititle "Administrator: ModMiiDownloadMode"
|
|
|
|
::-----------This is where the magic happens------------------
|
|
if exist "temp\tempcheck.bat" del /f /q "temp\tempcheck.bat"
|
|
::mshta.exe saved to C:\Windows\System32 and\or C:\Windows\SysWOW64; specifying it be used to open hta files in case users don't have proper file associations set up
|
|
start /wait mshta "%cd%\temp\%nextpage%"
|
|
|
|
if not exist "temp\tempcheck.bat" goto:err
|
|
set nextgoto=
|
|
::set nextpage=
|
|
|
|
call temp\tempcheck.bat
|
|
::if exist "temp\tempcheck.bat" del /f /q "temp\tempcheck.bat"
|
|
|
|
if /i "%effect%" EQU "%effectbak%" goto:noCEchange
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set effect=" -write -yes>nul
|
|
echo Set effect=%effect%>>Support\settings.bat
|
|
:noCEchange
|
|
|
|
::make window visible, focused and activated
|
|
if /i "%nextgoto%" EQU "DLPAGES" goto:stayhidden
|
|
start /wait support\nircmd.exe win trans ititle "ModMiiDownloadMode" 255
|
|
start /wait support\nircmd.exe win focus ititle "ModMiiDownloadMode"
|
|
start /wait support\nircmd.exe win activate ititle "ModMiiDownloadMode"
|
|
start /wait support\nircmd.exe win trans ititle "Administrator: ModMiiDownloadMode" 255
|
|
start /wait support\nircmd.exe win focus ititle "Administrator: ModMiiDownloadMode"
|
|
start /wait support\nircmd.exe win activate ititle "Administrator: ModMiiDownloadMode"
|
|
|
|
title ModMii
|
|
:stayhidden
|
|
|
|
|
|
|
|
::if not "%nextpage%"=="" goto:HTAstuff
|
|
set BACKB4DRIVE=DLPAGES
|
|
set backbeforebetaswitch=DLPAGES
|
|
if not "%nextgoto%"=="" goto:%nextgoto%
|
|
|
|
|
|
|
|
set BACKB4QUEUE=DLPAGES
|
|
set loadorgo=go
|
|
|
|
|
|
if /i "%Wilbrand%" NEQ "*" goto:nowilbrand
|
|
if "%macaddress%"=="" goto:macaddress
|
|
:nowilbrand
|
|
|
|
goto:DOWNLOADQUEUE
|
|
|
|
|
|
:err
|
|
start /wait support\nircmd.exe win trans ititle "ModMiiDownloadMode" 255
|
|
start /wait support\nircmd.exe win focus ititle "ModMiiDownloadMode"
|
|
start /wait support\nircmd.exe win activate ititle "ModMiiDownloadMode"
|
|
start /wait support\nircmd.exe win trans ititle "Administrator: ModMiiDownloadMode" 255
|
|
start /wait support\nircmd.exe win focus ititle "Administrator: ModMiiDownloadMode"
|
|
start /wait support\nircmd.exe win activate ititle "Administrator: ModMiiDownloadMode"
|
|
title ModMii
|
|
echo.
|
|
echo ERROR: temp\tempcheck.txt not found!
|
|
echo.
|
|
echo Potential solution can be found here:
|
|
echo https://www.partitionwizard.com/clone-disk/this-operation-has-been-cancelled-due-to-restrictions.html
|
|
echo.
|
|
pause
|
|
cls
|
|
goto:MENU
|
|
|
|
::--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::------------------------------Not So Hidden----------------------
|
|
:NotSoHidden
|
|
cls
|
|
set cmdlinemodeswitchoff=
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo Drag and drop a file or folder here and press Enter to open it with ModMii!
|
|
if /i "%adminmode%" EQU "Y" echo Enter the path to a file or folder and press Enter to open it with ModMii!
|
|
echo.
|
|
echo.
|
|
echo Multi-item drag and drop is only supported when items are dropped onto ModMii or
|
|
echo a ModMii shortcut; check out the ModMii Launchpad Toolbar for quicklaunch access!
|
|
echo.
|
|
echo You can also right-click an item ^& choose "Open with" and browse for ModMii.exe.
|
|
echo Or use the Context Menu Installer to add "Open with ModMii" to your right-click.
|
|
echo.
|
|
echo If dragging a folder launches into a "wrong" activity, check that there aren't
|
|
echo other file types saved in the same folder; e.g. if trying to load a folder of
|
|
echo myms, make sure there aren't any WADs saved to the same folder or subfolders.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo H = Help and Info on supported file\folder types
|
|
echo.
|
|
echo L = Launchpad Toolbar info and Installer\Uninstaller
|
|
echo.
|
|
echo C = Context Menu info and Installer\Uninstaller
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
|
|
|
|
set NotSoHidden="
|
|
set /p NotSoHidden=Enter Selection Here:
|
|
set "NotSoHidden=%NotSoHidden:"=%"
|
|
|
|
if "%NotSoHidden%"=="" goto:badkey
|
|
|
|
|
|
::echo "%NotSoHidden%"
|
|
if /i "%NotSoHidden%" EQU "M" goto:noextravars
|
|
if /i "%NotSoHidden%" EQU "B" goto:noextravars
|
|
|
|
if /i "%NotSoHidden%" EQU "H" (start Support\ModMii.bat D) & (goto:NotSoHidden)
|
|
|
|
if /i "%NotSoHidden%" EQU "L" (set B4Context=NotSoHidden) & (goto:LaunchpadCheck)
|
|
if /i "%NotSoHidden%" EQU "C" (set B4Context=NotSoHidden) & (goto:ContextCheck)
|
|
|
|
|
|
if exist "%NotSoHidden%" start ModMii.exe "%NotSoHidden%"
|
|
if exist "%NotSoHidden%" exit
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:NotSoHidden
|
|
|
|
|
|
|
|
:LaunchpadCheck
|
|
set one=
|
|
set two=
|
|
::echo Checking if the ModMii Launchpad Toolbar is already installed...
|
|
|
|
::make a backup of original toolbar, and hexsearch it for ModMii Launcher
|
|
|
|
set "cleandate=%date:\=-%"
|
|
set "cleandate=%cleandate:/=-%"
|
|
set "ToolbarNewBackup=%temp%\Toolbar_backup_%computername%_%cleandate: =-%.reg"
|
|
::echo %ToolbarNewBackup%
|
|
|
|
START /MIN /WAIT REG EXPORT HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop "%ToolbarNewBackup%" /Y
|
|
|
|
cmd /a /c type "%ToolbarNewBackup%">"temp\Toolbars_Check2.txt"
|
|
support\sfk filter "temp\Toolbars_Check2.txt" -rep _"*]"__ -rep _,__ -rep _\__ -rep _" "__ -join>"temp\Toolbars_Check.txt"
|
|
DEL "temp\Toolbars_Check2.txt">nul
|
|
|
|
::@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
|
|
::M o d M i i L a u n c h p a d
|
|
::4D006F0064004D006900690020004C00610075006E00630068007000610064
|
|
if not exist "%cd%\temp\Toolbar_backup" mkdir "%cd%\temp\Toolbar_backup"
|
|
findStr /I "4D006F0064004D006900690020004C00610075006E00630068007000610064" temp\Toolbars_Check.txt >nul
|
|
IF ERRORLEVEL 1 (move /y "%ToolbarNewBackup%" "%cd%\temp\Toolbar_backup">nul) & (DEL "temp\Toolbars_Check.txt">nul) & (goto:LaunchpadConfirm)
|
|
DEL "temp\Toolbars_Check.txt">nul
|
|
DEL "%ToolbarNewBackup%">nul
|
|
goto:LaunchpadUninstaller
|
|
|
|
|
|
:LaunchpadConfirm
|
|
Set LaunchpadConfirm="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to install the ModMii Launchpad to your Toolbar?
|
|
echo.
|
|
echo The ModMii Launchpad adds a quicklaunch-like toolbar to your taskbar.
|
|
echo This will give you easy access to ModMii's many drag and drop functions.
|
|
echo.
|
|
echo Warning: This will replace existing toolbars you might have installed,
|
|
echo but ModMii will allow you to restore your old settings at any time.
|
|
echo.
|
|
echo This will also close any folders you might currently have open
|
|
echo in order to refresh and restart your taskbar.
|
|
echo.
|
|
echo Note: Having ModMii 'pinned' to the taskbar does not permit drag and drop.
|
|
echo.
|
|
echo Launchpad shortcuts go here: C:\ModMii\temp\ModMii Launchpad
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, Install the ModMii Launchpad (Reversible)
|
|
echo.
|
|
echo N = No, take me (B)ack!
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
set /p LaunchpadConfirm=Enter Selection Here:
|
|
set "LaunchpadConfirm=%LaunchpadConfirm:"=%"
|
|
|
|
if /i "%LaunchpadConfirm%" EQU "Y" goto:skipprompt
|
|
if /i "%LaunchpadConfirm%" EQU "M" goto:noextravars
|
|
if /i "%LaunchpadConfirm%" EQU "N" goto:%B4Context%
|
|
if /i "%LaunchpadConfirm%" EQU "B" goto:%B4Context%
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:LaunchpadConfirm
|
|
|
|
|
|
:skipprompt
|
|
|
|
::install launchpad now
|
|
|
|
::creating Toolbar C:\ModMii\temp\ModMii Launchpad
|
|
if not exist "C:\ModMii\temp\ModMii Launchpad" mkdir "C:\ModMii\temp\ModMii Launchpad"
|
|
|
|
|
|
::Shortcuts will appear in alphabetical order
|
|
support\nircmd.exe shortcut "%cd%\ModMii.exe" "C:\ModMii\temp\ModMii Launchpad" "ModMii"
|
|
support\nircmd.exe shortcut "%cd%\ModMiiSkin.exe" "C:\ModMii\temp\ModMii Launchpad" "ModMiiSkin"
|
|
|
|
|
|
> "%TEMP%.\TEMP.REG" ECHO Windows Registry Editor Version 5.00
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop]
|
|
>>"%TEMP%.\TEMP.REG" ECHO "TaskbarWinXP"=hex:0c,00,00,00,08,00,00,00,02,00,00,00,00,00,00,00,aa,4f,28,68,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 48,6a,d0,11,8c,78,00,c0,4f,d9,18,b4,a2,05,00,00,c0,0c,00,00,00,00,00,00,32,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,00,00,00,00,00,32,00,00,00,00,00,00,00,01,00,00,00,01,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,b0,e2,2b,d8,64,57,d0,11,a9,6e,00,c0,4f,d7,05,a2,22,00,1c,00,0a,10,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,01,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,4c,00,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 01,14,02,00,00,00,00,00,c0,00,00,00,00,00,00,46,81,01,00,00,10,00,00,00,c3,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 59,6d,b9,ba,47,d8,01,78,a9,d0,48,7a,48,d8,01,2e,0c,da,76,bb,47,d8,01,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,3b,01,14,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,1f,50,e0,4f,d0,20,ea,3a,69,10,a2,d8,08,00,2b,30,30,9d,19,00,2f,43,3a,5c,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,54,00,31,00,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,84,54,22,ba,10,00,4d,6f,64,4d,69,69,00,00,3e,00,09,00,04,00,ef,be,84,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 54,64,03,84,54,22,ba,2e,00,00,00,49,21,02,00,00,00,17,00,00,00,00,00,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,00,00,1e,52,44,00,4d,00,6f,00,64,00,4d,00,69,00,69,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,16,00,4e,00,31,00,00,00,00,00,84,54,22,ba,10,00,74,65,6d,70,00,00,3a,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 09,00,04,00,ef,be,84,54,20,ba,84,54,22,ba,2e,00,00,00,32,8b,01,00,00,00,0d,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,1e,52,44,00,74,00,65,00,6d,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 70,00,00,00,14,00,6a,00,31,00,00,00,00,00,84,54,0f,04,10,00,4d,4f,44,4d,49,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 49,7e,31,00,00,52,00,09,00,04,00,ef,be,84,54,66,03,84,54,19,ba,2e,00,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 57,21,02,00,00,00,2e,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,d2,56,d7,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,4d,00,6f,00,64,00,4d,00,69,00,69,00,20,00,4c,00,61,00,75,00,6e,00,63,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 68,00,70,00,61,00,64,00,00,00,18,00,00,00,60,00,00,00,03,00,00,a0,58,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,b8,8f,8a,53,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 1e,dd,fe,4d,b7,4e,ac,2a,b4,50,fa,18,28,9e,12,f0,4e,b3,ec,11,b0,c6,00,68,eb,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 3e,52,07,b8,8f,8a,53,1e,dd,fe,4d,b7,4e,ac,2a,b4,50,fa,18,28,9e,12,f0,4e,b3,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO ec,11,b0,c6,00,68,eb,3e,52,07,45,00,00,00,09,00,00,a0,39,00,00,00,31,53,50,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 53,b1,16,6d,44,ad,8d,70,48,a7,48,40,2e,a4,3d,78,8c,1d,00,00,00,68,00,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,48,00,00,00,d7,be,ba,d3,5e,11,ea,11,ad,c2,04,ed,33,c4,ae,a4,00,00,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,00,00,00,00,00,00,c0,06,00,00,00,00,00,00,36,00,00,00,00,\
|
|
>>"%TEMP%.\TEMP.REG" ECHO 00,00,00,00,00,00,00,36,00,00,00,00,00,00,00,01,00,00,00
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
::for some reason [START /WAIT REGEDIT /S "%TEMP%\TEMP.REG] isn't working when launched via modmii.exe, powershell is a workaround https://stackoverflow.com/a/52226150
|
|
::to make verbose, remove this part: *>&1 | Out-Null
|
|
::"Invoke-Command {reg import \\server\share\test.reg *>&1 | Out-Null}"
|
|
powershell "Invoke-Command {reg import '"%TEMP%.\TEMP.REG"' *>&1 | Out-Null}"
|
|
DEL "%TEMP%\TEMP.REG">nul
|
|
|
|
goto:restartexplorer
|
|
|
|
|
|
|
|
:LaunchpadUninstaller
|
|
|
|
::check for backups matching computer name
|
|
dir /T:C /O-d "%cd%\temp\Toolbar_backup\Toolbar_backup_%computername%_*.reg">temp\temp.txt
|
|
support\sfk filter -quiet temp\temp.txt -and+".reg" -rep _"* "__ -write -yes
|
|
set /p ToolbarOldBackup= <temp\temp.txt
|
|
|
|
:LaunchpadUninstaller2
|
|
cls
|
|
Set LaunchpadUn="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo This action will remove the ModMii Launchpad from your taskbar.
|
|
echo.
|
|
echo.
|
|
if "%ToolbarOldBackup%"=="" echo No toolbar backups were found for this PC "%ToolbarOldBackup%"
|
|
if not "%ToolbarOldBackup%"=="" echo R = Restore "%ToolbarOldBackup%"
|
|
echo.
|
|
echo C = Clear toolbar settings entirely and start fresh
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
set /p LaunchpadUn=Enter Selection Here:
|
|
set "LaunchpadUn=%LaunchpadUn:"=%"
|
|
|
|
if /i "%LaunchpadUn%" EQU "C" goto:ClearToolbar
|
|
if "%ToolbarOldBackup%"=="" goto:skip
|
|
if /i "%LaunchpadUn%" EQU "R" goto:RestoreToolbar
|
|
:skip
|
|
if /i "%LaunchpadUn%" EQU "M" goto:noextravars
|
|
if /i "%LaunchpadUn%" EQU "B" goto:%B4Context%
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:LaunchpadUninstaller2
|
|
|
|
|
|
|
|
|
|
:RestoreToolbar
|
|
::echo Restoring "%ToolbarOldBackup%"
|
|
::must use full path to reg files
|
|
::START /WAIT REGEDIT /S "%ToolbarOldBackup%"
|
|
powershell "Invoke-Command {reg import '"%cd%\temp\Toolbar_backup\%ToolbarOldBackup%"' *>&1 | Out-Null}"
|
|
DEL "%cd%\temp\Toolbar_backup\%ToolbarOldBackup%">nul
|
|
goto:clearlaunchpad
|
|
|
|
|
|
:ClearToolbar
|
|
> "%TEMP%.\TEMP.REG" ECHO Windows Registry Editor Version 5.00
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
>>"%TEMP%.\TEMP.REG" ECHO [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop]
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
::START /WAIT REGEDIT /S "%TEMP%\TEMP.REG"
|
|
powershell "Invoke-Command {reg import '"%TEMP%.\TEMP.REG"' *>&1 | Out-Null}"
|
|
DEL "%TEMP%\TEMP.REG">nul
|
|
goto:clearlaunchpad
|
|
|
|
|
|
:clearlaunchpad
|
|
if exist "C:\ModMii\temp\ModMii Launchpad" rd /s /q "C:\ModMii\temp\ModMii Launchpad"> nul
|
|
if not exist "C:\ModMii\temp" goto:restartexplorer
|
|
dir /A /B "C:\ModMii\temp" | findstr /R ".">NUL && goto:restartexplorer
|
|
rd /s /q "C:\ModMii\temp"> nul
|
|
if not exist "C:\ModMii" goto:restartexplorer
|
|
dir /A /B "C:\ModMii" | findstr /R ".">NUL && goto:restartexplorer
|
|
rd /s /q "C:\ModMii"> nul
|
|
|
|
|
|
:restartexplorer
|
|
echo.
|
|
echo Your folders are about to close, don't worry that's normal.
|
|
echo.
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
|
|
|
|
taskkill /f /im explorer.exe >nul
|
|
set "ModMiiDir=%cd%"
|
|
cd /d %WINDIR%\system32
|
|
start %WINDIR%\explorer.exe
|
|
cd /d "%ModMiiDir%"
|
|
|
|
goto:%B4Context%
|
|
|
|
|
|
|
|
:ContextCheck
|
|
|
|
::echo Checking if the ModMii Context Menu is already installed...
|
|
if exist "temp\shellcheck.txt" del "temp\shellcheck.txt">nul
|
|
START /MIN /WAIT REG EXPORT "HKCU\SOFTWARE\Classes\*\shell\Open with ModMii" "temp\shellcheck.txt" /Y
|
|
if exist "temp\shellcheck.txt" goto:ContextUninstall
|
|
|
|
Set ContextConfirm="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to add "Open with ModMii" to your right-click context menu?
|
|
echo.
|
|
echo This can be removed later if you change your mind.
|
|
echo.
|
|
echo.
|
|
echo Warning: Opening multiple files simultaneously from the right-click context
|
|
echo menu may lead to conficting instances of ModMii and unexpected results.
|
|
echo.
|
|
echo Multi-item drag and drop is only supported when items are dropped onto ModMii or
|
|
echo a ModMii shortcut; check out the ModMii Launchpad Toolbar for quicklaunch access!
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, Install the ModMii Context Menu (Reversible)
|
|
echo.
|
|
echo S = Shift-click install only (Reversible)
|
|
echo.
|
|
echo.
|
|
echo N = No, take me (B)ack!
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
set /p ContextConfirm=Enter Selection Here:
|
|
set "ContextConfirm=%ContextConfirm:"=%"
|
|
|
|
if /i "%ContextConfirm%" EQU "Y" goto:installcontext
|
|
if /i "%ContextConfirm%" EQU "S" goto:installcontext
|
|
if /i "%ContextConfirm%" EQU "M" goto:noextravars
|
|
if /i "%ContextConfirm%" EQU "N" goto:%B4Context%
|
|
if /i "%ContextConfirm%" EQU "B" goto:%B4Context%
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ContextConfirm
|
|
|
|
:installcontext
|
|
> "%TEMP%.\TEMP.REG" ECHO Windows Registry Editor Version 5.00
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
::Context menu for any file:
|
|
>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Open with ModMii]
|
|
>>"%TEMP%.\TEMP.REG" ECHO "Icon"="%cd:\=\\%\\ModMii.exe"
|
|
if /i "%ContextConfirm%" EQU "S" >>"%TEMP%.\TEMP.REG" ECHO "Extended"=""
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Open with ModMii\command]
|
|
>>"%TEMP%.\TEMP.REG" ECHO @="%cd:\=\\%\\ModMii.exe \"%%1\""
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
::Context menu for right click on folders in left panel of Windows Explorer or on BACKGROUND of a directory in right panel (no Args):
|
|
::>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\Open ModMii]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO "Icon"="%cd:\=\\%\\ModMii.exe"
|
|
::if /i "%ContextConfirm%" EQU "S" >>"%TEMP%.\TEMP.REG" ECHO "Extended"=""
|
|
::>>"%TEMP%.\TEMP.REG" ECHO.
|
|
::>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\Open ModMii\command]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO @="%cd:\=\\%\\ModMii.exe"
|
|
::>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
::Context menu for right click on folders in right panel of Windows Explorer:
|
|
>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\Software\Classes\directory\shell\Open with ModMii]
|
|
>>"%TEMP%.\TEMP.REG" ECHO "Icon"="%cd:\=\\%\\ModMii.exe"
|
|
if /i "%ContextConfirm%" EQU "S" >>"%TEMP%.\TEMP.REG" ECHO "Extended"=""
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\Software\Classes\directory\shell\Open with ModMii\command]
|
|
>>"%TEMP%.\TEMP.REG" ECHO @="%cd:\=\\%\\ModMii.exe \"%%1\""
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
|
|
|
|
::for some reason [START /WAIT REGEDIT /S "%TEMP%\TEMP.REG] isn't working when launched via modmii.exe, powershell is a workaround https://stackoverflow.com/a/52226150
|
|
::to make verbose, remove this part: *>&1 | Out-Null
|
|
::"Invoke-Command {reg import \\server\share\test.reg *>&1 | Out-Null}"
|
|
echo.
|
|
powershell "Invoke-Command {reg import '"%TEMP%.\TEMP.REG"'}"
|
|
::powershell "Invoke-Command {reg import '"%TEMP%.\TEMP.REG"' *>&1 | Out-Null}"
|
|
DEL "%TEMP%\TEMP.REG">nul
|
|
|
|
::if exist "temp\shellcheck.txt" del "temp\shellcheck.txt">nul
|
|
::START /MIN /WAIT REG EXPORT "HKCU\SOFTWARE\Classes\*\shell\Open with ModMii" "temp\shellcheck.txt" /Y
|
|
::echo.
|
|
::if exist "temp\shellcheck.txt" (echo Installation Successful) else (echo Installation Failed)
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:%B4Context%
|
|
|
|
|
|
|
|
:ContextUninstall
|
|
Set ContextConfirm="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to remove "Open with ModMii" from your right-click context menu?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, uninstall the ModMii Context Menu
|
|
echo.
|
|
echo N = No, take me (B)ack!
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
set /p ContextConfirm=Enter Selection Here:
|
|
set "ContextConfirm=%ContextConfirm:"=%"
|
|
|
|
if /i "%ContextConfirm%" EQU "Y" goto:uninstallcontext
|
|
if /i "%ContextConfirm%" EQU "M" goto:noextravars
|
|
if /i "%ContextConfirm%" EQU "N" goto:%B4Context%
|
|
if /i "%ContextConfirm%" EQU "B" goto:%B4Context%
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ContextUninstall
|
|
|
|
:uninstallcontext
|
|
> "%TEMP%.\TEMP.REG" ECHO Windows Registry Editor Version 5.00
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
::Context menu for any file:
|
|
>>"%TEMP%.\TEMP.REG" ECHO [-HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Open with ModMii]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO "Icon"="%cd:\=\\%\\ModMii.exe"
|
|
::if /i "%ContextConfirm%" EQU "S" >>"%TEMP%.\TEMP.REG" ECHO "Extended"=""
|
|
::>>"%TEMP%.\TEMP.REG" ECHO.
|
|
::>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\SOFTWARE\Classes\*\shell\Open with ModMii\command]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO @="%cd:\=\\%\\ModMii.exe \"%%1\""
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
::Context menu for right click on folders in left panel of Windows Explorer or on BACKGROUND of a directory in right panel (no Args):
|
|
::>>"%TEMP%.\TEMP.REG" ECHO [-HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\Open ModMii]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO "Icon"="%cd:\=\\%\\ModMii.exe"
|
|
::if /i "%ContextConfirm%" EQU "S" >>"%TEMP%.\TEMP.REG" ECHO "Extended"=""
|
|
::>>"%TEMP%.\TEMP.REG" ECHO.
|
|
::>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\Open ModMii\command]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO @="%cd:\=\\%\\ModMii.exe"
|
|
::>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
::Context menu for right click on folders in right panel of Windows Explorer:
|
|
>>"%TEMP%.\TEMP.REG" ECHO [-HKEY_CURRENT_USER\Software\Classes\directory\shell\Open with ModMii]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO "Icon"="%cd:\=\\%\\ModMii.exe"
|
|
::if /i "%ContextConfirm%" EQU "S" >>"%TEMP%.\TEMP.REG" ECHO "Extended"=""
|
|
::>>"%TEMP%.\TEMP.REG" ECHO.
|
|
::>>"%TEMP%.\TEMP.REG" ECHO [HKEY_CURRENT_USER\Software\Classes\directory\shell\Open with ModMii\command]
|
|
::>>"%TEMP%.\TEMP.REG" ECHO @="%cd:\=\\%\\ModMii.exe \"%%1\""
|
|
>>"%TEMP%.\TEMP.REG" ECHO.
|
|
|
|
|
|
|
|
::for some reason [START /WAIT REGEDIT /S "%TEMP%\TEMP.REG] isn't working when launched via modmii.exe, powershell is a workaround https://stackoverflow.com/a/52226150
|
|
::to make verbose, remove this part: *>&1 | Out-Null
|
|
::"Invoke-Command {reg import \\server\share\test.reg *>&1 | Out-Null}"
|
|
echo.
|
|
powershell "Invoke-Command {reg import '"%TEMP%.\TEMP.REG"'}"
|
|
::powershell "Invoke-Command {reg import '"%TEMP%.\TEMP.REG"' *>&1 | Out-Null}"
|
|
DEL "%TEMP%\TEMP.REG">nul
|
|
|
|
::if exist "temp\shellcheck.txt" del "temp\shellcheck.txt">nul
|
|
::START /MIN /WAIT REG EXPORT "HKCU\SOFTWARE\Classes\*\shell\Open with ModMii" "temp\shellcheck.txt" /Y
|
|
::echo.
|
|
::if not exist "temp\shellcheck.txt" (echo Uninstallation Successful) else (echo Uninstallation Failed)
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:%B4Context%
|
|
|
|
|
|
|
|
|
|
::..................................................OPTIONS..................................................
|
|
.......
|
|
:OPTIONS
|
|
|
|
|
|
Set WLAST=
|
|
Set Options="
|
|
set cheatoption=
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%] Choose an Option:
|
|
echo.
|
|
::replace \ with itself using "\x5c" so sfk -spat doesn't misinterprate \t or similar as commands
|
|
support\sfk echo -spat \x20 \x20 D = Change Drive letter: Current Setting: [%cyantext%]"%Drive:\=\x5c%"
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20DU = Change Drive letter for USB: Current Setting: [%cyantext%]"%DriveU:\=\x5c%"
|
|
echo.
|
|
support\sfk echo -spat \x20 d2x = change d2x cIOS version built: Current Setting: [%cyantext%]v%d2x-beta-rev%
|
|
echo.
|
|
if /i "%hermesOPTION%" EQU "OFF" support\sfk echo -spat \x20 \x20 H = Hermes Wii cIOSs (202 ^& 222-224) will also be recommended [%redtext%](Disabled)
|
|
if /i "%hermesOPTION%" EQU "ON" support\sfk echo -spat \x20 \x20 H = Hermes Wii cIOSs (202 ^& 222-224) will also be recommended [%greentext%](Enabled)
|
|
|
|
::echo * Generally no longer necessary but may still be useful in some cases
|
|
echo.
|
|
|
|
|
|
if /i "%CMIOSOPTION%" EQU "OFF" support\sfk echo -spat \x20 \x20CM = cMIOS included with recommended Wii cIOSs [%redtext%](Disabled)
|
|
if /i "%CMIOSOPTION%" EQU "ON" support\sfk echo -spat \x20 \x20CM = cMIOS included with recommended Wii cIOSs [%greentext%](Enabled)
|
|
echo * A cMIOS allows older non-chipped Wii's to play GameCube backup discs
|
|
echo.
|
|
|
|
if /i "%ExtraProtectionOPTION%" EQU "OFF" support\sfk echo -spat \x20 \x20 E = Extra Brick Protection in ModMii Wizard Wii Guides [%redtext%](Disabled)
|
|
if /i "%ExtraProtectionOPTION%" EQU "ON" support\sfk echo -spat \x20 \x20 E = Extra Brick Protection in ModMii Wizard Wii Guides [%greentext%](Enabled)
|
|
echo * When enabled, a patched IOS60 will be installed to other system menu
|
|
echo IOS slots to prevent bricks from users manually up\downgrading
|
|
echo.
|
|
|
|
if /i "%ACTIVEIOS%" EQU "OFF" support\sfk echo -spat \x20 \x20 U = Update IOSs. Wizard/SysCheck-Updater to update Active IOSs [%redtext%](Disabled)
|
|
if /i "%ACTIVEIOS%" EQU "ON" support\sfk echo -spat \x20 \x20 U = Update IOSs. Wizard/SysCheck-Updater to update Active IOSs [%greentext%](Enabled)
|
|
echo.
|
|
|
|
>nul findstr "^" "Support\settings_skipped_apps.txt" || support\sfk echo -spat \x20 \x20SA = Skipped Apps for File Cleanup, App Updater ^& OSC\HBAS Downloads [%cyantext%](None)
|
|
>nul findstr "^" "Support\settings_skipped_apps.txt" && support\sfk echo -spat \x20 \x20SA = Skipped Apps for File Cleanup, App Updater, OSC\HBAS Downloads [%yellowtext%](Some)
|
|
echo.
|
|
|
|
|
|
if /i "%AUSKIP%" EQU "OFF" support\sfk echo -spat \x20 \x20AU = Auto-Updating downloads will skip update check if cached [%redtext%](Disabled)
|
|
if /i "%AUSKIP%" EQU "ON" support\sfk echo -spat \x20 \x20AU = Auto-Updating downloads will skip update check if cached [%greentext%](Enabled)
|
|
echo.
|
|
|
|
if /i "%FWDOPTION%" EQU "OFF" support\sfk echo -spat \x20 FWD = Install USB-Loader Forwarder in ModMii Wizard Guides [%redtext%](Disabled)
|
|
if /i "%FWDOPTION%" EQU "ON" support\sfk echo -spat \x20 FWD = Install USB-Loader Forwarder in ModMii Wizard Guides [%greentext%](Enabled)
|
|
echo.
|
|
|
|
|
|
support\sfk echo -spat \x20 \x20PC = PC Programs Save Location: Current Setting: [%cyantext%]%PCSAVE%
|
|
if /i "%PCSAVE%" EQU "Local" echo * PC Programs saved to %HomeDrive%
|
|
if /i "%PCSAVE%" EQU "Local" echo * Shortcuts will be installed to Start Menu and Desktop
|
|
|
|
if /i "%PCSAVE%" EQU "Portable" echo * PC programs saved portably to one of the above Drive Settings
|
|
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
echo * PC programs saved to %homedrive% with shortcuts if running ModMii from %homedrive%
|
|
echo * PC programs saved portably if not running ModMii from %homedrive%
|
|
:skip
|
|
|
|
echo.
|
|
if /i "%ROOTSAVE%" EQU "ON" support\sfk echo -spat \x20 \x20RS = Root Save: Save IOSs\MIOSs to Root instead of WAD Folder [%greentext%](Enabled)
|
|
if /i "%ROOTSAVE%" EQU "OFF" support\sfk echo -spat \x20 \x20RS = Root Save: Save IOSs\MIOSs to Root instead of WAD Folder [%redtext%](Disabled)
|
|
echo * Does NOT affect ModMii Wizard and only applies to IOSs\MIOSs
|
|
::echo * Useful for Wii Apps that require IOSs\MIOSs saved to Root
|
|
echo.
|
|
|
|
|
|
|
|
|
|
if /i "%neek2o%" EQU "off" support\sfk echo -spat \x20 n2o = neek2o - build mod of s\uneek instead of original [%redtext%](Disabled)
|
|
if /i "%neek2o%" EQU "on" support\sfk echo -spat \x20 n2o = neek2o - build mod of s\uneek instead of original [%greentext%](Enabled)
|
|
|
|
|
|
|
|
if /i "%SSD%" EQU "off" support\sfk echo -spat \x20 SSD = SNEEK and SNEEK+DI SD Access [%redtext%](Disabled)
|
|
if /i "%SSD%" EQU "on" support\sfk echo -spat \x20 SSD = SNEEK and SNEEK+DI SD Access [%greentext%](Enabled)
|
|
|
|
|
|
if /i "%SNKFONT%" EQU "W" support\sfk echo -spat \x20 \x20 F = Font.bin Colour for SNEEK/UNEEK [%cyantext%](Black text on White background)
|
|
if /i "%SNKFONT%" EQU "B" support\sfk echo -spat \x20 \x20 F = Font.bin Colour for SNEEK/UNEEK [%cyantext%](White text on Black background)
|
|
if /i "%SNKFONT%" EQU "R" support\sfk echo -spat \x20 \x20 F = Font.bin Colour for SNEEK/UNEEK [%cyantext%](Red text on Black background)
|
|
|
|
if /i "%sneekverbose%" EQU "off" support\sfk echo -spat \x20 \x20SV = SNEEK Verbose Output [%redtext%](Disabled)
|
|
if /i "%sneekverbose%" EQU "on" support\sfk echo -spat \x20 \x20SV = SNEEK Verbose Output [%greentext%](Enabled)
|
|
echo.
|
|
|
|
if /i "%ModMiiverbose%" EQU "off" support\sfk echo -spat \x20 \x20 V = Verbose for ModMii Skin ^& nandBinCheck [%redtext%](Disabled)
|
|
if /i "%ModMiiverbose%" EQU "on" support\sfk echo -spat \x20 \x20 V = Verbose for ModMii Skin ^& nandBinCheck [%greentext%](Enabled)
|
|
echo.
|
|
|
|
|
|
if /i "%AudioOption%" EQU "OFF" support\sfk echo -spat \x20 \x20SO = Play sound at Finish [%redtext%](Disabled)
|
|
if /i "%AudioOption%" EQU "ON" support\sfk echo -spat \x20 \x20SO = Play sound at Finish [%greentext%](Enabled)
|
|
echo.
|
|
|
|
|
|
if /i "%AUTOUPDATE%" EQU "OFF" support\sfk echo -spat \x20 \x20 A = Auto-Update ModMii at program start [%redtext%](Disabled)
|
|
if /i "%AUTOUPDATE%" EQU "ON" support\sfk echo -spat \x20 \x20 A = Auto-Update ModMii at program start [%greentext%](Enabled)
|
|
echo N = Check for New versions of ModMii right now
|
|
echo DD = Download Dependencies now instead of when needed (e.g. wiiload, etc.)
|
|
echo C = Context Menu info and Installer\Uninstaller
|
|
echo L = Launchpad Toolbar info and Installer\Uninstaller
|
|
echo.
|
|
echo R = Restore Default Settings M = Main Menu
|
|
echo.
|
|
set /p OPTIONS=Enter Selection Here:
|
|
set "OPTIONS=%OPTIONS:"=%"
|
|
|
|
::if /i "%OPTIONS%" EQU "S" goto:SaveSettings
|
|
if /i "%OPTIONS%" EQU "R" goto:RestoreSettings
|
|
if /i "%OPTIONS%" EQU "M" goto:MENU
|
|
if /i "%OPTIONS%" EQU "B" goto:MENU
|
|
if /i "%OPTIONS%" EQU "SA" goto:SkipUpdateSettings
|
|
if /i "%OPTIONS%" EQU "DD" goto:Dependencies
|
|
if /i "%OPTIONS%" EQU "N" goto:UpdateModMii
|
|
|
|
if /i "%OPTIONS%" EQU "L" (set B4Context=OPTIONS) & (goto:LaunchpadCheck)
|
|
if /i "%OPTIONS%" EQU "C" (set B4Context=OPTIONS) & (goto:ContextCheck)
|
|
|
|
if /i "%OPTIONS%" EQU "D" (set BACKB4DRIVE=OPTIONS) & (goto:DRIVECHANGE)
|
|
if /i "%OPTIONS%" EQU "DU" (set BACKB4DRIVEU=OPTIONS) & (goto:DRIVEUCHANGE)
|
|
if /i "%OPTIONS%" EQU "d2x" (set backbeforebetaswitch=OPTIONS) & (goto:betaswitch)
|
|
|
|
if /i "%OPTIONS%" NEQ "RS" goto:skip
|
|
if /i "%ROOTSAVE%" EQU "ON" (set ROOTSAVE=OFF) else (set ROOTSAVE=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*ROOTSAVE=" -write -yes>nul
|
|
echo Set ROOTSAVE=%ROOTSAVE%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "PC" goto:skip
|
|
if /i "%PCSAVE%" EQU "Auto" (set PCSAVE=Portable) & (goto:bypass)
|
|
if /i "%PCSAVE%" EQU "Portable" (set PCSAVE=Local) & (goto:bypass)
|
|
if /i "%PCSAVE%" EQU "Local" set PCSAVE=Auto
|
|
:bypass
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*PCSAVE=" -write -yes>nul
|
|
echo Set PCSAVE=%PCSAVE%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "A" goto:skip
|
|
if /i "%AUTOUPDATE%" EQU "ON" (set AUTOUPDATE=OFF) else (set AUTOUPDATE=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*AUTOUPDATE=" -write -yes>nul
|
|
echo Set AUTOUPDATE=%AUTOUPDATE%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "SO" goto:skip
|
|
if /i "%AudioOption%" EQU "ON" (set AudioOption=OFF) else (set AudioOption=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*AudioOption=" -write -yes>nul
|
|
echo Set AudioOption=%AudioOption%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "H" goto:skip
|
|
if /i "%hermesOPTION%" EQU "OFF" (Set hermesOPTION=ON) else (Set hermesOPTION=OFF)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*hermesOPTION=" -write -yes>nul
|
|
echo Set hermesOPTION=%hermesOPTION%>> Support\settings.bat
|
|
goto:OPTIONS
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "CM" goto:skip
|
|
if /i "%CMIOSOPTION%" EQU "ON" (set CMIOSOPTION=OFF) else (set CMIOSOPTION=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*CMIOSOPTION=" -write -yes>nul
|
|
echo Set CMIOSOPTION=%CMIOSOPTION%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "FWD" goto:skip
|
|
if /i "%FWDOPTION%" EQU "ON" (set FWDOPTION=OFF) else (set FWDOPTION=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*FWDOPTION=" -write -yes>nul
|
|
echo Set FWDOPTION=%FWDOPTION%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "E" goto:skip
|
|
if /i "%ExtraProtectionOPTION%" EQU "ON" (set ExtraProtectionOPTION=OFF) else (set ExtraProtectionOPTION=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*ExtraProtectionOPTION=" -write -yes>nul
|
|
echo Set ExtraProtectionOPTION=%ExtraProtectionOPTION%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "sv" goto:skip
|
|
if /i "%sneekverbose%" EQU "ON" (set sneekverbose=OFF) else (set sneekverbose=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*sneekverbose=" -write -yes>nul
|
|
echo Set sneekverbose=%sneekverbose%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "n2o" goto:skip
|
|
if /i "%neek2o%" EQU "ON" (set neek2o=OFF) else (set neek2o=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*neek2o=" -write -yes>nul
|
|
echo Set neek2o=%neek2o%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "v" goto:skip
|
|
if /i "%ModMiiverbose%" EQU "ON" (set ModMiiverbose=OFF) else (set ModMiiverbose=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*ModMiiverbose=" -write -yes>nul
|
|
echo Set ModMiiverbose=%ModMiiverbose%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "SSD" goto:skip
|
|
if /i "%SSD%" EQU "ON" (set SSD=OFF) else (set SSD=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*SSD=" -write -yes>nul
|
|
echo Set SSD=%SSD%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "f" goto:skip
|
|
if /i "%SNKFONT%" EQU "W" (Set SNKFONT=B) & (goto:bypass)
|
|
if /i "%SNKFONT%" EQU "B" (Set SNKFONT=R) & (goto:bypass)
|
|
if /i "%SNKFONT%" EQU "R" Set SNKFONT=W
|
|
:bypass
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*SNKFONT=" -write -yes>nul
|
|
echo Set SNKFONT=%SNKFONT%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "U" goto:skip
|
|
if /i "%ACTIVEIOS%" EQU "ON" (set ACTIVEIOS=OFF) else (set ACTIVEIOS=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*ACTIVEIOS=" -write -yes>nul
|
|
echo Set ACTIVEIOS=%ACTIVEIOS%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
if /i "%OPTIONS%" NEQ "AU" goto:skip
|
|
if /i "%AUSKIP%" EQU "ON" (set AUSKIP=OFF) else (set AUSKIP=ON)
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*AUSKIP=" -write -yes>nul
|
|
echo Set AUSKIP=%AUSKIP%>> Support\settings.bat
|
|
goto:options
|
|
:skip
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:OPTIONS
|
|
|
|
|
|
:Dependencies
|
|
set /a DepFCount=0
|
|
call Support\subscripts\dependency.bat ShowMiiVWiiKeys
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat nand-tools
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat nandBinCheck
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat Punetwiin
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat wiiload
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat UnRAR
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat Sharpii
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat ODB
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat wwcxtool
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat wit
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat LZ77Helper
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
call Support\subscripts\dependency.bat themewii
|
|
if /i "%dependency%" EQU "F" set /a DepFCount+=1
|
|
echo.
|
|
if %DepFCount% EQU 0 (echo Dependencies downloaded Successfully!) else (echo %DepFCount% dependencies failed to download...)
|
|
if /i "%AudioOption%" NEQ "on" (@ping 127.0.0.1 -n 4 -w 1000> nul) & (goto:OPTIONS)
|
|
if %DepFCount% EQU 0 (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
goto:OPTIONS
|
|
|
|
|
|
:RestoreSettings
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
Set LegacyCIOS=
|
|
if exist support\d2x-beta rd /s /q support\d2x-beta
|
|
set KeepInvalidOverride=N
|
|
Set AutoDetectNL=
|
|
Set AutoDetectDF=
|
|
Set WiiPyInfo=
|
|
Set ODBinfo=
|
|
|
|
if not exist Support\settings_skipped_apps.txt goto:notall
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\settings_skipped_apps.txt) do call :SkipUpdateList4 %%A
|
|
goto:quickskip
|
|
:SkipUpdateList4
|
|
set CurrentApp=%*
|
|
::strip out colons before and after app name
|
|
set CurrentApp=%CurrentApp:~1,-1%
|
|
if exist "%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt" del "%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt">nul
|
|
if exist "%DRIVE%\wiiu\apps\%CurrentApp%\SkipModMiiUpdates.txt" del "%DRIVE%\wiiu\apps\%CurrentApp%\SkipModMiiUpdates.txt">nul
|
|
goto:EOF
|
|
:quickskip
|
|
::if exist "Support\settings_skipped_apps.txt" del "Support\settings_skipped_apps.txt">nul
|
|
::copy /y NUL "Support\settings_skipped_apps.txt">nul
|
|
|
|
::by default legacy apps are disabled (107 at present) less retroarch which should be updated later in 2025 (but will continue to exclude more_ra_arcade & more_ra_cores which are relatively large downloads)
|
|
powershell echo "?100_Boxes_Wiiu?`n?AM64DSPatcher?`n?AocPatcher?`n?asturoids?`n?Bloopair?`n?cave?`n?cbhc?`n?cfwbooter?`n?CHIP8?`n?clock?`n?CloseHBL?`n?controller-test?`n?Crispy-Doom?`n?ddd?`n?diibugger?`n?disc2app?`n?disc2appWUTPort?`n?drc-test?`n?Fake-08?`n?fireplace-nx-wiiu?`n?flappy_bird?`n?flappy_bird_3d?`n?fsdumper?`n?ft2sd?`n?ftpiiu-cbhc?`n?ftpiiu?`n?ftpiiu_everywhere?`n?fuckyoustick?`n?gacubeboy?`n?GamepadTester?`n?gbiine?`n?geckiine?`n?haxchi?`n?HBL_Dpad?`n?hbl2hbc?`n?hid_keyboard_monitor?`n?hidtest?`n?hidtovpad?`n?homebrew_launcher?`n?IOSreboot?`n?iosuotp?`n?jezzballu?`n?keyboard_example?`n?lameIRCU?`n?LiveSynthesisU?`n?loadiine_gx2?`n?loadiine_gx2_y?`n?MegaZeux?`n?menu_sort?`n?Minesweeper_WiiU?`n?mocha?`n?mocha_fat32?`n?mocha_fshax?`n?mocha_sd_access?`n?more_ra_arcade?`n?more_ra_cores?`n?nanddumper?`n?nnupatcher?`n?Opensupaplex?`n?otp2sd?`n?ourloader?`n?PacmanGX2?`n?Pokemini?`n?PokeMiniU?`n?pong?`n?RemotePad?`n?savemii?`n?savemii_inject_mod?`n?saviine?`n?SDcafiine?`n?SDGeckiine?`n?seeprom2sd?`n?shutdown-hbl?`n?sign_c2w_patcher?`n?sigpatcher2HBL?`n?sigpatcher2sysmenu?`n?Simple_SDL_Snake?`n?sm4sh2sd?`n?snake?`n?spacegame?`n?spiik?`n?SuDokuL?`n?swapdrc?`n?swapdrc_lite?`n?swipswapme?`n?TetrisU?`n?tictactoe?`n?tik2sd?`n?timingu?`n?u-paint?`n?Uclick?`n?UFDiine?`n?UselessHomebrew?`n?VidChanger?`n?vwii-compat-installer?`n?vWii-NAND-Restorer?`n?vWii_decaffeinator?`n?WiiAlarmU?`n?wiiu-vnc?`n?wim?`n?wudump?`n?wup_installer_gx2?`n?wup_installer_gx2_mod?`n?wuphax?`n?wupinstaller?`n?wupymod?`n?yapesdl?">Support\settings_skipped_apps.txt
|
|
:notall
|
|
|
|
|
|
set ROOTSAVE=off
|
|
set effect=No-Spin
|
|
set PCSAVE=Auto
|
|
::set OPTION1=off
|
|
set AudioOption=on
|
|
set hermesOPTION=off
|
|
set CMIOSOPTION=off
|
|
set FWDOPTION=on
|
|
set ExtraProtectionOPTION=on
|
|
set Drive=COPY_TO_SD
|
|
set DriveU=COPY_TO_USB
|
|
set ACTIVEIOS=on
|
|
set AUSKIP=off
|
|
set AUTOUPDATE=on
|
|
Set ModMiiverbose=off
|
|
Set SSD=off
|
|
Set sneekverbose=off
|
|
Set neek2o=on
|
|
Set SNKFONT=B
|
|
set redtext=Red
|
|
set bluetext=Blue
|
|
set yellowtext=Yellow
|
|
set greentext=Green
|
|
set magentatext=Magenta
|
|
set cyantext=Cyan
|
|
set backgroundcolor=1
|
|
set whitetext=f
|
|
set GuideOnly=off
|
|
set skin=Default
|
|
set "Success.mp3=Support\Skins\Default\Success.mp3"
|
|
set "Fail.mp3=Support\Skins\Default\Fail.mp3"
|
|
set "splash.png=Support\Skins\Default\splash.png"
|
|
::Set RecD2XcIOS=
|
|
|
|
color %backgroundcolor%%whitetext%
|
|
goto:savesettingsnow
|
|
|
|
|
|
|
|
|
|
:SaveSettings
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
:savesettingsnow
|
|
echo ::ModMii Settings > Support\settings.bat
|
|
echo ::ModMiiv%currentversion%>> Support\settings.bat
|
|
echo Set ROOTSAVE=%ROOTSAVE%>> Support\settings.bat
|
|
echo Set effect=%effect%>> Support\settings.bat
|
|
echo Set PCSAVE=%PCSAVE%>> Support\settings.bat
|
|
::echo Set Option1=%Option1%>> Support\settings.bat
|
|
echo Set AudioOption=%AudioOption%>> Support\settings.bat
|
|
echo Set hermesOPTION=%hermesOPTION%>> Support\settings.bat
|
|
echo Set CMIOSOPTION=%CMIOSOPTION%>> Support\settings.bat
|
|
echo Set FWDOPTION=%FWDOPTION%>> Support\settings.bat
|
|
echo Set ExtraProtectionOPTION=%ExtraProtectionOPTION%>> Support\settings.bat
|
|
echo Set "Drive=%DRIVE%">> Support\settings.bat
|
|
echo Set "DriveU=%DRIVEU%">> Support\settings.bat
|
|
|
|
echo Set ACTIVEIOS=%ACTIVEIOS%>> Support\settings.bat
|
|
echo Set AUSKIP=%AUSKIP%>> Support\settings.bat
|
|
echo Set AUTOUPDATE=%AUTOUPDATE%>> Support\settings.bat
|
|
echo Set ModMiiverbose=%ModMiiverbose%>> Support\settings.bat
|
|
echo Set SSD=%SSD%>> Support\settings.bat
|
|
echo Set sneekverbose=%sneekverbose%>> Support\settings.bat
|
|
echo Set neek2o=%neek2o%>> Support\settings.bat
|
|
echo Set SNKFONT=%SNKFONT%>> Support\settings.bat
|
|
echo Set skin=%skin%>> Support\settings.bat
|
|
if not "%RecD2XcIOS%"=="" echo Set "RecD2XcIOS=%RecD2XcIOS%">> Support\settings.bat
|
|
|
|
if not "%AutoDetectNL%"=="" echo set AutoDetectNL=%AutoDetectNL%>> Support\settings.bat
|
|
if not "%AutoDetectDF%"=="" echo set AutoDetectDF=%AutoDetectDF%>> Support\settings.bat
|
|
|
|
if /i "%KeepInvalidOverride%" EQU "Y" echo set KeepInvalidOverride=Y>> Support\settings.bat
|
|
if not "%LegacyCIOS%"=="" echo set LegacyCIOS=%LegacyCIOS%>> Support\settings.bat
|
|
|
|
if /i "%WiiPyInfo%" EQU "Y" echo set WiiPyInfo=Y>> Support\settings.bat
|
|
if /i "%ODBinfo%" EQU "Y" echo set ODBinfo=Y>> Support\settings.bat
|
|
if /i "%debug%" EQU "on" echo set debug=on>> Support\settings.bat
|
|
|
|
echo set AGREEDVERSION=%currentversion%>> Support\settings.bat
|
|
if /i "%redtext%" NEQ "Red" echo set "redtext=%redtext%">> Support\settings.bat
|
|
if /i "%bluetext%" NEQ "Blue" echo set "bluetext=%bluetext%">> Support\settings.bat
|
|
if /i "%yellowtext%" NEQ "Yellow" echo set "yellowtext=%yellowtext%">> Support\settings.bat
|
|
if /i "%Greentext%" NEQ "Green" echo set "greentext=%greentext%">> Support\settings.bat
|
|
if /i "%Magentatext%" NEQ "Magenta" echo set "magentatext=%magentatext%">> Support\settings.bat
|
|
if /i "%cyantext%" NEQ "Cyan" echo set "cyantext=%cyantext%">> Support\settings.bat
|
|
if /i "%backgroundcolor%" NEQ "1" echo set "backgroundcolor=%backgroundcolor%">> Support\settings.bat
|
|
if /i "%whitetext%" NEQ "f" echo set "whitetext=%whitetext%">> Support\settings.bat
|
|
|
|
|
|
::Enable recommended d2x instead of default\bundled (if they differ)
|
|
if "%RecD2XcIOS%"=="" goto:OPTIONS
|
|
::set RecD2XcIOS=d2x-v10-beta52
|
|
if /i "%d2x-bundled%" EQU "%RecD2XcIOS:~5%" goto:OPTIONS
|
|
|
|
echo Enabling recommended d2x cIOS (%RecD2XcIOS:~5%) instead of default\bundled (%d2x-bundled%)
|
|
echo This can always be customized in ModMii's d2x Options
|
|
echo.
|
|
if exist "support\More-cIOSs\%RecD2XcIOS%\d2x-beta.bat" goto:pickup
|
|
|
|
support\wget --output-document %RecD2XcIOS%.zip --no-check-certificate -t 3 "https://github.com/modmii/modmii.github.io/blob/master/temp/d2x/%RecD2XcIOS%.7z?raw=true" -q --show-progress
|
|
echo.
|
|
|
|
::delete if file is empty
|
|
>nul findstr "^" "%RecD2XcIOS%.zip" || del "%RecD2XcIOS%.zip"
|
|
|
|
if not exist "%RecD2XcIOS%.zip" goto:badkey
|
|
if not exist "support\More-cIOSs\%RecD2XcIOS%" mkdir "support\More-cIOSs\%RecD2XcIOS%"
|
|
support\7za e -aoa "%RecD2XcIOS%.zip" -o"support\More-cIOSs\%RecD2XcIOS%" *.* -r
|
|
echo.
|
|
del "%RecD2XcIOS%.zip">nul
|
|
if not exist "support\More-cIOSs\%RecD2XcIOS%\d2x-beta.bat" (rd /s /q "support\More-cIOSs\%RecD2XcIOS%") & (goto:badkey)
|
|
|
|
:pickup
|
|
if exist support\d2x-beta rd /s /q support\d2x-beta
|
|
mkdir support\d2x-beta
|
|
copy /y "support\More-cIOSs\%RecD2XcIOS%\*" "support\d2x-beta">nul
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
::if /i "%d2x-beta-rev%" EQU "%RecD2XcIOS:~5%" (echo %RecD2XcIOS% cIOS successfully enabled!) else (goto:badkey)
|
|
if /i "%d2x-beta-rev%" NEQ "%RecD2XcIOS:~5%" goto:badkey
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
goto:OPTIONS
|
|
|
|
:badkey
|
|
echo Something went wrong, %RecD2XcIOS% cIOS not enabled...
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
goto:OPTIONS
|
|
|
|
|
|
|
|
:DRIVECHANGE
|
|
set "drivetemp=%DRIVE%"
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%MENU1%" NEQ "FC" echo Enter the drive letter (or Path) to save files for your SD Card
|
|
if /i "%MENU1%" EQU "FC" echo Enter the drive letter (or Path) of the SD Card or USB HDD to scan
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 Current Setting: [%cyantext%]"%Drive:\=\x5c%"
|
|
echo.
|
|
echo Notes: * To continue using Current Settings
|
|
echo leave the selection blank and hit enter.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo * You can drag and drop the Drive/folder onto this
|
|
if /i "%adminmode%" EQU "N" echo window to save yourself having to manually type it.
|
|
if /i "%adminmode%" EQU "N" echo.
|
|
if /i "%MENU1%" EQU "FC" goto:skipinfo
|
|
echo * If you experience errors, try using default settings.
|
|
echo.
|
|
echo * If your SD Card is not already formatted as FAT32 (or if
|
|
echo you are unsure), it may save some time by using default settings.
|
|
echo.
|
|
echo * If your Wii's SD Card reader is broken, you can use a Hard Drive
|
|
echo formatted as FAT32 in place of an SD Card to complete most things
|
|
echo (SD notably required for Bootmii, NAND backup ^& SNEEK).
|
|
echo.
|
|
echo * If you don't have an SD Card or Hard Drive, you can launch apps ^&
|
|
echo install WADs over the internet to your Wii or vWii from your PC.
|
|
echo Just open dols, elfs, or WADs with ModMii. Note that some apps may
|
|
echo not work or support all features if they need an SD or HDD.
|
|
echo.
|
|
:skipinfo
|
|
echo EXAMPLES
|
|
echo.
|
|
echo L:
|
|
echo.
|
|
echo %%userprofile%%\Desktop\COPY_TO_SD
|
|
echo.
|
|
echo ModMii\4.2U
|
|
echo Note: this creates ModMii\4.2U folders where this program is Saved
|
|
echo.
|
|
echo C:\Users\XFlak\Desktop\New Folder
|
|
echo.
|
|
echo.
|
|
echo D = Default Setting: COPY_TO_SD
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
|
|
if "%Drivetemp%"=="" set Drivetemp="
|
|
set /p Drivetemp= Enter Selection Here:
|
|
set "Drivetemp=%Drivetemp:"=%"
|
|
if "%Drivetemp%"=="" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVECHANGE)
|
|
if /i "%DRIVETEMP%" EQU "?" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVECHANGE)
|
|
if /i "%DRIVETEMP%" EQU "<" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVECHANGE)
|
|
if /i "%DRIVETEMP%" EQU ">" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVECHANGE)
|
|
|
|
if /i "%DRIVETEMP%" EQU "M" goto:MENU
|
|
if /i "%DRIVETEMP%" EQU "B" goto:%BACKB4DRIVE%
|
|
if /i "%DRIVETEMP%" EQU "D" set DRIVETEMP=COPY_TO_SD
|
|
|
|
|
|
|
|
|
|
:doublecheck
|
|
set fixslash=
|
|
if "%DRIVETEMP%"=="" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVECHANGE)
|
|
if /i "%DRIVETEMP:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%DRIVETEMP:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "DRIVETEMP=%DRIVETEMP:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheck
|
|
:skip
|
|
|
|
|
|
::if second char is ":" check if drive exists
|
|
if /i "%DRIVETEMP:~1,1%" NEQ ":" goto:skipcheck
|
|
if exist "%DRIVETEMP:~0,2%" (goto:skipcheck) else (echo.)
|
|
echo "%DRIVETEMP:~0,2%" doesn't exist, please try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:DRIVECHANGE
|
|
:skipcheck
|
|
|
|
|
|
|
|
|
|
|
|
::try making directory, and if fails, don't use this setting
|
|
if not exist "%DRIVETEMP%" mkdir "%DRIVETEMP%"
|
|
if not exist "%DRIVETEMP%" (echo You Have Entered an Incorrect Key or need Admin rights for this location) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVECHANGE)
|
|
|
|
|
|
::check for write access
|
|
if not exist "%DRIVETEMP%\test.txt" goto:skip
|
|
del "%DRIVETEMP%\test.txt">nul
|
|
if exist "%DRIVETEMP%\test.txt" (goto:WriteError) else (goto:donecheck)
|
|
|
|
:skip
|
|
echo test>"%DRIVETEMP%\test.txt"
|
|
if exist "%DRIVETEMP%\test.txt" goto:donecheck
|
|
|
|
:WriteError
|
|
echo You need Admin rights to use this location
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:DRIVECHANGE
|
|
|
|
:donecheck
|
|
if exist "%DRIVETEMP%\test.txt" del "%DRIVETEMP%\test.txt">nul
|
|
|
|
|
|
|
|
set "DRIVE=%DRIVETEMP%"
|
|
set "REALDRIVE=%DRIVE%"
|
|
|
|
::don't save settings if using FC
|
|
if /i "%MENU1%" EQU "FC" goto:skip
|
|
|
|
::autosave drive setting to settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*Drive=" -write -yes>nul
|
|
echo Set "Drive=%DRIVE%">>Support\settings.bat
|
|
|
|
:skip
|
|
|
|
::prompt for full FC scan after cursory scan only if launched via Options
|
|
if /i "%MENU1%" NEQ "O" goto:skip
|
|
if not exist "%DRIVE%\apps" if not exist "%DRIVE%\wiiu" goto:skip
|
|
|
|
:CleanPrompt
|
|
set CleanPrompt="
|
|
echo.
|
|
echo Would you like to scan this location for files to update or clean\remove? (Y/N)
|
|
echo.
|
|
set /p CleanPrompt=Enter Selection Here:
|
|
set "CleanPrompt=%CleanPrompt:"=%"
|
|
|
|
if /i "%CleanPrompt%" EQU "N" goto:skip
|
|
if /i "%CleanPrompt%" NEQ "Y" (echo You Have Entered an Incorrect Key) & (goto:CleanPrompt)
|
|
set MENU1=FC
|
|
:skip
|
|
|
|
|
|
if /i "%MENU1%" EQU "FC" goto:FileCleanup
|
|
if /i "%MENU1%" EQU "U" set BACKB4QUEUE=DRIVECHANGE
|
|
if /i "%MENU1%" EQU "U" goto:DOWNLOADQUEUE
|
|
|
|
|
|
if /i "%MENU1%" NEQ "W" goto:skip
|
|
if /i "%USBCONFIG%" EQU "USB" (set BACKB4QUEUE=DRIVEUCHANGE) else (set BACKB4QUEUE=DRIVECHANGE)
|
|
if /i "%USBCONFIG%" EQU "USB" (goto:DRIVEUCHANGE) else (goto:download)
|
|
:skip
|
|
|
|
::if /i "%AbstinenceWiz%" EQU "Y" (set B4SNKPAGE3=DRIVECHANGE) & (goto:snkpage3)
|
|
|
|
if /i "%MENU1%" EQU "RC" (set BACKB4QUEUE=DRIVECHANGE) & (goto:download)
|
|
|
|
if /i "%SNEEKTYPE%" EQU "U" (set BACKB4DRIVEU=DRIVECHANGE) & (goto:DRIVEUCHANGE)
|
|
|
|
if /i "%SNEEKTYPE%" EQU "UD" (set BACKB4DRIVEU=DRIVECHANGE) & (goto:DRIVEUCHANGE)
|
|
|
|
if /i "%SNEEKSELECT%" EQU "2" (set B4SNKPAGE3=DRIVECHANGE) & (goto:snkpage3)
|
|
|
|
if /i "%SNEEKSELECT%" EQU "3" (set B4SNKPAGE3=DRIVECHANGE) & (goto:snkpage3)
|
|
|
|
if /i "%SNEEKSELECT%" EQU "1" (set B4SNKCONFIRM=DRIVECHANGE) & (goto:SNKNANDCONFIRM)
|
|
|
|
if /i "%MENU1%" EQU "O" goto:Options
|
|
|
|
goto:%BACKB4DRIVE%
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:DRIVEUCHANGE
|
|
set "driveUtemp=%DRIVEU%"
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the drive letter (or Path) to save files for your USB Hard Drive
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 Current Setting: [%cyantext%]"%DriveU:\=\x5c%"
|
|
echo.
|
|
echo Notes: * To continue using Current Settings
|
|
echo leave the selection blank and hit enter.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo * You can drag and drop the Drive/folder onto this
|
|
if /i "%adminmode%" EQU "N" echo window to save yourself having to manually type it.
|
|
if /i "%adminmode%" EQU "N" echo.
|
|
echo * If you experience errors, try using default settings.
|
|
echo.
|
|
echo * If your Hard Drive is not already formatted properly (or if
|
|
echo you are unsure), it may save some time by using default settings.
|
|
echo.
|
|
echo * If you don't have an SD Card or Hard Drive, you can launch apps ^&
|
|
echo install WADs over the internet to your Wii or vWii from your PC.
|
|
echo Just open dols, elfs, or WADs with ModMii. Note that some apps may
|
|
echo not work or support all features if they need an SD or HDD.
|
|
echo.
|
|
echo EXAMPLES
|
|
echo.
|
|
echo L:
|
|
echo.
|
|
echo %%userprofile%%\Desktop\COPY_TO_USB
|
|
echo.
|
|
echo ModMii\4.2U
|
|
echo Note: this creates ModMii\4.2U folders where this program is Saved
|
|
echo.
|
|
echo C:\Users\XFlak\Desktop\New Folder
|
|
echo.
|
|
echo.
|
|
echo D = Default Setting: COPY_TO_USB
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
if "%DriveUtemp%"=="" set DriveUtemp="
|
|
set /p DriveUtemp=Enter Selection Here:
|
|
set "DriveUtemp=%DriveUtemp:"=%"
|
|
if "%DriveUtemp%"=="" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVEUCHANGE)
|
|
if /i "%DRIVEUTEMP%" EQU "?" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVEUCHANGE)
|
|
if /i "%DRIVEUTEMP%" EQU ">" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVEUCHANGE)
|
|
if /i "%DRIVEUTEMP%" EQU "<" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVEUCHANGE)
|
|
|
|
if /i "%DRIVEUTEMP%" EQU "M" goto:MENU
|
|
|
|
if /i "%LoadWizSettings%" EQU "Y" set BACKB4DRIVEU=DRIVECHANGE
|
|
if /i "%DRIVEUTEMP%" EQU "B" goto:%BACKB4DRIVEU%
|
|
|
|
if /i "%DRIVEUTEMP%" EQU "D" set DRIVEUTEMP=COPY_TO_USB
|
|
|
|
:doublecheckU
|
|
set fixslash=
|
|
if "%DRIVEUTEMP%"=="" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVEUCHANGE)
|
|
if /i "%DRIVEUTEMP:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%DRIVEUTEMP:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "DRIVEUTEMP=%DRIVEUTEMP:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheckU
|
|
|
|
|
|
::if second char is ":" check if drive exists
|
|
if /i "%DRIVEUTEMP:~1,1%" NEQ ":" goto:skipcheck
|
|
if exist "%DRIVEUTEMP:~0,2%" (goto:skipcheck) else (echo.)
|
|
echo "%DRIVEUTEMP:~0,2%" doesn't exist, please try again...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:DRIVEUCHANGE
|
|
:skipcheck
|
|
|
|
|
|
::try making directory, and if fails, don't use this setting
|
|
if not exist "%DRIVEUTEMP%" mkdir "%DRIVEUTEMP%"
|
|
if not exist "%DRIVEUTEMP%" (echo You Have Entered an Incorrect Key or need Admin rights for this location) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:DRIVEUCHANGE)
|
|
|
|
|
|
|
|
::check for write access
|
|
if not exist "%DRIVEUTEMP%\test.txt" goto:skip
|
|
del "%DRIVEUTEMP%\test.txt">nul
|
|
if exist "%DRIVEUTEMP%\test.txt" (goto:WriteError) else (goto:donecheck)
|
|
|
|
:skip
|
|
echo test>"%DRIVEUTEMP%\test.txt"
|
|
if exist "%DRIVEUTEMP%\test.txt" goto:donecheck
|
|
|
|
:WriteError
|
|
echo You need Admin rights to use this location
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:DRIVEUCHANGE
|
|
|
|
:donecheck
|
|
if exist "%DRIVEUTEMP%\test.txt" del "%DRIVEUTEMP%\test.txt">nul
|
|
|
|
|
|
set "DRIVEU=%DRIVEUTEMP%"
|
|
|
|
::autosave drive setting to settings.bat
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*DriveU=" -write -yes>nul
|
|
echo Set "DriveU=%DRIVEU%">>Support\settings.bat
|
|
|
|
|
|
|
|
::prompt for full FC scan after cursory scan only if launched via Options
|
|
if /i "%MENU1%" NEQ "O" goto:skip
|
|
if not exist "%DRIVEU%\apps" if not exist "%DRIVEU%\wiiu" goto:skip
|
|
|
|
:CleanPrompt2
|
|
set CleanPrompt="
|
|
echo.
|
|
echo Would you like to scan this location for files to update or clean\remove? (Y/N)
|
|
echo.
|
|
set /p CleanPrompt=Enter Selection Here:
|
|
set "CleanPrompt=%CleanPrompt:"=%"
|
|
|
|
if /i "%CleanPrompt%" EQU "N" goto:skip
|
|
if /i "%CleanPrompt%" NEQ "Y" (echo You Have Entered an Incorrect Key) & (goto:CleanPrompt2)
|
|
|
|
::BACKUP DRIVE SETTINGS
|
|
set "REALDRIVE=%DRIVE%"
|
|
set "DRIVE=%DRIVEU%"
|
|
set MENU1=FC
|
|
goto:FileCleanup
|
|
:skip
|
|
|
|
|
|
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" (set B4SNKPAGE3=DRIVEUCHANGE) & (goto:snkpage3)
|
|
|
|
if /i "%SNEEKSELECT%" EQU "1" set B4SNKCONFIRM=DRIVEUCHANGE
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:SNKNANDCONFIRM
|
|
if /i "%SNEEKSELECT%" EQU "2" set B4SNKPAGE3=DRIVEUCHANGE
|
|
if /i "%SNEEKSELECT%" EQU "3" set B4SNKPAGE3=DRIVEUCHANGE
|
|
if /i "%SNEEKSELECT%" EQU "2" goto:snkpage3
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:snkpage3
|
|
if /i "%SNEEKSELECT%" EQU "4" goto:SNKDISCEX2
|
|
|
|
::if /i "%MENU1%" EQU "U" goto:DOWNLOADQUEUE
|
|
::if /i "%WLAST%" EQU "Y" goto:DOWNLOAD
|
|
|
|
|
|
if /i "%MENU1%" NEQ "U" goto:skip
|
|
if /i "%USBCONFIG%" EQU "USB" set "DRIVE=%DRIVEU%"
|
|
if /i "%USBCONFIG%" EQU "USB" set BACKB4QUEUE=DRIVEUCHANGE
|
|
if /i "%USBCONFIG%" EQU "USB" goto:DownloadQueue
|
|
:skip
|
|
if /i "%USBCONFIG%" EQU "USB" set BACKB4QUEUE=DRIVEUCHANGE
|
|
if /i "%USBCONFIG%" EQU "USB" goto:Download
|
|
|
|
goto:Options
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:UpdateModMii
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Current Version is %CurrentVersion%
|
|
echo.
|
|
echo Checking for updates...
|
|
echo.
|
|
|
|
|
|
::only if temp\currentversion.txt exists updater.bat will start updating when called or started, otherwise will just get info and return to loader ::echo %currentversion%>temp\currentversion.txt
|
|
if exist "temp\currentversion.txt" del "temp\currentversion.txt">nul
|
|
if exist "temp\currentversionInfo.txt" del "temp\currentversionInfo.txt">nul
|
|
|
|
::comment these for local Updatetemp.bat for testing... (updater.bat is renamed to Updatetemp.bat for legacy purposes)
|
|
|
|
if /i "%debug%" EQU "on" goto:skip
|
|
if exist Updatetemp.bat attrib -h Updatetemp.bat
|
|
if exist Updatetemp.bat del Updatetemp.bat>nul
|
|
|
|
|
|
support\wget --no-check-certificate "https://raw.githubusercontent.com/modmii/modmii.github.io/master/temp/updater.bat" -O Updatetemp.bat -q
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "Updatetemp.bat" || del "Updatetemp.bat"
|
|
if not exist Updatetemp.bat goto:altlink
|
|
::DELETE IF NULL
|
|
::for %%R in (Updatetemp.bat) do if %%~zR lss 1 del "Updatetemp.bat">nul
|
|
|
|
|
|
:altlink
|
|
if not exist "Updatetemp.bat" support\wget --no-check-certificate "https://tiny.cc/modmiiupdater" -O Updatetemp.bat -q
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "Updatetemp.bat" || del "Updatetemp.bat"
|
|
if not exist Updatetemp.bat goto:updatefail
|
|
::DELETE IF NULL
|
|
::for %%R in (Updatetemp.bat) do if %%~zR lss 1 del "Updatetemp.bat">nul
|
|
:skip
|
|
|
|
::Call to get new version info and changelogURL
|
|
if exist temp\skin.txt del temp\skin.txt>nul
|
|
if exist Updatetemp.bat (call Updatetemp.bat) else (goto:updatefail)
|
|
|
|
::in case new d2x beta downloaded, call it
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
|
|
|
|
if "%newversion%"=="" goto:updatefail
|
|
|
|
|
|
if %currentversion% LSS %newversion% goto:openchangelog
|
|
|
|
if /i "%debug%" EQU "on" goto:debugskip
|
|
if exist Updatetemp.bat attrib -h Updatetemp.bat
|
|
if exist Updatetemp.bat del Updatetemp.bat>nul
|
|
:debugskip
|
|
|
|
if /i "%MENU1%" EQU "O" goto:skip
|
|
|
|
if %currentversion% GTR %newversion% (echo This version is newer than the latest public release) & (echo.) & (echo You got some crazy new beta shit!) & (@ping 127.0.0.1 -n 4 -w 1000> nul) & (goto:menu)
|
|
if %currentversion% EQU %newversion% (echo This version is up to date) & (@ping 127.0.0.1 -n 4 -w 1000> nul) & (goto:menu)
|
|
|
|
:skip
|
|
if %currentversion% GTR %newversion% (echo This version is newer than the latest public release) & (echo.) & (echo You got some crazy new beta shit!) & (@ping 127.0.0.1 -n 4 -w 1000> nul) & (goto:OPTIONS)
|
|
if %currentversion% EQU %newversion% (echo This version is up to date) & (@ping 127.0.0.1 -n 4 -w 1000> nul) & (goto:OPTIONS)
|
|
|
|
|
|
|
|
::if you made it this far, there's an update!
|
|
|
|
|
|
:openchangelog
|
|
|
|
|
|
|
|
start %changelogURL%
|
|
|
|
:updateconfirm
|
|
set updatenow="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%currentversion%" NEQ "0.0.0" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 [%redtext%] An Update is available, would you like to update to v%newversion% now?
|
|
if /i "%currentversion%" EQU "0.0.0" echo One or more of ModMii's supporting files are missing, would you like to fix it by installing v%newversion% now?
|
|
|
|
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo It is recommended you read the changelog that just opened in your browser.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%greentext%] Y = Yes - Perform Update Now! (RECOMMENDED)
|
|
echo.
|
|
if /i "%currentversion%" NEQ "0.0.0" echo N = No, do not update
|
|
if /i "%currentversion%" EQU "0.0.0" echo N = No, do not update\fix ModMii and Exit
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p updatenow=Enter Selection Here:
|
|
set "updatenow=%updatenow:"=%"
|
|
|
|
if /i "%updatenow%" NEQ "N" goto:skip
|
|
if /i "%debug%" EQU "on" goto:debugskip
|
|
if exist Updatetemp.bat attrib -h Updatetemp.bat
|
|
if exist Updatetemp.bat del Updatetemp.bat>nul
|
|
:debugskip
|
|
if /i "%currentversion%" EQU "0.0.0" exit
|
|
if /i "%MENU1%" EQU "O" (goto:OPTIONS) else (goto:MENU)
|
|
:skip
|
|
|
|
if /i "%updatenow%" EQU "Y" goto:updatenow
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:updateconfirm
|
|
|
|
|
|
:updatenow
|
|
::launch updater with temp\currentversion.txt to do the update
|
|
::only if temp\currentversion.txt exists updater will do start updating when called or started
|
|
::updater runs in skin mode if temp\skin.txt detected
|
|
echo %currentversion%>temp\currentversion.txt
|
|
echo %currentversion%>temp\currentversionInfo.txt
|
|
if exist temp\skin.txt del temp\skin.txt>nul
|
|
start Updatetemp.bat
|
|
exit
|
|
|
|
|
|
|
|
|
|
:updatefail
|
|
echo Update check has failed, check your internet connection and firewall settings.
|
|
@ping 127.0.0.1 -n 4 -w 1000> nul
|
|
set currentversion=%currentversioncopy%
|
|
|
|
if /i "%MENU1%" EQU "O" (goto:OPTIONS) else (goto:menu)
|
|
|
|
|
|
::-------------------------------File Cleanup------------------------------------
|
|
:FileCleanup
|
|
cls
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemodeswitchoff%" EQU "Y" (set cmdlinemode=) & (set one=) & (set two=)
|
|
|
|
echo Scanning for files to clean or update in this folder:
|
|
echo "%DRIVE%"
|
|
echo.
|
|
|
|
set SkipCleanReturnTo=
|
|
|
|
:FileCleanupPickUp
|
|
if exist temp\CleanItems.txt del temp\CleanItems.txt>nul
|
|
set cleanitems=0
|
|
set CLEANcountSkip=0
|
|
::Loop through the the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\subscripts\CleanList.txt) do call :processCleanList %%A
|
|
goto:quickskip
|
|
:processCleanList
|
|
set CleanItem=%*
|
|
|
|
if not exist "%DRIVE%%CleanItem%" goto:EOF
|
|
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /X /C:"%CleanItem%" "Support\settings_skipped_apps.txt" >nul
|
|
IF ERRORLEVEL 1 goto:NoUpdateSettings
|
|
if "%SkipCleanReturnTo%"=="" support\sfk echo %CleanItem% Detected, [%yellowtext%]skipping [def]as per ModMii settings...
|
|
set /a CLEANcountSkip+=1
|
|
goto:EOF
|
|
:NoUpdateSettings
|
|
|
|
echo %CleanItem% >>temp\CleanItems.txt
|
|
set /a cleanitems+=1
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
|
|
|
|
::Loop through the the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\subscripts\GamesaveExploits.txt) do call :processCleanList2 %%A
|
|
goto:quickskip
|
|
:processCleanList2
|
|
set GameSave=%*
|
|
if /i "%GameSave:~0,1%" EQU "\" (set "CleanItem=%GameSave%") & (goto:EOF)
|
|
if not exist "%DRIVE%%CleanItem%" goto:EOF
|
|
set "md5=%GameSave%"
|
|
|
|
::hash check
|
|
support\sfk md5 -quiet -verify %md5% "%DRIVE%%CleanItem%"
|
|
if errorlevel 1 goto:EOF
|
|
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /X /C:"%CleanItem%" "Support\settings_skipped_apps.txt" >nul
|
|
IF ERRORLEVEL 1 goto:NoUpdateSettings
|
|
if "%SkipCleanReturnTo%"=="" support\sfk echo %CleanItem% Detected, [%yellowtext%]skipping [def]as per ModMii settings...
|
|
set /a CLEANcountSkip+=1
|
|
goto:EOF
|
|
:NoUpdateSettings
|
|
|
|
|
|
|
|
echo %CleanItem% >>temp\CleanItems.txt
|
|
set /a cleanitems+=1
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
if exist temp\CleanItems.txt support\sfk filter -quiet temp\CleanItems.txt -lerep _" "__ -write -yes
|
|
if exist temp\CleanItems.txt support\sfk filter "temp\CleanItems.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
if exist temp\CleanItems.txt sort temp\CleanItems.txt /o temp\CleanItems.txt
|
|
|
|
::echo %cleanitems%
|
|
|
|
if /i "%SkipCleanReturnTo%" EQU "SkipUpdateSettings" goto:SkipUpdateSettings
|
|
|
|
echo.
|
|
|
|
|
|
|
|
::--------------------check for apps to update------------------
|
|
|
|
::OSC
|
|
if exist temp\OSCupdateList.txt del temp\OSCupdateList.txt>nul
|
|
if exist temp\OSCcountCurrent.txt del temp\OSCcountCurrent.txt>nul
|
|
if exist temp\OSCcountSkip.txt del temp\OSCcountSkip.txt>nul
|
|
|
|
set OSCmode=list
|
|
if exist "%DRIVE%\apps" call support\subscripts\OSC.bat
|
|
::line count, count lines, if only 1 then don't show
|
|
set /a OSCupdateitems=0
|
|
if not exist temp\OSCupdateList.txt goto:skiplist
|
|
for /f %%a in (temp\OSCupdateList.txt) do set /a OSCupdateitems+=1
|
|
|
|
::GX v3.0 r1281 has a broken meta.xml on oscwii.org, until r1282 is released this will override it to download from a dif source, after oscwii.org is updated the next 4 lines can be removed
|
|
findStr /I /B /R /C:"usbloader_gx: .* to 3.0 r1281" "temp\OSCupdateList.txt" >nul
|
|
IF ERRORLEVEL 1 goto:skiplist
|
|
set usbgx=*
|
|
support\sfk filter -quiet "temp\OSCupdateList.txt" -lerep _" to 3.0 r1281"_" to 4.0 r1282"_ -write -yes
|
|
:skiplist
|
|
if /i %OSCupdateitems% GTR 0 (set OSClib=*) & (set OSCmode=update)
|
|
::after oscwii.org is updated the next 2 lines can be removed
|
|
if /i "%usbgx%" EQU "*" if exist "temp\contents\usbloader_gx.oscmeta" del "temp\contents\usbloader_gx.oscmeta">nul
|
|
if /i "%usbgx%" EQU "*" if /i %OSCupdateitems% EQU 1 set OSClib=
|
|
echo.
|
|
|
|
::HBAS
|
|
set /a HBASupdateitems=0
|
|
if exist temp\HBASupdateList.txt del temp\HBASupdateList.txt>nul
|
|
if exist temp\HBAScountCurrent.txt del temp\HBAScountCurrent.txt>nul
|
|
if exist temp\HBAScountSkip.txt del temp\HBAScountSkip.txt>nul
|
|
set HBASmode=list
|
|
if exist "%DRIVE%\wiiu" call support\subscripts\HBAS.bat
|
|
::line count, count lines, if only 1 then don't show
|
|
set /a HBASupdateitems=0
|
|
if not exist temp\HBASupdateList.txt goto:skiplist
|
|
for /f %%a in (temp\HBASupdateList.txt) do set /a HBASupdateitems+=1
|
|
::echo %HBASupdateitems%
|
|
:skiplist
|
|
if /i %HBASupdateitems% GTR 0 (set HBASlib=*) & (set HBASmode=update)
|
|
echo.
|
|
|
|
|
|
::OSC+HBAS
|
|
set /a updateitems=%OSCupdateitems%+%HBASupdateitems%
|
|
|
|
|
|
::OTHER UPDATE ITEMS
|
|
set SkipUpdateReturnTo=
|
|
|
|
if exist "%DRIVE%\wiiu" (echo Checking for Other WiiU App updates...) & (echo.)
|
|
|
|
if exist "temp\OTHERupdateList.txt" del "temp\OTHERupdateList.txt">nul
|
|
set /a OtherUpdateItems=0
|
|
|
|
:NanddumperCHECK
|
|
set name=Nanddumper
|
|
set path1=wiiu\payloads\nanddumper\
|
|
set filename=payload.elf
|
|
set md5=
|
|
call support\subscripts\OtherUpdateCheck.bat
|
|
if /i "%SkipUpdateReturnTo%" EQU "SkipUpdateSettings" goto:SkipUpdateSettings
|
|
|
|
:EnvironmentLoaderCHECK
|
|
set name=EnvironmentLoader
|
|
set path1=wiiu\payloads\default\
|
|
set filename=payload.elf
|
|
call support\subscripts\OtherUpdateCheck.bat
|
|
if /i "%SkipUpdateReturnTo%" EQU "SkipUpdateSettings" goto:SkipUpdateSettings
|
|
|
|
:Wiiload PluginCHECK
|
|
set name=Wiiload Plugin
|
|
set path1=wiiu\environments\aroma\plugins\
|
|
set filename=wiiload.wps
|
|
call support\subscripts\OtherUpdateCheck.bat
|
|
if /i "%SkipUpdateReturnTo%" EQU "SkipUpdateSettings" goto:SkipUpdateSettings
|
|
|
|
:FTPiiU PluginCHECK
|
|
set name=FTPiiU Plugin
|
|
set path1=wiiu\environments\aroma\plugins\
|
|
set filename=ftpiiu.wps
|
|
call support\subscripts\OtherUpdateCheck.bat
|
|
if /i "%SkipUpdateReturnTo%" EQU "SkipUpdateSettings" goto:SkipUpdateSettings
|
|
|
|
:AromaCHECK
|
|
set name=Aroma
|
|
set path1=wiiu\environments\aroma\
|
|
set filename=root.rpx
|
|
set md5=
|
|
if not exist "%Drive%\%path1%%filename%" goto:skip
|
|
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'%name%'" "Support\settings_skipped_apps.txt" >nul
|
|
IF ERRORLEVEL 1 goto:NoUpdateSettings
|
|
support\sfk echo %name% Detected, [%yellowtext%]skipping update check [def]as per ModMii settings...
|
|
goto:skip
|
|
:NoUpdateSettings
|
|
|
|
echo %name% Detected, checking for updates...
|
|
echo.
|
|
if not exist "%homedrive%\Windows\System32\certutil.exe" (echo certutil.exe missing, unable to check if up to date, skipping...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:skip)
|
|
|
|
if not exist "temp\check_versions.date" goto:nodatecheck
|
|
if not exist "temp\check_versions.txt" goto:nodatecheck
|
|
findStr /I /C:"%date%" "temp\check_versions.date" >nul
|
|
IF not ERRORLEVEL 1 goto:skipcheck_versions
|
|
|
|
:nodatecheck
|
|
support\wget --no-check-certificate -t 3 "https://aroma.foryour.cafe/api/check_versions" -O temp\check_versions.txt -q
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\check_versions.txt" || del "temp\check_versions.txt"
|
|
if exist "temp\check_versions.txt" (echo %date% >temp\check_versions.date) & (goto:skipcheck_versions)
|
|
::error
|
|
echo Unable to check if up to date, skipping...
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:skip
|
|
:skipcheck_versions
|
|
|
|
|
|
if exist "temp\%name%.txt" del "temp\%name%.txt">nul
|
|
::add line breaks
|
|
support\sfk filter -spat "temp\check_versions.txt" -rep _,_\n_ +filter -spat -cut "*" to "\x22name\x22:\x22%name%\x22" +filter -spat -cut "\x22id\x22:\x22aroma-plugins\x22" to "*" -+"\x22path\x22:\x22wiiu/apps/" -+"\x22path\x22:\x22wiiu/environments/aroma/" -+"\x22sha1\x22" -rep _\x22__ -rep _*:__ -rep _[__ -rep _]__ -rep _{__ -rep _}__ -rep _/_\_ +filter -unique >"temp\%name%.txt"
|
|
::delete if file is empty
|
|
>nul findstr "^" "temp\%name%.txt" || del "temp\%name%.txt"
|
|
|
|
if not exist temp\%name%.txt goto:skip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\%name%.txt) do call :Aromalist %%A
|
|
goto:skip
|
|
:Aromalist
|
|
set line=%*
|
|
if /i "%line:~0,5%" EQU "wiiu\" (set "AromaPart=%line%") & (goto:EOF)
|
|
set "md5=%line%"
|
|
|
|
::echo "%Drive%\%AromaPart%"
|
|
::echo "%md5%"
|
|
|
|
::update even if missing files so long as wiiu\environments\aroma\root.rpx exists
|
|
if not exist "%Drive%\%AromaPart%" goto:failcheck
|
|
certutil -hashfile "%Drive%\%AromaPart%" SHA1>"temp\sha1.txt"
|
|
findStr /I /B /C:"%md5%" "temp\sha1.txt" >nul
|
|
IF NOT ERRORLEVEL 1 goto:EOF
|
|
:failcheck
|
|
set /a OtherUpdateItems=%OtherUpdateItems%+1
|
|
set /a updateitems=%updateitems%+1
|
|
echo %name%>>temp\OTHERupdateList.txt
|
|
set Aroma=*
|
|
::goto:skip
|
|
|
|
:skip
|
|
|
|
if /i "%SkipUpdateReturnTo%" EQU "SkipUpdateSettings" goto:SkipUpdateSettings
|
|
|
|
|
|
|
|
|
|
|
|
::if exist "%DRIVE%\txtcodes\" (SET /a updateitems=%updateitems%+1) & (set CheatZip=*)
|
|
|
|
::PC Apps... disabled for now
|
|
goto:skip
|
|
:::::::::
|
|
set "DrivePC=%Drive%"
|
|
if /i "%PCSAVE%" EQU "Local" set DrivePC=Program Files
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" EQU "%ModMiiDrive%" set DrivePC=Program Files
|
|
:skip
|
|
|
|
::if exist "%DrivePC%\OpenShopChannel\" (SET /a updateitems=%updateitems%+1) & (set OSC=*)
|
|
::if exist "%DrivePC%\Dolphin-x64\" (SET /a updateitems=%updateitems%+1) & (set Dolphin=*)
|
|
|
|
::goto:nextpage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:nextpage
|
|
set SkipUpdateReturnTo=
|
|
|
|
if /i "%cleanitems%" NEQ "0" goto:FileCleanup2
|
|
if /i "%updateitems%" NEQ "0" goto:FileCleanup2
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo FILE CLEANUP and APP UPDATER
|
|
echo.
|
|
echo.
|
|
echo No Files to Update or to Clean Found in "%DRIVE%"
|
|
echo.
|
|
|
|
if /i "%CLEANcountSkip%" NEQ "0" support\sfk echo -spat \x20 \x20 [%yellowtext%] %CLEANcountSkip% detected items skipped from Clean Up checks as per Settings
|
|
|
|
if /i "%OSCupdateitems%" EQU "0" goto:skip
|
|
if not exist temp\OSCcountCurrent.txt goto:skip
|
|
set /p OSCcountCurrent= <temp\OSCcountCurrent.txt
|
|
set /p OSCcountSkip= <temp\OSCcountSkip.txt
|
|
set "OSCcountCurrent=%OSCcountCurrent:~0,-1%"
|
|
set "OSCcountSkip=%OSCcountSkip:~0,-1%"
|
|
echo %OSCcountCurrent% OSC Wii apps were checked for updates
|
|
|
|
if /i "%OSCcountSkip%" EQU "0" goto:skip
|
|
if exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 [%yellowtext%] %OSCcountSkip% detected OSC Wii apps skipped update checks as per Settings
|
|
if not exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 [%yellowtext%] %OSCcountSkip% detected OSC Wii apps skipped update checks
|
|
:skip
|
|
|
|
if /i "%HBASupdateitems%" EQU "0" goto:skip
|
|
if not exist temp\HBAScountCurrent.txt goto:skip
|
|
set /p HBAScountCurrent= <temp\HBAScountCurrent.txt
|
|
set /p HBAScountSkip= <temp\HBAScountSkip.txt
|
|
set "HBAScountCurrent=%HBAScountCurrent:~0,-1%"
|
|
set "HBAScountSkip=%HBAScountSkip:~0,-1%"
|
|
echo %HBAScountCurrent% HBAS WiiU apps were checked for updates
|
|
|
|
if /i "%HBAScountSkip%" EQU "0" goto:skip
|
|
if exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 [%yellowtext%] %HBAScountSkip% detected HBAS WiiU apps skipped update checks as per Settings
|
|
if not exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 [%yellowtext%] %HBAScountSkip% detected HBAS WiiU apps skipped update checks
|
|
:skip
|
|
|
|
|
|
if not exist "%Drive%\wiiu\environments\aroma\root.rpx" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'Aroma'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo Aroma update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%Aroma%" NEQ "*" echo Aroma was confirmed to already be up to date
|
|
:skip
|
|
|
|
if not exist "%Drive%\wiiu\payloads\nanddumper\payload.elf" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'Nanddumper'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo Nanddumper update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%Nanddumper%" NEQ "*" echo Nanddumper was confirmed to already be up to date
|
|
:skip
|
|
|
|
if not exist "%Drive%\wiiu\payloads\default\payload.elf" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'EnvironmentLoader'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo EnvironmentLoader update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%EnvironmentLoader%" NEQ "*" echo EnvironmentLoader was confirmed to already be up to date
|
|
:skip
|
|
|
|
|
|
if not exist "%Drive%\wiiu\environments\aroma\plugins\wiiload.wps" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'Wiiload Plugin'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo Wiiload Plugin update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%Wiiload Plugin%" NEQ "*" echo Wiiload Plugin was confirmed to already be up to date
|
|
:skip
|
|
|
|
|
|
if not exist "%Drive%\wiiu\environments\aroma\plugins\ftpiiu.wps" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'FTPiiU Plugin'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo FTPiiU Plugin update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%FTPiiU Plugin%" NEQ "*" echo FTPiiU Plugin was confirmed to already be up to date
|
|
:skip
|
|
|
|
|
|
|
|
|
|
echo.
|
|
echo Press any key to return to the Main Menu.
|
|
pause>nul
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
|
|
:FileCleanup2
|
|
cls
|
|
set clean=
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo FILE CLEANUP and APP UPDATER
|
|
echo.
|
|
echo Checked files saved to: "%DRIVE%"
|
|
echo.
|
|
|
|
if /i "%CLEANcountSkip%" NEQ "0" support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %CLEANcountSkip% detected items skipped from Clean Up checks as per Settings
|
|
|
|
if not exist temp\OSCcountCurrent.txt goto:skip
|
|
set /p OSCcountCurrent= <temp\OSCcountCurrent.txt
|
|
set /p OSCcountSkip= <temp\OSCcountSkip.txt
|
|
set "OSCcountCurrent=%OSCcountCurrent:~0,-1%"
|
|
set "OSCcountSkip=%OSCcountSkip:~0,-1%"
|
|
|
|
if /i "%OSCcountCurrent%" NEQ "0" echo %OSCcountCurrent% OSC Wii apps were confirmed to already be up to date (or newer)
|
|
|
|
if /i "%OSCcountSkip%" EQU "0" goto:skip
|
|
if exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %OSCcountSkip% detected OSC Wii apps skipped update checks as per Settings
|
|
if not exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %OSCcountSkip% detected OSC Wii apps skipped update checks
|
|
:skip
|
|
|
|
if not exist temp\HBAScountCurrent.txt goto:skip
|
|
set /p HBAScountCurrent= <temp\HBAScountCurrent.txt
|
|
set /p HBAScountSkip= <temp\HBAScountSkip.txt
|
|
set "HBAScountCurrent=%HBAScountCurrent:~0,-1%"
|
|
set "HBAScountSkip=%HBAScountSkip:~0,-1%"
|
|
|
|
if /i "%HBAScountCurrent%" NEQ "0" echo %HBAScountCurrent% HBAS WiiU apps were confirmed to already be up to date (or newer)
|
|
|
|
if /i "%HBAScountSkip%" EQU "0" goto:skip
|
|
if exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %HBAScountSkip% detected HBAS WiiU apps skipped update checks as per Settings
|
|
if not exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %HBAScountSkip% detected HBAS WiiU apps skipped update checks
|
|
:skip
|
|
|
|
|
|
|
|
if not exist "%Drive%\wiiu\environments\aroma\root.rpx" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'Aroma'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo Aroma update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%Aroma%" NEQ "*" echo Aroma was confirmed to already be up to date
|
|
:skip
|
|
|
|
|
|
|
|
if not exist "%Drive%\wiiu\payloads\nanddumper\payload.elf" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'Nanddumper'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo Nanddumper update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%Nanddumper%" NEQ "*" echo Nanddumper was confirmed to already be up to date
|
|
:skip
|
|
|
|
|
|
|
|
if not exist "%Drive%\wiiu\payloads\default\payload.elf" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'EnvironmentLoader'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo EnvironmentLoader update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%EnvironmentLoader%" NEQ "*" echo EnvironmentLoader was confirmed to already be up to date
|
|
:skip
|
|
|
|
if not exist "%Drive%\wiiu\environments\aroma\plugins\wiiload.wps" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'Wiiload Plugin'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo Wiiload Plugin update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%Wiiload Plugin%" NEQ "*" echo Wiiload Plugin was confirmed to already be up to date
|
|
:skip
|
|
|
|
if not exist "%Drive%\wiiu\environments\aroma\plugins\ftpiiu.wps" goto:skip
|
|
::check settings_skipped_apps.txt
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
findStr /I /C:"'FTPiiU Plugin'" "Support\settings_skipped_apps.txt" >nul
|
|
IF NOT ERRORLEVEL 1 (echo FTPiiU Plugin update check skipped as per Settings) & (goto:skip)
|
|
:NoUpdateSettings
|
|
if /i "%FTPiiU Plugin%" NEQ "*" echo FTPiiU Plugin was confirmed to already be up to date
|
|
:skip
|
|
|
|
echo.
|
|
if /i "%updateitems%" EQU "0" (echo No Apps to Update Found) & (echo.) & (goto:noupdates)
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] Update the following %updateitems% items?
|
|
echo.
|
|
|
|
set updateitems=0
|
|
|
|
if not exist temp\OSCupdateList.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\OSCupdateList.txt) do call :OSClist %%A
|
|
goto:quickskip
|
|
:OSClist
|
|
set /a updateitems=%updateitems%+1
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] %updateitems%: [def]%*
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
::set updateitems=0
|
|
if not exist temp\HBASupdateList.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\HBASupdateList.txt) do call :HBASlist %%A
|
|
goto:quickskip
|
|
:HBASlist
|
|
set /a updateitems=%updateitems%+1
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] %updateitems%: [def]%*
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
::set updateitems=0
|
|
if not exist temp\OTHERupdateList.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\OTHERupdateList.txt) do call :OTHERlist %%A
|
|
goto:quickskip
|
|
:OTHERlist
|
|
set /a updateitems=%updateitems%+1
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] %updateitems%: [def]%*: update available
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
|
|
::if /i "%Dolphin%" EQU "*" support\sfk echo -spat \x20 \x20 \x20 [%greentext%] \x2b [def]Dolphin (Wii Emulator)
|
|
::if /i "%CheatZip%" EQU "*" support\sfk echo -spat \x20 \x20 \x20 [%greentext%] \x2b [def]Cheat Codes (txtcodes)
|
|
::if /i "%OSC%" EQU "*" support\sfk echo -spat \x20 \x20 \x20 [%greentext%] \x2b [def]Open Shop Channel
|
|
|
|
|
|
echo.
|
|
|
|
:noupdates
|
|
|
|
|
|
if /i "%cleanitems%" EQU "0" (echo No Files to Clean Found) & (echo.) & (goto:noFileCleanup)
|
|
|
|
support\sfk echo -spat \x20 \x20 \x20 [%redtext%] File Cleanup; delete the following %cleanitems% items?
|
|
echo.
|
|
echo After you are finished modding your Wii you can delete certain files to free
|
|
echo up space and ensure no one can access potentially dangerous apps on your Wii.
|
|
echo.
|
|
echo Note: Instead of deleting Wii\vWii apps, you can move them to a Locked Folder
|
|
echo in the HBC (downloadable via ModMii's Download Page 2).
|
|
|
|
set "listitems=%updateitems%"
|
|
set cleanitems=0
|
|
if not exist temp\CleanItems.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\CleanItems.txt) do call :Cleanlist %%A
|
|
goto:quickskip
|
|
:Cleanlist
|
|
set /a cleanitems+=1
|
|
set /a listitems+=1
|
|
support\sfk echo -spat -noline \n\x20 \x20 \x20 [%Redtext%] %listitems%:\x20
|
|
support\sfk echo -noline %*
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
echo.
|
|
echo.
|
|
echo Note: All the above files, with the possible exception of custom WADs,
|
|
echo can be retrieved again later using ModMii or other sources
|
|
::if exist "%DRIVE%"\bootmii echo.
|
|
::if exist "%DRIVE%"\bootmii echo * bootmii folder will be renamed bootmii_off during cleanup; To access
|
|
::if exist "%DRIVE%"\bootmii echo bootmii in the future make sure it is named "bootmii" and on your SD Card
|
|
:noFileCleanup
|
|
echo.
|
|
|
|
if /i "%updateitems%" NEQ "0" support\sfk echo -spat \x20 \x20 \x20 [%greentext%] U = Update; [def]grab latest versions of detected outdated apps
|
|
if /i "%cleanitems%" EQU "0" goto:skip
|
|
support\sfk echo -spat \x20 \x20 \x20 [%redtext%]FC = File Cleanup; [def]Remove un-needed files after Modding
|
|
if /i "%updateitems%" NEQ "0" echo B = Both; Update Check and File Cleanup
|
|
:skip
|
|
|
|
if /i "%listitems%" EQU "0" goto:noItems
|
|
support\sfk echo -spat \x20 \x20 \x20 [%cyantext%] \x23 [def]= Enter an app number to skip checks for it now and in the future
|
|
support\sfk echo -spat \x20 \x20 \x20 [%cyantext%]\x23\x2d [def]= Same as above followed by \x2d to skip checks just this once
|
|
:noItems
|
|
|
|
if exist Support\settings_skipped_apps.txt support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] S = Settings [def]for apps skipping update checks
|
|
|
|
echo M = Main Menu
|
|
echo.
|
|
|
|
|
|
|
|
::RESTORE DRIVE SETTINGS (if switched temporarily to DRIVEU)
|
|
set "DRIVETEMP=%DRIVE%"
|
|
if not "%REALDRIVE%"=="" set "DRIVE=%REALDRIVE%"
|
|
|
|
|
|
if "%clean%"=="" set clean="
|
|
set /p clean=Enter Selection Here:
|
|
set "clean=%clean:"=%"
|
|
|
|
|
|
::REVERT DRIVE SETTINGS
|
|
set "DRIVE=%DRIVETEMP%"
|
|
|
|
|
|
if "%clean%"=="" goto:badkey
|
|
if /i "%clean%" EQU "M" goto:MENU
|
|
|
|
if /i "%cleanitems%" EQU "0" goto:skip
|
|
if /i "%clean%" EQU "FC" goto:cleannow
|
|
:skip
|
|
|
|
if not exist Support\settings_skipped_apps.txt goto:NoUpdateSettings
|
|
if /i "%clean%" EQU "S" goto:SkipUpdateSettings
|
|
:NoUpdateSettings
|
|
|
|
if /i "%updateitems%" EQU "0" goto:skip
|
|
if /i "%clean%" EQU "U" (set AUSKIP=OFF) & (set BACKB4QUEUE=FileCleanup2) & (goto:DLCOUNT)
|
|
|
|
if /i "%cleanitems%" EQU "0" goto:skip
|
|
if /i "%clean%" NEQ "B" goto:skip
|
|
::both
|
|
set AUSKIP=OFF
|
|
::if exist "%DRIVE%\apps\wiixplorer\" (SET /a updateitems=%updateitems%-1) & (set WIIX=)
|
|
::if exist "%DRIVE%\apps\homebrew_browser\" (SET /a updateitems=%updateitems%-1) & (set HBB=)
|
|
::if exist "%DRIVE%\apps\Priiloader\" (SET /a updateitems=%updateitems%-1) & (set Pri=)
|
|
if /i "%updateitems%" EQU "0" set clean=FC
|
|
goto:cleannow
|
|
:skip
|
|
|
|
|
|
if /i "%listitems%" EQU "0" goto:skipRemoval
|
|
set persist=y
|
|
if /i "%clean:~-1%" EQU "-" (set persist=) & (set "clean=%clean:~0,-1%")
|
|
if %clean% LSS 1 goto:badkey
|
|
if %clean% GTR %listitems% goto:badkey
|
|
|
|
|
|
if %clean% GTR %updateitems% goto:CleanRemoval
|
|
|
|
set /a OSCandHBASitems=%OSCupdateitems%+%HBASupdateitems%
|
|
if %clean% GTR %OSCandHBASitems% goto:OTHERremoval
|
|
if %clean% GTR %OSCupdateitems% goto:HBASremoval
|
|
|
|
|
|
|
|
::OSC removal
|
|
set /a OSCcountSkip=%OSCcountSkip%+1
|
|
echo %OSCcountSkip% >temp\OSCcountSkip.txt
|
|
|
|
dir "temp\contents\*.oscmeta" /b>temp\list.txt
|
|
set linenum=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :processOSClist2 %%A
|
|
goto:skipRemoval
|
|
:processOSClist2
|
|
set CurrentApp=%*
|
|
set CurrentApp=%CurrentApp:~0,-8%
|
|
set /a linenum=%linenum%+1
|
|
if /i "%linenum%" NEQ "%clean%" goto:EOF
|
|
|
|
::remove current app
|
|
SET /a updateitems=%updateitems%-1
|
|
SET /a OSCupdateitems=%OSCupdateitems%-1
|
|
support\sfk filter "temp\OSCupdateList.txt" -ls!"%CurrentApp%: " -write -yes>nul
|
|
del "temp\contents\%CurrentApp%.oscmeta">nul
|
|
|
|
if "%persist%"=="" goto:FileCleanup2
|
|
if exist "%DRIVE%\apps\%CurrentApp%\" echo If this file is saved to an app's folder ModMii will not check it for updates>"%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt"
|
|
echo :%CurrentApp%:>>Support\settings_skipped_apps.txt
|
|
support\sfk filter "Support\settings_skipped_apps.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
sort Support\settings_skipped_apps.txt /o Support\settings_skipped_apps.txt
|
|
goto:FileCleanup2
|
|
|
|
|
|
::HBAS removal
|
|
:HBASremoval
|
|
set /a HBAScountSkip=%HBAScountSkip%+1
|
|
echo %HBAScountSkip% >temp\HBAScountSkip.txt
|
|
|
|
::add lines from OSCupdateitems
|
|
set "linenum=%OSCupdateitems%"
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\HBASname.txt) do call :processHBASlist2 %%A
|
|
goto:skipRemoval
|
|
:processHBASlist2
|
|
set WiiUappName=%*
|
|
set WiiUappName=%WiiUappName:~1,-1%
|
|
set /a linenum=%linenum%+1
|
|
if /i "%linenum%" NEQ "%clean%" goto:EOF
|
|
|
|
|
|
::get %CurrentApp%
|
|
set "CurrentApp=%WiiUappName%"
|
|
::snip manifest.install from repo.summary
|
|
if exist temp\HBASmanifest.install del temp\HBASmanifest.install>nul
|
|
support\sfk filter -spat -quiet "temp\repo.summary" -cut "*" to "\x22%WiiUappName%\x22:" -rep _"\x22, "__ -rep _"\x22"__ -rep _"*U:"_"U:"_ -rep _"*G:"_"G:"_ -rep _"*L:"_"L:"_ +filter -cut "]," to "*" >temp\HBASmanifest.install
|
|
|
|
findStr /I /C:"/meta.xml" "temp\HBASmanifest.install" >nul
|
|
IF ERRORLEVEL 1 goto:skipmeta
|
|
|
|
support\sfk filter -quiet -spat "temp\HBASmanifest.install" -+"meta.xml" -rep _"*: "__ -rep _/_\_ -rep _"\meta.xml*"__ -rep _"*\x5c"__ >temp\temp.txt
|
|
set /p CurrentApp= <temp\temp.txt
|
|
if exist temp\temp.txt del temp\temp.txt >nul
|
|
:skipmeta
|
|
|
|
|
|
::remove current app
|
|
SET /a updateitems=%updateitems%-1
|
|
SET /a HBASupdateitems=%HBASupdateitems%-1
|
|
support\sfk filter -quiet "temp\HBASupdateList.txt" -ls!"%WiiUappName%: " -write -yes
|
|
|
|
support\sfk filter -spat -quiet "temp\HBASname.txt" -le!"\x3f%WiiUappName%\x3f" -write -yes
|
|
|
|
if "%persist%"=="" goto:FileCleanup2
|
|
|
|
if exist "%DRIVE%\wiiu\apps\%CurrentApp%\" echo If this file is saved to an app's folder ModMii will not check it for updates>"%DRIVE%\wiiu\apps\%CurrentApp%\SkipModMiiUpdates.txt"
|
|
echo ?%WiiUappName%?>>Support\settings_skipped_apps.txt
|
|
support\sfk filter "Support\settings_skipped_apps.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
sort Support\settings_skipped_apps.txt /o Support\settings_skipped_apps.txt
|
|
goto:FileCleanup2
|
|
|
|
|
|
|
|
::OTHER removal
|
|
:OTHERremoval
|
|
|
|
::add lines from OSCupdateitems & HBASupdateitems
|
|
set "linenum=%OSCandHBASitems%"
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\OTHERupdateList.txt) do call :processOTHERlist %%A
|
|
goto:skipRemoval
|
|
:processOTHERlist
|
|
set OTHERappName=%*
|
|
set /a linenum=%linenum%+1
|
|
if /i "%linenum%" NEQ "%clean%" goto:EOF
|
|
|
|
::remove current app
|
|
SET /a updateitems=%updateitems%-1
|
|
SET /a OTHERupdateitems=%OTHERupdateitems%-1
|
|
support\sfk filter "temp\OTHERupdateList.txt" -ls!"%OTHERappName%" -write -yes>nul
|
|
|
|
echo set %OTHERappName%=>temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
|
|
if "%persist%"=="" goto:FileCleanup2
|
|
echo '%OTHERappName%'>>Support\settings_skipped_apps.txt
|
|
support\sfk filter "Support\settings_skipped_apps.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
sort Support\settings_skipped_apps.txt /o Support\settings_skipped_apps.txt
|
|
goto:FileCleanup2
|
|
|
|
|
|
:CleanRemoval
|
|
|
|
::add lines from OSCupdateitems & HBASupdateitems
|
|
set "linenum=%updateitems%"
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\CleanItems.txt) do call :processCleanlist3 %%A
|
|
goto:skipRemoval
|
|
:processCleanlist3
|
|
set CleanItem=%*
|
|
set /a linenum=%linenum%+1
|
|
if /i "%linenum%" NEQ "%clean%" goto:EOF
|
|
|
|
::remove current app
|
|
SET /a cleanitems=%cleanitems%-1
|
|
support\sfk filter "temp\CleanItems.txt" -le!"%CleanItem%" -write -yes>nul
|
|
set /a CLEANcountSkip+=1
|
|
|
|
if "%persist%"=="" goto:FileCleanup2
|
|
echo %CleanItem% >>Support\settings_skipped_apps.txt
|
|
support\sfk filter -quiet Support\settings_skipped_apps.txt -lerep _" "__ -write -yes
|
|
support\sfk filter "Support\settings_skipped_apps.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
sort Support\settings_skipped_apps.txt /o Support\settings_skipped_apps.txt
|
|
goto:FileCleanup2
|
|
|
|
|
|
:skipRemoval
|
|
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:FileCleanup2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:SkipUpdateSettings
|
|
set RestoreUpdate=
|
|
if exist "temp\contents_\" rd /s /q temp\contents_
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo The following apps will be skipped from ModMii's App Updater functions
|
|
echo and also from OSC\HBAS Complete App Library Downloads:
|
|
echo.
|
|
echo Any "Clean Content" items will be skipped from ModMii's File Cleanup functions
|
|
echo.
|
|
set SkipUpdateNum=0
|
|
if not exist Support\settings_skipped_apps.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\settings_skipped_apps.txt) do call :SkipUpdateList %%A
|
|
goto:quickskip
|
|
:SkipUpdateList
|
|
set CurrentApp=%*
|
|
|
|
if /i "%CurrentApp:~0,1%" EQU ":" set AppType=OSC
|
|
if /i "%CurrentApp:~0,1%" EQU "?" set AppType=HBAS
|
|
if /i "%CurrentApp:~0,1%" EQU "'" set AppType=Other
|
|
if /i "%CurrentApp:~0,1%" EQU "\" set AppType=Clean
|
|
|
|
::strip out colons before and after app name
|
|
if /i "%AppType%" NEQ "Clean" set CurrentApp=%CurrentApp:~1,-1%
|
|
set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
|
|
if /i "%AppType%" NEQ "OSC" goto:notOSC
|
|
if not exist "%DRIVE%\apps\%CurrentApp%\" support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %SkipUpdateNum%: [def]%AppType% App: %CurrentApp%
|
|
if exist "%DRIVE%\apps\%CurrentApp%\" support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %SkipUpdateNum%: [def]%AppType% App: %CurrentApp% [%cyantext%](detected on Drive)
|
|
if exist "%DRIVE%\apps\%CurrentApp%\" if not exist "%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt" echo If this file is saved to an app's folder ModMii will not check it for updates>"%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt"
|
|
:notOSC
|
|
|
|
|
|
if /i "%AppType%" NEQ "HBAS" goto:notHBAS
|
|
if not exist "%DRIVE%\wiiu\apps\%CurrentApp%\" support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %SkipUpdateNum%: [def]%AppType% App: %CurrentApp%
|
|
if exist "%DRIVE%\wiiu\apps\%CurrentApp%\" support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %SkipUpdateNum%: [def]%AppType% App: %CurrentApp% [%cyantext%](detected on Drive)
|
|
if exist "%DRIVE%\wiiu\apps\%CurrentApp%\" if not exist "%DRIVE%\wiiu\apps\%CurrentApp%\SkipModMiiUpdates.txt" echo If this file is saved to an app's folder ModMii will not check it for updates>"%DRIVE%\wiiu\apps\%CurrentApp%\SkipModMiiUpdates.txt"
|
|
:notHBAS
|
|
|
|
if /i "%AppType%" EQU "Other" support\sfk echo -spat \x20 \x20 \x20 [%yellowtext%] %SkipUpdateNum%: [def]%AppType% App: %CurrentApp%
|
|
|
|
|
|
if /i "%AppType%" NEQ "Clean" goto:notClean
|
|
if not exist "%DRIVE%%CurrentApp%" goto:NotDetected
|
|
|
|
findStr /X /C:"%CurrentApp%" "Support\subscripts\GamesaveExploits.txt" >nul
|
|
IF ERRORLEVEL 1 goto:Detected
|
|
|
|
support\sfk md5 "%DRIVE%%CurrentApp%">"temp\CurrentApp.md5"
|
|
set /p md5= <"temp\CurrentApp.md5"
|
|
findStr /X /C:"%md5%" "Support\subscripts\GamesaveExploits.txt" >nul
|
|
IF NOT ERRORLEVEL 1 goto:Detected
|
|
|
|
:NotDetected
|
|
support\sfk echo -spat -noline \x20 \x20 \x20 [%yellowtext%] %SkipUpdateNum%: [def]%AppType% Content:\x20
|
|
support\sfk echo -noline %CurrentApp%
|
|
support\sfk echo -spat -noline \n
|
|
goto:notClean
|
|
|
|
:Detected
|
|
support\sfk echo -spat -noline \x20 \x20 \x20 [%yellowtext%] %SkipUpdateNum%: [def]%AppType% Content:\x20
|
|
support\sfk echo -noline %CurrentApp% [%cyantext%](detected on Drive)
|
|
support\sfk echo -spat -noline \n
|
|
:notClean
|
|
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
if /i "%SkipUpdateNum%" EQU "0" echo - None
|
|
if /i "%SkipUpdateNum%" NEQ "0" (echo.) & (echo If the list above does not detect an HBAS App on your Drive it is not conclusive)
|
|
echo.
|
|
if /i "%SkipUpdateNum%" NEQ "0" echo # = Enter an app number from above to remove it from the skip list
|
|
if /i "%SkipUpdateNum%" NEQ "0" echo R = Remove all apps from skip list
|
|
echo D = Default: only skip "Legacy" HBAS apps ^& extra\large RetroArch Cores
|
|
echo O = Add more OSC Wii Apps to skip update list
|
|
echo H = Add more HBAS WiiU Apps to skip update list
|
|
::later maybe add Other Apps (nanddumper, EnvironmentLoader, Aroma, etc.), currently can only be skipped if detected by FC function
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
if "%RestoreUpdate%"=="" set RestoreUpdate="
|
|
set /p RestoreUpdate=Enter Selection Here:
|
|
set "RestoreUpdate=%RestoreUpdate:"=%"
|
|
|
|
if /i "%RestoreUpdate%" EQU "M" goto:MENU
|
|
|
|
if /i "%RestoreUpdate%" EQU "O" goto:AddToSkipUpdateSettingsOSC
|
|
if /i "%RestoreUpdate%" EQU "H" goto:AddToSkipUpdateSettingsHBAS
|
|
|
|
|
|
if /i "%RestoreUpdate%" NEQ "B" goto:notback
|
|
if /i "%MENU1%" EQU "FC" goto:FileCleanup2
|
|
if /i "%MENU1%" EQU "O" goto:OPTIONS
|
|
:notback
|
|
|
|
if /i "%RestoreUpdate%" EQU "D" goto:restoreall
|
|
|
|
if /i "%SkipUpdateNum%" EQU "0" goto:badkey
|
|
|
|
if /i "%SkipUpdateNum%" NEQ "1" goto:miniskip
|
|
if /i "%RestoreUpdate%" EQU "R" set RestoreUpdate=1
|
|
:miniskip
|
|
|
|
|
|
if /i "%RestoreUpdate%" NEQ "R" goto:notall
|
|
:restoreall
|
|
if not exist Support\settings_skipped_apps.txt goto:notall
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\settings_skipped_apps.txt) do call :SkipUpdateList3 %%A
|
|
goto:quickskip
|
|
:SkipUpdateList3
|
|
set CurrentApp=%*
|
|
::strip out colons before and after app name
|
|
set CurrentApp=%CurrentApp:~1,-1%
|
|
if exist "%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt" del "%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt">nul
|
|
|
|
|
|
|
|
|
|
::below manually corrects CurrentApp dir name
|
|
|
|
::::%WiiUappName% :%CurrentApp%
|
|
::::Name :app_folder_name (containing meta.xml)
|
|
::::"CurrentApp" is WiiUappFolder, e.g. wiiu/apps/<CurrentApp>/meta.xml
|
|
set "CurrentAppU=%CurrentApp%"
|
|
::CurrentApp overrides where they differ, any new apps added in the future should match
|
|
if /i "%CurrentAppU%" EQU "EnvSwap" set "CurrentAppU=_EnvSwap"
|
|
if /i "%CurrentAppU%" EQU "CompatTitleInstaller" set "CurrentAppU=compat_installer"
|
|
if /i "%CurrentAppU%" EQU "vWii_decaffeinator" set "CurrentAppU=decaffeinator"
|
|
if /i "%CurrentAppU%" EQU "Crispy-Doom" set "CurrentAppU=crispy-doom-u"
|
|
if /i "%CurrentAppU%" EQU "savemii_inject_mod" set "CurrentAppU=savemii_injectmod"
|
|
if /i "%CurrentAppU%" EQU "Trogdor-Reburninated" set "CurrentAppU=Trogdor-RB"
|
|
if /i "%CurrentAppU%" EQU "ftpiiu-cbhc" set "CurrentAppU=fpiiu-cbhc"
|
|
if /i "%CurrentAppU%" EQU "Simple_SDL_Snake" set "CurrentAppU=SDLSnake"
|
|
if /i "%CurrentAppU%" EQU "AM64DSPatcher" set "CurrentAppU=am64ds"
|
|
if /i "%CurrentAppU%" EQU "TetrisU" set "CurrentAppU=SDLTetrisU"
|
|
if /i "%CurrentAppU%" EQU "yapesdl" set "CurrentAppU=yape"
|
|
if /i "%CurrentAppU%" EQU "WiiUScreenshotManager" set "CurrentAppU=ScreenshotManager"
|
|
if /i "%CurrentAppU%" EQU "drc-test" set "CurrentAppU=drctest"
|
|
if /i "%CurrentAppU%" EQU "Bloopair-Tiramisu" set "CurrentAppU=Bloopair_pair_menu"
|
|
if /i "%CurrentAppU%" EQU "controller-test" set "CurrentAppU=controllertest"
|
|
|
|
if exist "%DRIVE%\wiiu\apps\%CurrentAppU%\SkipModMiiUpdates.txt" del "%DRIVE%\wiiu\apps\%CurrentAppU%\SkipModMiiUpdates.txt">nul
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
copy /y NUL "Support\settings_skipped_apps.txt">nul
|
|
|
|
if /i "%RestoreUpdate%" EQU "D" powershell echo "?100_Boxes_Wiiu?`n?AM64DSPatcher?`n?AocPatcher?`n?asturoids?`n?Bloopair?`n?cave?`n?cbhc?`n?cfwbooter?`n?CHIP8?`n?clock?`n?CloseHBL?`n?controller-test?`n?Crispy-Doom?`n?ddd?`n?diibugger?`n?disc2app?`n?disc2appWUTPort?`n?drc-test?`n?Fake-08?`n?fireplace-nx-wiiu?`n?flappy_bird?`n?flappy_bird_3d?`n?fsdumper?`n?ft2sd?`n?ftpiiu-cbhc?`n?ftpiiu?`n?ftpiiu_everywhere?`n?fuckyoustick?`n?gacubeboy?`n?GamepadTester?`n?gbiine?`n?geckiine?`n?haxchi?`n?HBL_Dpad?`n?hbl2hbc?`n?hid_keyboard_monitor?`n?hidtest?`n?hidtovpad?`n?homebrew_launcher?`n?IOSreboot?`n?iosuotp?`n?jezzballu?`n?keyboard_example?`n?lameIRCU?`n?LiveSynthesisU?`n?loadiine_gx2?`n?loadiine_gx2_y?`n?MegaZeux?`n?menu_sort?`n?Minesweeper_WiiU?`n?mocha?`n?mocha_fat32?`n?mocha_fshax?`n?mocha_sd_access?`n?more_ra_arcade?`n?more_ra_cores?`n?nanddumper?`n?nnupatcher?`n?Opensupaplex?`n?otp2sd?`n?ourloader?`n?PacmanGX2?`n?Pokemini?`n?PokeMiniU?`n?pong?`n?RemotePad?`n?savemii?`n?savemii_inject_mod?`n?saviine?`n?SDcafiine?`n?SDGeckiine?`n?seeprom2sd?`n?shutdown-hbl?`n?sign_c2w_patcher?`n?sigpatcher2HBL?`n?sigpatcher2sysmenu?`n?Simple_SDL_Snake?`n?sm4sh2sd?`n?snake?`n?spacegame?`n?spiik?`n?SuDokuL?`n?swapdrc?`n?swapdrc_lite?`n?swipswapme?`n?TetrisU?`n?tictactoe?`n?tik2sd?`n?timingu?`n?u-paint?`n?Uclick?`n?UFDiine?`n?UselessHomebrew?`n?VidChanger?`n?vwii-compat-installer?`n?vWii-NAND-Restorer?`n?vWii_decaffeinator?`n?WiiAlarmU?`n?wiiu-vnc?`n?wim?`n?wudump?`n?wup_installer_gx2?`n?wup_installer_gx2_mod?`n?wuphax?`n?wupinstaller?`n?wupymod?`n?yapesdl?">Support\settings_skipped_apps.txt
|
|
|
|
if /i "%MENU1%" EQU "O" goto:OPTIONS
|
|
|
|
::ask if user wants to rescan for updates
|
|
echo.
|
|
echo Update checks for all apps will be resumed
|
|
:rescan
|
|
set rescan="
|
|
echo.
|
|
echo Would you like to rescan your device for updates? (Y^/N)
|
|
echo.
|
|
set /p rescan=Enter Selection Here:
|
|
set "rescan=%rescan:"=%"
|
|
if /i "%rescan%" EQU "Y" goto:FileCleanup
|
|
if /i "%rescan%" EQU "N" goto:SkipUpdateSettings
|
|
echo You Have Entered an Incorrect Key
|
|
::@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:rescan
|
|
:notall
|
|
|
|
if /i "%RestoreUpdate%" EQU "D" powershell echo "?100_Boxes_Wiiu?`n?AM64DSPatcher?`n?AocPatcher?`n?asturoids?`n?Bloopair?`n?cave?`n?cbhc?`n?cfwbooter?`n?CHIP8?`n?clock?`n?CloseHBL?`n?controller-test?`n?Crispy-Doom?`n?ddd?`n?diibugger?`n?disc2app?`n?disc2appWUTPort?`n?drc-test?`n?Fake-08?`n?fireplace-nx-wiiu?`n?flappy_bird?`n?flappy_bird_3d?`n?fsdumper?`n?ft2sd?`n?ftpiiu-cbhc?`n?ftpiiu?`n?ftpiiu_everywhere?`n?fuckyoustick?`n?gacubeboy?`n?GamepadTester?`n?gbiine?`n?geckiine?`n?haxchi?`n?HBL_Dpad?`n?hbl2hbc?`n?hid_keyboard_monitor?`n?hidtest?`n?hidtovpad?`n?homebrew_launcher?`n?IOSreboot?`n?iosuotp?`n?jezzballu?`n?keyboard_example?`n?lameIRCU?`n?LiveSynthesisU?`n?loadiine_gx2?`n?loadiine_gx2_y?`n?MegaZeux?`n?menu_sort?`n?Minesweeper_WiiU?`n?mocha?`n?mocha_fat32?`n?mocha_fshax?`n?mocha_sd_access?`n?more_ra_arcade?`n?more_ra_cores?`n?nanddumper?`n?nnupatcher?`n?Opensupaplex?`n?otp2sd?`n?ourloader?`n?PacmanGX2?`n?Pokemini?`n?PokeMiniU?`n?pong?`n?RemotePad?`n?savemii?`n?savemii_inject_mod?`n?saviine?`n?SDcafiine?`n?SDGeckiine?`n?seeprom2sd?`n?shutdown-hbl?`n?sign_c2w_patcher?`n?sigpatcher2HBL?`n?sigpatcher2sysmenu?`n?Simple_SDL_Snake?`n?sm4sh2sd?`n?snake?`n?spacegame?`n?spiik?`n?SuDokuL?`n?swapdrc?`n?swapdrc_lite?`n?swipswapme?`n?TetrisU?`n?tictactoe?`n?tik2sd?`n?timingu?`n?u-paint?`n?Uclick?`n?UFDiine?`n?UselessHomebrew?`n?VidChanger?`n?vwii-compat-installer?`n?vWii-NAND-Restorer?`n?vWii_decaffeinator?`n?WiiAlarmU?`n?wiiu-vnc?`n?wim?`n?wudump?`n?wup_installer_gx2?`n?wup_installer_gx2_mod?`n?wuphax?`n?wupinstaller?`n?wupymod?`n?yapesdl?">Support\settings_skipped_apps.txt
|
|
if /i "%RestoreUpdate%" EQU "D" goto:SkipUpdateSettings
|
|
|
|
if %RestoreUpdate% LSS 1 goto:badkey
|
|
if %RestoreUpdate% GTR %SkipUpdateNum% goto:badkey
|
|
set "TotalUpdateNum=%SkipUpdateNum%"
|
|
set SkipUpdateNum=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\settings_skipped_apps.txt) do call :SkipUpdateList2 %%A
|
|
::goto:quickskip
|
|
:SkipUpdateList2
|
|
set CurrentApp=%*
|
|
if /i "%CurrentApp:~0,1%" EQU ":" set AppType=OSC
|
|
if /i "%CurrentApp:~0,1%" EQU "?" set AppType=HBAS
|
|
if /i "%CurrentApp:~0,1%" EQU "'" set AppType=Other
|
|
if /i "%CurrentApp:~0,1%" EQU "\" set AppType=Clean
|
|
|
|
|
|
::strip out colons before and after app name
|
|
if /i "%AppType%" NEQ "Clean" set CurrentApp=%CurrentApp:~1,-1%
|
|
set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
if /i "%SkipUpdateNum%" NEQ "%RestoreUpdate%" goto:EOF
|
|
::support\sfk filter -spat -quiet "Support\settings_skipped_apps.txt" -le!"\x3a%CurrentApp%\x3a" -le!"\x3f%CurrentApp%\x3f" -le!"\x27%CurrentApp%\x27" -le!"%CurrentApp%" -write -yes
|
|
support\sfk filter -quiet "Support\settings_skipped_apps.txt" -le!":%CurrentApp%:" -le!"?%CurrentApp%?" -le!"'%CurrentApp%'" -le!"%CurrentApp%" -write -yes
|
|
if exist "%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt" del "%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt">nul
|
|
|
|
|
|
::below manually corrects CurrentApp dir name
|
|
|
|
::::%WiiUappName% :%CurrentApp%
|
|
::::Name :app_folder_name (containing meta.xml)
|
|
::::"CurrentApp" is WiiUappFolder, e.g. wiiu/apps/<CurrentApp>/meta.xml
|
|
set "CurrentAppU=%CurrentApp%"
|
|
::CurrentApp overrides where they differ, any new apps added in the future should match
|
|
if /i "%CurrentAppU%" EQU "EnvSwap" set "CurrentAppU=_EnvSwap"
|
|
if /i "%CurrentAppU%" EQU "CompatTitleInstaller" set "CurrentAppU=compat_installer"
|
|
if /i "%CurrentAppU%" EQU "vWii_decaffeinator" set "CurrentAppU=decaffeinator"
|
|
if /i "%CurrentAppU%" EQU "Crispy-Doom" set "CurrentAppU=crispy-doom-u"
|
|
if /i "%CurrentAppU%" EQU "savemii_inject_mod" set "CurrentAppU=savemii_injectmod"
|
|
if /i "%CurrentAppU%" EQU "Trogdor-Reburninated" set "CurrentAppU=Trogdor-RB"
|
|
if /i "%CurrentAppU%" EQU "ftpiiu-cbhc" set "CurrentAppU=fpiiu-cbhc"
|
|
if /i "%CurrentAppU%" EQU "Simple_SDL_Snake" set "CurrentAppU=SDLSnake"
|
|
if /i "%CurrentAppU%" EQU "AM64DSPatcher" set "CurrentAppU=am64ds"
|
|
if /i "%CurrentAppU%" EQU "TetrisU" set "CurrentAppU=SDLTetrisU"
|
|
if /i "%CurrentAppU%" EQU "yapesdl" set "CurrentAppU=yape"
|
|
if /i "%CurrentAppU%" EQU "WiiUScreenshotManager" set "CurrentAppU=ScreenshotManager"
|
|
if /i "%CurrentAppU%" EQU "drc-test" set "CurrentAppU=drctest"
|
|
if /i "%CurrentAppU%" EQU "Bloopair-Tiramisu" set "CurrentAppU=Bloopair_pair_menu"
|
|
if /i "%CurrentAppU%" EQU "controller-test" set "CurrentAppU=controllertest"
|
|
|
|
if exist "%DRIVE%\wiiu\apps\%CurrentAppU%\SkipModMiiUpdates.txt" del "%DRIVE%\wiiu\apps\%CurrentAppU%\SkipModMiiUpdates.txt">nul
|
|
|
|
set /a TotalUpdateNum=%TotalUpdateNum%-1
|
|
if /i "%TotalUpdateNum%" NEQ "0" goto:miniskip
|
|
copy /y NUL "Support\settings_skipped_apps.txt">nul
|
|
|
|
:miniskip
|
|
|
|
if /i "%MENU1%" EQU "O" goto:SkipUpdateSettings
|
|
|
|
if /i "%AppType%" EQU "OSC" goto:OSC1appCheck
|
|
if /i "%AppType%" EQU "HBAS" goto:HBAS1appCheck
|
|
if /i "%AppType%" EQU "Other" goto:Other1appCheck
|
|
if /i "%AppType%" EQU "Clean" (set SkipCleanReturnTo=SkipUpdateSettings) & (goto:FileCleanupPickUp)
|
|
goto:SkipUpdateSettings
|
|
|
|
|
|
:Other1appCheck
|
|
set SkipUpdateReturnTo=SkipUpdateSettings
|
|
goto:%CurrentApp%CHECK
|
|
|
|
|
|
:OSC1appCheck
|
|
::OSC single app update check
|
|
::if exists, check for update and add back to the list
|
|
if not exist "%DRIVE%\apps\%CurrentApp%\" goto:quickskip
|
|
echo.
|
|
echo %CurrentApp% Detected, checking for updates...
|
|
echo.
|
|
|
|
::copied & modified bits of OSC.bat below
|
|
if exist temp\7zalog.txt del temp\7zalog.txt>nul
|
|
if exist temp\meta.xml del temp\meta.xml>nul
|
|
if exist temp\version.txt del temp\version.txt>nul
|
|
set CurrentAppVersion=
|
|
set LatestVersion=
|
|
|
|
::below fixes meta's that have 00 bytes and may make the OHBC 1.1.4 or ModMii crash upon inspecting the meta
|
|
support\sfk replace "%DRIVE%\apps\%CurrentApp%\meta.xml" -binary /00// -yes>nul
|
|
support\sfk filter -quiet "%DRIVE%\apps\%CurrentApp%\meta.xml" -+"/version" -rep _"*<version>"__ -rep _"</version*"__ >temp\version.txt
|
|
set /p CurrentAppVersion= <temp\version.txt
|
|
if /i "%CurrentAppVersion:~0,1%" EQU "v" set "CurrentAppVersion=%CurrentAppVersion:~1%"
|
|
|
|
if exist temp\version.txt del temp\version.txt>nul
|
|
if exist temp\meta.xml del temp\meta.xml>nul
|
|
|
|
|
|
if not exist "temp\%CurrentApp%.zip" goto:notcached
|
|
if /i "%AUSKIP%" EQU "ON" goto:here
|
|
:notcached
|
|
|
|
::get latest meta version
|
|
support\wget --no-check-certificate -t 3 "https://hbb1.oscwii.org/unzipped_apps/%CurrentApp%/apps/%CurrentApp%/meta.xml" -O temp\meta.xml -q
|
|
|
|
:here
|
|
::if cannot find meta online, check if zip cached in temp folder
|
|
if exist temp\meta.xml goto:metafound
|
|
if exist "temp\%CurrentApp%.zip" support\7za e -aoa "temp\%CurrentApp%.zip" -o"temp" meta.xml -r>nul
|
|
if exist temp\meta.xml goto:metafound
|
|
::noMetaFound!!
|
|
support\sfk echo [%magentatext%] Error checking for update, no internet?
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
:metafound
|
|
|
|
|
|
|
|
::below fixes meta's that have 00 bytes and may make the OHBC 1.1.4 or ModMii crash upon inspecting the meta
|
|
support\sfk replace "temp\meta.xml" -binary /00// -yes>nul
|
|
support\sfk filter -quiet "temp\meta.xml" -+"/version" -rep _"*<version>"__ -rep _"</version*"__ >temp\version.txt
|
|
set /p LatestVersion= <temp\version.txt
|
|
if /i "%LatestVersion:~0,1%" EQU "v" set "LatestVersion=%LatestVersion:~1%"
|
|
if exist temp\version.txt del temp\version.txt>nul
|
|
if exist temp\meta.xml del temp\meta.xml>nul
|
|
|
|
if /i "%CurrentAppVersion%" NEQ "%LatestVersion%" goto:notlatest
|
|
support\sfk echo [%greentext%]App is up to date
|
|
set /a OSCcountCurrent=%OSCcountCurrent%+1
|
|
set /a OSCcountSkip=%OSCcountSkip%-1
|
|
echo %OSCcountCurrent% >temp\OSCcountCurrent.txt
|
|
echo %OSCcountSkip% >temp\OSCcountSkip.txt
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:quickskip
|
|
|
|
:notlatest
|
|
|
|
::check for version numbers that are greater
|
|
if /i "%CurrentAppVersion%" LSS "9999999999999999999999" (set "CurrentAppVersion=%CurrentAppVersion%") else (goto:notnum)
|
|
if /i "%LatestVersion%" LSS "9999999999999999999999" (set "LatestVersion=%LatestVersion%") else (goto:notnum)
|
|
::above is not a perfect check for numbers, but serves this purpose well
|
|
if /i "%CurrentAppVersion%" LSS "%LatestVersion%" goto:notnum
|
|
|
|
::found newer version!
|
|
support\sfk echo [%greentext%]Detected newer version than on OSC (%CurrentAppVersion% vs %LatestVersion%)
|
|
set /a OSCcountCurrent=%OSCcountCurrent%+1
|
|
set /a OSCcountSkip=%OSCcountSkip%-1
|
|
echo %OSCcountCurrent% >temp\OSCcountCurrent.txt
|
|
echo %OSCcountSkip% >temp\OSCcountSkip.txt
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:quickskip
|
|
:notnum
|
|
|
|
::update exists
|
|
support\sfk echo [%greentext%]An update is available for %CurrentApp%: from %CurrentAppVersion% to %LatestVersion%
|
|
set /a updateitems=%updateitems%+1
|
|
set /a OSCupdateitems=%OSCupdateitems%+1
|
|
echo %CurrentApp%: update from %CurrentAppVersion% to %LatestVersion%>>temp\OSCupdateList.txt
|
|
sort temp\OSCupdateList.txt /o temp\OSCupdateList.txt
|
|
echo %CurrentApp% >"temp\contents\%CurrentApp%.oscmeta"
|
|
set /a OSCcountSkip=%OSCcountSkip%-1
|
|
echo %OSCcountSkip% >temp\OSCcountSkip.txt
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
::goto:EOF
|
|
:quickskip
|
|
|
|
goto:SkipUpdateSettings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:HBAS1appCheck
|
|
|
|
::HBAS single app update check
|
|
::if exists, check for update and add back to the list
|
|
|
|
if exist "temp\info.json" del "temp\info.json">nul
|
|
if exist "temp\manifest.install" del "temp\manifest.install">nul
|
|
|
|
::to access this part of ModMii it means HBAS.bat was already run in list mode, so files like repo.summary, repo.json and HBASnameNumbered.txt still exist
|
|
::warning, here %CurrentApp% is actually %WiiUappName%, switching it back...
|
|
set "WiiUappName=%CurrentApp%"
|
|
set PriorWiiUappName=
|
|
|
|
|
|
if not exist "temp\HBAS\%WiiUappName%.zip" goto:notcached
|
|
if /i "%AUSKIP%" NEQ "ON" goto:notcached
|
|
support\7za e -aoa "temp\HBAS\%WiiUappName%.zip" -o"temp" info.json manifest.install -r>nul
|
|
if not exist "temp\info.json" goto:notcached
|
|
if not exist "temp\manifest.install" goto:notcached
|
|
move /y "temp\info.json" "temp\HBASinfo.json">nul
|
|
move /y "temp\manifest.install" "temp\HBASmanifest.install">nul
|
|
goto:here
|
|
:notcached
|
|
|
|
|
|
|
|
::snip manifest.install from repo.summary
|
|
if exist temp\HBASmanifest.install del temp\HBASmanifest.install>nul
|
|
support\sfk filter -spat -quiet "temp\repo.summary" -cut "*" to "\x22%WiiUappName%\x22:" -rep _"\x22, "__ -rep _"\x22"__ -rep _"*U:"_"U:"_ -rep _"*G:"_"G:"_ -rep _"*L:"_"L:"_ +filter -cut "]," to "*" >temp\HBASmanifest.install
|
|
|
|
::snip info.json from repo.json
|
|
if exist temp\HBASinfo.json del temp\HBASinfo.json >nul
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
|
|
set WiiUpriorNum=
|
|
findStr /I /C:"?%WiiUappName%?" "temp\HBASnameNumbered.txt">temp\temp.txt
|
|
support\sfk filter -quiet "temp\temp.txt" -rep _":?*"__ -write -yes
|
|
set /p WiiUpriorNum= <temp\temp.txt
|
|
set /a WiiUpriorNum=%WiiUpriorNum%-1
|
|
::echo WiiUpriorNum: %WiiUpriorNum%
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
|
|
|
|
if /i "%WiiUpriorNum%" EQU "0" (set PriorWiiUappName=) & (goto:skip)
|
|
|
|
findStr /I /B /C:"%WiiUpriorNum%:" "temp\HBASnameNumbered.txt">temp\temp.txt
|
|
support\sfk filter -quiet "temp\temp.txt" -rep _"*:?"__ -write -yes
|
|
|
|
set /p PriorWiiUappName= <temp\temp.txt
|
|
set "PriorWiiUappName=%PriorWiiUappName:~0,-1%"
|
|
::echo PriorWiiUappName: %PriorWiiUappName%
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
|
|
:skip
|
|
|
|
if "%PriorWiiUappName%"=="" support\sfk filter -spat -quiet "temp\repo.json" -cut "*" to "\x22packages\x22: [" +filter -cut- "*" to "{" +filter -cut- "*}," to "*" -rep _"*},*"_"}"_ -rep _"*{"_"{"_ -lsrep _" "__ >temp\HBASinfo.json
|
|
if not "%PriorWiiUappName%"=="" support\sfk filter -spat -quiet "temp\repo.json" -cut "*" to "\x22name\x22: \x22%PriorWiiUappName%\x22," +filter -cut- "*" to "{" +filter -cut- "*}," to "*" -rep _"*},*"_"}"_ -rep _"*{"_"{"_ -lsrep _" "__ >temp\HBASinfo.json
|
|
|
|
|
|
|
|
:here
|
|
set file2check=
|
|
|
|
findStr /I /C:"/meta.xml" "temp\HBASmanifest.install" >nul
|
|
IF ERRORLEVEL 1 goto:skipmeta
|
|
::get meta path
|
|
|
|
support\sfk filter -quiet "temp\HBASmanifest.install" -+"meta.xml" -rep _"*: "__ -rep _/_\_ >temp\temp.txt
|
|
set /p file2check= <temp\temp.txt
|
|
|
|
support\sfk filter -quiet -spat "temp\temp.txt" -rep _"\meta.xml*"__ -rep _"*\x5c"__ -write -yes
|
|
::CurrentApp adjusted here
|
|
set /p CurrentApp= <temp\temp.txt
|
|
if exist temp\temp.txt del temp\temp.txt >nul
|
|
:skipmeta
|
|
|
|
if not "%file2check%"=="" goto:SkipFile2Check
|
|
support\sfk filter -spat -quiet "temp\HBASmanifest.install" -!".png\x22" -rep _"*: "__ >temp\temp.txt
|
|
set /p file2check= <temp\temp.txt
|
|
if exist temp\temp.txt del temp\temp.txt >nul
|
|
::echo %file2check%
|
|
:SkipFile2Check
|
|
|
|
|
|
if exist "%DRIVE%\%file2check%" goto:exists
|
|
::confirmed missing: clean up appstore packages info if applicable and remove from download load list if in list mode
|
|
if exist "%DRIVE%\wiiu\apps\appstore\.get\packages\%WiiUappName%\" rd /s /q "%DRIVE%\wiiu\apps\appstore\.get\packages\%WiiUappName%"
|
|
goto:SkipUpdateSettings
|
|
:exists
|
|
|
|
echo.
|
|
echo %CurrentApp% Detected, checking for updates...
|
|
echo.
|
|
|
|
if exist temp\7zalog.txt del temp\7zalog.txt>nul
|
|
if exist temp\meta.xml del temp\meta.xml>nul
|
|
if exist temp\version.txt del temp\version.txt>nul
|
|
set CurrentAppVersion=
|
|
set LatestVersion=
|
|
set CachedVersion=nulll
|
|
set LatestFiledate=
|
|
set Filedate=
|
|
set CachedFiledate=
|
|
|
|
|
|
::if meta exists, analyze that, otherwise use dates
|
|
if exist "%DRIVE%\wiiu\apps\%CurrentApp%\meta.xml" goto:checkSDmeta
|
|
|
|
set "ModMiiDir=%cd%"
|
|
cd /d "%DRIVE%"
|
|
|
|
for %%x in (%file2check%) do set filedate=%%~tx
|
|
set filedate=%filedate:~3,3%%filedate:~0,3%%filedate:~6,4%
|
|
::echo %filedate%
|
|
cd /d "%ModMiiDir%"
|
|
|
|
|
|
goto:GetLatestVersion
|
|
|
|
|
|
:checkSDmeta
|
|
|
|
::below fixes meta's that have 00 bytes and may make the OHBC 1.1.4 or ModMii crash upon inspecting the meta
|
|
support\sfk replace "%DRIVE%\wiiu\apps\%CurrentApp%\meta.xml" -binary /00// -yes>nul
|
|
support\sfk filter -quiet "%DRIVE%\wiiu\apps\%CurrentApp%\meta.xml" -+"/version" -rep _"*<version>"__ -rep _"</version*"__ -rep _"&"__ >temp\version.txt
|
|
set /p CurrentAppVersion= <temp\version.txt
|
|
if /i "%CurrentAppVersion:~0,1%" EQU "v" set "CurrentAppVersion=%CurrentAppVersion:~1%"
|
|
if exist temp\version.txt del temp\version.txt>nul
|
|
|
|
|
|
|
|
:GetLatestVersion
|
|
|
|
support\sfk filter -spat -quiet "temp\HBASinfo.json" -ls+"*\x22version\x22: \x22" -rep _"*version\x22: \x22"__ -rep _"\x22,*"__ >temp\version.txt
|
|
set /p LatestVersion= <temp\version.txt
|
|
if /i "%LatestVersion:~0,1%" EQU "v" set "LatestVersion=%LatestVersion:~1%"
|
|
if exist temp\version.txt del temp\version.txt>nul
|
|
if exist temp\meta.xml del temp\meta.xml>nul
|
|
|
|
|
|
::if CurrentAppVersion is nul (or if Filedate is not nul), get DATE instead
|
|
if "%Filedate%"=="" goto:skip
|
|
::get date
|
|
support\sfk filter -spat -quiet "temp\HBASinfo.json" -ls+"*\x22appCreated\x22: \x22" -rep _"*appCreated\x22: \x22"__ -rep _"\x22,*"__ >temp\temp.txt
|
|
set /p LatestFiledate= <temp\temp.txt
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
::echo Actual Filedate: %Filedate%
|
|
::echo Date from repo.json and info.json: %LatestFiledate%
|
|
if /i "%Filedate%" EQU "%LatestFiledate%" set "CurrentAppVersion=%LatestVersion%"
|
|
:skip
|
|
|
|
|
|
if "%filedate%"=="" goto:miniskip
|
|
if "%CurrentAppVersion%"=="" set "CurrentAppVersion=Unknown version: %Filedate%"
|
|
:miniskip
|
|
|
|
if /i "%CurrentAppVersion%" NEQ "%LatestVersion%" goto:notlatest
|
|
support\sfk echo [%greentext%]App is up to date
|
|
set /a HBAScountCurrent=%HBAScountCurrent%+1
|
|
set /a HBAScountSkip=%HBAScountSkip%-1
|
|
echo %HBAScountCurrent% >temp\HBAScountCurrent.txt
|
|
echo %HBAScountSkip% >temp\HBAScountSkip.txt
|
|
if not exist "%DRIVE%\wiiu\apps\appstore\.get\packages\%WiiUappName%" mkdir "%DRIVE%\wiiu\apps\appstore\.get\packages\%WiiUappName%"
|
|
if exist "temp\HBASinfo.json" move /y "temp\HBASinfo.json" "%DRIVE%\wiiu\apps\appstore\.get\packages\%WiiUappName%\info.json">nul
|
|
if exist "temp\HBASmanifest.install" move /y "temp\HBASmanifest.install" "%DRIVE%\wiiu\apps\appstore\.get\packages\%WiiUappName%\manifest.install">nul
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
|
|
:notlatest
|
|
|
|
::check for version numbers that are greater
|
|
if /i "%CurrentAppVersion%" LSS "9999999999999999999999" (set "CurrentAppVersion=%CurrentAppVersion%") else (goto:notnum)
|
|
if /i "%LatestVersion%" LSS "9999999999999999999999" (set "LatestVersion=%LatestVersion%") else (goto:notnum)
|
|
::above is not a perfect check for numbers, but serves this purpose well
|
|
if /i "%CurrentAppVersion%" LSS "%LatestVersion%" goto:notnum
|
|
|
|
::found newer version!
|
|
support\sfk echo [%greentext%]Detected newer version than on HBAS (%CurrentAppVersion% vs %LatestVersion%)
|
|
set /a HBAScountCurrent=%HBAScountCurrent%+1
|
|
set /a HBAScountSkip=%HBAScountSkip%-1
|
|
echo %HBAScountCurrent% >temp\HBAScountCurrent.txt
|
|
echo %HBAScountSkip% >temp\HBAScountSkip.txt
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
:notnum
|
|
|
|
|
|
::check for DATES that are greater
|
|
if "%filedate%"=="" goto:notnum
|
|
if "%LatestFiledate%"=="" goto:notnum
|
|
|
|
::convert filedate from dd/mm/yyyy to yyyymmdd
|
|
set /a "LatestFiledateFixed=%LatestFiledate:~-4%%LatestFiledate:~3,2%%LatestFiledate:~0,2%"
|
|
set /a "filedateFixed=%filedate:~-4%%filedate:~3,2%%filedate:~0,2%"
|
|
|
|
::add 1 day to filedateFixed to compensate for dif timezones
|
|
set y=%filedate:~-4%
|
|
set m=%filedate:~3,2%
|
|
set d=%filedate:~0,2%
|
|
|
|
::unpad for :tomorrow to work properly
|
|
if /i "%d:~0,1%" EQU "0" set d=%d:~1%
|
|
if /i "%m:~0,1%" EQU "0" set m=%m:~1%
|
|
|
|
:tomorrow
|
|
set /a d+=1
|
|
|
|
if %d% gtr 31 (
|
|
set d=1
|
|
set /a m+=1
|
|
|
|
if %m% gtr 12 (
|
|
set m=1
|
|
set /a y+=1
|
|
)
|
|
)
|
|
xcopy /d:%m%-%d%-%y% /h /l "%~f0" "%~f0\" >nul 2>&1 || goto:tomorrow
|
|
|
|
::pad m & d to 2 digits if needed
|
|
if /i "%d:~1,1%" EQU "" set d=0%d%
|
|
if /i "%m:~1,1%" EQU "" set m=0%m%
|
|
|
|
set /a "filedateFixedp1=%y%%m%%d%"
|
|
::echo %filedateFixedp1%
|
|
|
|
|
|
if %filedateFixedp1% LSS %LatestFiledateFixed% goto:notnum
|
|
|
|
::found newer version!
|
|
if %filedateFixedp1% EQU %LatestFiledateFixed% support\sfk echo [%greentext%]App is up to date (actually 1 day older; likely timezone)
|
|
if %filedateFixedp1% GTR %LatestFiledateFixed% support\sfk echo [%greentext%]Detected newer version than on HBAS (%filedate% vs %LatestFiledate%)
|
|
|
|
|
|
set /a HBAScountCurrent=%HBAScountCurrent%+1
|
|
set /a HBAScountSkip=%HBAScountSkip%-1
|
|
echo %HBAScountCurrent% >temp\HBAScountCurrent.txt
|
|
echo %HBAScountSkip% >temp\HBAScountSkip.txt
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
:notnum
|
|
|
|
|
|
::update exists
|
|
support\sfk echo [%greentext%]An update is available for %WiiUappName%: from %CurrentAppVersion% to %LatestVersion%
|
|
set /a updateitems=%updateitems%+1
|
|
set /a HBASupdateitems=%HBASupdateitems%+1
|
|
set /a HBAScountSkip=%HBAScountSkip%-1
|
|
echo %HBAScountSkip% >temp\HBAScountSkip.txt
|
|
|
|
echo %WiiUappName%: update from %CurrentAppVersion% to %LatestVersion%>>temp\HBASupdateList.txt
|
|
sort temp\HBASupdateList.txt /o temp\HBASupdateList.txt
|
|
|
|
echo ?%WiiUappName%?>>temp\HBASname.txt
|
|
sort temp\HBASname.txt /o temp\HBASname.txt
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
|
|
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
|
|
|
|
|
|
:AddToSkipUpdateSettingsOSC
|
|
set SkipUpdate=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo The following OSC Wii Apps will NOT be skipped when checking for updates
|
|
echo or when downloading the complete OSC App Library:
|
|
echo.
|
|
|
|
if exist "temp\contents_\" goto:skip
|
|
if exist "temp\Apps-master.zip" del "temp\Apps-master.zip">nul
|
|
support\wget --no-check-certificate -t 3 "https://codeload.github.com/OpenShopChannel/Apps/zip/refs/heads/master" -O temp\Apps-master.zip -q
|
|
|
|
if exist temp\Apps-master.zip support\7za e -aoa temp\Apps-master.zip -otemp\contents_ Apps-master\contents\*.oscmeta -r>nul
|
|
|
|
if exist "temp\contents_" goto:skip
|
|
support\sfk echo [%magentatext%] Error retrieving app list, no internet?
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
:skip
|
|
|
|
|
|
::set SkipUpdateNum=0
|
|
if not exist Support\settings_skipped_apps.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\settings_skipped_apps.txt) do call :SkipUpdateListB %%A
|
|
goto:quickskip
|
|
:SkipUpdateListB
|
|
set CurrentApp=%*
|
|
::strip out colons before and after app name
|
|
set CurrentApp=%CurrentApp:~1,-1%
|
|
::set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
|
|
if exist "temp\contents_\%CurrentApp%.oscmeta" del "temp\contents_\%CurrentApp%.oscmeta">nul
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
dir "temp\contents_\*.oscmeta" /b>temp\list.txt
|
|
|
|
|
|
set SkipUpdateNum=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :SkipUpdateListC %%A
|
|
goto:quickskip2
|
|
:SkipUpdateListC
|
|
set CurrentApp=%*
|
|
set CurrentApp=%CurrentApp:~0,-8%
|
|
set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
if not exist "%DRIVE%\apps\%CurrentApp%\" support\sfk echo -spat \x20 \x20 \x20 %SkipUpdateNum%: %CurrentApp%
|
|
if exist "%DRIVE%\apps\%CurrentApp%\" support\sfk echo -spat \x20 \x20 \x20 %SkipUpdateNum%: %CurrentApp% [%cyantext%](detected on Drive)
|
|
goto:EOF
|
|
:quickskip2
|
|
|
|
if /i "%SkipUpdateNum%" EQU "0" echo - None
|
|
|
|
echo.
|
|
echo # = Enter an app number from above to skip it
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
if "%SkipUpdate%"=="" set SkipUpdate="
|
|
set /p SkipUpdate=Enter Selection Here:
|
|
set "SkipUpdate=%SkipUpdate:"=%"
|
|
|
|
if /i "%SkipUpdate%" NEQ "M" goto:skip
|
|
if exist "temp\contents_\" rd /s /q temp\contents_
|
|
goto:MENU
|
|
:skip
|
|
|
|
if /i "%SkipUpdate%" NEQ "B" goto:skip
|
|
if exist "temp\contents_\" rd /s /q temp\contents_
|
|
goto:SkipUpdateSettings
|
|
:skip
|
|
|
|
|
|
if /i "%SkipUpdateNum%" EQU "0" goto:badkey
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%SkipUpdate%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%SkipUpdate%") do set "SkipUpdate=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%SkipUpdate%"=="" set "SkipUpdate=0"
|
|
|
|
if %SkipUpdate% LSS 1 goto:badkey
|
|
if %SkipUpdate% GTR %SkipUpdateNum% goto:badkey
|
|
set "TotalUpdateNum=%SkipUpdateNum%"
|
|
set SkipUpdateNum=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :SkipUpdateListC %%A
|
|
goto:quickskip
|
|
:SkipUpdateListC
|
|
set CurrentApp=%*
|
|
set CurrentApp=%CurrentApp:~0,-8%
|
|
set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
if /i "%SkipUpdateNum%" NEQ "%SkipUpdate%" goto:EOF
|
|
|
|
if exist "%DRIVE%\apps\%CurrentApp%\" echo If this file is saved to an app's folder ModMii will not check it for updates>"%DRIVE%\apps\%CurrentApp%\SkipModMiiUpdates.txt"
|
|
echo :%CurrentApp%:>>Support\settings_skipped_apps.txt
|
|
support\sfk filter "Support\settings_skipped_apps.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
sort Support\settings_skipped_apps.txt /o Support\settings_skipped_apps.txt
|
|
if exist "temp\contents_\%CurrentApp%.oscmeta" del "temp\contents_\%CurrentApp%.oscmeta">nul
|
|
::goto:EOF
|
|
:quickskip
|
|
|
|
goto:AddToSkipUpdateSettingsOSC
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:AddToSkipUpdateSettingsOSC
|
|
|
|
|
|
|
|
|
|
|
|
:AddToSkipUpdateSettingsHBAS
|
|
set SkipUpdate=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo The following HBAS WiiU Apps will NOT be skipped when checking for updates
|
|
echo or when downloading the complete HBAS WiiU App Library:
|
|
echo.
|
|
|
|
|
|
if exist "temp\HBASname_.txt" goto:skip
|
|
support\wget --no-check-certificate -t 3 "https://wiiubru.com/appstore/repo.json" -O temp\repo_.json -q
|
|
|
|
::surround name in ?'s to avoid partial duplicates
|
|
support\sfk filter -spat -quiet "temp\repo_.json" -+"\x22name\x22: \x22" -rep _"*\x22name\x22: \x22"_?_ -rep _"\x22*"_?_ >temp\HBASname_.txt
|
|
|
|
::sort, cuz why not
|
|
sort temp\HBASname_.txt /o temp\HBASname_.txt
|
|
|
|
if exist "temp\HBASname_.txt" goto:skip
|
|
support\sfk echo [%magentatext%] Error retrieving app list, no internet?
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SkipUpdateSettings
|
|
:skip
|
|
|
|
|
|
::set SkipUpdateNum=0
|
|
if not exist Support\settings_skipped_apps.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (Support\settings_skipped_apps.txt) do call :SkipUpdateListD %%A
|
|
goto:quickskip
|
|
:SkipUpdateListD
|
|
set WiiUappName=%*
|
|
::strip out colons before and after app name
|
|
set WiiUappName=%WiiUappName:~1,-1%
|
|
::set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
support\sfk filter -spat -quiet "temp\HBASname_.txt" -le!"\x3f%WiiUappName%\x3f" -write -yes
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
|
|
set SkipUpdateNum=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\HBASname_.txt) do call :SkipUpdateListE %%A
|
|
goto:quickskip2
|
|
:SkipUpdateListE
|
|
set WiiUappName=%*
|
|
set WiiUappName=%WiiUappName:~1,-1%
|
|
set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
echo %SkipUpdateNum%: %WiiUappName%
|
|
goto:EOF
|
|
:quickskip2
|
|
|
|
if /i "%SkipUpdateNum%" EQU "0" echo - None
|
|
|
|
echo.
|
|
echo # = Enter an app number from above to skip it
|
|
echo L = Add all "Legacy" apps to skip list
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
if "%SkipUpdate%"=="" set SkipUpdate="
|
|
set /p SkipUpdate=Enter Selection Here:
|
|
set "SkipUpdate=%SkipUpdate:"=%"
|
|
|
|
if /i "%SkipUpdate%" NEQ "M" goto:skip
|
|
if exist "temp\repo_.json" del "temp\repo_.json">nul
|
|
if exist "temp\HBASname_.txt" del "temp\HBASname_.txt">nul
|
|
goto:MENU
|
|
:skip
|
|
|
|
if /i "%SkipUpdate%" NEQ "B" goto:skip
|
|
if exist "temp\repo_.json" del "temp\repo_.json">nul
|
|
if exist "temp\HBASname_.txt" del "temp\HBASname_.txt">nul
|
|
goto:SkipUpdateSettings
|
|
:skip
|
|
|
|
if /i "%SkipUpdate%" NEQ "L" goto:skipL
|
|
::filter legacy category and surround name in ?'s to avoid partial duplicates
|
|
support\sfk filter -spat -quiet "temp\repo_.json" -nocheck -inc "\x22category\x22: \x22legacy\x22" to "\x22name\x22: \x22" -+"\x22name\x22: \x22" -rep _"*\x22name\x22: \x22"_?_ -rep _"\x22*"_?_ >>Support\settings_skipped_apps.txt
|
|
support\sfk filter "Support\settings_skipped_apps.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
sort Support\settings_skipped_apps.txt /o Support\settings_skipped_apps.txt
|
|
goto:AddToSkipUpdateSettingsHBAS
|
|
:skipL
|
|
|
|
|
|
|
|
if /i "%SkipUpdateNum%" EQU "0" goto:badkey
|
|
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%SkipUpdate%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%SkipUpdate%") do set "SkipUpdate=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%SkipUpdate%"=="" set "SkipUpdate=0"
|
|
|
|
|
|
if %SkipUpdate% LSS 1 goto:badkey
|
|
if %SkipUpdate% GTR %SkipUpdateNum% goto:badkey
|
|
set "TotalUpdateNum=%SkipUpdateNum%"
|
|
set SkipUpdateNum=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\HBASname_.txt) do call :SkipUpdateListF %%A
|
|
goto:quickskip
|
|
:SkipUpdateListF
|
|
set WiiUappName=%*
|
|
set WiiUappName=%WiiUappName:~1,-1%
|
|
set /a SkipUpdateNum=%SkipUpdateNum%+1
|
|
if /i "%SkipUpdateNum%" NEQ "%SkipUpdate%" goto:EOF
|
|
|
|
if exist "%DRIVE%\wiiu\apps\%WiiUappName%\" echo If this file is saved to an app's folder ModMii will not check it for updates>"%DRIVE%\wiiu\apps\%WiiUappName%\SkipModMiiUpdates.txt"
|
|
echo ?%WiiUappName%?>>Support\settings_skipped_apps.txt
|
|
support\sfk filter "Support\settings_skipped_apps.txt" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
sort Support\settings_skipped_apps.txt /o Support\settings_skipped_apps.txt
|
|
|
|
support\sfk filter -spat -quiet "temp\HBASname_.txt" -le!"\x3f%WiiUappName%\x3f" -write -yes
|
|
|
|
::goto:EOF
|
|
:quickskip
|
|
|
|
goto:AddToSkipUpdateSettingsHBAS
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:AddToSkipUpdateSettingsHBAS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:cleannow
|
|
set clean2="
|
|
::B, both clean and update check
|
|
echo.
|
|
if /i "%clean%" EQU "B" echo Note: Updates will be done after File Cleanup operations
|
|
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 Are you sure you want to [%redtext%]permanently delete %cleanitems% File Cleanup items? (Y^/N)
|
|
echo.
|
|
set /p clean2=Enter Selection Here:
|
|
set "clean2=%clean2:"=%"
|
|
if /i "%clean2%" EQU "Y" goto:cleannow3
|
|
if /i "%clean2%" EQU "N" goto:MENU
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:FileCleanup2
|
|
|
|
:cleannow3
|
|
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo CLEANING FILES...
|
|
echo.
|
|
set /a ListNum=0
|
|
::Loop through the the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\CleanItems.txt) do call :processCleanList4 %%A
|
|
goto:quickskip
|
|
:processCleanList4
|
|
set /a ListNum=%ListNum%+1
|
|
set CleanItem=%*
|
|
echo Cleaning %ListNum% of %cleanitems%: %CleanItem%
|
|
if exist "%DRIVE%%CleanItem%\" rd /s /q "%DRIVE%%CleanItem%"> nul
|
|
if exist "%DRIVE%%CleanItem%" del /f /q "%DRIVE%%CleanItem%">nul
|
|
|
|
|
|
::check for and erase empty folders
|
|
set "DriveClean=%DRIVE%%CleanItem%"
|
|
::get CleanPath name
|
|
set "CleanFile=%DriveClean:*\=%"
|
|
:stripCleanFile
|
|
set "CleanFile=%CleanFile:*\=%"
|
|
echo "%CleanFile%">temp\temp.txt
|
|
findStr \\ temp\temp.txt>nul
|
|
IF NOT ERRORLEVEL 1 goto:stripCleanFile
|
|
|
|
echo set "CleanPath=%%DriveClean:\%CleanFile%=%%">temp\temp.bat
|
|
call temp\temp.bat
|
|
|
|
::echo CleanPath %CleanPath%
|
|
|
|
::empty folder check, if not empty goto something, if empty delete it
|
|
dir /A /B "%CleanPath%" | findstr /R ".">NUL && goto:notempty
|
|
rd /s /q "%CleanPath%"> nul
|
|
|
|
::now check again!
|
|
::check for and erase empty folders
|
|
set "DriveClean=%CleanPath%"
|
|
::get CleanPath name
|
|
set "CleanFile=%CleanPath:*\=%"
|
|
goto:stripCleanFile
|
|
|
|
:notempty
|
|
goto:EOF
|
|
|
|
:quickskip
|
|
echo.
|
|
echo FILES CLEANED
|
|
echo.
|
|
echo.
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
|
|
if /i "%clean%" EQU "B" (set BACKB4QUEUE=FileCleanup2) & (goto:DLCOUNT)
|
|
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
|
|
::...................................Wizard Page1 - Virgin?...............................
|
|
:RCPAGE1
|
|
set REGIONCHANGE="
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Are you sure you want to Region Change your Wii?
|
|
echo.
|
|
echo.
|
|
echo Important Notes:
|
|
echo ----------------
|
|
echo.
|
|
echo * Region Changing is not necessary to play other region games.
|
|
echo For example, you can play JPN games on a softmodded US Wii without
|
|
echo region changing.
|
|
echo.
|
|
echo * An alternative to region changing is to use SNEEK\UNEEK to emulate a
|
|
echo different region System Menu.
|
|
echo.
|
|
echo.
|
|
echo If you still want to region change your Wii, read the following
|
|
echo warnings before continuing:
|
|
echo.
|
|
echo.
|
|
echo Warnings:
|
|
echo ---------
|
|
echo.
|
|
echo * If you use the Wii Shopping Channel, you must start the channel and
|
|
echo delete your account before starting this guide on your Wii.
|
|
echo If you don't the Wii Shop Channel will error.
|
|
echo.
|
|
echo * ModMii's Region Change guide assumes your Wii has already been softmodded
|
|
echo and SD Card ^(or USB^) properly formatted by following the ModMii Wizard
|
|
echo or SysCheck Updater Wizard. If this is not the case please do so before
|
|
echo going any further. Do not attempt to region change your Wii without
|
|
echo either an SD card or USB.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p REGIONCHANGE=Enter Selection Here:
|
|
set "REGIONCHANGE=%REGIONCHANGE:"=%"
|
|
|
|
if /i "%REGIONCHANGE%" EQU "B" goto:MENU
|
|
if /i "%REGIONCHANGE%" EQU "M" goto:MENU
|
|
if /i "%REGIONCHANGE%" EQU "N" goto:MENU
|
|
|
|
if /i "%REGIONCHANGE%" NEQ "Y" goto:badkey
|
|
|
|
::check if d2x version is customized and offer to revert to default
|
|
call support\subscripts\defaultd2x.bat
|
|
|
|
goto:WPAGE3
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:RCPAGE1
|
|
|
|
|
|
|
|
|
|
::--------------------Wizard Settings Detected----------------
|
|
:LoadWizardSettings
|
|
set LoadWizSettings=
|
|
if not exist Wizard_Settings.bat goto:WPAGE0
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%] Wizard Saved Settings Detected!
|
|
echo.
|
|
echo.
|
|
echo Would you like to load the Wizard's Saved Settings now?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Note: You will be able to view and confirm the loaded settings
|
|
echo before starting your download
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, Load Wizard_Settings.bat
|
|
echo N = No, Continue with the Wizard
|
|
echo.
|
|
echo D = Delete Wizard_Settings.bat to stop seeing this page
|
|
echo in the future then continue with the Wizard
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%LoadWizSettings%"=="" set LoadWizSettings="
|
|
set /p LoadWizSettings=Enter Selection Here:
|
|
set "LoadWizSettings=%LoadWizSettings:"=%"
|
|
|
|
:LoadWizardSettings2
|
|
if /i "%LoadWizSettings%" EQU "B" goto:MENU
|
|
if /i "%LoadWizSettings%" EQU "M" goto:MENU
|
|
|
|
if /i "%LoadWizSettings%" NEQ "Y" goto:skip
|
|
|
|
if /i "%one%" NEQ "WL" call Wizard_Settings.bat
|
|
if /i "%one%" EQU "WL" call "%cmdinput%"
|
|
if /i "%one%" EQU "WL" (set MENU1=W) & (set one=)
|
|
|
|
IF "%USBGUIDE%"=="" set USBGUIDE=n
|
|
if /i "%ThemeSelection%" EQU "Y" set ThemeSelection=r
|
|
if /i "%Mii%" EQU "Y" set MIIQ=Y
|
|
if /i "%pri%" EQU "Y" set PRIQ=Y
|
|
if /i "%H5%" EQU "Y" set RECCIOS=Y
|
|
if /i "%HM%" EQU "Y" set HMInstaller=Y
|
|
goto:WPAGELAST
|
|
:skip
|
|
|
|
if /i "%LoadWizSettings%" EQU "D" del Wizard_Settings.bat>nul
|
|
if /i "%LoadWizSettings%" EQU "D" goto:WPAGE0
|
|
if /i "%LoadWizSettings%" EQU "N" goto:WPAGE0
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:LoadWizardSettings
|
|
|
|
|
|
|
|
::...................................Wizard Page0 - Console Type...............................
|
|
:WPAGE0
|
|
set FIRMSTART="
|
|
::same var used for SM version
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo What console would you like to softmod?
|
|
echo.
|
|
echo.
|
|
echo W = Wii
|
|
echo U2 = WiiU and vWii (virtual Wii on WiiU)
|
|
echo U = WiiU Only (no vWii mods)
|
|
echo V = vWii Only (no WiiU mods)
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo Notes: Wii modding requires an SD card and does not need internet on the console.
|
|
echo Alternatively, you can use a hard drive in place of SD for most things
|
|
echo but then the Wii will need internet access.
|
|
echo.
|
|
echo WiiU modding requires an SD Card and internet on the console.
|
|
echo.
|
|
echo vWii Only modding requires an SD Card and internet on the console, or if
|
|
echo your console is without internet an SD card plus one of these Wii discs:
|
|
echo Super Smash Brothers Brawl, LEGO Indiana Jones, LEGO Batman, LEGO Star Wars,
|
|
echo Yu-Gi-Oh! 5D's, or Tales of Symphonia Dawn of the New World.
|
|
echo.
|
|
echo.
|
|
set /p FIRMSTART=Enter Selection Here:
|
|
set "FIRMSTART=%FIRMSTART:"=%"
|
|
|
|
if exist Wizard_Settings.bat goto:backtoloadwiz
|
|
if /i "%FIRMSTART%" EQU "B" goto:MENU
|
|
:backtoloadwiz
|
|
if /i "%FIRMSTART%" EQU "B" goto:LoadWizardSettings
|
|
|
|
if /i "%FIRMSTART%" EQU "M" goto:MENU
|
|
|
|
if /i "%FIRMSTART%" EQU "W" (set ctype=Wii) & (goto:WPAGE1)
|
|
if /i "%FIRMSTART%" EQU "U" (set ctype=WiiU) & (goto:WPAGELAST)
|
|
if /i "%FIRMSTART%" EQU "U2" (set ctype=WiiU) & (goto:WPAGE20)
|
|
if /i "%FIRMSTART%" EQU "V" (set ctype=WiiU) & (goto:WPAGE20)
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE0
|
|
|
|
|
|
|
|
::...................................Wizard Page1 - Virgin?...............................
|
|
:WPAGE1
|
|
set VIRGIN="
|
|
|
|
|
|
set Advanced=
|
|
set HMInstaller=
|
|
set RECCIOS=
|
|
set PRIQ=
|
|
set ThemeSelection=N
|
|
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Is this your first time softmodding your Wii?
|
|
echo --
|
|
echo OR
|
|
echo --
|
|
echo Would you like to update ALL your existing softmods (aka re-hack your Wii)?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Note: Only answer No if you know specifically what you want to update.
|
|
echo.
|
|
echo Alternatively, you can check if there are any recommended changes to the
|
|
echo mods already installed on your Wii using ModMii's SysCheck Updater Wizard.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p VIRGIN=Enter Selection Here:
|
|
set "VIRGIN=%VIRGIN:"=%"
|
|
|
|
if /i "%VIRGIN%" EQU "B" goto:WPAGE0
|
|
if /i "%VIRGIN%" EQU "M" goto:MENU
|
|
if /i "%VIRGIN%" EQU "Y" goto:WPAGE2
|
|
if /i "%VIRGIN%" EQU "N" goto:WPAGE2
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE1
|
|
|
|
::...................................Wizard Page2 - Current SystemMenu...............................
|
|
:WPAGE2
|
|
set FIRMSTART="
|
|
|
|
set backb4HACKMIISOLUTION=WPAGE2
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%MENU1%" EQU "H" (echo HackMii Solutions) & (echo.)
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:notabstinence
|
|
echo Abstinence Wizard
|
|
echo.
|
|
echo.
|
|
echo This wizard allows you to enjoy many of the benefits of a softmodded Wii
|
|
echo without installing any unofficial content (ie. should not void warranty)
|
|
echo.
|
|
echo An SD CARD is REQUIRED for this wizard to work.
|
|
echo.
|
|
echo.
|
|
:notabstinence
|
|
|
|
|
|
echo What is your current System Menu Version?
|
|
echo.
|
|
echo.
|
|
echo Enter "Help" for an instructional video on checking your System Menu Version.
|
|
echo.
|
|
echo Note: to check this, turn on your wii, click the Wii button in the
|
|
echo bottom left of the main system menu, click Wii Settings,
|
|
echo then you should see the System Menu in the top right of the screen
|
|
echo (ie. 4.2U, 4.1J, 3.2E, etc.)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo 4.3 = 4.3
|
|
echo 4.2 = 4.2
|
|
echo 4.1 = 4.1
|
|
echo 4.0 = 4.0
|
|
echo 3.X = 3.0-3.5
|
|
echo O = Other (under 2.2)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
set /p FIRMSTART=Enter Selection Here:
|
|
set "FIRMSTART=%FIRMSTART:"=%"
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "M" goto:MENU
|
|
|
|
if /i "%FIRMSTART%" NEQ "Help" goto:nohelp
|
|
start https://www.youtube.com/embed/1Z2MtFcllTY
|
|
goto:WPAGE2
|
|
:nohelp
|
|
|
|
if /i "%FIRMSTART%" EQU "3.x" set FIRMSTART=3.X
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:NotAbstinenceWiz
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "O" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "4.2" goto:NEEKrevSelect
|
|
if /i "%FIRMSTART%" EQU "4.1" goto:NEEKrevSelect
|
|
if /i "%FIRMSTART%" EQU "4.0" goto:NEEKrevSelect
|
|
if /i "%FIRMSTART%" EQU "3.X" goto:NEEKrevSelect
|
|
:NotAbstinenceWiz
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "4.2" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "4.1" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "4.0" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "3.X" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "O" goto:WPAGE3
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" NEQ "B" goto:incorrectkey
|
|
if /i "%MENU1%" EQU "H" goto:MENU
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:MENU
|
|
goto:WPAGE1
|
|
|
|
:incorrectkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE2
|
|
|
|
|
|
::...................................Wizard Page3 - REGION...............................
|
|
:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:WPAGE3hard
|
|
if /i "%FIRMSTART%" EQU "o" goto:WPAGE3hard
|
|
if /i "%MENU1%" EQU "H" goto:HACKMIISOLUTION
|
|
:WPAGE3hard
|
|
|
|
|
|
set REGION="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%MENU1%" EQU "RC" (echo What Region would you like to change to?) & (goto:skiptext)
|
|
echo What is your Region?
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:skip
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
echo Enter "Help" for an instructional video on checking your System Menu.
|
|
echo.
|
|
echo Note: to check this, turn on your Wii, click the Wii button in the
|
|
echo bottom left of the main system menu, click Wii Settings,
|
|
echo then you should see the System Menu in the top right of the screen
|
|
echo (ie. 4.2U, 4.1J, 3.2E, etc.)
|
|
echo.
|
|
echo Note: If your Wii was Region Changed choose the region you are currently on
|
|
goto:skiptext
|
|
:skip
|
|
echo Note: to check this on your WiiU click the System Settings button
|
|
echo from the main system menu then you should see the version
|
|
echo in the top right of the screen (e.g. 5.2.0U, 5.2.0J, 5.2.0E)
|
|
:skiptext
|
|
|
|
echo.
|
|
echo.
|
|
echo U = USA
|
|
echo E = Euro (PAL)
|
|
echo J = JPN
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:skip
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
echo K = Korean
|
|
:skip
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
|
|
set /p REGION=Enter Selection Here:
|
|
set "REGION=%REGION:"=%"
|
|
|
|
if /i "%REGION%" EQU "M" goto:MENU
|
|
|
|
if /i "%REGION%" EQU "u" set REGION=U
|
|
if /i "%REGION%" EQU "e" set REGION=E
|
|
if /i "%REGION%" EQU "j" set REGION=J
|
|
if /i "%REGION%" EQU "k" set REGION=K
|
|
|
|
|
|
if /i "%MENU1%" NEQ "RC" goto:notRC
|
|
if /i "%REGION%" EQU "U" goto:WPAGE4
|
|
if /i "%REGION%" EQU "E" goto:WPAGE4
|
|
if /i "%REGION%" EQU "K" goto:WPAGE4
|
|
if /i "%REGION%" EQU "J" goto:WPAGE4
|
|
if /i "%REGION%" EQU "B" (set REGION=) & (goto:RCPAGE1)
|
|
goto:badkey
|
|
:notRC
|
|
|
|
::download page redirect for Wilbrand
|
|
if /i "%MENU1%" EQU "1" goto:Wilbrand
|
|
if /i "%MENU1%" EQU "2" goto:Wilbrand
|
|
if /i "%MENU1%" EQU "3" goto:Wilbrand
|
|
if /i "%MENU1%" EQU "4" goto:Wilbrand
|
|
if /i "%MENU1%" EQU "A" goto:Wilbrand
|
|
goto:notWilbrand
|
|
:Wilbrand
|
|
if /i "%REGION%" EQU "B" (set REGION=) & (goto:macaddress)
|
|
if /i "%REGION%" EQU "U" goto:DOWNLOADQUEUE
|
|
if /i "%REGION%" EQU "E" goto:DOWNLOADQUEUE
|
|
if /i "%REGION%" EQU "K" goto:DOWNLOADQUEUE
|
|
if /i "%REGION%" EQU "J" goto:DOWNLOADQUEUE
|
|
:notWilbrand
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:U2
|
|
if /i "%FIRMSTART%" EQU "v" goto:vWii
|
|
|
|
::Wii
|
|
if /i "%REGION%" EQU "U" goto:WPAGE3C
|
|
if /i "%REGION%" EQU "E" goto:WPAGE3C
|
|
if /i "%REGION%" EQU "J" goto:WPAGE3C
|
|
if /i "%REGION%" EQU "K" goto:WPAGE3C
|
|
if /i "%REGION%" EQU "B" (set REGION=) & (goto:WPAGE2)
|
|
goto:notvWii
|
|
|
|
|
|
:U2
|
|
if /i "%REGION%" EQU "U" goto:WPAGE21
|
|
if /i "%REGION%" EQU "E" goto:WPAGE21
|
|
if /i "%REGION%" EQU "J" goto:WPAGE21
|
|
if /i "%REGION%" EQU "B" (set REGION=) & (goto:WPAGE20)
|
|
goto:notvWii
|
|
|
|
|
|
:vWii
|
|
if /i "%REGION%" EQU "U" goto:WPAGE3Cv
|
|
if /i "%REGION%" EQU "E" goto:WPAGE3Cv
|
|
if /i "%REGION%" EQU "J" goto:WPAGE3Cv
|
|
if /i "%REGION%" EQU "B" (set REGION=) & (goto:WPAGE20)
|
|
:notvWii
|
|
|
|
if /i "%REGION%" NEQ "Help" goto:nohelp
|
|
if /i "%FIRMSTART%" EQU "U2" goto:nohelp
|
|
if /i "%FIRMSTART%" EQU "v" goto:nohelp
|
|
start https://www.youtube.com/embed/1Z2MtFcllTY
|
|
goto:WPAGE3
|
|
:nohelp
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE3
|
|
|
|
|
|
|
|
::...................................Wizard Page3C - Exploit...............................
|
|
:WPAGE3Cv
|
|
|
|
SET EXPLOIT=default
|
|
set exploitselection=yes
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
|
|
|
|
echo Select the Exploit you would like to use on your vWii.
|
|
echo.
|
|
echo.
|
|
echo BE = Browser Exploit: no disc required, but needs an SD Card ^& internet on vWii
|
|
echo.
|
|
echo.
|
|
echo The exploits below do not need internet, only an SD Card ^& one of these Wii games:
|
|
echo.
|
|
echo S = Super Smash Brothers Brawl
|
|
echo L = LEGO Indiana Jones
|
|
echo LB = LEGO Batman
|
|
echo LS = LEGO Star Wars
|
|
echo Y = Yu-Gi-Oh! 5D's
|
|
echo TOS = Tales of Symphonia: Dawn of the New World
|
|
echo ? = If you're not sure, download all of the above and decide later
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%EXPLOIT%"=="" set EXPLOIT="
|
|
set /p EXPLOIT=Enter Selection Here:
|
|
set "EXPLOIT=%EXPLOIT:"=%"
|
|
|
|
if /i "%EXPLOIT%" EQU "M" goto:MENU
|
|
|
|
if /i "%EXPLOIT%" EQU "B" goto:WPAGE3
|
|
|
|
if /i "%EXPLOIT%" EQU "BE" goto:WPAGE21
|
|
if /i "%EXPLOIT%" EQU "S" goto:WPAGE21
|
|
if /i "%EXPLOIT%" EQU "Y" goto:WPAGE21
|
|
if /i "%EXPLOIT%" EQU "L" goto:WPAGE21
|
|
if /i "%EXPLOIT%" EQU "LB" goto:WPAGE21
|
|
if /i "%EXPLOIT%" EQU "LS" goto:WPAGE21
|
|
if /i "%EXPLOIT%" EQU "TOS" goto:WPAGE21
|
|
if /i "%EXPLOIT%" EQU "?" goto:WPAGE21
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE3Cv
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................Wizard Page3C - Exploit...............................
|
|
:WPAGE3C
|
|
|
|
SET EXPLOIT=default
|
|
set exploitselection=
|
|
if /i "%VIRGIN%" EQU "N" goto:WPAGE3D
|
|
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:WPAGE3Cnext
|
|
if /i "%FIRMSTART%" EQU "o" goto:WPAGE3Cnext
|
|
|
|
|
|
goto:WPAGE4
|
|
|
|
|
|
::Only virgin 4.3 U/E/J wii's or <2.2 U/E/J Wii's will make it this far
|
|
:WPAGE3Cnext
|
|
|
|
set backb4HACKMIISOLUTION=WPAGE3c
|
|
|
|
|
|
set exploitselection=yes
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
|
|
|
|
echo Select the Exploit you would like to use on your Wii.
|
|
echo.
|
|
echo.
|
|
echo X = str2hax: no disc or SD card needed, but requires internet on Wii
|
|
|
|
if /i "%FIRMSTART%" EQU "o" goto:skipbomb
|
|
echo W = Wilbrand\LetterBomb: no disc needed, but requires SD card
|
|
:skipbomb
|
|
echo.
|
|
echo.
|
|
echo The exploits below require you own one of the following games:
|
|
|
|
|
|
echo.
|
|
echo S = Super Smash Brothers Brawl
|
|
if /i "%REGION%" NEQ "K" echo L = LEGO Indiana Jones
|
|
if /i "%REGION%" NEQ "K" echo LB = LEGO Batman
|
|
if /i "%REGION%" NEQ "K" echo LS = LEGO Star Wars
|
|
if /i "%REGION%" NEQ "K" echo Y = Yu-Gi-Oh! 5D's
|
|
if /i "%REGION%" NEQ "K" echo TOS = Tales of Symphonia: Dawn of the New World
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "o" echo T = Twilight Princess: The Legend of Zelda
|
|
if /i "%FIRMSTART%" EQU "o" echo.
|
|
echo ? = If you're not sure, download all of the above and decide later
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" NEQ "o" goto:skipOmsg
|
|
support\sfk echo -spat \x20 \x20[%redtext%] Important Notes:
|
|
echo.
|
|
echo Alternatively, you can update your Wii to v3.0-4.3 then repeat the
|
|
echo Wizard using your new System Menu in order to hack your
|
|
echo Wii without requiring a games or internet on your Wii
|
|
echo.
|
|
:skipOmsg
|
|
|
|
support\sfk echo -spat \x20 \x20[%redtext%] NOTE IF YOU ARE MISSING AN SD CARD
|
|
echo Using str2hax you can install the HBC even if you don't have an SD card,
|
|
echo or if your SD card reader is broken. But without an sd card you will
|
|
echo not be able to install bootmii and make a NAND backup.
|
|
echo You can still proceed with the remaining steps of your custom ModMii guide
|
|
echo using a FAT32 formatted USB hard drive in place of an SD card.
|
|
echo More help on formatting your HDD if you use ModMii to set up a USB Loader.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%EXPLOIT%"=="" set EXPLOIT="
|
|
set /p EXPLOIT=Enter Selection Here:
|
|
set "EXPLOIT=%EXPLOIT:"=%"
|
|
|
|
if /i "%EXPLOIT%" EQU "M" goto:MENU
|
|
|
|
if /i "%EXPLOIT%" EQU "B" goto:WPAGE3
|
|
|
|
if /i "%FIRMSTART%" NEQ "o" goto:twilightnotavailable
|
|
if /i "%EXPLOIT%" EQU "T" goto:WPAGE3D
|
|
:twilightnotavailable
|
|
|
|
::ALL except KOR
|
|
if /i "%REGION%" EQU "K" goto:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "Y" goto:WPAGE3D
|
|
if /i "%EXPLOIT%" EQU "L" goto:WPAGE3D
|
|
if /i "%EXPLOIT%" EQU "LB" goto:WPAGE3D
|
|
if /i "%EXPLOIT%" EQU "LS" goto:WPAGE3D
|
|
if /i "%EXPLOIT%" EQU "TOS" goto:WPAGE3D
|
|
:skip
|
|
|
|
if /i "%FIRMSTART%" EQU "o" goto:notbomb
|
|
if /i "%EXPLOIT%" EQU "W" goto:macaddress
|
|
if /i "%EXPLOIT%" EQU "?" goto:macaddress
|
|
:notbomb
|
|
|
|
if /i "%EXPLOIT%" EQU "X" goto:WPAGE3D
|
|
if /i "%EXPLOIT%" EQU "?" goto:WPAGE3D
|
|
if /i "%EXPLOIT%" EQU "S" goto:WPAGE3D
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE3C
|
|
|
|
|
|
|
|
|
|
::----------------------------------------MAC ADDRESS---------------------------------
|
|
:macaddress
|
|
set macaddress="
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Enter your Wii's MAC address (required for Wilbrand\LetterBomb exploit)
|
|
echo.
|
|
echo Examples:
|
|
echo AABBCCDDEEFF
|
|
echo AA BB CC DD EE FF
|
|
echo AA:BB:CC:DD:EE:FF
|
|
echo 11-22-33-44-55-66
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Note: to find your Wii's MAC address, turn on your Wii, click the
|
|
echo Wii button in the bottom left of the main system menu,
|
|
echo then click Wii Settings, then Internet, then Console Information.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter "Help" for an instructional video on checking your Wii's MAC address.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if /i "%MENU1%" EQU "1" (echo B = Back out and skip this download) & (goto:skip)
|
|
if /i "%MENU1%" EQU "2" (echo B = Back out and skip this download) & (goto:skip)
|
|
if /i "%MENU1%" EQU "3" (echo B = Back out and skip this download) & (goto:skip)
|
|
if /i "%MENU1%" EQU "4" (echo B = Back out and skip this download) & (goto:skip)
|
|
if /i "%MENU1%" EQU "A" (echo B = Back out and skip this download) & (goto:skip)
|
|
echo S = Skip this for now and enter it later if you're not near your Wii
|
|
echo B = Back
|
|
:skip
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
set /p macaddress=Enter Selection Here:
|
|
set "macaddress=%macaddress:"=%"
|
|
|
|
if /i "%macaddress%" EQU "M" goto:MENU
|
|
|
|
if /i "%macaddress%" NEQ "B" goto:notback
|
|
set Wilbrand=
|
|
if /i "%MENU1%" EQU "1" goto:DOWNLOADQUEUE
|
|
if /i "%MENU1%" EQU "2" goto:DOWNLOADQUEUE
|
|
if /i "%MENU1%" EQU "3" goto:DOWNLOADQUEUE
|
|
if /i "%MENU1%" EQU "4" goto:DOWNLOADQUEUE
|
|
if /i "%MENU1%" EQU "A" goto:DOWNLOADQUEUE
|
|
goto:WPAGE3C
|
|
:notback
|
|
|
|
if /i "%macaddress%" NEQ "Help" goto:nohelp
|
|
start https://www.youtube.com/embed/V52piPXM1tE
|
|
goto:macaddress
|
|
:nohelp
|
|
|
|
::don't allow skipping for manual downloads
|
|
if /i "%MENU1%" EQU "1" goto:skip
|
|
if /i "%MENU1%" EQU "2" goto:skip
|
|
if /i "%MENU1%" EQU "3" goto:skip
|
|
if /i "%MENU1%" EQU "4" goto:skip
|
|
if /i "%MENU1%" EQU "A" goto:skip
|
|
if /i "%macaddress%" EQU "S" goto:WPAGE3D
|
|
:skip
|
|
|
|
echo %macaddress% >temp\temp.txt
|
|
|
|
support\sfk filter "temp\temp.txt" -rep _" "__ -rep _"-"__ -rep _":"__ -write -yes>nul
|
|
|
|
set /p macaddress= <temp\temp.txt
|
|
|
|
::confirm 12 digits
|
|
if "%macaddress:~11%"=="" goto:badkey
|
|
if not "%macaddress:~12%"=="" goto:badkey
|
|
|
|
|
|
::confirm MAC addy is hex chars
|
|
|
|
echo.
|
|
echo Validating MAC address...
|
|
echo.
|
|
|
|
set digit=0
|
|
|
|
:confirmMACaddy
|
|
|
|
set /a digit=%digit%+1
|
|
set testme=
|
|
if /i "%digit%" EQU "1" set testme=%macaddress:~0,1%
|
|
if /i "%digit%" EQU "2" set testme=%macaddress:~1,1%
|
|
if /i "%digit%" EQU "3" set testme=%macaddress:~2,1%
|
|
if /i "%digit%" EQU "4" set testme=%macaddress:~3,1%
|
|
if /i "%digit%" EQU "5" set testme=%macaddress:~4,1%
|
|
if /i "%digit%" EQU "6" set testme=%macaddress:~5,1%
|
|
if /i "%digit%" EQU "7" set testme=%macaddress:~6,1%
|
|
if /i "%digit%" EQU "8" set testme=%macaddress:~7,1%
|
|
if /i "%digit%" EQU "9" set testme=%macaddress:~8,1%
|
|
if /i "%digit%" EQU "10" set testme=%macaddress:~9,1%
|
|
if /i "%digit%" EQU "11" set testme=%macaddress:~10,1%
|
|
if /i "%digit%" EQU "12" set testme=%macaddress:~11,1%
|
|
|
|
if "%testme%"=="" goto:quickskip
|
|
|
|
if /i "%testme%" EQU "0" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "1" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "2" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "3" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "4" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "5" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "6" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "7" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "8" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "9" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "a" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "b" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "c" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "d" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "e" goto:confirmMACaddy
|
|
if /i "%testme%" EQU "f" goto:confirmMACaddy
|
|
|
|
|
|
|
|
goto:badkey
|
|
:quickskip
|
|
|
|
|
|
::echo %macaddress%
|
|
|
|
if /i "%MENU1%" EQU "1" goto:WPAGE3
|
|
if /i "%MENU1%" EQU "2" goto:WPAGE3
|
|
if /i "%MENU1%" EQU "3" goto:WPAGE3
|
|
if /i "%MENU1%" EQU "4" goto:WPAGE3
|
|
if /i "%MENU1%" EQU "A" goto:WPAGE3
|
|
|
|
goto:WPAGE3D
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:macaddress
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................Wizard Page3D - Active IOSs...............................
|
|
:WPAGE3D
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:NEEKrevSelect
|
|
if /i "%MENU1%" EQU "H" goto:HACKMIISOLUTION
|
|
SET UpdatesIOSQ=
|
|
|
|
if /i "%ACTIVEIOS%" EQU "off" goto:WPAGE4
|
|
if /i "%Virgin%" EQU "N" goto:forceQ
|
|
if /i "%FIRMSTART%" LSS "4.3" goto:WPAGE4
|
|
if /i "%FIRMSTART%" EQU "o" goto:WPAGE4
|
|
|
|
|
|
::Only 4.3 Wii's without active IOS "ON" will make it this far
|
|
:forceQ
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%Virgin%" EQU "N" echo Download active IOSs and some extra brick protection (patched System Menu IOSs)?
|
|
if /i "%Virgin%" NEQ "N" echo Would you like to download active IOSs?
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo N = No
|
|
echo.
|
|
if /i "%Virgin%" EQU "N" echo If you previously used ModMii to fully softmod your Wii you should already
|
|
if /i "%Virgin%" EQU "N" echo have these installed.
|
|
if /i "%FirmStart%" EQU "4.3" echo You're on System Menu 4.3, so you likely already have the latest IOSs.
|
|
if /i "%FirmStart%" EQU "4.3" echo If your Wii has truly never been modified before, you can say No.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo.
|
|
echo If your Wii has DarkCorp/cIOSCorp installed, you can say Yes to overwrite it.
|
|
echo If original Wii discs or WiiWare are not working properly, say Yes to fix it.
|
|
echo.
|
|
echo If unsure, there is no harm in saying yes, it just may take a bit longer.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%UpdatesIOSQ%"=="" set UpdatesIOSQ="
|
|
set /p UpdatesIOSQ=Enter Selection Here:
|
|
set "UpdatesIOSQ=%UpdatesIOSQ:"=%"
|
|
|
|
if /i "%UpdatesIOSQ%" EQU "M" goto:MENU
|
|
if /i "%UpdatesIOSQ%" EQU "Y" goto:WPAGE4
|
|
if /i "%UpdatesIOSQ%" EQU "N" goto:WPAGE4
|
|
|
|
|
|
if /i "%VIRGIN%" EQU "N" goto:backtowpage3
|
|
::if /i "%REGION%" EQU "K" goto:backtowpage3
|
|
if /i "%exploit%" EQU "W" goto:backtomacaddress
|
|
if /i "%exploit%" EQU "?" goto:backtomacaddress
|
|
|
|
goto:backtowpage3c
|
|
|
|
:backtomacaddress
|
|
|
|
if /i "%UpdatesIOSQ%" EQU "B" goto:macaddress
|
|
|
|
:backtowpage3
|
|
if /i "%UpdatesIOSQ%" EQU "B" goto:WPAGE3
|
|
|
|
:backtowpage3c
|
|
if /i "%UpdatesIOSQ%" EQU "B" goto:WPAGE3c
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE3D
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................Wizard Page4 - New System Menu...............................
|
|
:WPAGE4
|
|
if /i "%MENU1%" EQU "H" goto:HACKMIISOLUTION
|
|
set FIRM="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Select the new System Menu you would like to upgrade/downgrade to.
|
|
|
|
if /i "%MENU1%" NEQ "RC" (echo.) & (echo.) & (echo.) & (echo Note: if current system menu = new system menu, a system menu is not downloaded)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "4.1" goto:SkipGreen4.3
|
|
if /i "%FIRMSTART%" EQU "4.2" goto:SkipGreen4.3
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%greentext%] 4.3 = 4.3 [RECOMMENDED]
|
|
goto:skipWhite4.3
|
|
:SkipGreen4.3
|
|
echo 4.3 = 4.3
|
|
:skipWhite4.3
|
|
|
|
if /i "%FIRMSTART%" EQU "4.2" (support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%greentext%] 4.2 = 4.2 [RECOMMENDED]) else (echo 4.2 = 4.2)
|
|
|
|
if /i "%FIRMSTART%" EQU "4.1" (support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%greentext%] 4.1 = 4.1 [RECOMMENDED]) else (echo 4.1 = 4.1)
|
|
|
|
echo.
|
|
echo.
|
|
echo ModMii recommends against unnecessarily changing system menus if already on 4.1
|
|
echo or higher. 4.2 and 4.3 add nothing except failed attempts to prevent homebrew.
|
|
echo.
|
|
echo.
|
|
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p FIRM=Enter Selection Here:
|
|
set "FIRM=%FIRM:"=%"
|
|
|
|
if /i "%FIRM%" EQU "M" goto:MENU
|
|
|
|
if /i "%MENU1%" NEQ "RC" goto:notRC
|
|
if /i "%FIRM%" EQU "4.2" goto:WPAGE20
|
|
if /i "%FIRM%" EQU "4.1" goto:WPAGE20
|
|
if /i "%FIRM%" EQU "4.3" goto:WPAGE20
|
|
if /i "%FIRM%" EQU "B" goto:WPAGE3
|
|
:notRC
|
|
|
|
|
|
if /i "%FIRM%" EQU "4.2" goto:WPAGE5
|
|
if /i "%FIRM%" EQU "4.1" goto:WPAGE5
|
|
if /i "%FIRM%" EQU "4.3" goto:WPAGE5
|
|
|
|
if /i "%FIRM%" NEQ "B" goto:notback
|
|
if /i "%VIRGIN%" EQU "N" goto:noexploits
|
|
if /i "%FIRMSTART%" EQU "o" goto:wpage3c
|
|
if /i "%FIRMSTART%" NEQ "4.3" goto:wpage3
|
|
if /i "%ACTIVEIOS%" EQU "off" (goto:wpage3c) else (goto:WPAGE3D)
|
|
:noexploits
|
|
if /i "%ACTIVEIOS%" EQU "off" (goto:wpage3) else (goto:WPAGE3D)
|
|
:notback
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE4
|
|
|
|
::...................................Wizard Page5 - MORE Channels?...............................
|
|
:WPAGE5
|
|
set MORE="
|
|
set PIC=
|
|
set NET=
|
|
set Weather=
|
|
set NEWS=
|
|
set MIIQ=
|
|
set Shop=
|
|
set Speak=
|
|
|
|
|
|
if /i "%MENU1%" EQU "S" (set REGIONTEMP=%SNKREGION%) else (set REGIONTEMP=%REGION%)
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to install any of the following channels:
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo * Photo v1.1 (including required HAZA dummy)
|
|
if /i "%REGIONTEMP%" NEQ "K" echo * Internet
|
|
::if /i "%REGIONTEMP%" NEQ "K" echo * Weather^^
|
|
|
|
::if /i "%REGIONTEMP%" NEQ "K" echo * News^^
|
|
::if /i "%REGIONTEMP%" NEQ "K" echo * Wii Speak^^^^
|
|
echo * Mii
|
|
echo * Shopping (can only re-download content you have already purchased)
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:skip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
findStr /C:"(HAYK)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Photo Channel 1.1 KOR (HAYK) Detected on EmuNAND Already
|
|
findStr /C:"(HAYA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Photo Channel 1.1 (HAYA) Detected on EmuNAND Already
|
|
findStr /C:"(HAZA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Photo Channel 1.1 (HAZA dummy) Detected on EmuNAND Already
|
|
findStr /C:"(HADE)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Internet Channel USA (HADE) Detected on EmuNAND Already
|
|
findStr /C:"(HADP)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Internet Channel EUR (HADP) Detected on EmuNAND Already
|
|
findStr /C:"(HADJ)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Internet Channel JPN (HADJ) Detected on EmuNAND Already
|
|
findStr /C:"(HACA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Mii Channel (HACA) Detected on EmuNAND Already
|
|
findStr /C:"(HABA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Wii Shop Channel (HABA) Detected on EmuNAND Already
|
|
findStr /C:"(HABK)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Wii Shop Channel KOR (HABK) Detected on EmuNAND Already
|
|
:skip
|
|
|
|
echo.
|
|
echo.
|
|
echo Note: since Nintendo has shut down WiiConnect24 other channels like News,
|
|
echo Wii Speak, etc. require WiiLink. These can be installed later
|
|
echo using the WiiLink Patcher from ModMii's Download Page 5
|
|
echo or from https://wiilink24.com
|
|
echo.
|
|
echo A = All
|
|
echo S = Some
|
|
|
|
if /i "%MENU1%" NEQ "S" (echo N = None) & (goto:tinyskip)
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = None
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = None (or leave selection blank)
|
|
:tinyskip
|
|
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p MORE=Enter Selection Here:
|
|
set "MORE=%MORE:"=%"
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:miniskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%MORE%"=="" set MORE=N
|
|
:miniskip
|
|
|
|
if /i "%MORE%" EQU "M" goto:MENU
|
|
|
|
if /i "%MENU1%" EQU "S" goto:forsneeknand
|
|
if /i "%MORE%" EQU "B" goto:WPAGE4
|
|
if /i "%MORE%" EQU "N" goto:WPAGE13
|
|
|
|
:forsneeknand
|
|
if /i "%MORE%" NEQ "B" goto:notback
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:WPAGE20
|
|
if "%ThemeChoice%"=="" (goto:SNKPAGE4c) else (goto:WPAGE20)
|
|
:notback
|
|
|
|
|
|
if /i "%MORE%" EQU "A" set B4SNKCONFIRM=WPAGE5
|
|
if /i "%MORE%" EQU "N" set B4SNKCONFIRM=WPAGE5
|
|
if /i "%MORE%" EQU "N" goto:SNKNANDCONFIRM
|
|
|
|
if /i "%MORE%" EQU "S" goto:WPAGE6
|
|
if /i "%MORE%" EQU "A" goto:WPAGE6
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE5
|
|
|
|
|
|
|
|
|
|
::...................................Wizard Page6 - Photo Channel...............................
|
|
:WPAGE6
|
|
|
|
if /i "%MORE%" EQU "A" set PIC=Y
|
|
if /i "%MORE%" EQU "A" goto:WPAGE7
|
|
|
|
set PIC="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Install the Photo Channel (v1.1 including required HAZA dummy)?
|
|
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:skip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
findStr /C:"(HAYK)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Photo Channel 1.1 KOR (HAYK) Detected on EmuNAND Already
|
|
findStr /C:"(HAYA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Photo Channel 1.1 (HAYA) Detected on EmuNAND Already
|
|
findStr /C:"(HAZA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Photo Channel 1.1 (HAZA dummy) Detected on EmuNAND Already
|
|
:skip
|
|
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
if /i "%MENU1%" NEQ "S" (echo N = No) & (goto:tinyskip)
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
:tinyskip
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p PIC=Enter Selection Here:
|
|
set "PIC=%PIC:"=%"
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:miniskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%PIC%"=="" set PIC=N
|
|
:miniskip
|
|
|
|
if /i "%PIC%" EQU "Y" goto:WPAGE7
|
|
if /i "%PIC%" EQU "N" goto:WPAGE7
|
|
if /i "%PIC%" EQU "M" goto:MENU
|
|
if /i "%PIC%" EQU "B" goto:WPAGE5
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE6
|
|
|
|
|
|
|
|
::...................................Wizard Page7 - Internet?...............................
|
|
:WPAGE7
|
|
|
|
if /i "%REGIONTEMP%" EQU "K" goto:WPAGE10
|
|
|
|
if /i "%MORE%" EQU "A" set NET=Y
|
|
if /i "%MORE%" EQU "A" goto:WPAGE8
|
|
|
|
set NET="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Install the Internet Channel?
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:skip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
findStr /C:"(HADE)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Internet Channel USA (HADE) Detected on EmuNAND Already
|
|
findStr /C:"(HADP)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Internet Channel EUR (HADP) Detected on EmuNAND Already
|
|
findStr /C:"(HADJ)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Internet Channel JPN (HADJ) Detected on EmuNAND Already
|
|
:skip
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
if /i "%MENU1%" NEQ "S" (echo N = No) & (goto:tinyskip)
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
:tinyskip
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p NET=Enter Selection Here:
|
|
set "NET=%NET:"=%"
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:miniskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%NET%"=="" set NET=N
|
|
:miniskip
|
|
|
|
if /i "%NET%" EQU "Y" goto:WPAGE8
|
|
if /i "%NET%" EQU "N" goto:WPAGE8
|
|
if /i "%NET%" EQU "M" goto:MENU
|
|
if /i "%NET%" EQU "B" goto:WPAGE6
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE7
|
|
|
|
|
|
|
|
::...................................Wizard Page8 - Weather...............................
|
|
:WPAGE8
|
|
|
|
::disabled...
|
|
goto:WPAGE9
|
|
if /i "%MORE%" EQU "A" set Weather=Y
|
|
if /i "%MORE%" EQU "A" goto:WPAGE9
|
|
|
|
set Weather="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Install the Weather Channel?
|
|
echo.
|
|
echo.
|
|
echo Note: requires WiiLink to work
|
|
echo Check it out after finishing with ModMii at https://wiilink24.com
|
|
echo or download the WiiLink Patcher from ModMii's Download Page 5
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WEATHER=Enter Selection Here:
|
|
set "WEATHER=%WEATHER:"=%"
|
|
|
|
if /i "%WEATHER%" EQU "Y" goto:WPAGE9
|
|
if /i "%WEATHER%" EQU "N" goto:WPAGE9
|
|
if /i "%WEATHER%" EQU "M" goto:MENU
|
|
if /i "%WEATHER%" EQU "B" goto:WPAGE7
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE8
|
|
|
|
::...................................Wizard Page9 - NEWS...............................
|
|
:WPAGE9
|
|
::disabled...
|
|
goto:WPAGE10
|
|
if /i "%MORE%" EQU "A" set NEWS=Y
|
|
if /i "%MORE%" EQU "A" goto:WPAGE10
|
|
|
|
set NEWS="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Install the News Channel?
|
|
echo.
|
|
echo.
|
|
echo Note: requires WiiLink to work
|
|
echo Check it out after finishing with ModMii at https://wiilink24.com
|
|
echo or download the WiiLink Patcher from ModMii's Download Page 5
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p NEWS=Enter Selection Here:
|
|
set "NEWS=%NEWS:"=%"
|
|
|
|
if /i "%NEWS%" EQU "Y" goto:WPAGE10
|
|
if /i "%NEWS%" EQU "N" goto:WPAGE10
|
|
if /i "%NEWS%" EQU "M" goto:MENU
|
|
if /i "%NEWS%" EQU "B" goto:WPAGE8
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE9
|
|
|
|
::...................................Wizard Page10 - Mii...............................
|
|
:WPAGE10
|
|
|
|
if /i "%MORE%" EQU "A" set MIIQ=Y
|
|
if /i "%MORE%" EQU "A" goto:WPAGE11
|
|
|
|
set MIIQ="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Install the Mii Channel?
|
|
if /i "%MENU1%" NEQ "S" goto:skip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
findStr /C:"(HACA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Mii Channel (HACA) Detected on EmuNAND Already
|
|
:skip
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
if /i "%MENU1%" NEQ "S" (echo N = No) & (goto:tinyskip)
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
:tinyskip
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p MIIQ=Enter Selection Here:
|
|
set "MIIQ=%MIIQ:"=%"
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:miniskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%MIIQ%"=="" set MIIQ=N
|
|
:miniskip
|
|
|
|
if /i "%MIIQ%" EQU "Y" goto:WPAGE11
|
|
if /i "%MIIQ%" EQU "N" goto:WPAGE11
|
|
if /i "%MIIQ%" EQU "M" goto:MENU
|
|
|
|
if /i "%REGIONTEMP%" EQU "K" goto:Koreanbacktophoto
|
|
::if /i "%MIIQ%" EQU "B" goto:WPAGE9
|
|
if /i "%MIIQ%" EQU "B" goto:WPAGE7
|
|
|
|
:Koreanbacktophoto
|
|
if /i "%MIIQ%" EQU "B" goto:WPAGE6
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE10
|
|
|
|
::...................................Wizard Page11 - Shop...............................
|
|
:WPAGE11
|
|
if /i "%MORE%" EQU "A" set Shop=Y
|
|
if /i "%MORE%" EQU "A" goto:WPAGE12
|
|
|
|
set Shop="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Install the Shopping Channel?
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:skip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
findStr /C:"(HABA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Wii Shop Channel (HABA) Detected on EmuNAND Already
|
|
findStr /C:"(HABK)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Wii Shop Channel KOR (HABK) Detected on EmuNAND Already
|
|
:skip
|
|
|
|
echo.
|
|
echo.
|
|
echo Note: this can only re-download content you have already purchased
|
|
echo.
|
|
echo Note: IOS56 will also be downloaded
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
if /i "%MENU1%" NEQ "S" (echo N = No) & (goto:tinyskip)
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
:tinyskip
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p SHOP=Enter Selection Here:
|
|
set "SHOP=%SHOP:"=%"
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:miniskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%SHOP%"=="" set SHOP=N
|
|
:miniskip
|
|
|
|
if /i "%Shop%" EQU "Y" goto:WPAGE12
|
|
if /i "%Shop%" EQU "N" goto:WPAGE12
|
|
if /i "%Shop%" EQU "M" goto:MENU
|
|
if /i "%Shop%" EQU "B" goto:WPAGE10
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE11
|
|
|
|
|
|
::...................................Wizard Page12 - Speak...............................
|
|
:WPAGE12
|
|
::disabled...
|
|
goto:WPAGE13
|
|
if /i "%REGIONTEMP%" EQU "K" goto:WPAGE13
|
|
|
|
if /i "%MORE%" EQU "A" set Speak=Y
|
|
if /i "%MORE%" EQU "A" goto:WPAGE13
|
|
|
|
set Speak="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Install the Wii Speak Channel?
|
|
echo.
|
|
echo.
|
|
echo Note: requires WiiLink and Wiimmfi to work
|
|
echo Check them out after finishing with ModMii at https://wiilink24.com
|
|
echo or download the WiiLink Patcher from ModMii's Download Page 5
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p Speak=Enter Selection Here:
|
|
set "Speak=%Speak:"=%"
|
|
|
|
if /i "%Speak%" EQU "Y" goto:WPAGE13
|
|
if /i "%Speak%" EQU "N" goto:WPAGE13
|
|
if /i "%Speak%" EQU "M" goto:MENU
|
|
if /i "%Speak%" EQU "B" goto:WPAGE11
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE12
|
|
|
|
|
|
|
|
::...................................Wizard Page13 - MORE Advanced Channels?...............................
|
|
:WPAGE13
|
|
if /i "%VIRGIN%" EQU "Y" goto:WPAGE20
|
|
::if /i "%MENU1%" EQU "S" set B4SNKCONFIRM=WPAGE12
|
|
if /i "%MENU1%" EQU "S" set B4SNKCONFIRM=WPAGE11
|
|
if /i "%MORE%" EQU "A" set B4SNKCONFIRM=WPAGE5
|
|
if /i "%MENU1%" EQU "S" goto:SNKNANDCONFIRM
|
|
|
|
set Advanced="
|
|
set HMInstaller=
|
|
set RECCIOS=
|
|
set PRIQ=
|
|
set ThemeSelection=N
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to install and\or update any of the following:
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo * Homebrew Channel and\or Bootmii
|
|
echo.
|
|
|
|
if /i "%CMIOSOPTION%" EQU "on" (echo * Recommended cIOSs and cMIOS) else (echo * Recommended cIOSs)
|
|
|
|
|
|
echo.
|
|
echo * Priiloader (or system menu hacks)
|
|
echo.
|
|
echo * A System Menu Theme
|
|
echo.
|
|
echo * USB-Loader
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p Advanced=Enter Selection Here:
|
|
set "Advanced=%Advanced:"=%"
|
|
|
|
if /i "%Advanced%" EQU "M" goto:MENU
|
|
|
|
if /i "%MORE%" EQU "N" goto:BACK2MORE
|
|
if /i "%MORE%" EQU "A" goto:BACK2MORE
|
|
|
|
if /i "%REGIONTEMP%" EQU "K" goto:BACK2WPAGE11
|
|
if /i "%Advanced%" EQU "B" goto:WPAGE5
|
|
|
|
:BACK2MORE
|
|
if /i "%Advanced%" EQU "B" goto:WPAGE5
|
|
|
|
:BACK2WPAGE11
|
|
if /i "%Advanced%" EQU "B" goto:WPAGE11
|
|
|
|
if /i "%Advanced%" EQU "Y" goto:WPAGE13B
|
|
if /i "%Advanced%" EQU "N" goto:WPAGELAST
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE13
|
|
|
|
|
|
::...................................Wizard Page13B - HAckMii Installer...............................
|
|
:WPAGE13B
|
|
|
|
|
|
set HMInstaller="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to install and\or update the Homebrew Channel and\or Bootmii?
|
|
echo.
|
|
echo Note: This will download the HackMii Installer and IOS58
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter "Help" for an instructional video on checking your HBC version.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p HMInstaller=Enter Selection Here:
|
|
set "HMInstaller=%HMInstaller:"=%"
|
|
|
|
if /i "%HMInstaller%" EQU "Y" goto:WPAGE14
|
|
if /i "%HMInstaller%" EQU "N" goto:WPAGE14
|
|
if /i "%HMInstaller%" EQU "M" goto:MENU
|
|
if /i "%HMInstaller%" EQU "B" goto:WPAGE13
|
|
|
|
|
|
if /i "%HMInstaller%" NEQ "Help" goto:nohelp
|
|
start https://www.youtube.com/embed/EaoCGT2pOx0
|
|
|
|
goto:WPAGE13B
|
|
:nohelp
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE13B
|
|
|
|
|
|
::...................................Wizard Page14 - cIOSs and cMIOSs...............................
|
|
:WPAGE14
|
|
set RECCIOS="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%CMIOSOPTION%" EQU "on" (echo Would you like to update to the following recommended cIOSs and cMIOS?) else (echo Would you like to update to the following recommended cIOSs?)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if /i "%hermesOPTION%" EQU "off" goto:smallskip
|
|
echo *cIOS202[60]-v5.1R.wad
|
|
echo.
|
|
echo *cIOS222[38]-v4.wad
|
|
echo.
|
|
echo *cIOS223[37-38]-v4.wad
|
|
echo.
|
|
echo *cIOS224[57]-v5.1R.wad
|
|
echo.
|
|
:smallskip
|
|
echo *cIOS248[38]-d2x-v%d2x-beta-rev%.wad
|
|
echo.
|
|
echo *cIOS249[56]-d2x-v%d2x-beta-rev%.wad
|
|
echo.
|
|
echo *cIOS250[57]-d2x-v%d2x-beta-rev%.wad
|
|
echo.
|
|
echo *cIOS251[58]-d2x-v%d2x-beta-rev%.wad
|
|
echo.
|
|
::if /i "%CMIOSOPTION%" NEQ "off" echo *RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2.wad
|
|
if /i "%CMIOSOPTION%" NEQ "off" echo *RVL-cMIOS[10]_Swiss_r1788.wad
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p RECCIOS=Enter Selection Here:
|
|
set "RECCIOS=%RECCIOS:"=%"
|
|
|
|
if /i "%RECCIOS%" EQU "Y" goto:WPAGE19
|
|
if /i "%RECCIOS%" EQU "N" goto:WPAGE19
|
|
if /i "%RECCIOS%" EQU "M" goto:MENU
|
|
|
|
|
|
if /i "%RECCIOS%" EQU "B" goto:WPAGE13B
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE14
|
|
|
|
::...................................Wizard Pages 15-18 removed...............................
|
|
|
|
|
|
|
|
::...................................Wizard Page19 - Priiloader...............................
|
|
:WPAGE19
|
|
set PRIQ="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to install and\or update Priiloader (or system menu hacks)?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
set /p PRIQ=Enter Selection Here:
|
|
set "PRIQ=%PRIQ:"=%"
|
|
|
|
if /i "%PRIQ%" EQU "Y" goto:WPAGE20
|
|
if /i "%PRIQ%" EQU "N" goto:WPAGE20
|
|
if /i "%PRIQ%" EQU "M" goto:MENU
|
|
|
|
if /i "%PRIQ%" EQU "B" goto:WPAGE14
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE19
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................Wizard Page20 - Theme Selection...............................
|
|
:WPAGE20
|
|
set ThemeSelection=
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:nocheck
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:nocheck
|
|
if "%ThemeChoice%"=="" goto:WPAGE5
|
|
:nocheck
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:quickskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" (echo EMULATED NAND BUILDER) & (echo.) & (echo.) & (goto:quickskip)
|
|
|
|
echo EMULATED NAND MODIFIER
|
|
echo.
|
|
if "%SNKVERSION%"=="" (echo Unable to Determine EmuNAND System Menu Version) & (goto:quickskip)
|
|
if /i "%SNKVERSION%" EQU "V" echo Detected EmuNAND Type: vWii 4.3%SNKREGION%
|
|
if /i "%SNKVERSION%" NEQ "V" echo Detected EmuNAND Type: Wii %SNKVERSION%%SNKREGION%
|
|
echo.
|
|
echo.
|
|
:quickskip
|
|
|
|
if /i "%ctype%" NEQ "WiiU" (echo Would you like to install a custom Wii theme?) & (goto:skip)
|
|
|
|
echo Would you like to install a custom vWii theme or fix* the aspect ratio for the
|
|
echo Everybody Votes and Check Mii Out channels?
|
|
echo.
|
|
echo *43DB fixes included in all vWii themes built by ModMii, including the boring
|
|
echo Default, and any csm's built by user provided *.mym themes
|
|
:skip
|
|
|
|
echo.
|
|
echo.
|
|
echo WWW = View All Available Themes on Youtube
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20CE = Channel Effect* for custom system menu themes: [%cyantext%]%effect%
|
|
echo * Choose from 3 effects: No-Spin, Spin and Fast-Spin
|
|
if /i "%SNEEKSELECT%" EQU "5" echo * Channel Effects also get applied to user provided mym's, but not csm's
|
|
echo.
|
|
echo.
|
|
if /i "%MENU1%" EQU "RC" (echo N = No, I want the same old boring default System Menu) & (goto:tinyskip)
|
|
|
|
if /i "%MENU1%" NEQ "S" (echo N = No, do not change the theme) & (goto:tinyskip)
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No, do not change the theme
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No, do not change the theme (or leave selection blank)
|
|
echo.
|
|
echo mym ^| csm = Apply theme from any mym or csm file for your System Menu version
|
|
echo * Enter the path to any mym or csm file you'd like to use and hit Enter
|
|
if /i "%adminmode%" EQU "N" echo * You can drop the file onto this window instead of typing it
|
|
echo * Channel Effects also get applied to user provided mym's, but not csm's
|
|
echo * If a theme causes issues change it using ModMii's EmuNAND Modifer
|
|
:tinyskip
|
|
echo.
|
|
echo R = DarkWii Red Theme - %effect%
|
|
echo.
|
|
echo G = DarkWii Green Theme - %effect%
|
|
echo.
|
|
echo BL = DarkWii Blue Theme - %effect%
|
|
echo.
|
|
echo O = DarkWii Orange Theme - %effect%
|
|
echo.
|
|
if /i "%ctype:~0,3%" EQU "Wii" echo D = Default theme, select to restore the original theme
|
|
if /i "%ctype%" EQU "WiiU" echo and fix the aspect ratio used in a couple channels
|
|
if /i "%SNEEKSELECT%" EQU "5" echo D = Default Theme (restore original theme to the Emulated NAND)
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
if "%ThemeSelection%"=="" set ThemeSelection="
|
|
set /p ThemeSelection=Enter Selection Here:
|
|
set "ThemeSelection=%ThemeSelection:"=%"
|
|
|
|
if /i "%MENU1%" NEQ "S" goto:miniskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%ThemeSelection%"=="" set ThemeSelection=N
|
|
:miniskip
|
|
|
|
if /i "%ThemeSelection%" EQU "M" goto:MENU
|
|
|
|
|
|
if /i "%ThemeSelection%" NEQ "WWW" goto:novid
|
|
start https://modmii.github.io/WiiThemes.html
|
|
goto:WPAGE20
|
|
:novid
|
|
|
|
|
|
if /i "%ThemeSelection%" EQU "CE" goto:OptionCEwizard
|
|
|
|
|
|
if /i "%MENU1%" NEQ "RC" goto:notRC
|
|
set BACKB4DRIVE=WPAGE20
|
|
if /i "%ThemeSelection%" EQU "R" goto:DriveChange
|
|
if /i "%ThemeSelection%" EQU "G" goto:DriveChange
|
|
if /i "%ThemeSelection%" EQU "BL" goto:DriveChange
|
|
if /i "%ThemeSelection%" EQU "O" goto:DriveChange
|
|
if /i "%ThemeSelection%" EQU "N" goto:DriveChange
|
|
if /i "%ThemeSelection%" EQU "B" goto:WPAGE4
|
|
if /i "%ThemeSelection%" EQU "D" goto:badkey
|
|
:notRC
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:vWii
|
|
if /i "%FIRMSTART%" EQU "v" goto:vWii
|
|
goto:notvWii
|
|
:vWii
|
|
if /i "%ThemeSelection%" EQU "R" goto:WPAGE3
|
|
if /i "%ThemeSelection%" EQU "G" goto:WPAGE3
|
|
if /i "%ThemeSelection%" EQU "BL" goto:WPAGE3
|
|
if /i "%ThemeSelection%" EQU "O" goto:WPAGE3
|
|
if /i "%ThemeSelection%" EQU "N" goto:WPAGE3
|
|
if /i "%ThemeSelection%" EQU "D" goto:WPAGE3
|
|
if /i "%ThemeSelection%" EQU "B" goto:WPAGE0
|
|
:notvWii
|
|
|
|
|
|
|
|
if /i "%MENU1%" EQU "S" goto:forsneeknand
|
|
if /i "%ThemeSelection%" EQU "R" goto:WPAGE21
|
|
if /i "%ThemeSelection%" EQU "G" goto:WPAGE21
|
|
if /i "%ThemeSelection%" EQU "BL" goto:WPAGE21
|
|
if /i "%ThemeSelection%" EQU "O" goto:WPAGE21
|
|
if /i "%ThemeSelection%" EQU "N" goto:WPAGE21
|
|
if /i "%ThemeSelection%" EQU "D" goto:WPAGE21
|
|
|
|
:forsneeknand
|
|
::if /i "%SNEEKSELECT%" EQU "5" goto:quickskip
|
|
if /i "%MENU1%" NEQ "S" goto:quickskip
|
|
if /i "%ThemeSelection%" EQU "B" goto:SNKPAGE5
|
|
|
|
::support for custom mym and csm files for EmuNAND only
|
|
::if /i "%SNEEKSELECT%" NEQ "5" goto:quickskip
|
|
if not exist "%ThemeSelection%" goto:quickskip
|
|
if /i "%ThemeSelection:~1,1%" NEQ ":" set "ThemeSelection=%cd%\%ThemeSelection%"
|
|
if /i "%ThemeSelection:~-4%" EQU ".csm" goto:WPAGE5
|
|
if /i "%ThemeSelection:~-4%" EQU ".mym" goto:WPAGE5
|
|
:quickskip
|
|
|
|
if /i "%ThemeSelection%" EQU "R" goto:WPAGE5
|
|
if /i "%ThemeSelection%" EQU "G" goto:WPAGE5
|
|
if /i "%ThemeSelection%" EQU "BL" goto:WPAGE5
|
|
if /i "%ThemeSelection%" EQU "O" goto:WPAGE5
|
|
if /i "%ThemeSelection%" EQU "N" goto:WPAGE5
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if /i "%ThemeSelection%" EQU "D" goto:WPAGE5
|
|
if /i "%ThemeSelection%" EQU "B" goto:SNKPAGE4c
|
|
:miniskip
|
|
|
|
|
|
if /i "%Advanced%" EQU "Y" goto:Back2PRI
|
|
if /i "%Advanced%" EQU "N" goto:Back2Advanced2
|
|
if /i "%MORE%" EQU "N" goto:Back2MORE2
|
|
if /i "%MORE%" EQU "A" goto:Back2MORE2
|
|
if /i "%REGIONTEMP%" EQU "K" goto:Back2SHOP2
|
|
if /i "%MORE%" EQU "S" goto:Back2Speak2
|
|
|
|
|
|
:BACK2PRI
|
|
if /i "%ThemeSelection%" EQU "B" goto:WPAGE19
|
|
|
|
:BACK2ADVANCED2
|
|
if /i "%ThemeSelection%" EQU "B" goto:WPAGE13
|
|
|
|
:BACK2SPEAK2
|
|
::if /i "%ThemeSelection%" EQU "B" goto:WPAGE12
|
|
if /i "%ThemeSelection%" EQU "B" goto:WPAGE11
|
|
|
|
:Back2SHOP2
|
|
if /i "%ThemeSelection%" EQU "B" goto:WPAGE11
|
|
|
|
:BACK2MORE2
|
|
if /i "%ThemeSelection%" EQU "B" goto:WPAGE5
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE20
|
|
|
|
:OptionCEwizard
|
|
if /i "%effect%" EQU "No-Spin" (set effect=Spin) & (support\sfk filter Support\settings.bat -ls!"Set effect=" -write -yes>nul) & (echo Set effect=Spin>>Support\settings.bat) & (goto:WPAGE20)
|
|
if /i "%effect%" EQU "Spin" (set effect=Fast-Spin) & (support\sfk filter Support\settings.bat -ls!"Set effect=" -write -yes>nul) & (echo Set effect=Fast-Spin>>Support\settings.bat) & (goto:WPAGE20)
|
|
if /i "%effect%" EQU "Fast-Spin" (set effect=No-Spin) & (support\sfk filter Support\settings.bat -ls!"Set effect=" -write -yes>nul) & (echo Set effect=No-Spin>>Support\settings.bat) & (goto:WPAGE20)
|
|
|
|
::...................................Wizard Page21 - USB Loader Setup Q...............................
|
|
:WPAGE21
|
|
set USBGUIDE="
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to set up a USB-Loader now?
|
|
echo.
|
|
echo.
|
|
echo Notes
|
|
echo =====
|
|
echo.
|
|
echo * USB-Loaders allow the Wii to play games off a USB Hard Drive or SD Card.
|
|
echo.
|
|
echo * This step can always be done by itself later on from ModMii's Main Menu.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo N = No
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p USBGUIDE=Enter Selection Here:
|
|
set "USBGUIDE=%USBGUIDE:"=%"
|
|
|
|
if /i "%USBGUIDE%" EQU "M" goto:MENU
|
|
|
|
if /i "%USBGUIDE%" NEQ "B" goto:notback
|
|
if /i "%FIRMSTART%" EQU "U2" goto:WPAGE3
|
|
if /i "%FIRMSTART%" EQU "V" goto:WPAGE3Cv
|
|
goto:WPAGE20
|
|
:notback
|
|
|
|
if /i "%USBGUIDE%" EQU "Y" goto:UPAGE1b
|
|
if /i "%USBGUIDE%" EQU "N" goto:WPAGELAST
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGE21
|
|
|
|
|
|
::...................................Wizard Last Page - Confirmation...............................
|
|
:WPAGELAST
|
|
|
|
set WLAST="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Are these settings correct?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%FIRMSTART%" EQU "U" (echo * Install and\or update all recommended softmods for WiiU) & (goto:skipusb)
|
|
if /i "%FIRMSTART%" EQU "U2" (echo * Install and\or update all recommended softmods for WiiU and vWii) & (goto:moreinfo)
|
|
if /i "%FIRMSTART%" EQU "V" (echo * Install and\or update all recommended softmods for vWii) & (goto:moreinfo)
|
|
goto:wiiinfo
|
|
:moreinfo
|
|
if not "%REGION%"=="" echo * Console Region is %REGION%
|
|
if /i "%FIRMSTART%" EQU "V" goto:listexploits
|
|
goto:themeconfirm
|
|
:wiiinfo
|
|
|
|
|
|
echo * The console is a Wii
|
|
if /i "%VIRGIN%" EQU "Y" echo * Install and\or update all recommended softmods
|
|
if /i "%FIRMSTART%" NEQ "o" echo * Current System Menu is %FIRMSTART%%REGION%
|
|
if /i "%FIRMSTART%" EQU "o" echo * Current System Menu is less than 2.2%REGION%
|
|
|
|
echo * Desired System Menu is %FIRM%%REGION%
|
|
|
|
:listexploits
|
|
if /i "%EXPLOIT%" EQU "BE" echo * Browser Exploit selected
|
|
if /i "%EXPLOIT%" EQU "S" echo * Super Smash Brothers Brawl exploit selected
|
|
if /i "%EXPLOIT%" EQU "L" echo * LEGO Indiana Jones exploit selected
|
|
if /i "%EXPLOIT%" EQU "Y" echo * Yu-Gi-Oh! 5D's exploit selected
|
|
if /i "%EXPLOIT%" EQU "LB" echo * LEGO Batman exploit selected
|
|
if /i "%EXPLOIT%" EQU "LS" echo * LEGO Star Wars exploit selected
|
|
if /i "%EXPLOIT%" EQU "TOS" echo * Tales of Symphonia Dawn of the New World exploit selected
|
|
if /i "%EXPLOIT%" EQU "T" echo * Twilight Princess: The Legend of Zelda exploit selected
|
|
if /i "%EXPLOIT%" EQU "W" echo * Wilbrand\LetterBomb exploit selected
|
|
if /i "%EXPLOIT%" EQU "X" echo * str2hax exploit selected
|
|
if /i "%EXPLOIT%" EQU "?" echo * Download all available exploits and choose one later
|
|
if /i "%FIRMSTART%" EQU "V" goto:themeconfirm
|
|
|
|
if /i "%macaddress%" EQU "S" goto:skip
|
|
if not "%macaddress%"=="" (echo.) & (echo * MAC Address: %macaddress%)
|
|
:skip
|
|
|
|
echo.
|
|
if /i "%PIC%" EQU "Y" echo * Install the Photo Channel
|
|
if /i "%NET%" EQU "Y" echo * Install the Internet Channel
|
|
if /i "%WEATHER%" EQU "Y" echo * Install the Weather Channel
|
|
if /i "%NEWS%" EQU "Y" echo * Install the News Channel
|
|
if /i "%MIIQ%" EQU "Y" echo * Install the Mii Channel
|
|
if /i "%Shop%" EQU "Y" echo * Install the Shopping Channel (and IOS56)
|
|
if /i "%Speak%" EQU "Y" echo * Install the Wii Speak Channel
|
|
echo.
|
|
|
|
if /i "%HMInstaller%" EQU "Y" echo * Install and\or update the Homebrew Channel and Bootmii
|
|
|
|
|
|
if /i "%RECCIOS%" NEQ "Y" goto:smallskip
|
|
if /i "%CMIOSOPTION%" EQU "on" (echo * Install and\or update recommended cIOSs and cMIOS) else (echo * Install and\or update recommended cIOSs)
|
|
:smallskip
|
|
|
|
|
|
|
|
if /i "%PRIQ%" EQU "Y" echo * Install and\or update Priiloader
|
|
:themeconfirm
|
|
if /i "%ThemeSelection%" EQU "R" echo * Install Dark Wii Red Theme
|
|
if /i "%ThemeSelection%" EQU "G" echo * Install Dark Wii Green Theme
|
|
if /i "%ThemeSelection%" EQU "BL" echo * Install Dark Wii Blue Theme
|
|
if /i "%ThemeSelection%" EQU "O" echo * Install Dark Wii Orange Theme
|
|
if /i "%ThemeSelection%" EQU "D" echo * Install Default Wii Theme
|
|
::---------
|
|
:usbConfirm
|
|
if /i "%USBGUIDE%" NEQ "Y" goto:skipusb
|
|
echo.
|
|
if /i "%LOADER%" EQU "CFG" echo * Download Configurable USB-Loader
|
|
if /i "%LOADER%" EQU "FLOW" echo * Download WiiFlow
|
|
if /i "%LOADER%" EQU "GX" echo * Download USB-Loader GX
|
|
if /i "%LOADER%" EQU "ALL" echo * Download all USB-Loaders available in ModMii
|
|
if /i "%USBCONFIG%" EQU "USB" echo * USB-Loader Settings and config files saved to USB Hard Drive
|
|
if /i "%USBCONFIG%" NEQ "USB" echo * USB-Loader Settings and config files saved to SD Card
|
|
|
|
|
|
:skipusb
|
|
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
::if /i "%LoadWizSettings%" EQU "Y" goto:skip
|
|
echo S = Save Wizard Settings For Future Use
|
|
if exist Wizard_Settings.bat echo Existing Wizard_Settings.bat will be renamed
|
|
echo.
|
|
:::skip
|
|
echo Y = Yes
|
|
::echo N = No \ Main Menu
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WLAST=Enter Selection Here:
|
|
set "WLAST=%WLAST:"=%"
|
|
|
|
::if /i "%LoadWizSettings%" EQU "Y" goto:skip
|
|
if /i "%WLAST%" EQU "S" goto:SaveWizardSettings
|
|
|
|
|
|
if /i "%WLAST%" NEQ "Y" goto:skip
|
|
::if vwii mods, check if d2x is disabled and revert to default
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:docheck
|
|
if /i "%FIRMSTART%" EQU "V" goto:docheck
|
|
goto:skipcheck
|
|
:docheck
|
|
|
|
|
|
|
|
if not exist "Support\d2x-beta\" goto:skipcheck
|
|
if not exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:switch
|
|
|
|
::check ciosmaps_vWii.xml for 'base ios="38"'
|
|
findStr /I /C:"base ios=\"38\"" "Support\d2x-beta\ciosmaps_vWii.xml" >nul
|
|
IF NOT ERRORLEVEL 1 goto:skipcheck
|
|
|
|
|
|
::need to switch d2x version
|
|
:switch
|
|
|
|
|
|
echo.
|
|
|
|
if "%RecD2XcIOS%"=="" goto:Defaultd2x
|
|
|
|
::recommended d2x
|
|
echo Warning! d2x-v%d2x-beta-rev% is not fully supported for vWii, switching to recommended d2x version (v%RecD2XcIOS:~5%), this can be changed again later in the Options menu
|
|
echo.
|
|
pause
|
|
|
|
if /i "%d2x-bundled%" EQU "%RecD2XcIOS:~5%" goto:clearD2X
|
|
echo.
|
|
|
|
::download and extract recommended d2x beta
|
|
echo Enabling %RecD2XcIOS%...
|
|
echo.
|
|
|
|
if exist "support\More-cIOSs\%RecD2XcIOS%\d2x-beta.bat" goto:pickup
|
|
|
|
support\wget --output-document %RecD2XcIOS%.zip --no-check-certificate -t 3 "https://github.com/modmii/modmii.github.io/blob/master/temp/d2x/%RecD2XcIOS%.7z?raw=true" -q --show-progress
|
|
echo.
|
|
|
|
::delete if file is empty
|
|
>nul findstr "^" "%RecD2XcIOS%.zip" || del "%RecD2XcIOS%.zip"
|
|
|
|
if not exist "%RecD2XcIOS%.zip" (echo Failed to download %RecD2XcIOS%, reverting to bundled v%d2x-bundled% instead...) & (goto:clearD2X)
|
|
if not exist "support\More-cIOSs\%RecD2XcIOS%" mkdir "support\More-cIOSs\%RecD2XcIOS%"
|
|
support\7za e -aoa "%RecD2XcIOS%.zip" -o"support\More-cIOSs\%RecD2XcIOS%" *.* -r
|
|
del "%RecD2XcIOS%.zip">nul
|
|
if not exist "support\More-cIOSs\%RecD2XcIOS%\d2x-beta.bat" (rd /s /q "support\More-cIOSs\%RecD2XcIOS%") & (echo Failed to download %RecD2XcIOS%, reverting to bundled v%d2x-bundled% instead...) & (goto:clearD2X)
|
|
|
|
:pickup
|
|
if exist support\d2x-beta rd /s /q support\d2x-beta
|
|
mkdir support\d2x-beta
|
|
copy /y "support\More-cIOSs\%RecD2XcIOS%\*" "support\d2x-beta">nul
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
echo.
|
|
if /i "%d2x-beta-rev%" NEQ "%RecD2XcIOS:~5%" (echo Failed to download %RecD2XcIOS%, reverting to bundled v%d2x-bundled% instead...) & (goto:clearD2X)
|
|
|
|
echo.
|
|
goto:skipcheck
|
|
|
|
|
|
|
|
|
|
:Defaultd2x
|
|
echo Warning! d2x-v%d2x-beta-rev% is not fully supported for vWii, reverting to default d2x version (v%d2x-bundled%), this can be changed again later in the Options menu
|
|
echo.
|
|
pause
|
|
:clearD2X
|
|
echo.
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
rd /s /q support\d2x-beta
|
|
:skipcheck
|
|
|
|
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "U" goto:nod2xcheck
|
|
call support\subscripts\defaultd2x.bat
|
|
:nod2xcheck
|
|
|
|
set BACKB4DRIVE=WPAGELAST
|
|
goto:DriveChange
|
|
:skip
|
|
|
|
|
|
|
|
::if /i "%WLAST%" EQU "N" goto:Menu
|
|
if /i "%WLAST%" EQU "M" goto:MENU
|
|
|
|
|
|
|
|
|
|
if /i "%Advanced%" EQU "N" goto:Back2Advanced
|
|
if /i "%Advanced%" EQU "Y" goto:Back2USB
|
|
if /i "%MORE%" EQU "N" goto:Back2USB
|
|
if /i "%MORE%" EQU "S" goto:Back2USB
|
|
if /i "%USBGUIDE%" EQU "Y" goto:backtoUpage2
|
|
if /i "%FIRMSTART%" EQU "U" goto:BACK2WIIU
|
|
if /i "%USBGUIDE%" EQU "N" goto:Back2USB
|
|
|
|
:BACK2WIIU
|
|
if /i "%WLAST%" EQU "B" goto:WPAGE0
|
|
|
|
:BACK2ADVANCED
|
|
if /i "%WLAST%" EQU "B" goto:WPAGE13
|
|
|
|
:BACK2SPEAK
|
|
if /i "%WLAST%" EQU "B" goto:WPAGE12
|
|
|
|
:Back2USB
|
|
if /i "%WLAST%" EQU "B" goto:WPAGE21
|
|
|
|
:backtoUpage2
|
|
if /i "%WLAST%" EQU "B" goto:UPAGE2
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WPAGELAST
|
|
|
|
|
|
|
|
::-------------Save Wizard Settings:-------------------
|
|
:SaveWizardSettings
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
|
|
set countwiz=0
|
|
|
|
:renameWIZARDsettings
|
|
if not exist Wizard_Settings.bat goto:skip
|
|
SET /a countwiz=%countwiz%+1
|
|
if exist Wizard_Settings%countwiz%.bat goto:renameWIZARDsettings
|
|
move Wizard_Settings.bat Wizard_Settings%countwiz%.bat
|
|
:skip
|
|
|
|
|
|
echo ::ModMii v%currentversion% - Wizard Settings - %DATE% - %TIME% >> Wizard_Settings.bat
|
|
echo set VIRGIN=%VIRGIN%>> Wizard_Settings.bat
|
|
echo set REGION=%REGION%>> Wizard_Settings.bat
|
|
echo set FIRMSTART=%FIRMSTART%>> Wizard_Settings.bat
|
|
echo set FIRM=%FIRM%>> Wizard_Settings.bat
|
|
echo set PIC=%PIC%>> Wizard_Settings.bat
|
|
echo set NET=%NET%>> Wizard_Settings.bat
|
|
echo set WEATHER=%WEATHER%>> Wizard_Settings.bat
|
|
echo set NEWS=%NEWS%>> Wizard_Settings.bat
|
|
echo set MIIQ=%MIIQ%>> Wizard_Settings.bat
|
|
echo set Shop=%Shop%>> Wizard_Settings.bat
|
|
echo set Speak=%Speak%>> Wizard_Settings.bat
|
|
echo set HMInstaller=%HMInstaller%>> Wizard_Settings.bat
|
|
echo set PRIQ=%PRIQ%>> Wizard_Settings.bat
|
|
echo set ThemeSelection=%ThemeSelection%>> Wizard_Settings.bat
|
|
echo set EXPLOIT=%EXPLOIT%>> Wizard_Settings.bat
|
|
echo set MORE=%MORE%>> Wizard_Settings.bat
|
|
echo set ADVANCED=%ADVANCED%>> Wizard_Settings.bat
|
|
echo set UpdatesIOSQ=%UpdatesIOSQ%>> Wizard_Settings.bat
|
|
echo set RECCIOS=%RECCIOS%>> Wizard_Settings.bat
|
|
echo set USBGUIDE=%USBGUIDE%>> Wizard_Settings.bat
|
|
echo set LOADER=%LOADER%>> Wizard_Settings.bat
|
|
echo set USBCONFIG=%USBCONFIG%>> Wizard_Settings.bat
|
|
echo set macaddress=%macaddress%>> Wizard_Settings.bat
|
|
|
|
|
|
if exist Wizard_Settings.bat echo Wizard Settings Saved.
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
goto:WPAGELAST
|
|
|
|
|
|
::...................................USB-Loader Setup Page1b - Loader?...............................
|
|
:UPAGE1b
|
|
set LOADER="
|
|
set usbfolder=
|
|
set FLOW=
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo What USB-Loader would you like to use?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] 1 = USB-Loader GX (RECOMMENDED)
|
|
echo.
|
|
echo 2 = Configurable USB-Loader
|
|
echo.
|
|
echo 3 = WiiFlow
|
|
echo.
|
|
echo 4 = All of the above
|
|
echo.
|
|
echo.
|
|
echo Note: The "Nintendont" Gamecube plugin is supported by all of these
|
|
echo loaders and will also be downloaded.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p LOADER=Enter Selection Here:
|
|
set "LOADER=%LOADER:"=%"
|
|
|
|
if /i "%LOADER%" EQU "M" goto:MENU
|
|
|
|
if /i "%MENU1%" EQU "W" goto:skip
|
|
if /i "%LOADER%" EQU "B" goto:MENU
|
|
:skip
|
|
if /i "%LOADER%" EQU "B" goto:WPAGE21
|
|
|
|
|
|
set f32=*
|
|
set wbm=*
|
|
set nintendont=*
|
|
set CleanRip=*
|
|
set GCBM=*
|
|
set Nkit=*
|
|
|
|
if /i "%LOADER%" EQU "1" (set LOADER=GX) & (set usbgx=*) & (goto:UPAGE2)
|
|
if /i "%LOADER%" EQU "2" (set LOADER=CFG) & (set usbfolder=*) & (goto:UPAGE2)
|
|
if /i "%LOADER%" EQU "3" (set LOADER=FLOW) & (set FLOW=*) & (goto:UPAGE2)
|
|
if /i "%LOADER%" EQU "4" (set LOADER=ALL) & (set usbgx=*) & (set FLOW=*) & (set usbfolder=*) & (goto:UPAGE2)
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:UPAGE1b
|
|
|
|
|
|
|
|
::...................................USB-Loader Setup Page2 - Config on USB vs SD?...............................
|
|
:UPAGE2
|
|
set USBCONFIG="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Where would you like to save your USB-Loader app, games and covers?
|
|
echo.
|
|
echo.
|
|
echo USB = USB (Files saved to "%DRIVEU%")
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 [%greentext%] Pros:[def] *SD Card not required to launch USB-Loader
|
|
echo *USB-Loader files and games can take up a relatively small
|
|
echo amount of larger USB Hard Drives
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 [%redtext%] Cons:[def] *Cannot launch the USB-Loader without USB Hard Drive
|
|
echo *Slightly slower loading time (almost negligible)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo SD = SD (Files saved to "%DRIVE%")
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 [%greentext%] Pros:[def] *USB Hard Drive not required to launch USB-Loader
|
|
echo *Slightly faster loading time (almost negligible)
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 [%redtext%] Cons:[def] *Cannot launch the USB-Loader without SD Card
|
|
echo *USB-Loader files and games can take up a relatively large
|
|
echo amount of smaller SD Cards
|
|
echo.
|
|
echo.
|
|
echo Note: USB-Loaders can detect games on SD and USB if you want to use both
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p USBCONFIG=Enter Selection Here:
|
|
set "USBCONFIG=%USBCONFIG:"=%"
|
|
|
|
if /i "%USBCONFIG%" EQU "B" goto:UPAGE1b
|
|
if /i "%USBCONFIG%" EQU "M" goto:MENU
|
|
|
|
|
|
::if using wizard+usb-loader setup, set up both drive letters
|
|
if /i "%MENU1%" NEQ "W" goto:skip
|
|
if /i "%USBCONFIG%" EQU "USB" set BACKB4DRIVE=WPAGELAST
|
|
if /i "%USBCONFIG%" EQU "USB" set BACKB4DRIVEU=DRIVECHANGE
|
|
if /i "%USBCONFIG%" EQU "USB" goto:WPAGELAST
|
|
|
|
if /i "%USBCONFIG%" EQU "SD" call Support\settings.bat
|
|
if /i "%USBCONFIG%" EQU "SD" set BACKB4DRIVE=UPAGE2
|
|
if /i "%USBCONFIG%" EQU "SD" goto:WPAGELAST
|
|
:skip
|
|
|
|
if /i "%USBCONFIG%" EQU "USB" set "DRIVETEMP=%DRIVE%"
|
|
if /i "%USBCONFIG%" EQU "USB" set BACKB4DRIVEU=UPAGE2
|
|
if /i "%USBCONFIG%" EQU "USB" goto:DRIVEUCHANGE
|
|
|
|
|
|
if /i "%USBCONFIG%" EQU "SD" call Support\settings.bat
|
|
if /i "%USBCONFIG%" EQU "SD" set BACKB4DRIVE=UPAGE2
|
|
if /i "%USBCONFIG%" EQU "SD" goto:DriveChange
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:UPAGE2
|
|
|
|
|
|
|
|
::...................................SNEEK Page1 - SNEEK SELECT...............................
|
|
:SNKPAGE1
|
|
set SNEEKSELECT="
|
|
set SNKS2U=
|
|
set SNKnswitch=
|
|
set PRIIFOUND=
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Which of the following SNEEK Actions would you like to perform?
|
|
echo.
|
|
echo.
|
|
echo 1 = SNEEK Installation (Wii Only)
|
|
echo.
|
|
echo 2 = Emulated NAND Builder (Wii or vWii)
|
|
echo * Can also be used without SNEEK via USB-Loaders directly
|
|
echo.
|
|
echo 3 = All the above (Wii Only: Recommended for 1st time SNEEK users)
|
|
echo.
|
|
echo.
|
|
echo 4 = Game Bulk Extractor
|
|
echo * Extracted format required for OLDER versions of SNEEK
|
|
echo * Supported inputs include ISO, CISO and WBFS files
|
|
echo.
|
|
echo 5 = Emulated NAND Modifier
|
|
echo * Edit your existing Emulated NAND
|
|
echo Requirements:
|
|
echo.
|
|
echo * If you don't have Bootmii installed in order to run SNEEK you will
|
|
echo have to first use the ModMii Wizard or the Abstinence Wizard.
|
|
echo Or launch neek without bootmii using USB Loader GX or nSwitch.
|
|
echo.
|
|
echo * To optimize the speed of your SNEEK or SNEEK+DI emulated nand,
|
|
echo your SD card should be formatted using 32KB sector sizes.
|
|
echo.
|
|
echo * UNEEK and UNEEK+DI require the External Hard Drive be formatted
|
|
echo as FAT32 using cluster sizes 32KB or lower. If you don't know how to
|
|
echo format your drive this way, run ModMii's USB-Loader Setup.
|
|
echo.
|
|
echo * SNEEK+DI and UNEEK+DI always use the 1st partition if multiple are found.
|
|
echo.
|
|
|
|
if /i "%neek2o%" EQU "on" (set neekURL=https://tiny.cc/neek2o) else (set neekURL=https://code.google.com/p/sneek)
|
|
|
|
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%redtext%] WARNING: SNEEK is not directly supported by ModMii.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%redtext%] Any problems you have with SNEEK that are not a direct result
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%redtext%] of ModMii should be reported here: %neekURL%
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%redtext%] This is also a great place to learn more about SNEEK in general.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%redtext%] Another great resource is the guide here: tiny.cc/SNEEK-DI
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
set /p SNEEKSELECT=Enter Selection Here:
|
|
set "SNEEKSELECT=%SNEEKSELECT:"=%"
|
|
|
|
if /i "%SNEEKSELECT%" EQU "B" goto:MENU
|
|
if /i "%SNEEKSELECT%" EQU "M" goto:MENU
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:NEEKrevSelect
|
|
if /i "%SNEEKSELECT%" EQU "2" goto:SNKPAGE2
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:NEEKrevSelect
|
|
if /i "%SNEEKSELECT%" EQU "4" goto:SNKDISCEX
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:SNKNANDSELECTOR
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE1
|
|
|
|
|
|
::...................................SNEEK Page - NEEK rev Selection...............................
|
|
:NEEKrevSelect
|
|
|
|
if exist temp\list.txt del temp\list.txt>nul
|
|
if exist temp\list2.txt del temp\list2.txt>nul
|
|
|
|
if /i "%neek2o%" EQU "ON" (set googlecode=neek2o) & (set neekname=neek2o)
|
|
if /i "%neek2o%" NEQ "ON" (set googlecode=sneeky-compiler-modmii) & (set neekname=neek)
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" goto:quickskip2
|
|
|
|
echo Checking which %neekname% versions are hosted online...
|
|
|
|
::get all list
|
|
support\wget --no-check-certificate -N "https://sourceforge.net/projects/%googlecode%/files/?source=navbar" -q
|
|
|
|
if exist index.html@* (move /y index.html@* temp\list.txt>nul) else (goto:nowifi)
|
|
::copy /y "temp\list.txt" "temp\list2.txt">nul
|
|
|
|
support\sfk filter -spat "temp\list.txt" -and+"/download\x22" -and+"%neekname%-rev" -rep _"/download\x22"__ -rep _*"/"__ -rep _".zip*"__ -rep _"*files/"__ -rep _%neekname%-rev__ -rep _\x2528_\x28_ -rep _\x2529_\x29_ -rep _\x2520_\x20_ -rep _\x253B_\x3B_ -rep _\x252C_\x2C_ -write -yes>nul
|
|
|
|
support\sfk filter -spat "temp\list.txt" -!"\x22" -!"n" -unique -no-empty-lines -no-blank-lines -write -yes>nul
|
|
|
|
|
|
:nowifi
|
|
|
|
::get local list
|
|
|
|
if not exist "temp\%neekname%\*.zip" goto:nolocallist
|
|
|
|
dir "temp\%neekname%\*.zip" /b /O:-N>>temp\list.txt
|
|
support\sfk filter "temp\list.txt" -rep _"%neekname%-rev"__ -rep _".zip"__ -write -yes>nul
|
|
support\sfk filter "temp\list.txt" -unique -write -yes>nul
|
|
:nolocallist
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" EQU "Y" goto:getcurrentrev
|
|
|
|
|
|
|
|
::------actual page start----------
|
|
:NEEKrevSelect2
|
|
|
|
::count # of lines
|
|
SET neekTOTAL=0
|
|
for /f %%a in (temp\list.txt) do set /a neekTOTAL+=1
|
|
|
|
if /i "%neekTOTAL%" EQU "0" (echo Unable to connect to the internet and no %neekname% versions saved locally) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (set neekrev=B) & (goto:back)
|
|
|
|
|
|
Set neekrev=
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Select the version of %neekname% you would like to build:
|
|
echo.
|
|
echo.
|
|
|
|
|
|
set RevCount=0
|
|
set FeaturedTag=
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :processNEEKlist %%A
|
|
goto:quickskip
|
|
:processNEEKlist
|
|
set CurrentRev=%*
|
|
set /a RevCount=%RevCount%+1
|
|
|
|
if not exist temp\list2.txt goto:nofeaturedcheck
|
|
findStr /I /C:"%CurrentRev%" "temp\list2.txt" >nul
|
|
IF ERRORLEVEL 1 (set FeaturedTag=) else (set FeaturedTag= - Featured)
|
|
:nofeaturedcheck
|
|
|
|
if not exist "temp\%neekname%\%neekname%-rev%CurrentRev%.zip" echo %RevCount% = %CurrentRev% (hosted online)%FeaturedTag%
|
|
if exist "temp\%neekname%\%neekname%-rev%CurrentRev%.zip" echo %RevCount% = %CurrentRev%%FeaturedTag%
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
if "%neekrev%"=="" set neekrev="
|
|
set /p neekrev=Enter Selection Here:
|
|
set "neekrev=%neekrev:"=%"
|
|
if "%neekrev%"=="" goto:badkey
|
|
|
|
if /i "%neekrev%" EQU "M" goto:MENU
|
|
|
|
:back
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:NotAbstinenceWiz
|
|
if /i "%neekrev%" NEQ "B" goto:NotAbstinenceWiz
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:WPAGE3C
|
|
if /i "%FIRMSTART%" EQU "o" goto:WPAGE3C
|
|
goto:WPAGE2
|
|
:NotAbstinenceWiz
|
|
|
|
if /i "%neekrev%" EQU "B" goto:SNKPAGE1
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%neekrev%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%neekrev%") do set "neekrev=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%neekrev%"=="" set "neekrev=0"
|
|
|
|
|
|
if %neekrev% LSS 1 goto:badkey
|
|
if /i %neekrev% GTR %RevCount% goto:badkey
|
|
|
|
|
|
:getcurrentrev
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:cmdskip
|
|
if "%neekrev%"=="" goto:quickskip2
|
|
:cmdskip
|
|
|
|
::----get selected %currentrev%----
|
|
set RevCount2=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :processlist2 %%A
|
|
goto:quickskip2
|
|
:processlist2
|
|
set CurrentRev=%*
|
|
set /a RevCount2=%RevCount2%+1
|
|
if /i "%RevCount2%" EQU "%neekrev%" goto:quickskip2
|
|
goto:EOF
|
|
:quickskip2
|
|
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:cmdskip
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:DOWNLOAD
|
|
goto:SNEEKINSTALLER
|
|
:cmdskip
|
|
|
|
goto:SNKPAGE2
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:NEEKrevSelect2
|
|
|
|
|
|
|
|
::...................................SNEEK Page - DML rev Selection...............................
|
|
:CurrentDMLRevSelect
|
|
|
|
::DISABLED
|
|
goto:%AfterDMLRevSelect%
|
|
|
|
if exist temp\list.txt del temp\list.txt>nul
|
|
if exist temp\list2.txt del temp\list2.txt>nul
|
|
|
|
:nowifi
|
|
|
|
::get local list
|
|
|
|
if not exist "temp\DML\*.wad" goto:nolocallist
|
|
|
|
dir "temp\DML\*.wad" /b /O:-N>>temp\list.txt
|
|
|
|
::support\sfk filter "temp\list.txt" -rep _"diosmioslitesv"__ -rep _".wad"__ -write -yes>nul
|
|
support\sfk filter "temp\list.txt" -rep _".wad"__ -write -yes>nul
|
|
support\sfk filter "temp\list.txt" -unique -write -yes>nul
|
|
:nolocallist
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" EQU "Y" goto:getCurrentDMLRev
|
|
|
|
|
|
|
|
::------actual page start----------
|
|
:CurrentDMLRevSelect2
|
|
|
|
::count # of folders in advance to set "mode"
|
|
SET DMLTOTAL=0
|
|
if exist temp\list.txt for /f %%a in (temp\list.txt) do set /a DMLTOTAL+=1
|
|
|
|
::if /i "%DMLTOTAL%" EQU "0" (echo No DML versions saved locally) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (goto:%B4DMLRevSelect%)
|
|
|
|
|
|
|
|
Set DMLrev=
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Select the version of DML (or Dios Mios) you would like to install:
|
|
echo.
|
|
echo To add versions to the below list, download them from here:
|
|
echo https://code.google.com/archive/p/diosmios/wikis/Downloads.wiki
|
|
echo Then save them to ModMii's "temp\DML" folder
|
|
if not exist temp\DML mkdir temp\DML
|
|
echo.
|
|
echo.
|
|
echo * DML requires either Sneek+DI r157+ or NeoGamma R9 beta 55+
|
|
echo.
|
|
::echo * DML Debug Mode saves logs to the SD Card.
|
|
echo * USB Gecko debug can only be enabled by compiling the source manually.
|
|
echo.
|
|
set RevCount=0
|
|
|
|
if not exist temp\list.txt goto:quickskip
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :processDMLlist %%A
|
|
goto:quickskip
|
|
:processDMLlist
|
|
set CurrentDMLRev=%*
|
|
set /a RevCount=%RevCount%+1
|
|
|
|
::if not exist temp\list2.txt goto:nofeaturedcheck
|
|
::findStr /I /C:"%CurrentDMLRev%" "temp\list2.txt" >nul
|
|
::IF ERRORLEVEL 1 (set FeaturedTag=) else (set FeaturedTag= - Featured)
|
|
:nofeaturedcheck
|
|
|
|
::if not exist "temp\DML\diosmioslitesv%CurrentDMLRev%.wad" echo %RevCount% = diosmioslitesv%CurrentDMLRev% (hosted on google code)%FeaturedTag%
|
|
::if exist "temp\DML\diosmioslitesv%CurrentDMLRev%.wad" echo %RevCount% = diosmioslitesv%CurrentDMLRev%%FeaturedTag%
|
|
|
|
echo %RevCount% = %CurrentDMLRev%
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
if "%DMLrev%"=="" set DMLrev="
|
|
set /p DMLrev=Enter Selection Here:
|
|
set "DMLrev=%DMLrev:"=%"
|
|
if "%DMLrev%"=="" goto:badkey
|
|
|
|
|
|
if /i "%DMLrev%" EQU "M" goto:MENU
|
|
if /i "%DMLrev%" EQU "B" (set DML=) & (set CurrentDMLRev=) & (goto:%B4DMLRevSelect%)
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%DMLrev%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%DMLrev%") do set "DMLrev=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%DMLrev%"=="" set "DMLrev=0"
|
|
|
|
if %DMLrev% LSS 1 goto:badkey
|
|
if /i %DMLrev% GTR %RevCount% goto:badkey
|
|
|
|
|
|
|
|
:getCurrentDMLRev
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:cmdskip
|
|
if "%DMLrev%"=="" goto:quickskip
|
|
:cmdskip
|
|
|
|
::----get selected %CurrentDMLRev%----
|
|
set RevCount2=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :processlist3 %%A
|
|
goto:quickskip
|
|
:processlist3
|
|
set CurrentDMLRev=%*
|
|
set /a RevCount2=%RevCount2%+1
|
|
if /i "%RevCount2%" EQU "%DMLrev%" goto:quickskip
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" EQU "Y" goto:skipDMLcmd
|
|
|
|
|
|
goto:%AfterDMLRevSelect%
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:CurrentDMLRevSelect2
|
|
|
|
|
|
|
|
::...................................SNEEK Page2 - SNEEK TYPE...............................
|
|
:SNKPAGE2
|
|
set SNEEKTYPE="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "2" echo What type of SNEEK would you like to install?
|
|
if /i "%SNEEKSELECT%" EQU "2" echo What type of SNEEK would you like to build an emulated NAND for?
|
|
|
|
if /i "%SNEEKSELECT%" EQU "2" (echo.) & (echo Note: Any type of SNEEK can be selected if the EmuNAND will be used without SNEEK) & (echo via USB-Loaders directly)
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "1" echo Note: EmuNANDs built for any type of SNEEK work with any other type of SNEEK.
|
|
if /i "%SNEEKSELECT%" NEQ "1" echo Also, ANY region Wii\vWii can use ANY region emulated NAND
|
|
echo.
|
|
echo UD = UNEEK+DI
|
|
echo * Emulated nand/memory is on FAT32 External Hard Drive
|
|
echo * Load Wii games off your FAT32 External Hard Drive
|
|
echo * You can load apps off an SD Card via the Homebrew Channel
|
|
echo * DVD-Drive access is disabled for games while running UNEEK+DI
|
|
echo but can be used in apps (ie. WiiXplorer)
|
|
echo.
|
|
echo SD = SNEEK+DI
|
|
echo * Emulated nand/memory is on SD Card
|
|
echo * Load Wii games off your FAT32 External Hard Drive
|
|
echo * Load GameCube games off your SD Card using DML
|
|
echo * You can load apps off a FAT32 USB HDD via the Homebrew Channel
|
|
echo * DVD-Drive access is disabled for games while running SNEEK+DI
|
|
echo but can be used in apps (ie. WiiXplorer)
|
|
echo.
|
|
echo U = UNEEK
|
|
echo * Emulated nand/memory is on FAT32 External Hard Drive
|
|
echo * You cannot load any games off your Hard Drive
|
|
echo * You can load apps off an SD Card via the Homebrew Channel
|
|
echo * DVD-Drive access is enabled
|
|
echo * Backup disc loading requires DarkCorp installed on emulated nand
|
|
echo (Newer Wii's have a DVD-Drive that prevents backup disc loading)
|
|
echo.
|
|
echo S = SNEEK
|
|
echo * Emulated nand/memory is on SD Card
|
|
::echo * You can load ONE game at a time off your FAT32 External Hard Drive
|
|
echo * You cannot load any games off your Hard Drive
|
|
echo * You can load apps off a FAT32 USB HDD via the Homebrew Channel
|
|
echo * DVD-Drive access is enabled
|
|
echo * Backup disc loading requires DarkCorp installed on emulated nand
|
|
echo (Newer Wii's have a DVD-Drive that prevents backup disc loading)
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
set /p SNEEKTYPE=Enter Selection Here:
|
|
set "SNEEKTYPE=%SNEEKTYPE:"=%"
|
|
if "%SNEEKTYPE%"=="" goto:badkey
|
|
|
|
if /i "%SNEEKTYPE%" NEQ "B" goto:notback
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:NEEKrevSelect2
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:NEEKrevSelect2
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:NEEKrevSelect2
|
|
goto:SNKPAGE1
|
|
:notback
|
|
|
|
|
|
if /i "%SNEEKTYPE%" EQU "M" goto:MENU
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:NotAbstinenceWiz
|
|
if /i "%SNEEKTYPE%" EQU "U" (set BACKB4DRIVE=SNKPAGE2) & (goto:DriveChange)
|
|
if /i "%SNEEKTYPE%" EQU "UD" (set BACKB4DRIVE=SNKPAGE2) & (goto:DriveChange)
|
|
:NotAbstinenceWiz
|
|
|
|
|
|
if /i "%SNEEKTYPE%" EQU "S" set BACKB4DRIVE=SNKPAGE2
|
|
if /i "%SNEEKTYPE%" EQU "SD" set BACKB4DRIVE=SNKPAGE2
|
|
if /i "%SNEEKTYPE%" EQU "U" set BACKB4DRIVE=SNKPAGE2
|
|
if /i "%SNEEKTYPE%" EQU "UD" set BACKB4DRIVE=SNKPAGE2
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" goto:DRIVECHANGE
|
|
if /i "%SNEEKTYPE%" EQU "S" goto:DRIVECHANGE
|
|
|
|
::if only building nand, no need to set drive, only driveU
|
|
if /i "%SNEEKSELECT%" EQU "2" goto:skip
|
|
if /i "%SNEEKTYPE%" EQU "UD" goto:DRIVECHANGE
|
|
if /i "%SNEEKTYPE%" EQU "U" goto:DRIVECHANGE
|
|
goto:badkey
|
|
|
|
:skip
|
|
if /i "%SNEEKTYPE%" EQU "U" set BACKB4DRIVEU=SNKPAGE2
|
|
if /i "%SNEEKTYPE%" EQU "U" goto:DRIVEUCHANGE
|
|
if /i "%SNEEKTYPE%" EQU "UD" set BACKB4DRIVEU=SNKPAGE2
|
|
if /i "%SNEEKTYPE%" EQU "UD" goto:DRIVEUCHANGE
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE2
|
|
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Page3 - SNEEK REGION...............................
|
|
:SNKPAGE3
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "S" set "nandpath=%DRIVE%"
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "U" set "nandpath=%DRIVEU%"
|
|
|
|
set DITYPE=off
|
|
if /i "%SNEEKTYPE%" EQU "UD" set DITYPE=on
|
|
if /i "%SNEEKTYPE%" EQU "SD" set DITYPE=on
|
|
|
|
|
|
set SNKREGION=
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo What Region would you like to make your emulated NAND?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Note: If you want your wiimotes be synced up to your real NAND
|
|
echo and your emulated NAND simultaneously, then you must choose
|
|
echo the real region of your console
|
|
echo.
|
|
if /i "%neek2o%" EQU "ON" goto:skip
|
|
support\sfk echo -spat \x20 \x20 [%redtext%] Warning:[def] JPN\Korean NANDs specifically do NOT have Region Free hacks
|
|
echo enabled by default. This only applies to WiiWare/VC Games,
|
|
echo the DI/Game Menu can still play Wii Games of All Regions.
|
|
echo However, you can still enable region free hacks using Priiloader.
|
|
:skip
|
|
echo.
|
|
echo.
|
|
echo U = USA
|
|
echo E = Euro (PAL)
|
|
echo J = JPN
|
|
echo K = Korean
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%SNKREGION%"=="" set SNKREGION="
|
|
set /p SNKREGION=Enter Selection Here:
|
|
set "SNKREGION=%SNKREGION:"=%"
|
|
if "%SNKREGION%"=="" goto:badkey
|
|
|
|
if /i "%SNKREGION%" EQU "B" goto:%B4SNKPAGE3%
|
|
if /i "%SNKREGION%" EQU "M" goto:MENU
|
|
|
|
if /i "%SNKREGION%" EQU "u" set SNKREGION=U
|
|
if /i "%SNKREGION%" EQU "e" set SNKREGION=E
|
|
if /i "%SNKREGION%" EQU "j" set SNKREGION=J
|
|
if /i "%SNKREGION%" EQU "k" set SNKREGION=K
|
|
|
|
if /i "%SNKREGION%" EQU "U" set defaultserial=LU521175683
|
|
if /i "%SNKREGION%" EQU "E" set defaultserial=LEH133789940
|
|
if /i "%SNKREGION%" EQU "J" set defaultserial=LJM101175683
|
|
if /i "%SNKREGION%" EQU "K" set defaultserial=LKM101175683
|
|
|
|
set serialdigits=11 or 12
|
|
::if /i "%SNKREGION%" EQU "U" (set serialdigits=11 or 12) else (set serialdigits=12)
|
|
|
|
if /i "%SNKREGION%" EQU "U" goto:SNKPAGE4
|
|
if /i "%SNKREGION%" EQU "E" goto:SNKPAGE4
|
|
if /i "%SNKREGION%" EQU "J" goto:SNKPAGE4
|
|
if /i "%SNKREGION%" EQU "K" goto:SNKPAGE4
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Page4 - SNEEK VERSION...............................
|
|
:SNKPAGE4
|
|
set SNKVERSION="
|
|
|
|
|
|
::If region is USA and building NAND for DI, force 4.2 and go to next page
|
|
::if /i "%DITYPE%" EQU "OFF" goto:skip
|
|
::if /i "%SNKREGION%" EQU "U" set SNKVERSION=4.2
|
|
::if /i "%SNKREGION%" EQU "U" goto:SNKPAGE5
|
|
:::skip
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo What System Menu Version would you like your SNEEK emulated NAND to be?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if /i "%neek2o%" EQU "ON" goto:skip
|
|
if /i "%SNKREGION%" EQU "U" support\sfk echo -spat \x20 \x20 [%redtext%] Warning:[def] 4.2U/4.1U specifically do NOT have Region Free hacks enabled by
|
|
if /i "%SNKREGION%" EQU "U" echo default. This only applies to WiiWare/VC Games (aka Channels),
|
|
if /i "%SNKREGION%" EQU "U" echo the DI/Game Menu can still play Wii Games of All Regions.
|
|
if /i "%SNKREGION%" EQU "U" echo However, you can still enable region free hacks using Priiloader.
|
|
:skip
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
echo 4.3 = 4.3
|
|
echo 4.2 = 4.2
|
|
echo 4.1 = 4.1
|
|
if /i "%SNEEKSELECT%" NEQ "2" goto:skip
|
|
if /i "%SNKREGION%" NEQ "K" echo V = vWii 4.3
|
|
if /i "%SNKREGION%" EQU "K" (echo Note: to choose vWii select a Region other than Korean) & (echo.)
|
|
:skip
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p SNKVERSION=Enter Selection Here:
|
|
set "SNKVERSION=%SNKVERSION:"=%"
|
|
if "%SNKVERSION%"=="" goto:badkey
|
|
|
|
if /i "%SNKVERSION%" EQU "M" goto:MENU
|
|
if /i "%SNKVERSION%" EQU "B" goto:SNKPAGE3
|
|
|
|
if /i "%SNKVERSION%" EQU "4.3" goto:SNKPAGE4a
|
|
if /i "%SNKVERSION%" EQU "4.2" goto:SNKPAGE4a
|
|
if /i "%SNKVERSION%" EQU "4.1" goto:SNKPAGE4a
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "2" goto:badkey
|
|
if /i "%SNKREGION%" EQU "K" goto:badkey
|
|
if /i "%SNKVERSION%" EQU "V" goto:SNKPAGE4a
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4
|
|
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Page4a - postLoader Channel...............................
|
|
:SNKPAGE4a
|
|
|
|
set SNKPLC=
|
|
set SNKOHBC=N
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "5" (echo EMULATED NAND BUILDER) & (goto:skip)
|
|
|
|
echo EMULATED NAND MODIFIER
|
|
echo.
|
|
if "%SNKVERSION%"=="" (echo Unable to Determine EmuNAND System Menu Version) & (goto:miniskip)
|
|
if /i "%SNKVERSION%" EQU "V" echo Detected EmuNAND Type: vWii 4.3%SNKREGION%
|
|
if /i "%SNKVERSION%" NEQ "V" echo Detected EmuNAND Type: Wii %SNKVERSION%%SNKREGION%
|
|
:miniskip
|
|
if not exist temp\EmunandInfoSum.txt goto:skip
|
|
|
|
echo.
|
|
type temp\EmunandInfoSum.txt
|
|
|
|
echo.
|
|
findStr /C:"(OHBC)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Open Homebrew Channel (OHBC) Detected on EmuNAND Already
|
|
|
|
findStr /C:"(LULZ)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - Homebrew Channel (LULZ) Detected on EmuNAND Already
|
|
|
|
findStr /C:"(BOST)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - postLoader Forwarder Channel (BOST) Detected on EmuNAND Already
|
|
|
|
:skip
|
|
|
|
|
|
|
|
echo.
|
|
echo.
|
|
if /i "%SNKVERSION%" EQU "V" echo Would you like the Open Homebrew Channel (OHBC v1.1.3)
|
|
if /i "%SNKVERSION%" NEQ "V" echo Would you like the Open Homebrew Channel (LULZ v1.1.5; aka v1.1.3 but with LULZ ID)
|
|
echo and\or a postLoader Forwarder Channel (BOST) on your emulated NAND?
|
|
echo.
|
|
echo.
|
|
echo postLoader aims to replace the Homebrew Channel, Forwarders,
|
|
echo USB-Loaders with emulated NAND support, etc.
|
|
echo.
|
|
echo It used to be impossible to install the latest Homebrew Channel
|
|
echo to emulated nands so this gained much popularity as an alternative.
|
|
echo.
|
|
echo Today you can use the Open Homebrew Channel by FIX94 on your EmuNAND.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, install both
|
|
echo O = Open Homebrew Channel only
|
|
echo P = postLoader Forwarder Channel only
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = None
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = None (or leave selection blank)
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
if "%SNKPLC%"=="" set SNKPLC="
|
|
set /p SNKPLC=Enter Selection Here:
|
|
set "SNKPLC=%SNKPLC:"=%"
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%SNKPLC%"=="" set SNKPLC=N
|
|
:miniskip
|
|
|
|
if "%SNKPLC%"=="" goto:badkey
|
|
|
|
if /i "%SNKPLC%" NEQ "B" goto:miniskip
|
|
if /i "%SNEEKSELECT%" EQU "5" (goto:SNKNANDSELECTOR) else (goto:SNKPAGE4)
|
|
:miniskip
|
|
|
|
if /i "%SNKPLC%" EQU "M" goto:MENU
|
|
if /i "%SNKPLC%" EQU "N" goto:SNKPAGE4a2
|
|
|
|
if /i "%SNKPLC%" EQU "Y" (set SNKOHBC=Y) & (goto:SNKPAGE4a2)
|
|
if /i "%SNKPLC%" EQU "P" (set SNKPLC=Y) & (goto:SNKPAGE4a2)
|
|
if /i "%SNKPLC%" EQU "O" (set SNKOHBC=Y) & (set SNKPLC=N) & (goto:SNKPAGE4a2)
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4a
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Page4a2 - cIOS...............................
|
|
:SNKPAGE4a2
|
|
|
|
set SNKCIOS=
|
|
set SNKcBC=
|
|
set SNKPRI=
|
|
|
|
::for vWii emunands skip cIOS, DML/NMM & Priiloader
|
|
if /i "%SNKVERSION%" EQU "V" goto:SNKPAGE4c
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo Would you like to install cIOS249 rev14 to your emulated NAND?
|
|
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
support\sfk hexfind "temp\EmunandInfo.txt" -binary /494F53323439202830303030303030313030303030304639290D0A2020202056657273696F6E3A2031342028302E313429/ >nul
|
|
::ERRORLEVEL 1 means found, 0 means not found
|
|
IF ERRORLEVEL 1 support\sfk echo [%greentext%] - cIOS249 rev14 Detected on EmuNAND Already
|
|
:skip
|
|
|
|
|
|
|
|
|
|
|
|
echo.
|
|
echo.
|
|
echo Some apps that require a cIOS will only work on s\uneek with cIOS rev14.
|
|
echo For example, SaveGame Manager GX will work on s\uneek with cIOS rev14.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%SNKCIOS%"=="" set SNKCIOS="
|
|
set /p SNKCIOS=Enter Selection Here:
|
|
set "SNKCIOS=%SNKCIOS:"=%"
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%SNKCIOS%"=="" set SNKCIOS=N
|
|
:miniskip
|
|
|
|
if "%SNKCIOS%"=="" goto:badkey
|
|
|
|
if /i "%SNKCIOS%" EQU "B" goto:SNKPAGE4a
|
|
if /i "%SNKCIOS%" EQU "M" goto:MENU
|
|
if /i "%SNKCIOS%" EQU "Y" goto:SNKPAGE4a3
|
|
if /i "%SNKCIOS%" EQU "N" goto:SNKPAGE4a3
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4a2
|
|
|
|
|
|
::...................................SNEEK Page4a3 - cBC...............................
|
|
:SNKPAGE4a3
|
|
|
|
set SNKcBC=
|
|
|
|
::::for vWii emunands skip cIOS, DML/NMM & Priiloader
|
|
::if /i "%SNKVERSION%" EQU "V" goto:SNKPAGE4c
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:SNKPAGE4b
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" set sneektype=SD
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" (echo Would you like DML or NMM on your emulated NAND?) else (echo Would you like NMM on your emulated NAND?)
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo DML is installed to real NAND and can be accessed via an emulated NAND.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo DML (Dios Mios Lite) is a tool which allows you to run Gamecube games
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo from an SD Card. Compatability is not 100%% and it only works with
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI. For best results your SD card should be formatted
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo using 64KB sector sizes when running DML.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo DML requires either Sneek+DI r157+ or NeoGamma R9 beta 55+
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo Note: Since Nintendont, DML is generally not used anymore.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo.
|
|
|
|
echo NMM (No More Memory-Cards) redirects all GameCube Memory Card access
|
|
echo to the SD card. This allow saving\loading GameCube game saves
|
|
echo without a GC Memory Card.
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo Note: NMM and DML cannot both be installed at the same time
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" echo Note: DML currently only works when using SNEEK+DI
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:nowarning
|
|
if /i "%BCTYPE%" EQU "BC" goto:nowarning
|
|
if /i "%BCTYPE%" EQU "NONE" goto:nowarning
|
|
if /i "%BCTYPE%" EQU "NMM" support\sfk echo -spat \x20 \x20 [%yellowtext%] WARNING: Answering anything other than %BCtype% will uninstall %BCtype%
|
|
if /i "%BCTYPE%" EQU "DML" support\sfk echo -spat \x20 \x20 [%yellowtext%] Outdated DML will be uninstalled from the Emulated NAND
|
|
if /i "%BCTYPE%" EQU "DML" support\sfk echo -spat \x20 \x20 [%yellowtext%] as newer versions need to be installed to the real NAND
|
|
:nowarning
|
|
|
|
echo.
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo DML = DML
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo.
|
|
if /i "%SNEEKTYPE%" EQU "SD" (echo NMM = NMM) else (echo Y = Yes)
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
if "%SNKcBC%"=="" set SNKcBC="
|
|
set /p SNKcBC=Enter Selection Here:
|
|
set "SNKcBC=%SNKcBC:"=%"
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%SNKcBC%"=="" set SNKcBC=N
|
|
:miniskip
|
|
|
|
if "%SNKcBC%"=="" goto:badkey
|
|
|
|
if /i "%SNKcBC%" EQU "B" goto:SNKPAGE4a2
|
|
if /i "%SNKcBC%" EQU "M" goto:MENU
|
|
if /i "%SNKcBC%" EQU "N" goto:SNKPAGE4b
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" goto:skip
|
|
if /i "%SNKcBC%" EQU "Y" (set SNKcBC=NMM) & (goto:SNKPAGE4b)
|
|
:skip
|
|
|
|
if /i "%SNEEKTYPE%" NEQ "SD" goto:badkey
|
|
if /i "%SNKcBC%" EQU "NMM" goto:SNKPAGE4b
|
|
if /i "%SNKcBC%" EQU "DML" (set B4DMLRevSelect=SNKPAGE4a3) & (set AfterDMLRevSelect=SNKPAGE4b) & (goto:CurrentDMLRevSelect)
|
|
::if /i "%SNKcBC%" EQU "DML" goto:SNKPAGE4b
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4a3
|
|
|
|
::...................................SNEEK Page4b - Priiloader For SNEEK...............................
|
|
:SNKPAGE4b
|
|
|
|
set SNKPRI=
|
|
|
|
::::for vWii emunands skip cIOS, DML/NMM & Priiloader
|
|
::if /i "%SNKVERSION%" EQU "V" goto:SNKPAGE4c
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" (set sneektype=) else (goto:nocheck)
|
|
if "%SMAPP%"=="" goto:SNKPAGE4c
|
|
:nocheck
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo Would you like Priiloader (^& System Menu Hacks) on your EmuNAND?
|
|
echo.
|
|
echo Doing this will allow you to enable system menu hacks on your emulated NAND.
|
|
echo It will also permit autobooting sneek to apps of your choice (ie. WiiFlow).
|
|
echo.
|
|
echo.
|
|
echo Note: neek2o rev93-96 will bypass Priiloader if detected on EmuNAND.
|
|
echo.
|
|
echo Note: to access Priiloader on your emulated NAND, hold reset just as
|
|
echo your emulated NAND is booting up or use the Load Priiloader app.
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:tinyskip
|
|
if /i "%PRIIFOUND%" EQU "YES" support\sfk echo -spat \x20 [%yellowtext%] NOTICE: Priiloader was detected on your EmuNAND. Answering No will remove it.
|
|
if /i "%PRIIFOUND%" EQU "YES" support\sfk echo -spat \x20 [%yellowtext%] \x20 \x20 \x20 \x20 Answering Yes or leaving the selection blank will retain your CURRENT Priiloader.
|
|
echo.
|
|
if /i "%PRIIFOUND%" EQU "YES" support\sfk echo -spat \x20 [%yellowtext%] \x20 \x20 \x20 \x20 To update your Priiloader installation, answer No to remove Priiloader,
|
|
if /i "%PRIIFOUND%" EQU "YES" support\sfk echo -spat \x20 [%yellowtext%] \x20 \x20 \x20 \x20 then repeat this process a second time and answer Yes to add it back.
|
|
:tinyskip
|
|
|
|
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo.
|
|
echo N = No
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%SNKPRI%"=="" set SNKPRI="
|
|
set /p SNKPRI=Enter Selection Here:
|
|
set "SNKPRI=%SNKPRI:"=%"
|
|
|
|
if /i "%PRIIFOUND%" NEQ "YES" goto:skip
|
|
if "%SNKPRI%"=="" set SNKPRI=Y
|
|
:skip
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%SNKPRI%"=="" set SNKPRI=N
|
|
:miniskip
|
|
|
|
if "%SNKPRI%"=="" goto:badkey
|
|
|
|
if /i "%SNKPRI%" NEQ "B" goto:notback
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:SNKPAGE4a2
|
|
goto:SNKPAGE4a3
|
|
:notback
|
|
|
|
|
|
|
|
if /i "%SNKPRI%" EQU "M" goto:MENU
|
|
if /i "%SNKPRI%" EQU "Y" goto:SNKPAGE4c
|
|
if /i "%SNKPRI%" EQU "N" goto:SNKPAGE4c
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4b
|
|
|
|
|
|
|
|
::...................................SNEEK Page4c - WiiFlow...............................
|
|
:SNKPAGE4c
|
|
set SNKFLOW="
|
|
|
|
::if /i "%SNEEKSELECT%" EQU "5" goto:tinyskip
|
|
::::skip this page if sneektype not uneek or uneek+di
|
|
::if /i "%SNEEKTYPE:~0,1%" EQU "S" (set SNKFLOW=N) & (goto:SNKPAGE4d)
|
|
:::tinyskip
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo Would you like a WiiFlow Forwarder Channel on your emulated NAND?
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
findStr /C:"(BWFA)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - WiiFlow Forwarder Channel (BWFA) Detected on EmuNAND Already
|
|
:skip
|
|
echo.
|
|
echo.
|
|
|
|
|
|
|
|
|
|
if /i "%SNKPRI%" EQU "Y" echo Note: WiiFlow Forwarder dol will also be added as Priiloader's
|
|
if /i "%SNKPRI%" EQU "Y" echo installed file. Priiloader's autoboot settings will still need
|
|
if /i "%SNKPRI%" EQU "Y" echo to be changed if you would like your emulated nand to autoboot
|
|
if /i "%SNKPRI%" EQU "Y" echo the installed file.
|
|
if /i "%SNKPRI%" EQU "Y" echo.
|
|
if /i "%SNKPRI%" EQU "Y" echo.
|
|
|
|
echo *WiiFlow is USB-Loader NEEK that is a visually appealing alternative
|
|
echo to loading Wii games\channels via the emulated System Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p SNKFLOW=Enter Selection Here:
|
|
set "SNKFLOW=%SNKFLOW:"=%"
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%SNKFLOW%"=="" set SNKFLOW=N
|
|
:miniskip
|
|
|
|
if "%SNKFLOW%"=="" goto:badkey
|
|
|
|
if /i "%SNKFLOW%" NEQ "B" goto:notback
|
|
if /i "%SNKVERSION%" EQU "V" goto:SNKPAGE4a
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:SNKPAGE4b
|
|
if "%SMAPP%"=="" (goto:SNKPAGE4a3) else (goto:SNKPAGE4b)
|
|
:notback
|
|
|
|
if /i "%SNKFLOW%" EQU "M" goto:MENU
|
|
if /i "%SNKFLOW%" EQU "Y" goto:SNKPAGE4d
|
|
if /i "%SNKFLOW%" EQU "N" goto:SNKPAGE4d
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4c
|
|
|
|
|
|
|
|
::...................................SNEEK Page4d - Switch2UNEEK...............................
|
|
:SNKPAGE4d
|
|
|
|
set SNKS2U="
|
|
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" (set SNKS2U=N) & (goto:SNKPAGE4e)
|
|
if /i "%SNEEKSELECT%" EQU "5" (set SNKS2U=N) & (goto:SNKPAGE4e)
|
|
|
|
::skip this page if neek2o is enabled
|
|
if /i "%neek2o%" EQU "on" (set SNKS2U=N) & (goto:SNKPAGE4e)
|
|
|
|
::skip this page if sneektype not uneek or uneek+di
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "S" (set SNKS2U=N) & (goto:SNKPAGE4e)
|
|
|
|
::skip this page if emunand is for vWii
|
|
if /i "%SNKVERSION%" EQU "V" (set SNKS2U=N) & (goto:SNKPAGE4e)
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo Would you like to use Switch2Uneek?
|
|
echo.
|
|
echo.
|
|
echo Switch2Uneek is a utility to help you easily switch between
|
|
echo your Emulated Uneek Nand and your Real Nand.
|
|
echo.
|
|
echo.
|
|
echo If you answer "Y", you must access UNEEK by launching switch2uneek
|
|
echo from the Homebrew Channel. Alternatively, can use YAWM ModMii Edition
|
|
echo to install the switch2uneek forwarder channel that will be saved to
|
|
echo your SD card.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo.
|
|
echo N = No
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p SNKS2U=Enter Selection Here:
|
|
set "SNKS2U=%SNKS2U:"=%"
|
|
if "%SNKS2U%"=="" goto:badkey
|
|
|
|
if /i "%SNKS2U%" EQU "B" goto:SNKPAGE4c
|
|
if /i "%SNKS2U%" EQU "M" goto:MENU
|
|
if /i "%SNKS2U%" EQU "Y" goto:SNKPAGE4d
|
|
if /i "%SNKS2U%" EQU "N" goto:SNKPAGE4d
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4d
|
|
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Page4e - nswitch...............................
|
|
:SNKPAGE4e
|
|
|
|
set SNKnswitch=
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if /i "%nswitchFound%" EQU "Yes" (set nSwitch=) & (set SNKnswitch=N) & (goto:SNKPAGE5)
|
|
:skip
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo Would you like an nSwitch (neek2o) Channel installed to your EmuNAND?
|
|
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfo.txt goto:skip
|
|
echo.
|
|
findStr /C:"(BK2O)" "temp\EmunandInfo.txt" >nul
|
|
IF NOT ERRORLEVEL 1 support\sfk echo [%greentext%] - nSwitch (neek2o) Channel (BK2O) Detected on EmuNAND Already
|
|
:skip
|
|
|
|
|
|
echo.
|
|
echo.
|
|
echo This is a simple neek/realnand switcher app embedded in a channel to
|
|
echo help switch between your Emulated Nand and your Real Nand.
|
|
echo.
|
|
echo.
|
|
echo If you answer "Y", the WAD will be saved to your SD card so you can
|
|
echo optionally also install it to your real NAND using YAWM ModMii Edition.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo.
|
|
if /i "%SNEEKSELECT%" NEQ "5" echo N = No
|
|
if /i "%SNEEKSELECT%" EQU "5" echo N = No (or leave selection blank)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%SNKnswitch%"=="" set SNKnswitch="
|
|
set /p SNKnswitch=Enter Selection Here:
|
|
set "SNKnswitch=%SNKnswitch:"=%"
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:miniskip
|
|
if "%SNKnswitch%"=="" set SNKnswitch=N
|
|
:miniskip
|
|
|
|
if "%SNKnswitch%"=="" goto:badkey
|
|
|
|
if /i "%SNKnswitch%" NEQ "B" goto:notback
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:SNKPAGE4c
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:SNKPAGE4c
|
|
if /i "%neek2o%" EQU "on" goto:SNKPAGE4c
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "S" goto:SNKPAGE4c
|
|
if /i "%SNKVERSION%" EQU "V" goto:SNKPAGE4c
|
|
goto:SNKPAGE4d
|
|
:notback
|
|
|
|
if /i "%SNKnswitch%" EQU "M" goto:MENU
|
|
if /i "%SNKnswitch%" EQU "Y" goto:SNKPAGE5
|
|
if /i "%SNKnswitch%" EQU "N" goto:SNKPAGE5
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE4e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Page5 - SNEEK SERIAL...............................
|
|
:SNKPAGE5
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:nocheck
|
|
set SNKSERIAL=
|
|
if "%SMAPP%"=="" (goto:WPAGE20) else (goto:nonandcheck)
|
|
:nocheck
|
|
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "S" set "nandpath=%DRIVE%"
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "U" set "nandpath=%DRIVEU%"
|
|
|
|
if /i "%neek2o%" EQU "ON" goto:DOIT
|
|
if /i "%SNKS2U%" EQU "N" goto:quickskip
|
|
:DOIT
|
|
SET NANDcount=0
|
|
if /i "%SNKREGION%" EQU "U" set nandregion=us
|
|
if /i "%SNKREGION%" EQU "E" set nandregion=eu
|
|
if /i "%SNKREGION%" EQU "J" set nandregion=jp
|
|
if /i "%SNKREGION%" EQU "K" set nandregion=kr
|
|
if not exist "%nandpath%\nands\pl_%nandregion%" (set "nandpath=%nandpath%\nands\pl_%nandregion%") & (goto:quickskip)
|
|
|
|
|
|
|
|
:NANDname
|
|
SET /a NANDcount=%NANDcount%+1
|
|
if not exist "%nandpath%\nands\pl_%nandregion%%NANDcount%" (set "nandpath=%nandpath%\nands\pl_%nandregion%%NANDcount%") & (goto:quickskip)
|
|
goto:NANDname
|
|
:quickskip
|
|
|
|
set nandexist=no
|
|
if exist "%nandpath%"\title set nandexist=yes
|
|
if exist "%nandpath%"\ticket set nandexist=yes
|
|
if exist "%nandpath%"\sys set nandexist=yes
|
|
if exist "%nandpath%"\shared1 set nandexist=yes
|
|
|
|
:nonandcheck
|
|
if /i "%SNEEKSELECT%" EQU "5" (set settingtxtExist=yes) else (set settingtxtExist=no)
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo EMULATED NAND MODIFIER) else (echo EMULATED NAND BUILDER)
|
|
echo.
|
|
echo.
|
|
echo Enter the 11-12 digit serial number you want to use to create setting.txt?
|
|
echo.
|
|
echo.
|
|
if /i "%settingtxtExist%" EQU "yes" support\sfk echo -spat \x20 [%redtext%] setting.txt already exists in:
|
|
if /i "%settingtxtExist%" EQU "yes" echo "%nandpath%"
|
|
if /i "%settingtxtExist%" EQU "yes" support\sfk echo -spat \x20 [%redtext%] Leave the selection blank to keep using this setting.txt
|
|
echo.
|
|
echo.
|
|
echo Enter your serial number now
|
|
echo.
|
|
echo Example: %defaultserial%
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo D = Default Serial %defaultserial%
|
|
echo.
|
|
echo.
|
|
echo Note: You can change this at any time using ModMii's EmuNAND Modifer
|
|
echo.
|
|
echo.
|
|
echo Note: If you want your emulated NAND to have internet access
|
|
echo you should use the serial from your console
|
|
echo (or use the setting.txt from your NAND Dump)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if "%SNKSERIAL%"=="" set SNKSERIAL="
|
|
set /p SNKSERIAL=Enter Selection Here:
|
|
set "SNKSERIAL=%SNKSERIAL:"=%"
|
|
|
|
if /i "%settingtxtExist%" EQU "no" goto:skip
|
|
IF "%SNKSERIAL%"=="" (set SNKSERIAL=current) & (goto:WPAGE20)
|
|
:skip
|
|
|
|
if "%SNKSERIAL%"=="" goto:badkey
|
|
|
|
if /i "%SNKSERIAL%" EQU "M" goto:MENU
|
|
|
|
if /i "%SNKSERIAL%" NEQ "B" goto:quickskip
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if /i "%nswitchFound%" EQU "Yes" (goto:SNKPAGE4c) else (goto:SNKPAGE4e)
|
|
:skip
|
|
if /i "%SNKVERSION%" EQU "V" goto:SNKPAGE4e
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "S" goto:SNKPAGE4e
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:SNKPAGE4e
|
|
if /i "%neek2o%" EQU "ON" (goto:SNKPAGE4e) else (goto:SNKPAGE4d)
|
|
:quickskip
|
|
|
|
|
|
if /i "%SNKSERIAL%" EQU "D" set SNKSERIAL=%defaultserial%
|
|
|
|
|
|
::limit user input to X# of digits
|
|
if "%SNKSERIAL:~10%"=="" goto:badkey
|
|
|
|
if /i "%SNKREGION%" EQU "U" goto:skip
|
|
::if "%SNKSERIAL:~11%"=="" goto:badkey
|
|
:skip
|
|
|
|
if not "%SNKSERIAL:~12%"=="" goto:badkey
|
|
|
|
::next page
|
|
goto:WPAGE20
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKPAGE5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Nand Builder Confirmation...............................
|
|
:SNKNANDCONFIRM
|
|
set SNKNANDCONFIRM="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:notabstinence
|
|
if /i "%FIRMSTART%" NEQ "o" echo Abstinence Wizard for %FIRMSTART%%REGION%
|
|
if /i "%FIRMSTART%" EQU "o" echo Abstinence Wizard for ^<2.2%REGION%
|
|
echo.
|
|
:notabstinence
|
|
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" echo You are about to make the following changes to your Emulated NAND
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "3" goto:notalsoinstalling
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo You are about to install %neekname%: SNEEK+DI Rev%CurrentRev% and build a %SNKVERSION%%SNKREGION% Emulated Nand
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo You are about to install %neekname%: UNEEK+DI Rev%CurrentRev% and build a %SNKVERSION%%SNKREGION% Emulated Nand
|
|
if /i "%SNEEKTYPE%" EQU "S" echo You are about to install %neekname%: SNEEK Rev%CurrentRev% and build a %SNKVERSION%%SNKREGION% Emulated Nand
|
|
if /i "%SNEEKTYPE%" EQU "U" echo You are about to install %neekname%: UNEEK Rev%CurrentRev% and build a %SNKVERSION%%SNKREGION% Emulated Nand
|
|
|
|
echo.
|
|
if /i "%neek2o%" EQU "on" echo neek2o Enabled (can be changed in options)
|
|
if /i "%neek2o%" NEQ "on" echo neek2o Disabled (can be changed in options)
|
|
if /i "%SSD%" EQU "on" echo SNEEK and SNEEK+DI SD Access Enabled (can be changed in options)
|
|
if /i "%SSD%" NEQ "on" echo SNEEK and SNEEK+DI SD Access Disabled (can be changed in options)
|
|
goto:skip
|
|
|
|
:notalsoinstalling
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "2" goto:tinyskip
|
|
if /i "%SNKVERSION%" NEQ "V" echo You are about to build a %SNKVERSION%%SNKREGION% Emulated Nand
|
|
if /i "%SNKVERSION%" EQU "V" echo You are about to build a vWii %SNKREGION% Emulated Nand
|
|
:tinyskip
|
|
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "1" goto:skip
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo You are about to build SNEEK+DI Rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo You are about to build UNEEK+DI Rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo You are about to build UNEEK Rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo You are about to build SNEEK Rev%CurrentRev%
|
|
echo.
|
|
if /i "%neek2o%" EQU "on" echo neek2o Enabled (can be changed in options)
|
|
if /i "%neek2o%" NEQ "on" echo neek2o Disabled (can be changed in options)
|
|
if /i "%SSD%" EQU "on" echo SNEEK and SNEEK+DI SD Access Enabled (can be changed in options)
|
|
if /i "%SSD%" NEQ "on" echo SNEEK and SNEEK+DI SD Access Disabled (can be changed in options)
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
goto:nonandinstallation
|
|
|
|
:skip
|
|
|
|
if not exist temp\WAD mkdir temp\WAD
|
|
|
|
echo.
|
|
::echo Install WADs from: "temp\WAD\"
|
|
echo EmuNAND Location: "%nandpath%\"
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip
|
|
if not exist temp\EmunandInfoSum.txt goto:skip
|
|
echo.
|
|
type temp\EmunandInfoSum.txt
|
|
:skip
|
|
|
|
echo.
|
|
IF not "%addwadfolder%"=="" echo Install wads from custom folder: "%addwadfolder%\"
|
|
IF "%addwadfolder%"=="" (echo A = Add custom folder of wads to install to the emulated NAND) else (echo R = Remove custom folder of wads from emulated NAND)
|
|
echo.
|
|
echo.
|
|
|
|
IF "%addwadfolder%"=="" (set emuitems=0) else (set emuitems=1)
|
|
set emuwadcount=%emuitems%
|
|
|
|
|
|
|
|
|
|
::if /i "%SNEEKSELECT%" NEQ "5" goto:skipthis
|
|
if /i "%SNKSERIAL%" NEQ "current" SET /a emuitems=%emuitems%+1
|
|
if /i "%SNKSERIAL%" NEQ "current" echo * setting.txt will be created using this serial number: %SNKSERIAL%
|
|
::if /i "%SNKSERIAL%" EQU "current" echo * Existing setting.txt will be kept
|
|
echo.
|
|
:skipthis
|
|
|
|
::if /i "%SNEEKSELECT%" NEQ "5" goto:skipthis
|
|
if /i "%SNKnswitch%" EQU "Y" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKnswitch%" EQU "Y" echo * Install nSwitch (neek2o) Channel
|
|
if /i "%SNKnswitch%" EQU "Y" echo.
|
|
:skipthis
|
|
|
|
if /i "%SNKPLC%" EQU "Y" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKPLC%" EQU "Y" echo * Install postLoader Channel
|
|
if /i "%SNKPLC%" EQU "Y" echo.
|
|
if /i "%SNKOHBC%" EQU "Y" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKOHBC%" EQU "Y" echo * Install Homebrew Channel
|
|
if /i "%SNKOHBC%" EQU "Y" echo.
|
|
|
|
|
|
if /i "%SNKCIOS%" EQU "Y" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKCIOS%" EQU "Y" echo * Install cIOS249 rev14
|
|
if /i "%SNKCIOS%" EQU "Y" echo.
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skipthis
|
|
if /i "%BCtype%" EQU "BC" goto:skipthis
|
|
if /i "%BCtype%" EQU "NONE" goto:skipthis
|
|
if /i "%SNKcBC%" EQU "N" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKcBC%" EQU "N" echo * Uninstall %BCTYPE%
|
|
if /i "%SNKcBC%" EQU "N" echo.
|
|
:skipthis
|
|
|
|
if /i "%BCtype%" EQU "NMM" goto:noNMM
|
|
if /i "%SNKcBC%" EQU "NMM" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKcBC%" EQU "NMM" echo * Install NMM (No More Memory-Cards)
|
|
if /i "%SNKcBC%" EQU "NMM" echo.
|
|
:noNMM
|
|
|
|
if /i "%BCtype%" EQU "DML" goto:noDML
|
|
if /i "%SNKcBC%" EQU "DML" SET /a emuitems=%emuitems%+1
|
|
::if /i "%SNKcBC%" EQU "DML" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKcBC%" EQU "DML" echo * Install DML (Dios Mios Lite) v1.3 to Real NAND
|
|
if /i "%SNKcBC%" EQU "DML" echo.
|
|
:noDML
|
|
|
|
set uninstallprii=
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:not5
|
|
if /i "%PRIIFOUND%" EQU "YES" (goto:priifound) else (goto:not5)
|
|
:priifound
|
|
::if /i "%SNKPRI%" EQU "Y" echo * Priiloader already Installed
|
|
::if /i "%SNKPRI%" EQU "Y" echo.
|
|
if /i "%SNKPRI%" EQU "N" SET /a emuitems=%emuitems%+1
|
|
if /i "%SNKPRI%" EQU "N" echo * Uninstall Priiloader
|
|
if /i "%SNKPRI%" EQU "N" echo.
|
|
if /i "%SNKPRI%" EQU "N" set uninstallprii=yes
|
|
goto:miniskip
|
|
:not5
|
|
|
|
if /i "%SNKPRI%" EQU "Y" SET /a emuitems=%emuitems%+1
|
|
if /i "%SNKPRI%" EQU "Y" echo * Install Priiloader
|
|
if /i "%SNKPRI%" EQU "Y" echo.
|
|
:miniskip
|
|
|
|
if /i "%SNKFLOW%" EQU "Y" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKFLOW%" EQU "Y" echo * Install WiiFlow
|
|
if /i "%SNKFLOW%" EQU "Y" echo.
|
|
|
|
if /i "%SNKS2U%" EQU "Y" (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%SNKS2U%" EQU "Y" echo * Install Switch2Uneek
|
|
if /i "%SNKS2U%" EQU "Y" echo.
|
|
|
|
if "%ThemeSelection%"=="" set ThemeSelection=N
|
|
if /i "%ThemeSelection%" NEQ "N" SET /a emuitems=%emuitems%+1
|
|
if /i "%ThemeSelection%" EQU "R" echo * Install Dark Wii Red %effect% Theme
|
|
if /i "%ThemeSelection%" EQU "G" echo * Install Dark Wii Green %effect% Theme
|
|
if /i "%ThemeSelection%" EQU "BL" echo * Install Dark Wii Blue %effect% Theme
|
|
if /i "%ThemeSelection%" EQU "O" echo * Install Dark Wii Orange %effect% Theme
|
|
if /i "%ThemeSelection%" EQU "D" echo * Restore Original\Default Theme
|
|
if /i "%ThemeSelection:~-4%" EQU ".mym" echo * Install Theme with %effect% effect: "%ThemeSelection%"
|
|
if /i "%ThemeSelection:~-4%" EQU ".csm" echo * Install Theme: "%ThemeSelection%"
|
|
if /i "%ThemeSelection%" NEQ "N" echo.
|
|
|
|
if /i "%PIC%" EQU "Y" (echo * Install Photo Channel) & (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%NET%" EQU "Y" (echo * Install Internet Channel) & (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%WEATHER%" EQU "Y" (echo * Install Weather Channel) & (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%NEWS%" EQU "Y" (echo * Install News Channel) & (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%MIIQ%" EQU "Y" (echo * Install Mii Channel) & (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%Shop%" EQU "Y" (echo * Install Shopping Channel) & (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
if /i "%Speak%" EQU "Y" (echo * Install Wii Speak Channel) & (SET /a emuitems=%emuitems%+1) & (SET /a emuwadcount=%emuwadcount%+1)
|
|
|
|
|
|
|
|
echo.
|
|
if /i "%nandexist%" EQU "yes" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%]WARNING: An emulated nand already exists in:
|
|
if /i "%nandexist%" EQU "yes" echo "%nandpath%"
|
|
if /i "%nandexist%" EQU "yes" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%]Existing emulated nand will be Deleted\Replaced
|
|
:nonandinstallation
|
|
echo.
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip5
|
|
if /i "%emuitems%" NEQ "0" goto:skip5
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%yellowtext%] No changes to the Emulated NAND have been selected.
|
|
echo.
|
|
echo.
|
|
goto:noyes
|
|
:skip5
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" (echo Y = Yes, Generate Guide and Begin Downloading) else (echo Y = Yes, do it now!)
|
|
if /i "%AbstinenceWiz%" EQU "Y" echo G = Generate Guide Only
|
|
:noyes
|
|
|
|
::echo.
|
|
::echo N = No
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
set /p SNKNANDCONFIRM=Enter Selection Here:
|
|
set "SNKNANDCONFIRM=%SNKNANDCONFIRM:"=%"
|
|
if "%SNKNANDCONFIRM%"=="" goto:badkey
|
|
|
|
if /i "%SNKNANDCONFIRM%" EQU "B" goto:%B4SNKCONFIRM%
|
|
if /i "%SNKNANDCONFIRM%" EQU "M" goto:MENU
|
|
::if /i "%SNKNANDCONFIRM%" EQU "N" goto:MENU
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:NotAbstinenceWiz
|
|
if /i "%SNKNANDCONFIRM%" EQU "G" (set secondrun=) & (set SETTINGS=G) & (goto:Download)
|
|
if /i "%SNKNANDCONFIRM%" EQU "Y" (set secondrun=) & (set SETTINGS=) & (goto:creditcheck)
|
|
:NotAbstinenceWiz
|
|
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:skip5
|
|
if /i "%SNKNANDCONFIRM%" EQU "A" goto:addwadfolder
|
|
if /i "%SNKNANDCONFIRM%" EQU "R" (set addwadfolder=) & (goto:SNKNANDCONFIRM)
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skip5
|
|
if /i "%emuitems%" EQU "0" goto:badkey
|
|
:skip5
|
|
|
|
if /i "%SNKNANDCONFIRM%" EQU "Y" goto:creditcheck
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKNANDCONFIRM
|
|
|
|
|
|
|
|
|
|
:creditcheck
|
|
::credit check removed, enjoy!
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:Download
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:SNEEKINSTALLER
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:SNEEKINSTALLER
|
|
if /i "%SNEEKSELECT%" EQU "2" goto:SNKNANDBUILDER
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:SNKNANDBUILDER
|
|
goto:DLSETTINGS
|
|
|
|
|
|
::-----------------------------------Add WAD Folder to Install to emunand----------------------------------
|
|
:addwadfolder
|
|
set addwadfolder="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the full path\folder of WADs you'd like to install to your emulated NAND
|
|
echo.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo * You can drag and drop the folder onto this
|
|
if /i "%adminmode%" EQU "N" echo window to save yourself having to manually type it
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
|
|
set /p addwadfolder=Enter Selection Here:
|
|
set "addwadfolder=%addwadfolder:"=%"
|
|
if "%addwadfolder%"=="" (echo You Have Entered an Incorrect Key) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:addwadfolder)
|
|
|
|
if /i "%addwadfolder%" EQU "M" (set addwadfolder=) & (goto:MENU)
|
|
|
|
if /i "%addwadfolder%" EQU "B" (set addwadfolder=) & (goto:SNKNANDCONFIRM)
|
|
|
|
:doublecheckwad
|
|
set fixslash=
|
|
if /i "%addwadfolder:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%addwadfolder:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "addwadfolder=%addwadfolder:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheckwad
|
|
|
|
|
|
if not exist "%addwadfolder%" (echo.) & (echo "%addwadfolder%" doesn't exist, please try again...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:addwadfolder)
|
|
|
|
::make sure second char is ":"
|
|
if /i "%addwadfolder:~1,1%" NEQ ":" (echo.) & (echo Enter the full path including the drive letter, please try again...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:addwadfolder)
|
|
|
|
if not exist "%addwadfolder%\*.wad" (echo.) & (echo No Wads found, please try a different folder...) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:addwadfolder)
|
|
|
|
goto:SNKNANDCONFIRM
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................SNEEK Nand Builder...............................
|
|
:SNKNANDBUILDER
|
|
|
|
::force 43DB fix (D)efault for vWii if (N)o theme selected
|
|
if /i "%SNEEKSELECT%" NEQ "2" goto:skip
|
|
if /i "%SNKVERSION%" NEQ "V" goto:skip
|
|
if /i "%ThemeSelection%" EQU "N" (set ThemeSelection=D) & (SET /a emuitems=%emuitems%+1)
|
|
:skip
|
|
|
|
::temporarily force wads to be saved to "root" of "temp" folder
|
|
::Set ROOTSAVE=on
|
|
::set DRIVE=temp//happens later
|
|
|
|
if not exist "%nandpath%" mkdir "%nandpath%"
|
|
::if not exist temp\WAD mkdir temp\WAD
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:quickskip
|
|
|
|
::backup setting.txt if applicable
|
|
if /i "%SNKSERIAL%" EQU "current" move /y "%nandpath%"\title\00000001\00000002\data\setting.txt "%nandpath%"\setting.txt >nul
|
|
|
|
::delete existing nand if exists
|
|
if exist "%nandpath%"\title echo.
|
|
if exist "%nandpath%"\title echo Deleting existing emulated nand...
|
|
if exist "%nandpath%"\title rd /s /q "%nandpath%"\title
|
|
if exist "%nandpath%"\ticket rd /s /q "%nandpath%"\ticket
|
|
if exist "%nandpath%"\sys rd /s /q "%nandpath%"\sys
|
|
if exist "%nandpath%"\shared1 rd /s /q "%nandpath%"\shared1
|
|
::import, meta, shared2, tmp are deleted but will not be recreated by NAND Builder
|
|
if exist "%nandpath%"\import rd /s /q "%nandpath%"\import
|
|
if exist "%nandpath%"\meta rd /s /q "%nandpath%"\meta
|
|
if exist "%nandpath%"\shared2 rd /s /q "%nandpath%"\shared2
|
|
if exist "%nandpath%"\tmp rd /s /q "%nandpath%"\tmp
|
|
if exist "%nandpath%"\wfs rd /s /q "%nandpath%"\wfs
|
|
if exist "%nandpath%\nandinfo.txt" del "%nandpath%\nandinfo.txt">nul
|
|
|
|
|
|
::if user selects S2U but has emulated nand on root without nandslot.bin, move existing nand to nands folder
|
|
if /i "%SNKS2U%" EQU "N" goto:quickskip
|
|
if exist "%DRIVEU%"\nandslot.bin goto:quickskip
|
|
|
|
SET /a NANDcountPLUS1=%NANDcount%+1
|
|
|
|
if not exist "%DRIVEU%"\title goto:quickskip
|
|
echo.
|
|
echo Moving existing emulated nand to \nands\%NANDcountPLUS1% folder...
|
|
|
|
if not exist "%DRIVEU%\nands\nand%NANDcountPLUS1%" mkdir "%DRIVEU%\nands\nand%NANDcountPLUS1%"
|
|
|
|
if exist "%DRIVEU%"\title move /y "%DRIVEU%"\title "%DRIVEU%\nands\nand%NANDcountPLUS1%\title"
|
|
if exist "%DRIVEU%"\ticket move /y "%DRIVEU%"\ticket "%DRIVEU%\nands\nand%NANDcountPLUS1%\ticket"
|
|
if exist "%DRIVEU%"\sys move /y "%DRIVEU%"\sys "%DRIVEU%\nands\nand%NANDcountPLUS1%\sys"
|
|
if exist "%DRIVEU%"\shared1 move /y "%DRIVEU%"\shared1 "%DRIVEU%\nands\nand%NANDcountPLUS1%\shared1"
|
|
::import, meta, shared2, tmp are deleted but will not be recreated by NAND Builder
|
|
if exist "%DRIVEU%"\import move /y "%DRIVEU%"\import "%DRIVEU%\nands\nand%NANDcountPLUS1%\import"
|
|
if exist "%DRIVEU%"\meta move /y "%DRIVEU%"\meta "%DRIVEU%\nands\nand%NANDcountPLUS1%\meta"
|
|
if exist "%DRIVEU%"\shared2 move /y "%DRIVEU%"\shared2 "%DRIVEU%\nands\nand%NANDcountPLUS1%\shared2"
|
|
if exist "%DRIVEU%"\tmp move /y "%DRIVEU%"\tmp "%DRIVEU%\nands\nand%NANDcountPLUS1%\tmp"
|
|
if exist "%DRIVEU%"\wfs move /y "%DRIVEU%"\wfs "%DRIVEU%\nands\nand%NANDcountPLUS1%\wfs"
|
|
|
|
:quickskip
|
|
|
|
|
|
|
|
::all
|
|
if /i "%MIIQ%" EQU "Y" set MII=*
|
|
|
|
if /i "%SNKREGION%" EQU "U" goto:SNKU
|
|
if /i "%SNKREGION%" EQU "E" goto:SNKE
|
|
if /i "%SNKREGION%" EQU "J" goto:SNKJ
|
|
if /i "%SNKREGION%" EQU "K" goto:SNKK
|
|
|
|
:SNKU
|
|
if /i "%SNKVERSION%" EQU "4.3" set SM4.3U=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set SM4.2U=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set SM4.1U=*
|
|
if /i "%SNKVERSION%" EQU "V" set vSM4.3U=*
|
|
if /i "%ThemeSelection%" EQU "N" goto:SKIPSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Red_4.3U=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Red_4.2U=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Red_4.1U=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Red_vWiiU=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Green_4.3U=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Green_4.2U=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Green_4.1U=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Green_vWiiU=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Blue_4.3U=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Blue_4.2U=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Blue_4.1U=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Blue_vWiiU=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set darkwii_orange_4.3U=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set darkwii_orange_4.2U=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set darkwii_orange_4.1U=*
|
|
if /i "%SNKVERSION%" EQU "V" set darkwii_orange_vWiiU=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
::download base theme if custom mym provided
|
|
if /i "%ThemeSelection:~-4%" EQU ".mym" goto:continue
|
|
if /i "%ThemeSelection%" NEQ "D" goto:skip
|
|
:continue
|
|
if /i "%SNKVERSION%" EQU "4.3" set A97=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set A87=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set A7b=*
|
|
if /i "%SNKVERSION%" EQU "v" set A1f=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
:SKIPSM
|
|
|
|
::SMAPP is patched for UNEEK+DI Support
|
|
if /i "%SNKVERSION%" EQU "4.3" set SMAPP=00000098
|
|
if /i "%SNKVERSION%" EQU "4.2" set SMAPP=00000088
|
|
if /i "%SNKVERSION%" EQU "4.1" set SMAPP=0000007c
|
|
if /i "%SNKVERSION%" EQU "V" set SMAPP=00000020
|
|
|
|
if /i "%PIC%" EQU "Y" (set P=*) & (set HAZA=*)
|
|
if /i "%NET%" EQU "Y" set IU=*
|
|
if /i "%WEATHER%" EQU "Y" set WU=*
|
|
if /i "%NEWS%" EQU "Y" set NU=*
|
|
if /i "%SHOP%" EQU "Y" set S=*
|
|
if /i "%SPEAK%" EQU "Y" set WSU=*
|
|
goto:SNKBUGGEDSMIOS
|
|
|
|
:SNKE
|
|
if /i "%SNKVERSION%" EQU "4.3" set SM4.3E=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set SM4.2E=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set SM4.1E=*
|
|
if /i "%SNKVERSION%" EQU "V" set vSM4.3E=*
|
|
if /i "%ThemeSelection%" EQU "N" goto:SKIPSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Red_4.3E=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Red_4.2E=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Red_4.1E=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Red_vWiiE=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Green_4.3E=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Green_4.2E=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Green_4.1E=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Green_vWiiE=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Blue_4.3E=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Blue_4.2E=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Blue_4.1E=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Blue_vWiiE=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set darkwii_orange_4.3E=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set darkwii_orange_4.2E=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set darkwii_orange_4.1E=*
|
|
if /i "%SNKVERSION%" EQU "V" set darkwii_orange_vWiiE=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
::download base theme if custom mym provided
|
|
if /i "%ThemeSelection:~-4%" EQU ".mym" goto:continue
|
|
if /i "%ThemeSelection%" NEQ "D" goto:skip
|
|
:continue
|
|
if /i "%SNKVERSION%" EQU "4.3" set A9a=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set A8a=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set A7e=*
|
|
if /i "%SNKVERSION%" EQU "V" set A22=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
:SKIPSM
|
|
if /i "%SNKVERSION%" EQU "4.3" set SMAPP=0000009b
|
|
if /i "%SNKVERSION%" EQU "4.2" set SMAPP=0000008b
|
|
if /i "%SNKVERSION%" EQU "4.1" set SMAPP=0000007f
|
|
if /i "%SNKVERSION%" EQU "V" set SMAPP=00000023
|
|
if /i "%PIC%" EQU "Y" (set P=*) & (set HAZA=*)
|
|
if /i "%NET%" EQU "Y" set IE=*
|
|
if /i "%WEATHER%" EQU "Y" set WE=*
|
|
if /i "%NEWS%" EQU "Y" set NE=*
|
|
if /i "%SHOP%" EQU "Y" set S=*
|
|
if /i "%SPEAK%" EQU "Y" set WSE=*
|
|
goto:SNKBUGGEDSMIOS
|
|
|
|
:SNKJ
|
|
if /i "%SNKVERSION%" EQU "4.3" set SM4.3J=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set SM4.2J=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set SM4.1J=*
|
|
if /i "%SNKVERSION%" EQU "V" set vSM4.3J=*
|
|
if /i "%ThemeSelection%" EQU "N" goto:SKIPSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Red_4.3J=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Red_4.2J=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Red_4.1J=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Red_vWiiJ=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Green_4.3J=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Green_4.2J=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Green_4.1J=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Green_vWiiJ=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Blue_4.3J=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Blue_4.2J=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Blue_4.1J=*
|
|
if /i "%SNKVERSION%" EQU "V" set DarkWii_Blue_vWiiJ=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set darkwii_orange_4.3J=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set darkwii_orange_4.2J=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set darkwii_orange_4.1J=*
|
|
if /i "%SNKVERSION%" EQU "V" set darkwii_orange_vWiiJ=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
::download base theme if custom mym provided
|
|
if /i "%ThemeSelection:~-4%" EQU ".mym" goto:continue
|
|
if /i "%ThemeSelection%" NEQ "D" goto:skip
|
|
:continue
|
|
if /i "%SNKVERSION%" EQU "4.3" set A94=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set A84=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set A78=*
|
|
if /i "%SNKVERSION%" EQU "V" set A1c=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
:SKIPSM
|
|
if /i "%SNKVERSION%" EQU "4.3" set SMAPP=00000095
|
|
if /i "%SNKVERSION%" EQU "4.2" set SMAPP=00000085
|
|
if /i "%SNKVERSION%" EQU "4.1" set SMAPP=00000079
|
|
if /i "%SNKVERSION%" EQU "V" set SMAPP=0000001d
|
|
if /i "%PIC%" EQU "Y" (set P=*) & (set HAZA=*)
|
|
if /i "%NET%" EQU "Y" set IJ=*
|
|
if /i "%WEATHER%" EQU "Y" set WJ=*
|
|
if /i "%NEWS%" EQU "Y" set NJ=*
|
|
if /i "%SHOP%" EQU "Y" set S=*
|
|
if /i "%SPEAK%" EQU "Y" set WSJ=*
|
|
goto:SNKBUGGEDSMIOS
|
|
|
|
:SNKK
|
|
if /i "%SNKVERSION%" EQU "4.3" set SM4.3K=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set SM4.2K=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set SM4.1K=*
|
|
if /i "%ThemeSelection%" EQU "N" goto:SKIPSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Red_4.3K=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Red_4.2K=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Red_4.1K=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Green_4.3K=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Green_4.2K=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Green_4.1K=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set DarkWii_Blue_4.3K=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set DarkWii_Blue_4.2K=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set DarkWii_Blue_4.1K=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:skip
|
|
if /i "%SNKVERSION%" EQU "4.3" set darkwii_orange_4.3K=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set darkwii_orange_4.2K=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set darkwii_orange_4.1K=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
::download base theme if custom mym provided
|
|
if /i "%ThemeSelection:~-4%" EQU ".mym" goto:continue
|
|
if /i "%ThemeSelection%" NEQ "D" goto:skip
|
|
:continue
|
|
if /i "%SNKVERSION%" EQU "4.3" set A9d=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set A8d=*
|
|
if /i "%SNKVERSION%" EQU "4.1" set A81=*
|
|
goto:SKIPSM
|
|
:skip
|
|
|
|
:SKIPSM
|
|
if /i "%SNKVERSION%" EQU "4.3" set SMAPP=0000009e
|
|
if /i "%SNKVERSION%" EQU "4.2" set SMAPP=0000008e
|
|
if /i "%SNKVERSION%" EQU "4.1" set SMAPP=00000082
|
|
if /i "%PIC%" EQU "Y" (set P0=*) & (set PHOTOK=*)
|
|
::quick and dirty disabling of the Korean Shop channel installation from emunand as it throws errors with SMW and doesn't install anyway
|
|
::re-enabled since switching away from SMW for emunand stuff
|
|
::set SHOP=N
|
|
if /i "%SHOP%" EQU "Y" set SK=*
|
|
if /i "%SPEAK%" EQU "Y" set WSK=*
|
|
|
|
:SNKBUGGEDSMIOS
|
|
|
|
if /i "%SNKVERSION%" NEQ "V" goto:AfterVWiiIOS
|
|
if /i "%SHOP%" EQU "Y" set vIOS56=*
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" (set vSM4.3U=) & (set vSM4.3E=) & (set vSM4.3J=)
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:skipthis
|
|
set BCnand=*
|
|
set BCwfs=*
|
|
|
|
if /i "%SNKREGION%" EQU "U" (set vRSU=*) & (set EULAU=*)
|
|
if /i "%SNKREGION%" EQU "E" (set vRSE=*) & (set EULAE=*)
|
|
if /i "%SNKREGION%" EQU "J" (set vRSJ=*) & (set EULAJ=*)
|
|
|
|
set vIOS9=*
|
|
set vIOS12=*
|
|
set vIOS13=*
|
|
set vIOS14=*
|
|
set vIOS15=*
|
|
set vIOS17=*
|
|
set vIOS21=*
|
|
set vIOS22=*
|
|
set vIOS28=*
|
|
set vIOS31=*
|
|
set vIOS33=*
|
|
set vIOS34=*
|
|
set vIOS35=*
|
|
set vIOS36=*
|
|
set vIOS37=*
|
|
set vIOS38=*
|
|
set vIOS41=*
|
|
set vIOS43=*
|
|
set vIOS45=*
|
|
set vIOS46=*
|
|
set vIOS48=*
|
|
set vIOS53=*
|
|
set vIOS55=*
|
|
set vIOS56=*
|
|
set vIOS57=*
|
|
set vIOS58=*
|
|
set vIOS59=*
|
|
set vIOS61=*
|
|
set vIOS62=*
|
|
::set vIOS80=*
|
|
set vIOS80P=*
|
|
|
|
goto:skip1line
|
|
:AfterVWiiIOS
|
|
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:skipthis
|
|
|
|
if /i "%SNKVERSION%" EQU "4.1" set IOS60P=*
|
|
if /i "%SNKVERSION%" EQU "4.2" set IOS70K=*
|
|
if /i "%SNKVERSION%" EQU "4.3" set IOS80K=*
|
|
|
|
::activeios
|
|
set M10=*
|
|
set IOS9=*
|
|
set IOS12=*
|
|
set IOS13=*
|
|
set IOS14=*
|
|
set IOS15=*
|
|
set IOS17=*
|
|
set IOS21=*
|
|
set IOS22=*
|
|
set IOS28=*
|
|
set IOS31=*
|
|
set IOS33=*
|
|
set IOS34=*
|
|
set IOS35=*
|
|
set IOS36v3608=*
|
|
set IOS37=*
|
|
set IOS38=*
|
|
set ios41=*
|
|
set ios43=*
|
|
set ios45=*
|
|
set ios46=*
|
|
set IOS48v4124=*
|
|
set IOS53=*
|
|
set IOS55=*
|
|
set IOS56=*
|
|
set IOS57=*
|
|
set IOS58=*
|
|
::IOS59 is a J exclusive
|
|
if /i "%SNKREGION%" EQU "J" set IOS59=*
|
|
set IOS61=*
|
|
set IOS62=*
|
|
if /i "%SNKREGION%" EQU "U" set EULAU=*
|
|
if /i "%SNKREGION%" EQU "E" set EULAE=*
|
|
if /i "%SNKREGION%" EQU "J" set EULAJ=*
|
|
if /i "%SNKREGION%" EQU "K" set EULAK=*
|
|
|
|
:skipthis
|
|
|
|
if /i "%SHOP%" EQU "Y" set IOS56=*
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" (set SM4.3U=) & (set SM4.2U=) & (set SM4.1U=) & (set SM4.3E=) & (set SM4.2E=) & (set SM4.1E=) & (set SM4.3J=) & (set SM4.2J=) & (set SM4.1J=) & (set SM4.3K=) & (set SM4.2K=) & (set SM4.1K=)
|
|
|
|
set BC=*
|
|
if /i "%SNKcBC%" EQU "NMM" (set cBC=*) & (set BC=)
|
|
::::if /i "%SNKcBC%" EQU "DML" set DML=*
|
|
::if /i "%SNKcBC%" EQU "DML" set BC=*
|
|
::if /i "%SNKcBC%" EQU "N" set BC=*
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skipdeselect
|
|
if /i "%SNKVERSION%" EQU "V" set BC=
|
|
if /i "%BCtype%" EQU "BC" set BC=
|
|
if /i "%BCtype%" EQU "DML" set DML=
|
|
if /i "%BCtype%" EQU "NMM" set cBC=
|
|
:skipdeselect
|
|
|
|
|
|
if /i "%SNKCIOS%" EQU "Y" set cIOS249-v14=*
|
|
|
|
if /i "%PRIIFOUND%" EQU "Yes" goto:skip1line
|
|
::if /i "%SNKPRI%" EQU "Y" set HAX=*
|
|
:skip1line
|
|
|
|
if /i "%SNKFLOW%" EQU "Y" set FLOWF=*
|
|
if /i "%SNKPLC%" EQU "Y" set PLC=*
|
|
|
|
if /i "%SNKOHBC%" NEQ "Y" goto:noOHBC
|
|
if /i "%SNKVERSION%" NEQ "V" (set OHBC=*) else (set OHBC113=*)
|
|
:noOHBC
|
|
|
|
|
|
if /i "%SNKS2U%" EQU "Y" set S2U=*
|
|
if /i "%SNKnswitch%" EQU "Y" set nSwitch=*
|
|
::if /i "%nswitchFound%" EQU "Yes" set nSwitch=
|
|
|
|
|
|
IF "%SMAPP%"=="" goto:miniskip
|
|
|
|
::subract 1 from %SMAPP% to get %SMTHEMEAPP%
|
|
support\sfk dec %SMAPP%>dec.txt
|
|
|
|
::Loop through the following once for EACH line in whatever.txt
|
|
for /F "tokens=*" %%A in (dec.txt) do call :processdec %%A
|
|
goto:nextstep
|
|
|
|
:processdec
|
|
set dec=%*
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
del dec.txt>nul
|
|
SET /a dec=%dec%-1
|
|
support\sfk hex %dec% -digits=8 >hex.txt
|
|
|
|
::Loop through the following once for EACH line in whatever.txt
|
|
for /F "tokens=*" %%A in (hex.txt) do call :processhex %%A
|
|
goto:nextstep
|
|
|
|
:processhex
|
|
::this is repeated for each line of the txt.file
|
|
::"%*" (no quotes) is the variable for each line as it passes through the loop
|
|
set SMTHEMEAPP=%*
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
del hex.txt>nul
|
|
|
|
::change caps to lower case for hex numbers if applicable
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "A" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%a
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "B" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%b
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "C" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%c
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "D" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%d
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "E" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%e
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "F" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%f
|
|
|
|
:miniskip
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" set nswitch=*
|
|
|
|
goto:DLCOUNT
|
|
|
|
|
|
::..............................Emulated NAND Modifer - SNK NAND Selector....................
|
|
:SNKNANDSELECTOR
|
|
set drivetemp="
|
|
set NANDPATH=
|
|
set SNKREGION=
|
|
set SMAPP=
|
|
set SMTHEMEAPP=
|
|
set SNKVERSION=
|
|
set PRIIFOUND=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo EMULATED NAND MODIFIER
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the Path of your Emulated NAND
|
|
echo.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo Note: * You can drag and drop the Drive/folder onto this
|
|
if /i "%adminmode%" EQU "N" echo window to save yourself having to manually type it
|
|
echo.
|
|
echo * In the future you can drag your Emulated NAND folder
|
|
echo onto ModMii.exe or ModMiiSkin.exe, or a shortcut to either,
|
|
echo to quickly start ModMii's Emulated NAND Modifier
|
|
echo.
|
|
echo.
|
|
echo EXAMPLES
|
|
echo.
|
|
echo.
|
|
echo L:
|
|
echo.
|
|
echo H:\nands\nand1
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
set /p Drivetemp=Enter Selection Here:
|
|
set "Drivetemp=%Drivetemp:"=%"
|
|
if "%Drivetemp%"=="" goto:notexistnand
|
|
|
|
if /i "%DRIVETEMP%" EQU "B" goto:SNKPAGE1
|
|
if /i "%DRIVETEMP%" EQU "M" goto:MENU
|
|
|
|
|
|
|
|
:doublecheckNANDPATH
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemodeswitchoff%" EQU "Y" (set cmdlinemode=) & (set one=) & (set two=)
|
|
|
|
set fixslash=
|
|
if /i "%DRIVETEMP:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%DRIVETEMP:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "DRIVETEMP=%DRIVETEMP:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheckNANDPATH
|
|
|
|
if not exist "%DRIVETEMP%" goto:notexist
|
|
|
|
if not exist "%DRIVETEMP%\title" goto:notexistnand
|
|
if not exist "%DRIVETEMP%\sys" goto:notexistnand
|
|
if not exist "%DRIVETEMP%\ticket" goto:notexistnand
|
|
if not exist "%DRIVETEMP%\shared1" goto:notexistnand
|
|
|
|
|
|
::Get NAND Info
|
|
|
|
if exist temp\EmunandInfo.txt del temp\EmunandInfo.txt>nul
|
|
if exist temp\EmunandInfoSum.txt del temp\EmunandInfoSum.txt>nul
|
|
if exist temp\SNKREGION.txt del temp\SNKREGION.txt>nul
|
|
|
|
|
|
|
|
if not exist "%DRIVETEMP%\title\00000001\00000002\content\title.tmd" goto:notitle
|
|
%WiiPy% emunand info "%DRIVETEMP%">temp\EmunandInfo.txt
|
|
support\sfk filter -quiet "temp\EmunandInfo.txt" -inc "*" to "Space Used">temp\EmunandInfoSum.txt
|
|
|
|
::typical SysMenu versions matched later, but this is to cover all our bases
|
|
support\sfk filter -quiet "temp\EmunandInfoSum.txt" -ls+" System Menu Version: " -rep _*": "__>temp\SNKREGION.txt
|
|
set /p SNKREGION= <temp\SNKREGION.txt
|
|
set SNKVERSION=%SNKREGION:~0,-1%
|
|
set SNKREGION=%SNKREGION:~-1%
|
|
if exist temp\SNKREGION.txt del temp\SNKREGION.txt>nul
|
|
|
|
findStr /C:"Type: vWii" "temp\EmunandInfoSum.txt" >nul
|
|
IF NOT ERRORLEVEL 1 set SNKVERSION=V
|
|
|
|
::echo SNKVERSION %SNKVERSION%
|
|
::echo SNKREGION %SNKREGION%
|
|
|
|
|
|
support\sfk hexdump -pure -nofile "%DRIVETEMP%\title\00000001\00000002\content\title.tmd">temp\hexdump.txt
|
|
FINDSTR /N . temp\hexdump.txt>temp\hexdump2.txt
|
|
del temp\hexdump.txt>nul
|
|
support\sfk filter -quiet "temp\hexdump2.txt" -+"49:" -write -yes
|
|
set /p SMAPP= <temp\hexdump2.txt
|
|
set SMAPP=%SMAPP:~11,8%
|
|
del temp\hexdump2.txt>nul
|
|
:notitle
|
|
|
|
|
|
set ThemeChoice=
|
|
|
|
if "%SMAPP%"=="" goto:miniskip
|
|
if /i "%SMAPP%" EQU "00000020" (set SNKREGION=U) & (set SNKVERSION=V) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "00000098" (set SNKREGION=U) & (set SNKVERSION=4.3) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "00000088" (set SNKREGION=U) & (set SNKVERSION=4.2) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "0000007c" (set SNKREGION=U) & (set SNKVERSION=4.1) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "00000023" (set SNKREGION=E) & (set SNKVERSION=V) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "0000009b" (set SNKREGION=E) & (set SNKVERSION=4.3) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "0000008b" (set SNKREGION=E) & (set SNKVERSION=4.2) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "0000007f" (set SNKREGION=E) & (set SNKVERSION=4.1) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "0000001d" (set SNKREGION=J) & (set SNKVERSION=V) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "00000095" (set SNKREGION=J) & (set SNKVERSION=4.3) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "00000085" (set SNKREGION=J) & (set SNKVERSION=4.2) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "00000079" (set SNKREGION=J) & (set SNKVERSION=4.1) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "0000009e" (set SNKREGION=K) & (set SNKVERSION=4.3) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "0000008e" (set SNKREGION=K) & (set SNKVERSION=4.2) & (set ThemeChoice=Y)
|
|
if /i "%SMAPP%" EQU "00000082" (set SNKREGION=K) & (set SNKVERSION=4.1) & (set ThemeChoice=Y)
|
|
|
|
if /i "%SNKREGION%" EQU "U" set defaultserial=LU521175683
|
|
if /i "%SNKREGION%" EQU "E" set defaultserial=LEH133789940
|
|
if /i "%SNKREGION%" EQU "J" set defaultserial=LJM101175683
|
|
if /i "%SNKREGION%" EQU "K" set defaultserial=LKM101175683
|
|
:miniskip
|
|
|
|
::check for Priiloader
|
|
if exist "%DRIVETEMP%\title\00000001\00000002\content\1%SMAPP:~1%.app" (set PRIIFOUND=YES) else (set PRIIFOUND=NO)
|
|
|
|
|
|
::check for current nswitch channel
|
|
set nSwitchFOUND=NO
|
|
set nswitchmd5=fab9c86507d036b10d9a29c99518c8f9
|
|
::if exist "temp\DBUPDATE%currentversion%.bat" call "temp\DBUPDATE%currentversion%.bat"
|
|
if not exist "%DRIVETEMP%\title\00010001\424b324f\content\00000001.app" goto:nonswitchcheck
|
|
|
|
support\sfk md5 -quiet -verify %nswitchmd5% "%DRIVETEMP%\title\00010001\424b324f\content\00000001.app"
|
|
if not errorlevel 1 set nSwitchFOUND=YES
|
|
:nonswitchcheck
|
|
|
|
|
|
|
|
|
|
::check for BC, NMM or DML
|
|
set BCtype=
|
|
set BCmd5=eb1b69f3d747145651aa834078c2aacd
|
|
set DMLmd5=88720d0de8c7db7bf00f5053b76ae66b
|
|
set NMMmd5=8663c24ab33540af6a818920a3a47c4a
|
|
::if exist "temp\DBUPDATE%currentversion%.bat" call "temp\DBUPDATE%currentversion%.bat"
|
|
|
|
if not exist "%DRIVETEMP%\title\00000001\00000100\content\00000008.app" (set BCtype=None) & (goto:noBCcheck)
|
|
|
|
|
|
support\sfk md5 -quiet -verify %BCmd5% "%DRIVETEMP%\title\00000001\00000100\content\00000008.app"
|
|
if not errorlevel 1 set BCtype=BC
|
|
|
|
|
|
IF "%BCtype%"=="" set BCtype=DML
|
|
|
|
|
|
support\sfk md5 -quiet -verify %NMMmd5% "%DRIVETEMP%\title\00000001\00000100\content\00000008.app"
|
|
if not errorlevel 1 set BCtype=NMM
|
|
|
|
:noBCcheck
|
|
|
|
|
|
|
|
|
|
IF "%SMAPP%"=="" goto:miniskip
|
|
|
|
::subract 1 from %SMAPP% to get %SMTHEMEAPP%
|
|
support\sfk dec %SMAPP%>dec.txt
|
|
|
|
::Loop through the following once for EACH line in whatever.txt
|
|
for /F "tokens=*" %%A in (dec.txt) do call :processdec1 %%A
|
|
goto:nextstep
|
|
|
|
:processdec1
|
|
set dec=%*
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
del dec.txt>nul
|
|
SET /a dec=%dec%-1
|
|
support\sfk hex %dec% -digits=8 >hex.txt
|
|
|
|
::Loop through the following once for EACH line in whatever.txt
|
|
for /F "tokens=*" %%A in (hex.txt) do call :processhexapp %%A
|
|
goto:nextstep
|
|
|
|
:processhexapp
|
|
::this is repeated for each line of the txt.file
|
|
::"%*" (no quotes) is the variable for each line as it passes through the loop
|
|
set SMTHEMEAPP=%*
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
del hex.txt>nul
|
|
|
|
::change caps to lower case for hex numbers if applicable
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "A" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%a
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "B" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%b
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "C" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%c
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "D" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%d
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "E" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%e
|
|
if /i "%SMTHEMEAPP:~-1%" EQU "F" set SMTHEMEAPP=%SMTHEMEAPP:~0,-1%f
|
|
|
|
:miniskip
|
|
|
|
|
|
set "NANDPATH=%DRIVETEMP%"
|
|
|
|
::echo NANDPATH=%NANDPATH%
|
|
::echo SNKREGION=%SNKREGION%
|
|
::echo SMAPP=%SMAPP%
|
|
::echo SMTHEMEAPP=%SMTHEMEAPP%
|
|
::echo SNKVERSION=%SNKVERSION%
|
|
::echo PRIIFOUND=%PRIIFOUND%
|
|
|
|
|
|
if "%SNKREGION%"=="" (goto:FOLLOWUPQ) else (goto:SNKPAGE4a)
|
|
|
|
:notexist
|
|
echo The folder you selected does not exist
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKNANDSELECTOR
|
|
|
|
:notexistnand
|
|
echo The folder you selected does not contain an Emulated NAND
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKNANDSELECTOR
|
|
|
|
::-----Unable to determine region, ask user-----
|
|
::..............................Emulated NAND Modifer - SNK NAND Selector....................
|
|
:FOLLOWUPQ
|
|
set SNKREGION="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo EMULATED NAND MODIFIER
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo ModMii is unable to determine the Region of your NAND.
|
|
echo.
|
|
echo What Region is your Emulated NAND?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Note: Theme modifiers are disabled for Emulated NANDs 4.0 or less
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo U = USA
|
|
echo E = Euro (PAL)
|
|
echo J = JPN
|
|
echo K = Korean
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
set /p SNKREGION=Enter Selection Here:
|
|
set "SNKREGION=%SNKREGION:"=%"
|
|
|
|
if /i "%SNKREGION%" EQU "U" goto:SNKPAGE4a
|
|
if /i "%SNKREGION%" EQU "E" goto:SNKPAGE4a
|
|
if /i "%SNKREGION%" EQU "J" goto:SNKPAGE4a
|
|
if /i "%SNKREGION%" EQU "K" goto:SNKPAGE4a
|
|
|
|
if /i "%SNKREGION%" EQU "M" goto:MENU
|
|
if /i "%SNKREGION%" EQU "B" goto:SNKNANDSELECTOR
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:FOLLOWUPQ
|
|
|
|
|
|
::...................................SNEEK SNK DISC EXtractor...............................
|
|
:SNKDISCEX
|
|
|
|
IF not "%ISOFOLDER%"=="" goto:skip
|
|
|
|
if exist "A:\WBFS" set ISOFOLDER=A:\WBFS
|
|
if exist "B:\WBFS" set ISOFOLDER=B:\WBFS
|
|
if exist "C:\WBFS" set ISOFOLDER=C:\WBFS
|
|
if exist "D:\WBFS" set ISOFOLDER=D:\WBFS
|
|
if exist "E:\WBFS" set ISOFOLDER=E:\WBFS
|
|
if exist "F:\WBFS" set ISOFOLDER=F:\WBFS
|
|
if exist "G:\WBFS" set ISOFOLDER=G:\WBFS
|
|
if exist "H:\WBFS" set ISOFOLDER=H:\WBFS
|
|
if exist "I:\WBFS" set ISOFOLDER=I:\WBFS
|
|
if exist "J:\WBFS" set ISOFOLDER=J:\WBFS
|
|
if exist "K:\WBFS" set ISOFOLDER=K:\WBFS
|
|
if exist "L:\WBFS" set ISOFOLDER=L:\WBFS
|
|
if exist "M:\WBFS" set ISOFOLDER=M:\WBFS
|
|
if exist "N:\WBFS" set ISOFOLDER=N:\WBFS
|
|
if exist "O:\WBFS" set ISOFOLDER=O:\WBFS
|
|
if exist "P:\WBFS" set ISOFOLDER=P:\WBFS
|
|
if exist "Q:\WBFS" set ISOFOLDER=Q:\WBFS
|
|
if exist "R:\WBFS" set ISOFOLDER=R:\WBFS
|
|
if exist "S:\WBFS" set ISOFOLDER=S:\WBFS
|
|
if exist "T:\WBFS" set ISOFOLDER=T:\WBFS
|
|
if exist "U:\WBFS" set ISOFOLDER=U:\WBFS
|
|
if exist "V:\WBFS" set ISOFOLDER=V:\WBFS
|
|
if exist "W:\WBFS" set ISOFOLDER=W:\WBFS
|
|
if exist "X:\WBFS" set ISOFOLDER=X:\WBFS
|
|
if exist "Y:\WBFS" set ISOFOLDER=Y:\WBFS
|
|
if exist "Z:\WBFS" set ISOFOLDER=Z:\WBFS
|
|
IF "%ISOFOLDER%"=="" set "ISOFOLDER=%DRIVEU%\WBFS"
|
|
:skip
|
|
|
|
|
|
set "drivetemp=%ISOFOLDER%"
|
|
|
|
if exist temp\gametotal.txt del temp\gametotal.txt>nul
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo GAME BULK EXTRACTOR
|
|
echo (FOR SNEEK)
|
|
echo.
|
|
echo.
|
|
echo Enter the Path where your Wii or Gamecube Games are saved
|
|
echo.
|
|
echo * Subfolders are also scanned
|
|
echo * Supported formats include ISO, CISO and WBFS files
|
|
echo.
|
|
echo.
|
|
echo Current Setting:
|
|
echo.
|
|
echo "%ISOFOLDER%"
|
|
echo.
|
|
echo.
|
|
echo Notes: * To continue using Current Settings
|
|
echo leave the selection blank and hit enter.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo * You can drag and drop the Drive/folder onto this
|
|
if /i "%adminmode%" EQU "N" echo window to save yourself having to manually type it
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo EXAMPLES
|
|
echo.
|
|
echo.
|
|
echo L:
|
|
echo.
|
|
echo %%userprofile%%\Desktop\WiiGames
|
|
echo.
|
|
echo WiiGames\ISOs
|
|
echo Note: this checks the WiiGames\ISOs folder where ModMii is saved
|
|
echo.
|
|
echo C:\Users\XFlak\Desktop\New Folder
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
|
|
IF "%Drivetemp%"=="" set Drivetemp=?
|
|
|
|
set /p Drivetemp=Enter Selection Here:
|
|
set "Drivetemp=%Drivetemp:"=%"
|
|
|
|
if "%Drivetemp%"=="" goto:notexist
|
|
|
|
if /i "%DRIVETEMP%" EQU "B" goto:SNKPAGE1
|
|
if /i "%DRIVETEMP%" EQU "M" goto:MENU
|
|
|
|
|
|
|
|
:doublecheckISOFOLDER
|
|
set fixslash=
|
|
if /i "%DRIVETEMP:~-1%" EQU "\" set fixslash=yes
|
|
if /i "%DRIVETEMP:~-1%" EQU "/" set fixslash=yes
|
|
if /i "%fixslash%" EQU "yes" set "DRIVETEMP=%DRIVETEMP:~0,-1%"
|
|
if /i "%fixslash%" EQU "yes" goto:doublecheckISOFOLDER
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemodeswitchoff%" EQU "Y" (set cmdlinemode=) & (set one=) & (set two=)
|
|
|
|
|
|
if not exist "%DRIVETEMP%" goto:notexist
|
|
|
|
|
|
call Support\subscripts\dependency.bat wit
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:SNKDISCEX)
|
|
|
|
::---get game list-------
|
|
echo.
|
|
echo Scanning directory for Wii Games...
|
|
::%wit% list-l --unit GB --recurse "%DRIVETEMP%">temp\gametotal.txt
|
|
%wit% list-l --recurse "%DRIVETEMP%">temp\gametotal.txt
|
|
copy /y temp\gametotal.txt temp\gametotal.bat >nul
|
|
support\sfk filter temp\gametotal.bat -ls+Total -rep _"Total: "_"set gametotal="_ -rep _" discs*"__ -write -yes>nul
|
|
call temp\gametotal.bat
|
|
del temp\gametotal.bat>nul
|
|
if /i "%gametotal%" EQU "0" goto:notexistiso
|
|
|
|
set "ISOFOLDER=%DRIVETEMP%"
|
|
set BACKB4DRIVEU=SNKDISCEX
|
|
goto:DRIVEUCHANGE
|
|
|
|
|
|
:notexist
|
|
echo The folder you selected does not exist
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKDISCEX
|
|
|
|
:notexistiso
|
|
del gamelist.txt>nul
|
|
echo The folder you selected does not contain any ISO, CISO or WBFS Files
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SNKDISCEX
|
|
|
|
|
|
::...................................SNK DISC EXtractor2...............................
|
|
:SNKDISCEX2
|
|
|
|
echo.
|
|
echo Checking if enough free space exists...
|
|
|
|
::wit beta--> isosize command
|
|
::wit isosize --unit bytes -r "%ISOFOLDER%"
|
|
|
|
::---get required MB-------
|
|
copy /y temp\gametotal.txt temp\gametotal.bat >nul
|
|
support\sfk filter temp\gametotal.bat -ls+Total -rep _*", "_"set MegaBytesRequired="_ -rep _" MiB*"__ -write -yes>nul
|
|
call temp\gametotal.bat
|
|
del temp\gametotal.bat>nul
|
|
|
|
if %MegaBytesRequired% GEQ 1000 (set units=GB) else (set units=MB)
|
|
|
|
|
|
|
|
::---get approx required GB-------
|
|
set GigaBytesRequired=
|
|
if exist temp\gigabytesrequired.txt del temp\gigabytesrequired.txt>nul
|
|
support\sfk calc %MegaBytesRequired%/1024>temp\gigabytesrequired.txt
|
|
support\sfk filter temp\gigabytesrequired.txt -rep _".*"__ -write -yes>nul
|
|
set /p GigaBytesRequired= <temp\gigabytesrequired.txt
|
|
set /a GigaBytesRequired=%GigaBytesRequired%+1
|
|
if exist temp\gigabytesrequired.txt del temp\gigabytesrequired.txt>nul
|
|
|
|
::---check for free space---
|
|
if not exist "%DRIVEU%" mkdir "%DRIVEU%"
|
|
set freespaceMB=
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
support\sfk space "%DRIVEU%">temp\freespaceMB.txt
|
|
support\sfk filter "temp\freespaceMB.txt" -rep _"*freemb="__ -write -yes>nul
|
|
set /p freespaceMB= <temp\freespaceMB.txt
|
|
if exist temp\freespaceMB.txt del temp\freespaceMB.txt>nul
|
|
|
|
|
|
::echo MegaBytesRequired is %MegaBytesRequired%
|
|
::echo GigaBytesRequired is %GigaBytesRequired%
|
|
::echo Total Free Space is approximately %freespaceMB% MB
|
|
::pause
|
|
|
|
|
|
if %MegaBytesRequired% GEQ %freespaceMB% (goto:needmorespace) else (goto:DISCEXCONFIRM)
|
|
|
|
|
|
::-------------------------------------DISCEX NEED MORE SPACE!!!---------------
|
|
:needmorespace
|
|
cls
|
|
set continue="
|
|
|
|
::set gametotal=
|
|
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo GAME BULK EXTRACTOR
|
|
echo (FOR SNEEK)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20[%redtext%]WARNING: YOU DO NOT HAVE ENOUGH FREE SPACE
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo You are attempting to convert %gametotal% game(s)
|
|
echo.
|
|
echo From Source Folder: "%ISOFOLDER%"
|
|
echo To Target Folder: "%DRIVEU%\games"
|
|
echo.
|
|
|
|
|
|
type temp\gametotal.txt
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if /i "%units%" EQU "GB" support\sfk echo -spat \x20 \x20[%redtext%]"%DRIVEU%" requires approx. %GigaBytesRequired%GB of free space
|
|
if /i "%units%" EQU "MB" support\sfk echo -spat \x20 \x20[%redtext%]"%DRIVEU%" requires %MegaBytesRequired%MB of free space
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20[%redtext%]Create more free space or select a smaller source folder and try again
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo C = Continue anyways
|
|
echo.
|
|
echo B = Back to change Target Folder
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p continue=Enter Selection Here:
|
|
set "continue=%continue:"=%"
|
|
if /i "%continue%" EQU "M" del temp\gametotal.txt>nul
|
|
if /i "%continue%" EQU "M" goto:MENU
|
|
if /i "%continue%" EQU "C" goto:DISCEXCONFIRM
|
|
if /i "%continue%" EQU "B" goto:DRIVEUCHANGE
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:needmorespace
|
|
|
|
|
|
|
|
::-------------------------------------DISCEX CONFIRM---------------
|
|
:DISCEXCONFIRM
|
|
cls
|
|
set DISCEXCONFIRM="
|
|
|
|
::set gametotal=
|
|
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo GAME BULK EXTRACTOR
|
|
echo (FOR SNEEK)
|
|
echo.
|
|
echo You are about to convert %gametotal% game(s)
|
|
echo.
|
|
echo From Source Folder: "%ISOFOLDER%"
|
|
echo To Target Folder: "%DRIVEU%\games"
|
|
echo.
|
|
|
|
type temp\gametotal.txt
|
|
|
|
echo.
|
|
echo.
|
|
echo Would you like to proceed?
|
|
echo.
|
|
echo.
|
|
::echo Notes: * Each game could take approximately 5-15 minutes to convert
|
|
::echo.
|
|
::echo * Make sure you have enough free space here: %DRIVEU%
|
|
::echo otherwise extraction will fail when free space is depleted
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes
|
|
echo.
|
|
echo N = No
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back to change Target Folder
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p DISCEXCONFIRM=Enter Selection Here:
|
|
set "DISCEXCONFIRM=%DISCEXCONFIRM:"=%"
|
|
|
|
if /i "%DISCEXCONFIRM%" EQU "M" del temp\gametotal.txt>nul
|
|
if /i "%DISCEXCONFIRM%" EQU "N" del temp\gametotal.txt>nul
|
|
if /i "%DISCEXCONFIRM%" EQU "Y" del temp\gametotal.txt>nul
|
|
|
|
|
|
if /i "%DISCEXCONFIRM%" EQU "M" goto:MENU
|
|
if /i "%DISCEXCONFIRM%" EQU "N" goto:MENU
|
|
if /i "%DISCEXCONFIRM%" EQU "Y" goto:DISCEXSTART
|
|
if /i "%DISCEXCONFIRM%" EQU "B" goto:DRIVEUCHANGE
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:DISCEXCONFIRM
|
|
|
|
|
|
|
|
::----------------Start WIT DISCEXTRACTION---------------
|
|
:DISCEXSTART
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo GAME BULK EXTRACTOR
|
|
echo (FOR SNEEK)
|
|
echo.
|
|
echo.
|
|
|
|
if not exist Support\titles.txt goto:DLtitles
|
|
::check if title.txt is from current year, if not, redownload
|
|
::TITLES = https://gametdb.com (language: EN version: 20240711084837)
|
|
|
|
FOR /F "tokens=*" %%g IN ('support\sfk date') do (SET CurDate=%%g)
|
|
|
|
::echo CurDate: %CurDate%
|
|
::echo Year: %CurDate:~0,4%
|
|
|
|
findStr /I /C:"version: %CurDate:~0,4%" "Support\titles.txt" >nul
|
|
IF not ERRORLEVEL 1 goto:skip
|
|
|
|
|
|
:DLtitles
|
|
echo Updating Wii Game Title Database (titles.txt)
|
|
echo.
|
|
::if exist Support\titles.txt move /y Support\titles.txt Support\titles_old.txt >nul
|
|
support\wget --no-check-certificate -t 3 www.wiitdb.com/titles.txt -q --show-progress
|
|
if exist titles.txt move /y titles.txt Support\titles.txt>nul
|
|
:skip
|
|
|
|
::rename existing games to new standard
|
|
if not exist "%DRIVEU%"\games goto:nextstep
|
|
dir "%DRIVEU%"\games /A:D /b > GameTitleIDs.txt
|
|
for /F "tokens=*" %%A in (GameTitleIDs.txt) do call :processdir %%A
|
|
goto:nextstep
|
|
:processdir
|
|
set CurrentTitleID=%*
|
|
if /i "%CurrentTitleID:~-8,1%" EQU "[" rename "%DRIVEU%\games\%CurrentTitleID%" "%CurrentTitleID:~-7,6%">nul
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
if exist GameTitleIDs.txt del GameTitleIDs.txt>nul
|
|
|
|
::reverse slashes no longer necessary with new wit.exe
|
|
::reverse slashes for target folder %DRIVEU%\games which becomes %DRIVEUfix%/games
|
|
::echo set "DRIVEUfix=%DRIVEU%">temp\temp.bat
|
|
::support\sfk filter temp\temp.bat -rep _\_/_ -write -yes>nul
|
|
::call temp\temp.bat
|
|
::del temp\temp.bat>nul
|
|
|
|
::target directory, including "games" folder, is created automatically with the following wit command
|
|
|
|
%wit% x --psel data --pmode none --files :neek --recurse "%ISOFOLDER%" --DEST "%DRIVEU%"/games/%%I --progress
|
|
|
|
::%wit% x --neek --recurse "%ISOFOLDER%" --DEST "%DRIVEU%"/games/%%I --progress
|
|
::"--neek" is an Abbreviation of "--psel data --pmode none --files :neek --copy-gc"; it works fine for Wii games but "--copy-gc" is not desirable for GC
|
|
|
|
::%wit% x --sneek --recurse "%ISOFOLDER%" "%DRIVEUfix%/games/%%14T [%%I]" --progress
|
|
::%wit% x --sneek --recurse "%ISOFOLDER%" --DEST "%DRIVEUfix%/games/%%14T [%%I]" --progress
|
|
|
|
::an empty cygdrive folder may be created previous directory, so delete it!
|
|
if exist cygdrive rd /s /q cygdrive
|
|
|
|
|
|
|
|
::delete diconfig.bin if found (needs to be reconstructed on next boot to see new games)
|
|
if exist "%DriveU%\sneek\diconfig.bin" del "%DriveU%\sneek\diconfig.bin" >nul
|
|
|
|
|
|
::-----create csv list of all games in "%DRIVEU%"\games\ -----
|
|
|
|
echo @echo Off>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo if exist TitleID.txt del TitleID.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo if exist GameTitleIDs.txt del GameTitleIDs.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo if exist Gamelist.txt del Gamelist.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo if exist Gamelist2.txt del Gamelist2.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo if exist Gamelist-sorted.txt del Gamelist-sorted.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
|
|
echo dir games /A:D /b redirect GameTitleIDs.txt >>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
|
|
echo for /F "tokens=*" @@@@A in (GameTitleIDs.txt) do call :processmii @@@@A>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo goto:nextstep>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo :processmii>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo set CurrentTitleID=@@*>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo if /i "@@CurrentTitleID:~-8,1@@" EQU "[" rename "games\@@CurrentTitleID@@" "@@CurrentTitleID:~-7,6@@"redirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo if /i "@@CurrentTitleID:~-8,1@@" EQU "[" set CurrentTitleID=@@CurrentTitleID:~-7,6@@>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo FINDSTR /B /C:"@@CurrentTitleID:~0,6@@" titles.txtredirectTitleID.txt>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
::if title ID not in titles.txt just add title ID only
|
|
echo for /F @@@@A in ("TitleID.txt") do If @@@@~zA equ 0 (echo @@CurrentTitleID:~0,6@@redirectredirectGamelist.txt) else (FINDSTR /B /C:"@@CurrentTitleID:~0,6@@" titles.txtredirectredirectGamelist.txt)>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo goto:EOF>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo :nextstep>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
echo if exist TitleID.txt del TitleID.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo if exist GameTitleIDs.txt del GameTitleIDs.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
|
|
echo for /F "tokens=*" @@@@A in (Gamelist.txt) do call :processmii2 @@@@A>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo goto:nextstep>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo :processmii2>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo set Line=@@*>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo echo @@Line:~9@@,@@Line:~0,6@@redirectredirectgamelist2.txt>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo goto:EOF>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo :nextstep>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
echo if exist Gamelist.txt del Gamelist.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo sort "Gamelist2.txt" redirect "Gamelist-sorted.txt">>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo if exist Gamelist2.txt del Gamelist2.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
echo echo Number,Title,Title IDredirectGame-List[ModMii].csv>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo echo ,,redirectredirectGame-List[ModMii].csv>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo set countline=0 >>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo for /F "tokens=*" @@@@A in (Gamelist-sorted.txt) do call :processmii3 @@@@A>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo goto:nextstep>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo :processmii3>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo set Line=@@*>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo SET /a countline=@@countline@@+1>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
|
|
echo echo @@countline@@,@@line@@redirectredirectGame-List[ModMii].csv>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo goto:EOF>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
echo :nextstep>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
echo if exist Gamelist-sorted.txt del Gamelist-sorted.txtredirectnul>>"%DriveU%"\Game-List-Updater[ModMii].bat
|
|
|
|
|
|
|
|
support\sfk filter "%DriveU%"\Game-List-Updater[ModMii].bat -spat -rep _@@_%%_ -rep _"redirect"_">"_ -write -yes>nul
|
|
support\sfk filter -quiet support\titles.txt -spat -rep _,_;_ -rep _" "_" "_ >"%DriveU%\titles.txt"
|
|
|
|
start /wait /min /D "%DriveU%" Game-List-Updater[ModMii].bat
|
|
|
|
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20[%greentext%]GAME BULK EXTRACTION FOR SNEEK COMPLETE
|
|
echo.
|
|
echo A list of your games can be found here: "%DriveU%\Game-List[ModMii].csv"
|
|
echo To update this list at any time, run "%DriveU%\Game-List-Updater[ModMii].bat"
|
|
echo.
|
|
echo Press any key to return to the Main Menu.
|
|
pause>nul
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
::........................................Advanced Downloads........................................
|
|
:ADVANCED
|
|
cls
|
|
set loadorgo=load
|
|
if exist temp\DLnames.txt del temp\DLnames.txt>nul
|
|
if exist temp\DLgotos.txt del temp\DLgotos.txt>nul
|
|
|
|
call "Support\subscripts\ClearDB.bat"
|
|
|
|
set ADVPATCH=
|
|
set ADVSLOT=
|
|
set ADVVERSION=
|
|
set alreadyexists=
|
|
set patch=
|
|
set ADVTYPE=
|
|
|
|
Set ADVLIST="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20[%redtext%]ADVANCED DOWNLOADS[def]\x20 \x20 \x20 \x20 \x20 \x20by XFlak
|
|
echo.
|
|
echo D = Download Selected Files 1/2/3/4/5 = Page 1/2/3/4/5 M = Main Menu
|
|
echo C = Clear Download Queue DR = Drive Menu
|
|
echo.
|
|
echo Note: You can always return to this page to add more Advanced Downloads to a
|
|
echo queue by entering "ADV" instead of "A" when asked to begin downloading
|
|
echo.
|
|
if "%AdvNumber%" NEQ "0" support\sfk echo -spat \x20 \x20R = Remove Last Advanced Download\x20^| Advanced Downloads in Queue: [%cyantext%]%AdvNumber%
|
|
if "%AdvNumber%" EQU "0" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20Advanced Downloads in Queue: [%cyantext%]0
|
|
support\sfk echo -spat \x20 s# = Change cIOS Slot # \x20 \x20(where # is 200-253): Current Setting: [%cyantext%]s%ADVSLOT2%
|
|
support\sfk echo -spat \x20 v# = Change cIOS Version # (where # is 1-65535): Current Setting: [%cyantext%]v%ADVVERSION2%
|
|
support\sfk echo -spat \x20d2x = Change d2x cIOS Version: \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20d2x Current Setting: [%cyantext%]%d2x-beta-rev%
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20[%redtext%] d2x cIOSs \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 Hermes v4 cIOSs
|
|
echo 37 = d2x cIOS%ADVSLOT2%[37] 437 = Hermes v4 cIOS%ADVSLOT2%[37-38]
|
|
echo 38 = d2x cIOS%ADVSLOT2%[38] 438 = Hermes v4 cIOS%ADVSLOT2%[38]
|
|
echo 53 = d2x cIOS%ADVSLOT2%[53]
|
|
support\sfk echo -spat \x20 \x20 \x2055 = d2x cIOS%ADVSLOT2%[55]\x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%]Waninkoko v21 cIOSs
|
|
echo 56 = d2x cIOS%ADVSLOT2%[56] W37 = Waninkoko v21 cIOS%ADVSLOT2%[37]
|
|
echo 57 = d2x cIOS%ADVSLOT2%[57] W38 = Waninkoko v21 cIOS%ADVSLOT2%[38]
|
|
echo 58 = d2x cIOS%ADVSLOT2%[58] W53 = Waninkoko v21 cIOS%ADVSLOT2%[53]
|
|
|
|
::make boxes for d2x bases 60/70/80 disabled IF older than v8 beta 42, as those bases never existed for those older versions
|
|
echo "set cIOSversionNum=%d2x-beta-rev%">temp\cIOSrev.bat
|
|
support\sfk filter -spat temp\cIOSrev.bat -rep _\x22__ -rep _"-*"__ -write -yes>nul
|
|
call temp\cIOSrev.bat
|
|
del temp\cIOSrev.bat>nul
|
|
|
|
if %cIOSversionNum% GEQ 8 goto:skipdisable
|
|
echo N/A: d2x cIOS%ADVSLOT2%[60] W55 = Waninkoko v21 cIOS%ADVSLOT2%[55]
|
|
echo N/A: d2x cIOS%ADVSLOT2%[70] W56 = Waninkoko v21 cIOS%ADVSLOT2%[56]
|
|
echo N/A: d2x cIOS%ADVSLOT2%[80] W57 = Waninkoko v21 cIOS%ADVSLOT2%[57]
|
|
goto:skip
|
|
:skipdisable
|
|
echo 60 = d2x cIOS%ADVSLOT2%[60] W55 = Waninkoko v21 cIOS%ADVSLOT2%[55]
|
|
echo 70 = d2x cIOS%ADVSLOT2%[70] W56 = Waninkoko v21 cIOS%ADVSLOT2%[56]
|
|
echo 80 = d2x cIOS%ADVSLOT2%[80] W57 = Waninkoko v21 cIOS%ADVSLOT2%[57]
|
|
:skip
|
|
|
|
if exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:skipdisable
|
|
if not exist "Support\d2x-beta\" goto:skipdisable
|
|
echo N/A: d2x cIOS%ADVSLOT2%[38]-vWii W58 = Waninkoko v21 cIOS%ADVSLOT2%[58]
|
|
echo N/A: d2x cIOS%ADVSLOT2%[56]-vWii
|
|
support\sfk echo -spat \x20 \x20 \x20N/A: d2x cIOS%ADVSLOT2%[57]-vWii\x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20[%redtext%]Waninkoko v20 cIOSs
|
|
echo N/A: d2x cIOS%ADVSLOT2%[58]-vWii W2038 = Waninkoko v20 cIOS%ADVSLOT2%[38]
|
|
goto:skip
|
|
:skipdisable
|
|
|
|
::disable cIOS248[38]-d2x-vWii if not supported in ciosmaps_vWii.xml
|
|
::check ciosmaps_vWii.xml for 'base ios="38"'
|
|
if not exist "Support\d2x-beta\" (echo 38v = d2x cIOS%ADVSLOT2%[38]-vWii W58 = Waninkoko v21 cIOS%ADVSLOT2%[58]) & (goto:tinyskip)
|
|
findStr /I /C:"base ios=\"38\"" "Support\d2x-beta\ciosmaps_vWii.xml" >nul
|
|
IF ERRORLEVEL 1 (echo N/A: d2x cIOS%ADVSLOT2%[38]-vWii W58 = Waninkoko v21 cIOS%ADVSLOT2%[58]) else (echo 38v = d2x cIOS%ADVSLOT2%[38]-vWii W58 = Waninkoko v21 cIOS%ADVSLOT2%[58])
|
|
:tinyskip
|
|
|
|
echo 56v = d2x cIOS%ADVSLOT2%[56]-vWii
|
|
support\sfk echo -spat \x20 \x20 57v = d2x cIOS%ADVSLOT2%[57]-vWii\x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20[%redtext%]Waninkoko v20 cIOSs
|
|
echo 58v = d2x cIOS%ADVSLOT2%[58]-vWii W2038 = Waninkoko v20 cIOS%ADVSLOT2%[38]
|
|
:skip
|
|
|
|
echo W2056 = Waninkoko v20 cIOS%ADVSLOT2%[56]
|
|
support\sfk echo -spat \x20 \x20 \x20[%redtext%] Rodries\Hermes v5.1 cIOSs[def] \x20 \x20 \x20 \x20 \x20 \x20W2057 = Waninkoko v20 cIOS%ADVSLOT2%[57]
|
|
echo R37 = Rodries v5.1 cIOS%ADVSLOT2%[37]
|
|
support\sfk echo -spat \x20 \x20 R38 = Rodries v5.1 cIOS%ADVSLOT2%[38]\x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20[%redtext%]Waninkoko v19 cIOSs
|
|
echo R57 = Rodries v5.1 cIOS%ADVSLOT2%[57] W1937 = Waninkoko v19 cIOS%ADVSLOT2%[37]
|
|
echo R60 = Rodries v5.1 cIOS%ADVSLOT2%[60] W1938 = Waninkoko v19 cIOS%ADVSLOT2%[38]
|
|
echo W1957 = Waninkoko v19 cIOS%ADVSLOT2%[57]
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20[%redtext%] Hermes v5 cIOSs
|
|
support\sfk echo -spat \x20 \x20 H37 = Hermes v5 cIOS%ADVSLOT2%[37]\x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20[%redtext%]Waninkoko other cIOSs
|
|
echo H38 = Hermes v5 cIOS%ADVSLOT2%[38] W17 = Waninkoko v17b cIOS%ADVSLOT2%
|
|
echo H57 = Hermes v5 cIOS%ADVSLOT2%[57] W14 = Waninkoko v14 cIOS%ADVSLOT2%
|
|
echo.
|
|
echo U = User-Defined Custom Download: Get any IOS, MIOS or System Menu Version
|
|
echo F = Forwarder Builder
|
|
echo.
|
|
|
|
|
|
|
|
set /p ADVLIST=Enter Selection Here:
|
|
set "ADVLIST=%ADVLIST:"=%"
|
|
|
|
IF "%ADVLIST%"=="" goto:badkey
|
|
|
|
if /i "%ADVLIST%" EQU "M" goto:MENU
|
|
|
|
if /i "%ADVLIST%" EQU "DR" set BACKB4DRIVE=ADVANCED
|
|
if /i "%ADVLIST%" EQU "DR" goto:DRIVECHANGE
|
|
|
|
if /i "%ADVLIST%" EQU "U" goto:Custom
|
|
|
|
if /i "%ADVLIST%" EQU "1" (set "nextpage=DLPAGE%ADVLIST%.hta") & (goto:DLPAGES)
|
|
if /i "%ADVLIST%" EQU "2" (set "nextpage=DLPAGE%ADVLIST%.hta") & (goto:DLPAGES)
|
|
if /i "%ADVLIST%" EQU "3" (set "nextpage=DLPAGE%ADVLIST%.hta") & (goto:DLPAGES)
|
|
if /i "%ADVLIST%" EQU "4" (set "nextpage=DLPAGE%ADVLIST%.hta") & (goto:DLPAGES)
|
|
if /i "%ADVLIST%" EQU "5" (set "nextpage=DLPAGE%ADVLIST%.hta") & (goto:DLPAGES)
|
|
|
|
if /i "%ADVLIST%" EQU "F" goto:FORWARDERDOLorISO
|
|
|
|
|
|
if /i "%ADVLIST%" EQU "d2x" (set backbeforebetaswitch=ADVANCED) & (goto:betaswitch)
|
|
::input for d2x versions used to be "BETA", leaving it enabled for legacy \ muscle memory purposes
|
|
if /i "%ADVLIST%" EQU "BETA" (set backbeforebetaswitch=ADVANCED) & (goto:betaswitch)
|
|
|
|
if /i "%ADVLIST%" EQU "D" set loadorgo=go
|
|
if /i "%ADVLIST%" EQU "D" set BACKB4QUEUE=ADVANCED
|
|
if /i "%ADVLIST%" EQU "D" goto:DOWNLOADQUEUE
|
|
|
|
if /i "%ADVLIST%" EQU "C" (set ADVSLOT2=247) & (goto:CLEAR)
|
|
|
|
::remove last download
|
|
if /i "%ADVLIST%" NEQ "R" goto:skip
|
|
if "%AdvNumber%" EQU "0" goto:skip
|
|
if exist "temp\AdvDL%AdvNumber%.bat" del "temp\AdvDL%AdvNumber%.bat">nul
|
|
set /a AdvNumber=%AdvNumber%-1
|
|
::remove last line from temp\DLnamesADV.txt & temp\DLgotosADV.txt
|
|
support\sfk filter -head=%AdvNumber% "temp\DLnamesADV.txt">"temp\DLnamesADV2.txt"
|
|
move /y "temp\DLnamesADV2.txt" "temp\DLnamesADV.txt">nul
|
|
support\sfk filter -head=%AdvNumber% "temp\DLgotosADV.txt">"temp\DLgotosADV2.txt"
|
|
move /y "temp\DLgotosADV2.txt" "temp\DLgotosADV.txt">nul
|
|
if "%AdvNumber%" NEQ "0" goto:ADVANCED
|
|
if exist "temp\DLgotosADV.txt" del "temp\DLgotosADV.txt">nul
|
|
if exist "temp\DLnamesADV.txt" del "temp\DLnamesADV.txt">nul
|
|
goto:ADVANCED
|
|
:skip
|
|
|
|
|
|
if /i "%ADVLIST:~0,1%" NEQ "V" goto:NotV
|
|
set "ADVLIST=%ADVLIST:~1%"
|
|
for %%A in ("%ADVLIST%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%ADVLIST%") do set "ADVLIST=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%ADVLIST%"=="" set "ADVLIST=0"
|
|
::limit user input to X# of digits
|
|
if not "%ADVLIST:~5%"=="" goto:badkey
|
|
::Reject numbers outside permitted range
|
|
if %ADVLIST% LSS 1 goto:badkey
|
|
if %ADVLIST% GTR 65535 goto:badkey
|
|
set "ADVVERSION2=%ADVLIST%"
|
|
goto:ADVANCED
|
|
:NotV
|
|
|
|
|
|
if /i "%ADVLIST:~0,1%" NEQ "S" goto:NotS
|
|
set "ADVLIST=%ADVLIST:~1%"
|
|
for %%A in ("%ADVLIST%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%ADVLIST%") do set "ADVLIST=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%ADVLIST%"=="" set "ADVLIST=0"
|
|
::limit user input to X# of digits
|
|
if not "%ADVLIST:~3%"=="" goto:badkey
|
|
::Reject numbers outside permitted range
|
|
if %ADVLIST% LSS 200 goto:badkey
|
|
if %ADVLIST% GTR 253 goto:badkey
|
|
set "ADVSLOT2=%ADVLIST%"
|
|
goto:ADVANCED
|
|
:NotS
|
|
|
|
|
|
|
|
set CurrentDLNAME=
|
|
if /i "%ADVLIST%" EQU "H38" set CurrentDLNAME=cIOS222[38]-v5
|
|
if /i "%ADVLIST%" EQU "H37" set CurrentDLNAME=cIOS223[37]-v5
|
|
if /i "%ADVLIST%" EQU "H57" set CurrentDLNAME=cIOS224[57]-v5
|
|
|
|
if /i "%ADVLIST%" EQU "R60" set CurrentDLNAME=cIOS202[60]-v5.1R
|
|
if /i "%ADVLIST%" EQU "R38" set CurrentDLNAME=cIOS222[38]-v5.1R
|
|
if /i "%ADVLIST%" EQU "R37" set CurrentDLNAME=cIOS223[37]-v5.1R
|
|
if /i "%ADVLIST%" EQU "R57" set CurrentDLNAME=cIOS224[57]-v5.1R
|
|
|
|
if /i "%ADVLIST%" EQU "W1937" set CurrentDLNAME=cIOS249[37]-v19
|
|
if /i "%ADVLIST%" EQU "W1938" set CurrentDLNAME=cIOS249[38]-v19
|
|
if /i "%ADVLIST%" EQU "W2038" set CurrentDLNAME=cIOS249[38]-v20
|
|
if /i "%ADVLIST%" EQU "W2056" set CurrentDLNAME=cIOS249[56]-v20
|
|
if /i "%ADVLIST%" EQU "W2057" set CurrentDLNAME=cIOS249[57]-v20
|
|
if /i "%ADVLIST%" EQU "W1957" set CurrentDLNAME=cIOS249[57]-v19
|
|
|
|
if /i "%ADVLIST%" EQU "438" set CurrentDLNAME=cIOS222[38]-v4
|
|
if /i "%ADVLIST%" EQU "437" set CurrentDLNAME=cIOS223[37-38]-v4
|
|
if /i "%ADVLIST%" EQU "W17" set CurrentDLNAME=cIOS249-v17b
|
|
if /i "%ADVLIST%" EQU "W14" set CurrentDLNAME=cIOS249-v14
|
|
if /i "%ADVLIST%" EQU "W37" set CurrentDLNAME=cIOS249[37]-v21
|
|
if /i "%ADVLIST%" EQU "W38" set CurrentDLNAME=cIOS249[38]-v21
|
|
if /i "%ADVLIST%" EQU "W56" set CurrentDLNAME=cIOS249[56]-v21
|
|
if /i "%ADVLIST%" EQU "W53" set CurrentDLNAME=cIOS249[53]-v21
|
|
if /i "%ADVLIST%" EQU "W55" set CurrentDLNAME=cIOS249[55]-v21
|
|
if /i "%ADVLIST%" EQU "W57" set CurrentDLNAME=cIOS249[57]-v21
|
|
if /i "%ADVLIST%" EQU "W58" set CurrentDLNAME=cIOS249[58]-v21
|
|
if /i "%ADVLIST%" EQU "37" set CurrentDLNAME=cIOS249[37]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "38" set CurrentDLNAME=cIOS249[38]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "53" set CurrentDLNAME=cIOS249[53]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "55" set CurrentDLNAME=cIOS249[55]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "56" set CurrentDLNAME=cIOS249[56]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "57" set CurrentDLNAME=cIOS249[57]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "58" set CurrentDLNAME=cIOS249[58]-d2x-v10-beta52
|
|
|
|
if %cIOSversionNum% LSS 8 goto:skip
|
|
if /i "%ADVLIST%" EQU "60" set CurrentDLNAME=cIOS249[60]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "70" set CurrentDLNAME=cIOS249[70]-d2x-v10-beta52
|
|
if /i "%ADVLIST%" EQU "80" set CurrentDLNAME=cIOS249[80]-d2x-v10-beta52
|
|
:skip
|
|
|
|
|
|
if exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:skipdisable
|
|
if exist "Support\d2x-beta\" goto:skip
|
|
::if %cIOSversionNum% LSS 9 goto:skip
|
|
::if /i "%d2x-beta-rev%" EQU "10-b52-Stealth-RC24" goto:skip
|
|
:skipdisable
|
|
|
|
if /i "%ADVLIST%" EQU "56v" set CurrentDLNAME=cIOS249[56]-d2x-vWii
|
|
if /i "%ADVLIST%" EQU "57v" set CurrentDLNAME=cIOS250[57]-d2x-vWii
|
|
if /i "%ADVLIST%" EQU "58v" set CurrentDLNAME=cIOS251[58]-d2x-vWii
|
|
|
|
::disable cIOS248[38]-d2x-vWii if not supported in ciosmaps_vWii.xml
|
|
::check ciosmaps_vWii.xml for 'base ios="38"'
|
|
if not exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:skipdisable
|
|
findStr /I /C:"base ios=\"38\"" "Support\d2x-beta\ciosmaps_vWii.xml" >nul
|
|
IF ERRORLEVEL 1 goto:skip
|
|
:skipdisable
|
|
if /i "%ADVLIST%" EQU "38v" set CurrentDLNAME=cIOS248[38]-d2x-vWii
|
|
:skip
|
|
|
|
|
|
if not "%CurrentDLNAME%"=="" (set ADVTYPE=CIOS) & (call "Support\subscripts\DB.bat")
|
|
if not "%CurrentDLNAME%"=="" (set CurrentDLNAME=) & (goto:downloadstart)
|
|
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ADVANCED
|
|
|
|
|
|
:ADVANCEDpickUP
|
|
|
|
set "SLOTCODE= -slot %ADVSLOT2%"
|
|
set "versioncode= -v %ADVVERSION2%"
|
|
set "versionname=-[v%ADVVERSION2%]"
|
|
|
|
::check if this is already in queue
|
|
if "%AdvNumber%" EQU "0" goto:continue
|
|
findStr /X /C:"Advanced Download: cIOS%ADVSLOT2%%wadname:~7%%versionname%" "temp\DLnamesADV.txt" >nul
|
|
IF ERRORLEVEL 1 goto:continue
|
|
echo Skipping... this is already in the Queue
|
|
support\sfk -spat echo \x20 cIOS[%redtext%]%ADVSLOT2%[def]%wadname:~7%[%redtext%]%versionname%
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ADVANCED
|
|
:continue
|
|
|
|
::echo.
|
|
echo Press any key to add this cIOS to your download queue, or enter "C" to Cancel.
|
|
support\sfk -spat echo \x20 cIOS[%redtext%]%ADVSLOT2%[def]%wadname:~7%[%redtext%]%versionname%
|
|
set ADVCONFIRM="
|
|
set /p ADVCONFIRM=Enter Selection Here:
|
|
set "ADVCONFIRM=%ADVCONFIRM:"=%"
|
|
if /i "%ADVCONFIRM%" EQU "C" goto:ADVANCED
|
|
|
|
|
|
set /a AdvNumber=%AdvNumber%+1
|
|
|
|
echo set "name=Advanced Download: cIOS%ADVSLOT2%%wadname:~7%%versionname%">temp\AdvDL%AdvNumber%.bat
|
|
if not "%wadname%"=="" echo set "wadname=%wadname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%ciosSLOT%"=="" echo set "ciosslot=%ciosSLOT%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%ciosVERSION%"=="" echo set "ciosversion=%ciosVERSION%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5%"=="" echo set "md5=%md5%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5alt%"=="" echo set "md5alt=%md5alt%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%basewad%"=="" echo set "basewad=%basewad%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5base%"=="" echo set "md5base=%md5base%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5basealt%"=="" echo set "md5basealt=%md5basealt%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code1%"=="" echo set "code1=%code1%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code2%"=="" echo set "code2=%code2%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%version%"=="" echo set "version=%version%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%basewadb%"=="" echo set "basewadb=%basewadb%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5baseb%"=="" echo set "md5baseb=%md5baseb%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5basebalt%"=="" echo set "md5basebalt=%md5basebalt%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code1b%"=="" echo set "code1b=%code1b%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code2b%"=="" echo set "code2b=%code2b%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versionb%"=="" echo set "versionb=%versionb%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%basecios%"=="" echo set "basecios=%basecios%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%diffpath%"=="" echo set "diffpath=%diffpath%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code2new%"=="" echo set "code2new=%code2new%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%lastbasemodule%"=="" echo set "lastbasemodule=%lastbasemodule%">>temp\AdvDL%AdvNumber%.bat
|
|
echo set "wadnameless=cIOS%ADVSLOT2%%wadnameless:~7%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%patchname%"=="" echo set "patchname=%patchname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%slotname%"=="" echo set "slotname=%slotname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%slotcode%"=="" echo set "slotcode=%slotcode%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versionname%"=="" echo set "versionname=%versionname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versioncode%"=="" echo set "versioncode=%versioncode%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%cIOSversionNum%"=="" echo set "cIOSversionNum=%cIOSversionNum%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%PATCHCODE%"=="" echo set "PATCHCODE=%PATCHCODE%">>temp\AdvDL%AdvNumber%.bat
|
|
|
|
if not "%cIOSFamilyName%"=="" echo set "cIOSFamilyName=%cIOSFamilyName%">>temp\AdvDL%AdvNumber%.bat
|
|
::"category" only needed for d2x cIOSs (cIOSFamilyName for d2x cIOSs can be null or "d2x")
|
|
if "%cIOSFamilyName%"=="" echo set "category=Support\More-cIOSs\d2x-v%d2x-beta-rev%">>temp\AdvDL%AdvNumber%.bat
|
|
if /i "%cIOSFamilyName%" EQU "d2x" echo set "category=Support\More-cIOSs\d2x-v%d2x-beta-rev%">>temp\AdvDL%AdvNumber%.bat
|
|
|
|
echo "Advanced Download: cIOS%ADVSLOT2%%wadname:~7%%versionname%">>temp\DLnamesADV.txt
|
|
|
|
echo temp\AdvDL%AdvNumber%.bat>>temp\DLgotosADV.txt
|
|
support\sfk -spat filter -quiet "temp\DLnamesADV.txt" -rep _\x22__ -write -yes
|
|
|
|
set /a ADVSLOT2=%ADVSLOT2%-1
|
|
if /i "%ADVSLOT2%" EQU "199" set "ADVSLOT2=247"
|
|
|
|
goto:ADVANCED
|
|
|
|
|
|
|
|
|
|
::------------------------
|
|
:betaswitch
|
|
|
|
if exist temp\list.txt del temp\list.txt>nul
|
|
if exist temp\list2.txt del temp\list2.txt>nul
|
|
|
|
::only do d2x version checks once per day to keep things snappy, especially for advanced downloads
|
|
FOR /F "tokens=*" %%g IN ('support\sfk date') do (SET CurDate=%%g)
|
|
|
|
if not exist "temp\d2xlist%CurDate%.txt" if exist "temp\d2xlist*.txt" del /f /q "temp\d2xlist*.txt"
|
|
if not exist "temp\d2xlist%CurDate%.txt" goto:skip
|
|
copy /y "temp\d2xlist%CurDate%.txt" "temp\list2.txt">nul
|
|
copy /y "temp\d2xlist%CurDate%.txt" "temp\list.txt">nul
|
|
goto:nowifi
|
|
:skip
|
|
|
|
echo Checking for other d2x versions hosted online...
|
|
|
|
::get d2x list
|
|
support\wget --no-check-certificate -N "https://github.com/modmii/modmii.github.io/tree/master/temp/d2x" -O "temp\list.txt" -q
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\list.txt" || del "temp\list.txt"
|
|
|
|
if exist not exist temp\list.txt goto:nowifi
|
|
::copy /y "temp\list.txt" "temp\list2.txt">nul
|
|
|
|
support\sfk filter -spat "temp\list.txt" -rep _\x22path\x22_\x0d\x0a_ -write -yes>nul
|
|
support\sfk filter -spat "temp\list.txt" -and+".7z" -and+"d2x/" -!"Link--primary" -rep _"*temp/d2x/"__ -rep _".7z*"__ -write -yes>nul
|
|
support\sfk filter -spat "temp\list.txt" -!"<" -!">" -write -yes>nul
|
|
|
|
copy /y "temp\list.txt" "temp\list2.txt">nul
|
|
copy /y "temp\list.txt" "temp\d2xlist%CurDate%.txt">nul
|
|
::support\sfk filter "temp\list.txt" -rep _"*/"__ -write -yes>nul ::this seems no longer necessary...
|
|
:nowifi
|
|
|
|
::get local list
|
|
if not exist support\More-cIOSs mkdir support\More-cIOSs
|
|
dir support\More-cIOSs /a:d /b>>temp\list.txt
|
|
support\sfk filter "temp\list.txt" -unique -write -yes>nul
|
|
|
|
|
|
:betaswitch2
|
|
|
|
::count # of lines
|
|
SET d2xTOTAL=0
|
|
for /f %%a in (temp\list.txt) do set /a d2xTOTAL+=1
|
|
|
|
|
|
Set betacios="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo Select the d2x cIOS version you would like to build:
|
|
echo.
|
|
echo Current Setting: v%d2x-beta-rev%
|
|
echo.
|
|
echo Notes: * v10-beta53-alt isn't recommended unless needed for HDD compatibility
|
|
echo * Versions older than v8 beta42 do not support bases 60/70/80
|
|
echo * Versions older than v10 are not supported by vWii
|
|
echo * Versions older than v11-beta2 do not support vWii base 38
|
|
echo * "FM" stands for Fakemote; which adds DS3 ^& DS4 controller support
|
|
echo * v8-final is nearly identical to v10-beta52 and v11-beta1
|
|
echo.
|
|
|
|
if /i "%d2xTOTAL%" EQU "0" (echo No alternate d2x versions were found online or in the support\More-cIOSs Folder) & (goto:quickskip)
|
|
if not "%RecD2XcIOS%"=="" echo R = Recommended Version (v%RecD2XcIOS:~5%)
|
|
echo D = Default that came with ModMii v%currentversion% (v%d2x-bundled%)
|
|
echo.
|
|
|
|
set MorecIOSsNum=0
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :processlist %%A
|
|
goto:quickskip
|
|
:processlist
|
|
set CurrentcIOS=%*
|
|
set /a MorecIOSsNum=%MorecIOSsNum%+1
|
|
|
|
::findStr /I /C:"%CurrentcIOS%" "temp\list2.txt" >nul
|
|
::IF ERRORLEVEL 1 (set d2xFeatured=) else (set d2xFeatured= - Featured)
|
|
|
|
if not exist "support\More-cIOSs\%CurrentcIOS%" echo %MorecIOSsNum% = %CurrentcIOS% (Online)%d2xFeatured%
|
|
if exist "support\More-cIOSs\%CurrentcIOS%" echo %MorecIOSsNum% = %CurrentcIOS% (Local)%d2xFeatured%
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
echo.
|
|
echo WWW = More Information Available at https://github.com/wiidev/d2x-cios
|
|
echo ( or for older versions visit https://github.com/davebaol/d2x-cios )
|
|
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
set /p betacios=Enter Selection Here:
|
|
set "betacios=%betacios:"=%"
|
|
if /i "%betacios%" EQU "M" goto:MENU
|
|
if /i "%betacios%" EQU "B" goto:%backbeforebetaswitch%
|
|
|
|
if /i "%betacios%" EQU "WWW" (start https://github.com/wiidev/d2x-cios/releases) & (goto:betaswitch)
|
|
|
|
if /i "%betacios%" NEQ "R" goto:notR
|
|
if "%RecD2XcIOS%"=="" goto:notR
|
|
::set RecD2XcIOS=d2x-v10-beta52
|
|
if /i "%d2x-bundled%" EQU "%RecD2XcIOS:~5%" (set betacios=D) & (goto:notR)
|
|
set "CurrentcIOS=%RecD2XcIOS%"
|
|
goto:Gotd2x
|
|
::set "d2x-beta-rev=%RecD2XcIOS:~5%
|
|
|
|
:notR
|
|
|
|
if /i "%betacios%" NEQ "D" goto:notD
|
|
if exist support\d2x-beta rd /s /q support\d2x-beta
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
if /i "%LegacyCIOS%" NEQ "Y" goto:NoSetTweak
|
|
echo Disabling legacy cIOS building method...
|
|
Set LegacyCIOS=
|
|
support\sfk filter "Support\settings.bat" -ls!"Set LegacyCIOS=" -write -yes>nul
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
:NoSetTweak
|
|
goto:%backbeforebetaswitch%
|
|
:notD
|
|
|
|
if "%betacios%"=="" goto:badkey
|
|
if /i "%d2xTOTAL%" EQU "0" goto:badkey
|
|
echo set betacios=%betacios% >temp\temp.bat
|
|
support\sfk filter -quiet temp\temp.bat -rep _.__ -lerep _" "__ -write -yes
|
|
call temp\temp.bat
|
|
del temp\temp.bat>nul
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%betacios%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%betacios%") do set "betacios=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%betacios%"=="" set "betacios=0"
|
|
|
|
|
|
if %betacios% LSS 1 goto:badkey
|
|
if /i %betacios% GTR %MorecIOSsNum% goto:badkey
|
|
|
|
|
|
|
|
::----copy folders over----
|
|
set MorecIOSsNum2=0
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\list.txt) do call :processlist4 %%A
|
|
goto:Gotd2x
|
|
:processlist4
|
|
set CurrentcIOS=%*
|
|
::if not exist "support\More-cIOSs\%CurrentcIOS%\d2x-beta.bat" goto:EOF
|
|
set /a MorecIOSsNum2=%MorecIOSsNum2%+1
|
|
if /i "%MorecIOSsNum2%" EQU "%betacios%" goto:Gotd2x
|
|
goto:EOF
|
|
:Gotd2x
|
|
|
|
support\sfk filter "temp\list2.txt" -le+"%CurrentcIOS%" -write -yes>nul
|
|
set DLcIOS=
|
|
set /p DLcIOS= <"temp\list2.txt"
|
|
|
|
::if "%DLcIOS%"=="" echo "%CurrentcIOS%" is not available online
|
|
|
|
|
|
::set DLcIOS=%CurrentcIOS%
|
|
::set CurrentcIOS=%CurrentcIOS:*/=%
|
|
|
|
if not exist "support\More-cIOSs\%CurrentcIOS%\d2x-beta.bat" goto:yesdownload
|
|
|
|
::check for legacy d2x-beta.bat's, if "magicword2" found no need for further checks (incl vWii)
|
|
findStr "magicword2" "support\More-cIOSs\%CurrentcIOS%\d2x-beta.bat" >nul
|
|
IF ERRORLEVEL 1 goto:LegacySupport
|
|
if /i "%LegacyCIOS%" NEQ "Y" goto:nodownload
|
|
echo Disabling legacy cIOS building method...
|
|
Set LegacyCIOS=
|
|
support\sfk filter "Support\settings.bat" -ls!"Set LegacyCIOS=" -write -yes>nul
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:nodownload
|
|
|
|
|
|
:LegacySupport
|
|
|
|
::redownload if updates available online (if DLcIOS is null then not online or no wifi)
|
|
if not "%DLcIOS%"=="" (echo Outdated local d2x version detected, downloading minor updates to support fakesigning...) & (goto:yesdownload)
|
|
|
|
::try downloading from deprecated folder
|
|
support\wget --output-document %CurrentcIOS%.zip --no-check-certificate -t 3 "https://github.com/modmii/modmii.github.io/blob/master/temp/d2x-deprecated/%CurrentcIOS%.7z?raw=true" -q --show-progress
|
|
echo.
|
|
::delete if file is empty
|
|
>nul findstr "^" "%CurrentcIOS%.zip" || del "%CurrentcIOS%.zip"
|
|
if exist "%CurrentcIOS%.zip" goto:yesdownload2
|
|
|
|
|
|
::legacy local d2x beta's without updates here, enable legacy support
|
|
echo Legacy local d2x version detected, switching to legacy cIOS building method...
|
|
echo.
|
|
echo To later disable legacy cIOS building choose a different d2x version
|
|
echo (or update cIOS bundle with d2x-beta-md5-updater.bat if you know what you're doing)
|
|
echo.
|
|
echo While legacy cIOS building is enabled ModMii won't fakesign WADs during some
|
|
echo operations and .NET Framework 3.5 is required
|
|
echo.
|
|
echo Press any key to proceed, or close ModMii now
|
|
pause>nul
|
|
echo.
|
|
|
|
|
|
::if /i "%LegacyCIOS%" NEQ "Y" goto:skip
|
|
|
|
call Support\subscripts\dependency.bat LegacyCIOS
|
|
if /i "%dependency%" EQU "F" goto:RevertOverride
|
|
|
|
::.NET Framework 3.5 check+installation
|
|
call Support\subscripts\dependency.bat NETframework
|
|
if /i "%dependency%" EQU "F" goto:RevertOverride
|
|
|
|
goto:skip
|
|
|
|
:RevertOverride
|
|
echo DISABLING legacy cIOS building method because:
|
|
if not exist Support\WadMii.exe echo - Support\WadMii.exe is missing
|
|
if not exist Support\libWiiSharp.dll echo - Support\libWiiSharp.dll is missing
|
|
if not exist Support\tmdedit.exe echo - Support\tmdedit.exe is missing
|
|
if not exist Support\patchios.exe echo - Support\patchios.exe is missing
|
|
if not exist "%windir%\Microsoft.NET\Framework\v3.5" echo - .NET Framework 3.5 not installed
|
|
set LegacyCIOS=
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set LegacyCIOS=" -write -yes>nul
|
|
echo.
|
|
echo.
|
|
echo You should expect to get some Invalid errors while using this d2x version.
|
|
echo If you're beta testing you can add "set KeepInvalidOverride=Y" to
|
|
echo settings.bat to prevent ModMii from deleting some Invalid downloads
|
|
echo.
|
|
echo Press any key to switch to this d2x version anyway, or close ModMii now
|
|
pause>nul
|
|
goto:nodownload
|
|
:skip
|
|
|
|
|
|
::enable legacy cIOS building
|
|
if /i "%LegacyCIOS%" NEQ "Y" (Set LegacyCIOS=Y) & (echo Set LegacyCIOS=Y>>Support\settings.bat)
|
|
goto:nodownload
|
|
|
|
|
|
:yesdownload
|
|
if "%DLcIOS%"=="" (echo d2x Download Error, no internet?) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:betaswitch2)
|
|
support\wget --output-document %CurrentcIOS%.zip --no-check-certificate -t 3 "https://github.com/modmii/modmii.github.io/blob/master/temp/d2x/%DLcIOS%.7z?raw=true" -q --show-progress
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "%CurrentcIOS%.zip" || del "%CurrentcIOS%.zip"
|
|
|
|
if not exist "%CurrentcIOS%.zip" goto:badkey
|
|
:yesdownload2
|
|
if not exist "support\More-cIOSs\%CurrentcIOS%" mkdir "support\More-cIOSs\%CurrentcIOS%"
|
|
support\7za e -aoa "%CurrentcIOS%.zip" -o"support\More-cIOSs\%CurrentcIOS%" *.* -r
|
|
del "%CurrentcIOS%.zip">nul
|
|
if not exist "support\More-cIOSs\%CurrentcIOS%\d2x-beta.bat" (rd /s /q "support\More-cIOSs\%CurrentcIOS%") & (goto:badkey)
|
|
:nodownload
|
|
|
|
if exist support\d2x-beta rd /s /q support\d2x-beta
|
|
mkdir support\d2x-beta
|
|
copy /y "support\More-cIOSs\%CurrentcIOS%\*" "support\d2x-beta">nul
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
del temp\list.txt>nul
|
|
del temp\list2.txt>nul
|
|
|
|
goto:%backbeforebetaswitch%
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:betaswitch2
|
|
|
|
|
|
::------------------------------------ADVANCED page 2 - PATCH IOS--------------------------------
|
|
:ADVPAGE2
|
|
set loadorgo=go
|
|
set ADVPATCH="
|
|
set patchcode=
|
|
set patchname=
|
|
set ADVSLOT=
|
|
set SLOTCODE=
|
|
set SLOTNAME=
|
|
|
|
if /i "%ADVLIST%" EQU "U" goto:skip
|
|
set wadnameless=%wadname%
|
|
echo BLAH%wadname%>wadnametemp.bat
|
|
support\sfk filter wadnametemp.bat -rep _BLAH_"set wadnameless="_ -rep _RVL-__ -rep _.wad__ -write -yes>nul
|
|
::-rep _-64-__
|
|
call wadnametemp.bat
|
|
del wadnametemp.bat>nul
|
|
|
|
|
|
if /i "%ADVTYPE%" EQU "CIOS" goto:ADVANCEDpickUP
|
|
:skip
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo How would you like to patch %wadnameless%?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo A = All 4 available patches
|
|
echo N = No Patches
|
|
echo.
|
|
echo -FS = FakeSigning Patch
|
|
echo -ES = ES Identify Patch
|
|
echo -NP = Nand Permission Patch
|
|
echo -VP = Version Patch
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Select multiple patches by separating them by a space.
|
|
echo.
|
|
echo.
|
|
echo Examples of how to select multiple patches
|
|
echo ------------------------------------------
|
|
echo -FS -ES -NP
|
|
echo -ES -FS
|
|
echo -NP -VP
|
|
echo -NP -FS -VP
|
|
echo -FS -ES -NP -VP
|
|
echo etc.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p ADVPATCH=Enter Selection Here:
|
|
set "ADVPATCH=%ADVPATCH:"=%"
|
|
if "%ADVPATCH%"=="" goto:badkey
|
|
if "%ADVLIST%"=="" goto:badkey
|
|
|
|
if /i "%ADVPATCH%" EQU "M" goto:MENU
|
|
|
|
if /i "%ADVLIST%" EQU "U" goto:skip
|
|
if /i "%ADVPATCH%" EQU "B" goto:ADVANCED
|
|
:skip
|
|
if /i "%ADVPATCH%" EQU "B" goto:CUSTOMPAGE2
|
|
|
|
if /i "%ADVPATCH%" EQU "N" (set patchcode=) & (set patchname=) & (goto:ADVPAGE3)
|
|
|
|
if /i "%ADVPATCH%" EQU "A" set ADVPATCH=-FS -ES -NP -VP
|
|
|
|
::if lower case letters entered change to upper
|
|
if /i "%ADVPATCH%" EQU "-FS" set ADVPATCH=-FS
|
|
if /i "%ADVPATCH%" EQU "-ES" set ADVPATCH=-ES
|
|
if /i "%ADVPATCH%" EQU "-NP" set ADVPATCH=-NP
|
|
if /i "%ADVPATCH%" EQU "-VP" set ADVPATCH=-VP
|
|
if /i "%ADVPATCH%" EQU "-FS -ES" set ADVPATCH=-FS -ES
|
|
if /i "%ADVPATCH%" EQU "-ES -FS" set ADVPATCH=-ES -FS
|
|
if /i "%ADVPATCH%" EQU "-FS -NP" set ADVPATCH=-FS -NP
|
|
if /i "%ADVPATCH%" EQU "-NP -FS" set ADVPATCH=-NP -FS
|
|
if /i "%ADVPATCH%" EQU "-FS -VP" set ADVPATCH=-FS -VP
|
|
if /i "%ADVPATCH%" EQU "-VP -FS" set ADVPATCH=-VP -FS
|
|
if /i "%ADVPATCH%" EQU "-ES -NP" set ADVPATCH=-ES -NP
|
|
if /i "%ADVPATCH%" EQU "-NP -ES" set ADVPATCH=-NP -ES
|
|
if /i "%ADVPATCH%" EQU "-ES -VP" set ADVPATCH=-ES -VP
|
|
if /i "%ADVPATCH%" EQU "-VP -ES" set ADVPATCH=-VP -ES
|
|
if /i "%ADVPATCH%" EQU "-NP -VP" set ADVPATCH=-NP -VP
|
|
if /i "%ADVPATCH%" EQU "-VP -NP" set ADVPATCH=-VP -NP
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -NP" set ADVPATCH=-FS -ES -NP
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -ES" set ADVPATCH=-FS -NP -ES
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -NP" set ADVPATCH=-ES -FS -NP
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -FS" set ADVPATCH=-ES -NP -FS
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -ES" set ADVPATCH=-NP -FS -ES
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -FS" set ADVPATCH=-NP -ES -FS
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -VP" set ADVPATCH=-FS -ES -VP
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -ES" set ADVPATCH=-FS -VP -ES
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -VP" set ADVPATCH=-ES -FS -VP
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -FS" set ADVPATCH=-ES -VP -FS
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -ES" set ADVPATCH=-VP -FS -ES
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -FS" set ADVPATCH=-VP -ES -FS
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -VP" set ADVPATCH=-FS -NP -VP
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -NP" set ADVPATCH=-FS -VP -NP
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -VP" set ADVPATCH=-NP -FS -VP
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -FS" set ADVPATCH=-NP -VP -FS
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -FS" set ADVPATCH=-VP -NP -FS
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -NP" set ADVPATCH=-VP -FS -NP
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -VP" set ADVPATCH=-ES -NP -VP
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -NP" set ADVPATCH=-ES -VP -NP
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -VP" set ADVPATCH=-NP -ES -VP
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -ES" set ADVPATCH=-NP -VP -ES
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -NP" set ADVPATCH=-VP -ES -NP
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -ES" set ADVPATCH=-VP -NP -ES
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -ES -NP" set ADVPATCH=-VP -FS -ES -NP
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -NP -ES" set ADVPATCH=-VP -FS -NP -ES
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -FS -NP" set ADVPATCH=-VP -ES -FS -NP
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -NP -FS" set ADVPATCH=-VP -ES -NP -FS
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -FS -ES" set ADVPATCH=-VP -NP -FS -ES
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -ES -FS" set ADVPATCH=-VP -NP -ES -FS
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -ES -VP" set ADVPATCH=-NP -FS -ES -VP
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -VP -ES" set ADVPATCH=-NP -FS -VP -ES
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -FS -VP" set ADVPATCH=-NP -ES -FS -VP
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -VP -FS" set ADVPATCH=-NP -ES -VP -FS
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -FS -ES" set ADVPATCH=-NP -VP -FS -ES
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -ES -FS" set ADVPATCH=-NP -VP -ES -FS
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -NP -VP" set ADVPATCH=-ES -FS -NP -VP
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -VP -NP" set ADVPATCH=-ES -FS -VP -NP
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -FS -VP" set ADVPATCH=-ES -NP -FS -VP
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -VP -FS" set ADVPATCH=-ES -NP -VP -FS
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -NP -FS" set ADVPATCH=-ES -VP -NP -FS
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -FS -NP" set ADVPATCH=-ES -VP -FS -NP
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -NP -VP" set ADVPATCH=-FS -ES -NP -VP
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -VP -NP" set ADVPATCH=-FS -ES -VP -NP
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -ES -VP" set ADVPATCH=-FS -NP -ES -VP
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -VP -ES" set ADVPATCH=-FS -NP -VP -ES
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -ES -NP" set ADVPATCH=-FS -VP -ES -NP
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -NP -ES" set ADVPATCH=-FS -VP -NP -ES
|
|
|
|
|
|
|
|
|
|
::add leading space for patchcode
|
|
set patchcode= %ADVPATCH%
|
|
::remove leading dash and space for patchname
|
|
echo [%ADVPATCH:~1%]>temp\temp.txt
|
|
support\sfk filter -quiet temp\temp.txt -rep _" "__ -write -yes
|
|
set /p patchname= <temp\temp.txt
|
|
del temp\temp.txt>nul
|
|
|
|
|
|
if /i "%ADVPATCH%" EQU "-FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -ES -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -FS -NP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -FS -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -ES -NP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -FS -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-VP -NP -ES -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -ES -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -FS -VP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -FS -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -ES -VP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -FS -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-NP -VP -ES -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -NP -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -FS -VP -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -FS -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -NP -VP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -NP -FS" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-ES -VP -FS -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -NP -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -ES -VP -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -ES -VP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -NP -VP -ES" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -ES -NP" goto:ADVPAGE3
|
|
if /i "%ADVPATCH%" EQU "-FS -VP -NP -ES" goto:ADVPAGE3
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ADVPAGE2
|
|
|
|
|
|
::------------------------------------ADVANCED page 3 - SLOT--------------------------------
|
|
:ADVPAGE3
|
|
set ADVSLOT="
|
|
set SLOTCODE=
|
|
set SLOTNAME=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo To change the IOS slot # for %wadnameless%%patchname%
|
|
echo.
|
|
echo Enter a new IOS slot # now
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 [%redtext%] WARNING: Be careful what IOS slot # you choose, if it overwrites a crucial IOS
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%] YOU MAY BRICK
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Note: Must be between 3 and 254
|
|
echo.
|
|
echo.
|
|
echo N = No, leave slot unchanged
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p ADVSLOT=Enter Selection Here:
|
|
set "ADVSLOT=%ADVSLOT:"=%"
|
|
|
|
::"B" will actually take u to the menu only to clear the download_queue, then it will return to advanced page1
|
|
|
|
if /i "%ADVSLOT%" EQU "M" goto:MENU
|
|
|
|
if /i "%wadname%" EQU "IOS60v65535(ModMii-IOS60-v6174)" goto:BACKTOMENUFIRST
|
|
if /i "%ADVTYPE%" EQU "CIOS" goto:BACKTOMENUFIRST
|
|
if /i "%ADVSLOT%" EQU "B" goto:ADVPAGE2
|
|
:BACKTOMENUFIRST
|
|
if /i "%ADVSLOT%" EQU "B" goto:ADVANCED
|
|
|
|
|
|
if /i "%ADVSLOT%" NEQ "N" goto:notnone
|
|
if /i "%ADVTYPE%" EQU "CIOS" (set ADVSLOT=%wadname:~4,3%) & (goto:ADVPAGE4)
|
|
if /i "%wadname%" EQU "IOS60v65535(ModMii-IOS60-v6174)" (set ADVSLOT=60) & (goto:ADVPAGE4)
|
|
:notnone
|
|
|
|
if /i "%ADVSLOT%" EQU "N" goto:ADVPAGE4
|
|
|
|
if "%ADVSLOT%"=="" goto:badkey
|
|
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%ADVSLOT%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%ADVSLOT%") do set "ADVSLOT=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%ADVSLOT%"=="" set "ADVSLOT=0"
|
|
|
|
::limit user input to X# of digits
|
|
if not "%ADVSLOT:~3%"=="" goto:badkey
|
|
|
|
::Reject negative numbers - and reject 1 and 2
|
|
if %ADVSLOT% LSS 3 goto:badkey
|
|
|
|
set "SLOTCODE= -slot %ADVSLOT%"
|
|
set "SLOTNAME=-slot%ADVSLOT%"
|
|
|
|
if %ADVSLOT% LEQ 254 goto:ADVPAGE4
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ADVPAGE3
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED page 4 - Version--------------------------------
|
|
:ADVPAGE4
|
|
Set ADVVERSION="
|
|
set VERSIONNAME=
|
|
set VERSIONCODE=
|
|
|
|
set versionreal=%version%
|
|
set /a versionplus1=%versionreal%+1
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Would you like to change the version # of this WAD?
|
|
echo.
|
|
echo %wadnameless%%patchname%%slotname%
|
|
echo.
|
|
echo.
|
|
echo Note: MAX is 65535
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo MAX = MAX (65535)
|
|
echo.
|
|
echo N = No, leave version unchanged (%versionreal%)
|
|
if /i "%VER%" EQU "*" goto:bypass
|
|
if /i "%versionreal%" NEQ "65535" echo.
|
|
if /i "%versionreal%" NEQ "65535" echo V1 = Version + 1 (%versionplus1%)
|
|
:bypass
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p ADVVERSION=Enter Selection Here:
|
|
set "ADVVERSION=%ADVVERSION:"=%"
|
|
|
|
if "%ADVVERSION%"=="" goto:badkey
|
|
|
|
::"B" will actually take u to the menu only to clear the download_queue, then it will return to advanced page1
|
|
|
|
if /i "%ADVVERSION%" EQU "M" goto:MENU
|
|
if /i "%ADVVERSION%" EQU "B" goto:ADVPAGE3
|
|
if /i "%ADVVERSION%" EQU "MAX" set ADVVERSION=65535
|
|
if /i "%versionreal%" EQU "65535" goto:alreadymaxxed
|
|
|
|
if /i "%VER%" EQU "*" goto:alreadymaxxed
|
|
if /i "%ADVVERSION%" EQU "v1" set ADVVERSION=%versionplus1%
|
|
:alreadymaxxed
|
|
|
|
|
|
|
|
if /i "%ADVLIST%" EQU "U" goto:skip
|
|
if /i "%ADVVERSION%" EQU "N" goto:ADVCONFIRM
|
|
:skip
|
|
if /i "%ADVVERSION%" EQU "N" goto:CONFIRM
|
|
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%ADVVERSION%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%ADVVERSION%") do set "ADVVERSION=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%ADVVERSION%"=="" set "ADVVERSION=0"
|
|
|
|
::limit user input to X# of digits
|
|
if not "%ADVVERSION:~5%"=="" goto:badkey
|
|
|
|
::Reject negative numbers (LSS is less than, GTR is greater than)
|
|
if %ADVVERSION% LSS 1 goto:badkey
|
|
|
|
set "versioncode= -v %ADVVERSION%"
|
|
set "versionname=-[v%ADVVERSION%]"
|
|
|
|
if /i "%ADVLIST%" EQU "U" goto:skip
|
|
if %ADVVERSION% LEQ 65535 goto:ADVCONFIRM
|
|
:skip
|
|
if %ADVVERSION% LEQ 65535 goto:CONFIRM
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ADVPAGE4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED page CONFIRM - Version--------------------------------
|
|
:ADVCONFIRM
|
|
set ADVCONFIRM="
|
|
|
|
if /i "%ADVVERSION%" EQU "N" set VERSIONNAME=
|
|
if /i "%ADVVERSION%" EQU "N" set VERSIONCODE=
|
|
|
|
set changes=
|
|
if /i "%wadname:~0,-4%" EQU "%wadnameless%%patchname%%slotname%%versionname%" set changes=none
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo ADVANCED CUSTOM DOWNLOADS
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%changes%" EQU "none" goto:nochanges
|
|
echo Are these settings correct?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Download %wadname% and Patch it accordingly
|
|
echo.
|
|
|
|
|
|
if /i "%ADVTYPE%" NEQ "CIOS" goto:miniskip
|
|
if /i "%ADVSLOT%" EQU "%wadname:~4,3%" goto:miniskip
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 cIOS[%redtext%]%ADVSLOT%[def]%wadname:~7%[%redtext%]%patchname%%slotname%%versionname%
|
|
goto:yeschanges
|
|
:miniskip
|
|
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 %wadnameless%[%redtext%]%patchname%%slotname%%versionname%
|
|
goto:yeschanges
|
|
|
|
:nochanges
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 [%yellowtext%] You have not selected any changes to be made to %wadnameless%
|
|
echo.
|
|
echo.
|
|
echo If you want to download %wadnameless%
|
|
echo you can do so from the Batch/Additional Download Pages
|
|
|
|
:yeschanges
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%changes%" NEQ "none" echo Y = Yes, add Advanced Download to Queue
|
|
echo.
|
|
echo N = No, go back to Advanced Custom Downloads Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p ADVCONFIRM=Enter Selection Here:
|
|
set "ADVCONFIRM=%ADVCONFIRM:"=%"
|
|
|
|
::"B" will actually take u to the menu only to clear the download_queue, then it will return to advanced page1
|
|
if /i "%ADVCONFIRM%" EQU "B" goto:ADVPAGE4
|
|
if /i "%ADVCONFIRM%" EQU "M" goto:MENU
|
|
if /i "%ADVCONFIRM%" EQU "N" goto:ADVANCED
|
|
|
|
if /i "%changes%" EQU "none" goto:nochanges2
|
|
|
|
|
|
if /i "%ADVCONFIRM%" EQU "Y" set /a AdvNumber=%AdvNumber%+1
|
|
if /i "%ADVCONFIRM%" EQU "Y" goto:SaveADVdlSettings
|
|
|
|
:nochanges2
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:ADVCONFIRM
|
|
|
|
|
|
:SaveADVdlSettings
|
|
echo.
|
|
echo Adding Advanced Download to queue, this may take a few seconds...
|
|
echo.
|
|
echo set "name=Advanced Download: %wadnameless%%patchname%%slotname%%versionname%">temp\AdvDL%AdvNumber%.bat
|
|
if not "%wadname%"=="" echo set "wadname=%wadname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%ciosSLOT%"=="" echo set "ciosslot=%ciosSLOT%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%ciosVERSION%"=="" echo set "ciosversion=%ciosVERSION%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5%"=="" echo set "md5=%md5%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5alt%"=="" echo set "md5alt=%md5alt%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%basewad%"=="" echo set "basewad=%basewad%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5base%"=="" echo set "md5base=%md5base%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5basealt%"=="" echo set "md5basealt=%md5basealt%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code1%"=="" echo set "code1=%code1%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code2%"=="" echo set "code2=%code2%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%version%"=="" echo set "version=%version%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%basewadb%"=="" echo set "basewadb=%basewadb%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5baseb%"=="" echo set "md5baseb=%md5baseb%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%md5basebalt%"=="" echo set "md5basebalt=%md5basebalt%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code1b%"=="" echo set "code1b=%code1b%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code2b%"=="" echo set "code2b=%code2b%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versionb%"=="" echo set "versionb=%versionb%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%basecios%"=="" echo set "basecios=%basecios%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%diffpath%"=="" echo set "diffpath=%diffpath%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%code2new%"=="" echo set "code2new=%code2new%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%lastbasemodule%"=="" echo set "lastbasemodule=%lastbasemodule%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%category%"=="" echo set "category=%category%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%wadnameless%"=="" echo set "wadnameless=%wadnameless%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%patchname%"=="" echo set "patchname=%patchname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%slotname%"=="" echo set "slotname=%slotname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%slotcode%"=="" echo set "slotcode=%slotcode%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versionname%"=="" echo set "versionname=%versionname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versioncode%"=="" echo set "versioncode=%versioncode%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%cIOSFamilyName%"=="" echo set "cIOSFamilyName=%cIOSFamilyName%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%cIOSversionNum%"=="" echo set "cIOSversionNum=%cIOSversionNum%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%PATCHCODE%"=="" echo set "PATCHCODE=%PATCHCODE%">>temp\AdvDL%AdvNumber%.bat
|
|
|
|
::echo "goto:downloadstart">>temp\AdvDL%AdvNumber%.bat
|
|
|
|
echo "Advanced Download: %wadnameless%%patchname%%slotname%%versionname%">>temp\DLnamesADV.txt
|
|
echo "temp\AdvDL%AdvNumber%.bat">>temp\DLgotosADV.txt
|
|
|
|
support\sfk -spat filter -quiet "temp\AdvDL%AdvNumber%.bat" -rep _\x22__ -write -yes
|
|
support\sfk -spat filter -quiet "temp\DLnamesADV.txt" -rep _\x22__ -write -yes
|
|
support\sfk -spat filter -quiet "temp\DLgotosADV.txt" -rep _\x22__ -write -yes
|
|
|
|
|
|
goto:ADVANCED
|
|
|
|
::...................................Custom- User-Defined Custom Download...............................
|
|
:CUSTOM
|
|
|
|
set DEC="
|
|
set HEX=
|
|
set countIOS=0
|
|
|
|
set VERFINAL=
|
|
set patchname=
|
|
set slotname=
|
|
set versionname=
|
|
set HEX=
|
|
set VER=
|
|
set wadfolder=
|
|
set verfinal=
|
|
set PATCHCODE=
|
|
set slotcode=
|
|
set versioncode=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20[%yellowtext%] WARNING: these downloads MAY CAUSE BRICK if you do NOT know what you are doing!
|
|
echo.
|
|
echo Enter the Number of the IOS you would like to download
|
|
echo (for a vWii IOS, enter "v" before the IOS Number)
|
|
echo.
|
|
::echo either in Decimal (x,xx,xxx; ie. 9,60,249), or in Hex (xx; ie. F9=249)
|
|
echo Or enter "SM" or "MIOS" to download a Wii System Menu or MIOS
|
|
echo.
|
|
support\sfk echo -spat \x20[%yellowtext%] Note that if the file you input does not exist it will fail to download, obviously
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo # = Download the IOS number
|
|
echo.
|
|
echo v# = Download the vWii IOS number
|
|
echo.
|
|
echo SM = Download a Wii System Menu
|
|
echo.
|
|
echo MIOS = Download a Wii MIOS
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p DEC=Enter Selection Here:
|
|
set "DEC=%DEC:"=%"
|
|
if "%DEC%"=="" goto:badkey
|
|
|
|
if /i "%DEC%" EQU "M" goto:MENU
|
|
if /i "%DEC%" EQU "B" goto:ADVANCED
|
|
if /i "%DEC%" EQU "MIOS" goto:CUSTOMPAGE2
|
|
if /i "%DEC%" EQU "SM" goto:CUSTOMPAGE2
|
|
|
|
set vWiiIOS=
|
|
if /i "%DEC:~0,1%" EQU "V" set vWiiIOS=Y
|
|
if /i "%DEC:~0,1%" EQU "V" set "DEC=%DEC:~1%"
|
|
if /i "%vWiiIOS%" EQU "Y" (set "vWiiName=-vWii") else (set vWiiName=)
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%DEC%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%DEC%") do set "DEC=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%DEC%"=="" set "DEC=0"
|
|
|
|
::limit user input to X# of digits
|
|
if not "%DEC:~3%"=="" goto:badkey
|
|
|
|
::Reject negative numbers (LSS is less than, GTR is greater than)
|
|
if %DEC% LSS 1 goto:badkey
|
|
|
|
if %DEC% LEQ 254 goto:CUSTOMPAGE2
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:CUSTOM
|
|
|
|
|
|
|
|
:CUSTOMPAGE2
|
|
set VER="
|
|
set ADVPATCH=
|
|
set patchcode=
|
|
set patchname=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if /i "%DEC%" EQU "SM" echo What Version of the System Menu would like to download? (ie. XXX)
|
|
if /i "%DEC%" EQU "SM" goto:NEXT1
|
|
if /i "%DEC%" EQU "MIOS" echo What Version of MIOS would like to download? (ie. 4, 5, 8, 10)
|
|
if /i "%DEC%" EQU "MIOS" goto:NEXT1
|
|
|
|
if /i "%vWiiIOS%" EQU "Y" echo What Version of vWii IOS %DEC% would like to download?
|
|
if "%vWiiIOS%"=="" echo What Version of Wii IOS %DEC% would like to download?
|
|
|
|
|
|
:NEXT1
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 [%redtext%] WARNING:[def] - Make sure the version you input actually exists
|
|
echo - Most recent version may be stubbed
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
if /i "%DEC%" NEQ "SM" echo * = Download the most recent version
|
|
if /i "%DEC%" EQU "SM" echo * = Download the most recent Korean System Menu
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p VER=Enter Selection Here:
|
|
set "VER=%VER:"=%"
|
|
if /i "%VER%" EQU "M" goto:MENU
|
|
if /i "%VER%" EQU "B" goto:CUSTOM
|
|
|
|
set version=%VER%
|
|
if /i "%VER%" EQU "*" goto:bypass
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%VER%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%VER%") do set "VER=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%VER%"=="" set "VER=0"
|
|
|
|
::limit user input to X# of digits
|
|
if not "%VER:~5%"=="" goto:badkey
|
|
|
|
::Reject negative numbers (LSS is less than, GTR is greater than)
|
|
if %VER% LSS 1 goto:badkey
|
|
|
|
|
|
|
|
:bypass
|
|
|
|
if /i "%DEC%" EQU "SM" goto:nopatches
|
|
if /i "%DEC%" EQU "MIOS" goto:nopatches
|
|
|
|
::for IOSs Only
|
|
if /i "%VER%" NEQ "*" set wadnameless=IOS%DEC%-64-v%VER%
|
|
if /i "%VER%" EQU "*" set wadnameless=IOS%DEC%-64-vNEW
|
|
if /i "%vWiiIOS%" EQU "Y" set "wadnameless=%wadnameless%-vWii"
|
|
|
|
|
|
if /i "%VER%" EQU "*" goto:ADVPAGE2
|
|
if /i "%VER%" LSS 65536 goto:ADVPAGE2
|
|
|
|
:nopatches
|
|
if /i "%VER%" EQU "*" goto:CONFIRM
|
|
if /i "%VER%" LSS 65536 goto:CONFIRM
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:CUSTOMPAGE2
|
|
|
|
|
|
|
|
|
|
:CONFIRM
|
|
if /i "%ADVVERSION%" EQU "N" set VERSIONNAME=
|
|
if /i "%ADVVERSION%" EQU "N" set VERSIONCODE=
|
|
|
|
|
|
set VERFINAL=%VER%
|
|
if /i "%VER%" EQU "*" set VERFINAL=NEW
|
|
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%DEC%" EQU "SM" echo Are you sure you want to try downloading System Menu v%VER%?
|
|
if /i "%DEC%" EQU "SM" goto:NEXT2
|
|
if /i "%DEC%" EQU "MIOS" echo Are you sure you want to try downloading MIOS v%VER%?
|
|
if /i "%DEC%" EQU "MIOS" goto:NEXT2
|
|
|
|
|
|
echo Are you sure you want to try downloading:
|
|
echo.
|
|
echo IOS%DEC%-64-v%VERFINAL%%patchname%%slotname%%versionname%%vWiiName%
|
|
|
|
|
|
|
|
:NEXT2
|
|
echo.
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%redtext%] WARNING: this download will fail if the file does not exist.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, add Advanced Download to Queue
|
|
echo.
|
|
echo N = No, go back to Advanced Custom Downloads Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set CONFIRM="
|
|
set /p CONFIRM=Enter Selection Here:
|
|
set "CONFIRM=%CONFIRM:"=%"
|
|
|
|
if /i "%CONFIRM%" EQU "M" goto:MENU
|
|
if /i "%CONFIRM%" EQU "N" goto:ADVANCED
|
|
|
|
::if /i "%CONFIRM%" EQU "A" goto:CUSTOMDL
|
|
if /i "%CONFIRM%" EQU "Y" set /a AdvNumber=%AdvNumber%+1
|
|
if /i "%CONFIRM%" EQU "Y" goto:SaveADVdlSettings2
|
|
|
|
|
|
if /i "%DEC%" EQU "SM" goto:skip
|
|
if /i "%DEC%" EQU "MIOS" goto:skip
|
|
if /i "%CONFIRM%" EQU "B" goto:ADVPAGE4
|
|
:skip
|
|
if /i "%CONFIRM%" EQU "B" goto:CUSTOMPAGE2
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:CONFIRM
|
|
|
|
|
|
:SaveADVdlSettings2
|
|
if /i "%DEC%" EQU "SM" (echo set "name=Advanced Download: System Menu v%VER%">temp\AdvDL%AdvNumber%.bat) & (echo "Advanced Download: System Menu v%VER%">>temp\DLnamesADV.txt) & (goto:miniskip)
|
|
|
|
if /i "%DEC%" EQU "MIOS" (echo set "name=Advanced Download: MIOS v%VER%">temp\AdvDL%AdvNumber%.bat) & (echo "Advanced Download: MIOS v%VER%">>temp\DLnamesADV.txt) & (goto:miniskip)
|
|
|
|
|
|
echo set "name=Advanced Download: IOS%DEC%-64-v%VERFINAL%%patchname%%slotname%%versionname%%vWiiName%">temp\AdvDL%AdvNumber%.bat
|
|
echo "Advanced Download: IOS%DEC%-64-v%VERFINAL%%patchname%%slotname%%versionname%%vWiiName%">>temp\DLnamesADV.txt
|
|
|
|
|
|
:miniskip
|
|
|
|
if not "%DEC%"=="" echo set "DEC=%DEC%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%VERFINAL%"=="" echo set "VERFINAL=%VERFINAL%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%patchname%"=="" echo set "patchname=%patchname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%slotname%"=="" echo set "slotname=%slotname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versionname%"=="" echo set "versionname=%versionname%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%HEX%"=="" echo set "HEX=%HEX%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%VER%"=="" echo set "VER=%VER%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%wadfolder%"=="" echo set "wadfolder=%wadfolder%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%PATCHCODE%"=="" echo set "PATCHCODE=%PATCHCODE%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%slotcode%"=="" echo set "slotcode=%slotcode%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%versioncode%"=="" echo set "versioncode=%versioncode%">>temp\AdvDL%AdvNumber%.bat
|
|
echo set "category=userdefined">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%vWiiIOS%"=="" echo set "vWiiIOS=%vWiiIOS%">>temp\AdvDL%AdvNumber%.bat
|
|
|
|
|
|
::echo "Advanced Download: %wadnameless%%patchname%%slotname%%versionname%">>temp\DLnamesADV.txt
|
|
|
|
echo "temp\AdvDL%AdvNumber%.bat">>temp\DLgotosADV.txt
|
|
|
|
support\sfk -spat filter -quiet "temp\AdvDL%AdvNumber%.bat" -rep _\x22__ -write -yes
|
|
support\sfk -spat filter -quiet "temp\DLnamesADV.txt" -rep _\x22__ -write -yes
|
|
support\sfk -spat filter -quiet "temp\DLgotosADV.txt" -rep _\x22__ -write -yes
|
|
goto:Advanced
|
|
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED - FORWARDER DOL or ISO--------------------------------
|
|
:FORWARDERDOLorISO
|
|
set FORWARDERDOLorISO="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo What type of Forwarder would you like to build?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo 1 = DOL
|
|
echo.
|
|
echo 2 = ISO
|
|
echo.
|
|
echo 3 = Both
|
|
echo.
|
|
echo.
|
|
echo Note: You can build a customized forwarder channel\WAD by opening
|
|
echo your base WAD using ModMii or Customize Mii from ModMii's
|
|
echo Download Page 5 and injecting your newly constructed DOL.
|
|
echo.
|
|
echo Note: Forwarder ISOs require a cIOS with base 38 in order to work.
|
|
echo If using a d2x cIOS, make sure IOS reload is set to "off".
|
|
echo.
|
|
echo Warning: Even when using the recommended settings, not everyone has
|
|
echo had success with custom Forwarder ISOs, results may vary.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p FORWARDERDOLorISO=Enter Selection Here:
|
|
set "FORWARDERDOLorISO=%FORWARDERDOLorISO:"=%"
|
|
if /i "%FORWARDERDOLorISO%" EQU "M" goto:MENU
|
|
if /i "%FORWARDERDOLorISO%" EQU "B" goto:ADVANCED
|
|
if /i "%FORWARDERDOLorISO%" EQU "1" goto:FORWARDERDOLBUILDER
|
|
if /i "%FORWARDERDOLorISO%" EQU "2" goto:FORWARDERDOLBUILDER
|
|
if /i "%FORWARDERDOLorISO%" EQU "3" goto:FORWARDERDOLBUILDER
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:FORWARDERDOLorISO
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED - FORWARDER DOL BUILDER--------------------------------
|
|
:FORWARDERDOLBUILDER
|
|
set FORWARDERTYPE="
|
|
set URLPATH=
|
|
set path-0=
|
|
set path-1=
|
|
set path-2=
|
|
set path-3=
|
|
set path-4=
|
|
set path-5=
|
|
set path-6=
|
|
set path-7=
|
|
set path-8=
|
|
set path-9=
|
|
set path-10=
|
|
set NumberOfPaths=1
|
|
set bigt=1
|
|
set FORWARDERTITLEID=
|
|
set DISCID=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo What type of Forwarder would you like to build?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo 1 = SD\USB Forwarder (v14)
|
|
echo 1B = SD\USB Forwarder (v12), use if you experience issues with v14
|
|
echo.
|
|
echo 2 = URL Forwarder (Requires Internet Channel)
|
|
echo.
|
|
echo 3 = Channel Forwarder
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p FORWARDERTYPE=Enter Selection Here:
|
|
set "FORWARDERTYPE=%FORWARDERTYPE:"=%"
|
|
if /i "%FORWARDERTYPE%" EQU "M" goto:MENU
|
|
if /i "%FORWARDERTYPE%" EQU "B" goto:FORWARDERDOLorISO
|
|
if /i "%FORWARDERTYPE%" EQU "1" goto:v10FORWARDERDOL
|
|
if /i "%FORWARDERTYPE%" EQU "1B" goto:v10FORWARDERDOL
|
|
if /i "%FORWARDERTYPE%" EQU "2" goto:INTERNETFORWARDERDOL
|
|
if /i "%FORWARDERTYPE%" EQU "3" goto:CHANNELFORWARDERDOL
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:FORWARDERDOLBUILDER
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED - FORWARDER DOL BUILDER--------------------------------
|
|
:v10FORWARDERDOL
|
|
set path-0="
|
|
set bigt=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
if "%path-10%"=="" echo Input forwarder path #%NumberOfPaths%:
|
|
if not "%path-10%"=="" (support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 [%redtext%] Maximum Number of paths have been reached) & (goto:maxreached)
|
|
echo.
|
|
echo.
|
|
echo Note: Cannot contain : * ? " < > | & %%
|
|
echo.
|
|
echo Examples:
|
|
echo apps/usbloader_gx/boot.dol
|
|
echo apps/HackMii_Installer/boot.elf
|
|
echo boot.elf
|
|
echo.
|
|
|
|
if /i "%FORWARDERTYPE%" EQU "1" echo Note: Maximum path length is 254 characters
|
|
if /i "%FORWARDERTYPE%" NEQ "1" echo Note: Maximum path length is 255 characters
|
|
|
|
:maxreached
|
|
echo.
|
|
if not "%path-1%"=="" echo Path #1: %path-1%
|
|
if not "%path-2%"=="" echo Path #2: %path-2%
|
|
if not "%path-3%"=="" echo Path #3: %path-3%
|
|
if not "%path-4%"=="" echo Path #4: %path-4%
|
|
if not "%path-5%"=="" echo Path #5: %path-5%
|
|
if not "%path-6%"=="" echo Path #6: %path-6%
|
|
if not "%path-7%"=="" echo Path #7: %path-7%
|
|
if not "%path-8%"=="" echo Path #8: %path-8%
|
|
if not "%path-9%"=="" echo Path #9: %path-9%
|
|
if not "%path-10%"=="" echo Path #10: %path-10%
|
|
echo.
|
|
echo.
|
|
if "%path-1%"=="" (echo.) else (echo A = Add forwarder with the above paths to download queue)
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p path-0=Enter Selection Here:
|
|
set "path-0=%path-0:"=%"
|
|
if "%path-0%"=="" goto:badkey
|
|
|
|
if /i "%path-0%" EQU "M" goto:MENU
|
|
|
|
if /i "%path-0%" NEQ "B" goto:notback
|
|
if /i "%NumberOfPaths%" EQU "1" goto:FORWARDERDOLBUILDER
|
|
if /i "%NumberOfPaths%" EQU "2" set path-1=
|
|
if /i "%NumberOfPaths%" EQU "3" set path-2=
|
|
if /i "%NumberOfPaths%" EQU "4" set path-3=
|
|
if /i "%NumberOfPaths%" EQU "5" set path-4=
|
|
if /i "%NumberOfPaths%" EQU "6" set path-5=
|
|
if /i "%NumberOfPaths%" EQU "7" set path-6=
|
|
if /i "%NumberOfPaths%" EQU "8" set path-7=
|
|
if /i "%NumberOfPaths%" EQU "9" set path-8=
|
|
if /i "%NumberOfPaths%" EQU "10" set path-9=
|
|
if /i "%NumberOfPaths%" EQU "11" set path-10=
|
|
set /a NumberOfPaths=%NumberOfPaths%-1
|
|
goto:v10FORWARDERDOL
|
|
:notback
|
|
|
|
if "%path-1%"=="" goto:none
|
|
if /i "%path-0%" EQU "A" set beforeAddforwardertoQueue=HiddenChannelBuilder
|
|
if /i "%path-0%" EQU "A" set beforeHiddenChannelBuilder=v10FORWARDERDOL
|
|
if /i "%path-0%" EQU "A" goto:HiddenChannelBuilder
|
|
:none
|
|
|
|
if /i "%NumberOfPaths%" EQU "11" goto:badkey
|
|
|
|
::make sure last 4 chars are .dol or .elf
|
|
if /i "%path-0:~-4%" EQU ".dol" goto:good
|
|
if /i "%path-0:~-4%" EQU ".elf" goto:good
|
|
goto:badkey
|
|
:good
|
|
|
|
::make sure path doesn't start with a \ or /
|
|
:doublecheckF
|
|
if /i "%path-0:~0,1%" EQU "\" (set path-0=%path-0:~1%) & (goto:doublecheckF)
|
|
if /i "%path-0:~0,1%" EQU "/" (set path-0=%path-0:~1%) & (goto:doublecheckF)
|
|
|
|
if /i "%FORWARDERTYPE%" NEQ "1" goto:skip
|
|
::limit user input to X# of digits
|
|
if not "%path-0:~254%"=="" (goto:badkey)
|
|
:skip
|
|
|
|
::limit user input to X# of digits
|
|
if not "%path-0:~255%"=="" (goto:badkey)
|
|
|
|
::replace : * ? " < > |
|
|
support\sfk filter -quiet -spat temp\temp.bat -rep _\x3a__ -rep _\x2a__ -rep _\x3f__ -rep _\x3c__ -rep _\x3e__ -rep _\x7c__ -rep _\x22__ -write -yes
|
|
|
|
::replace all \ with / and set path-# = path-0 (must end with .dol or .elf, so will not end with #)
|
|
echo set path-%NumberOfPaths%=%path-0%>temp\temp.bat
|
|
support\sfk filter temp\temp.bat -rep _\_/_ -write -yes>nul
|
|
call temp\temp.bat
|
|
del temp\temp.bat>nul
|
|
|
|
set /a NumberOfPaths=%NumberOfPaths%+1
|
|
goto:v10FORWARDERDOL
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:v10FORWARDERDOL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED - CHANNEL FORWARDER DOL BUILDER--------------------------------
|
|
:HiddenChannelBuilder
|
|
set FORWARDERTITLEID="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Would you like to also create a hidden channel WAD using your forwarder?
|
|
echo.
|
|
echo - Particularly useful for WiiU users booting Wii homebrew or games
|
|
echo directly from WUHB forwarders but don't want channels to be visible
|
|
echo or take up space in the Wii menu
|
|
echo.
|
|
echo - Note that a hidden channel WAD can be unhidden by opening ^& editing
|
|
echo it with ModMii but only AFTER a proper banner has been added to it first
|
|
echo.
|
|
echo If yes, enter the 4 character title ID for your hidden channel (e.g. ABCD)
|
|
echo.
|
|
echo If not, enter "N" or leave the selection blank
|
|
echo.
|
|
echo.
|
|
echo N = No (or leave selection blank)
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p FORWARDERTITLEID=Enter Selection Here:
|
|
set "FORWARDERTITLEID=%FORWARDERTITLEID:"=%"
|
|
if /i "%FORWARDERTITLEID%" EQU "M" goto:MENU
|
|
if /i "%FORWARDERTITLEID%" EQU "B" goto:%beforeHiddenChannelBuilder%
|
|
if /i "%FORWARDERTITLEID%" EQU "N" set FORWARDERTITLEID=
|
|
if "%FORWARDERTITLEID%"=="" goto:FORWARDERNAME
|
|
|
|
::minimum number of chars = x+1 (ie. ~5 sets minimum of 6)
|
|
if "%FORWARDERTITLEID:~3%"=="" goto:badkey
|
|
|
|
::limit user input to X# of digits
|
|
if not "%FORWARDERTITLEID:~4%"=="" goto:badkey
|
|
|
|
set beforeAddforwardertoQueue=HiddenChannelBuilder
|
|
goto:FORWARDERNAME
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:HiddenChannelBuilder
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED - FORWARDER NAME--------------------------------
|
|
:FORWARDERNAME
|
|
set FORWARDERNAME="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
|
|
if /i "%FORWARDERTYPE:~0,1%" NEQ "1" goto:skip
|
|
echo Please enter a name for your forwarder with the following paths
|
|
echo.
|
|
if not "%path-1%"=="" echo Path #1: %path-1%
|
|
if not "%path-2%"=="" echo Path #2: %path-2%
|
|
if not "%path-3%"=="" echo Path #3: %path-3%
|
|
if not "%path-4%"=="" echo Path #4: %path-4%
|
|
if not "%path-5%"=="" echo Path #5: %path-5%
|
|
if not "%path-6%"=="" echo Path #6: %path-6%
|
|
if not "%path-7%"=="" echo Path #7: %path-7%
|
|
if not "%path-8%"=="" echo Path #8: %path-8%
|
|
if not "%path-9%"=="" echo Path #9: %path-9%
|
|
if not "%path-10%"=="" echo Path #10: %path-10%
|
|
:skip
|
|
|
|
if /i "%FORWARDERTYPE%" NEQ "2" goto:skip
|
|
echo Please enter a name for your forwarder for the following URL
|
|
echo.
|
|
echo %URLpath%
|
|
:skip
|
|
|
|
if /i "%FORWARDERTYPE%" NEQ "3" goto:skip
|
|
echo Please enter a name for your forwarder for the following channel Title ID:
|
|
echo.
|
|
echo %FORWARDERTITLEID%
|
|
:skip
|
|
|
|
echo.
|
|
echo.
|
|
echo Note: Cannot contain \ / : * ? " < > | & %%
|
|
echo.
|
|
if /i "%FORWARDERTYPE%" EQU "2" (echo Example: Wiibrew) else (echo Example: usbloader)
|
|
echo.
|
|
echo.
|
|
|
|
|
|
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p FORWARDERNAME=Enter Selection Here:
|
|
set "FORWARDERNAME=%FORWARDERNAME:"=%"
|
|
if "%FORWARDERNAME%"=="" goto:badkey
|
|
|
|
echo "set FORWARDERNAME=%FORWARDERNAME%">temp\temp.bat
|
|
|
|
support\sfk filter -quiet -spat temp\temp.bat -rep _\x5c__ -rep _\x2f__ -rep _\x3a__ -rep _\x2a__ -rep _\x3f__ -rep _\x3c__ -rep _\x3e__ -rep _\x7c__ -rep _\x22__ -write -yes
|
|
|
|
if /i "%FORWARDERNAME%" EQU "M" goto:MENU
|
|
if /i "%FORWARDERNAME%" EQU "B" goto:%beforeAddforwardertoQueue%
|
|
|
|
call temp\temp.bat
|
|
del temp\temp.bat>nul
|
|
|
|
|
|
if /i "%FORWARDERDOLorISO%" NEQ "1" goto:DISCID
|
|
|
|
goto:SaveADVdlSettingsFORWARDER
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:FORWARDERNAME
|
|
|
|
|
|
:SaveADVdlSettingsFORWARDER
|
|
|
|
set /a AdvNumber=%AdvNumber%+1
|
|
|
|
|
|
if /i "%FORWARDERDOLorISO%" EQU "1" set "name=Advanced Download: Forwarder - %FORWARDERNAME% DOL"
|
|
if /i "%FORWARDERDOLorISO%" EQU "2" set "name=Advanced Download: Forwarder - %FORWARDERNAME% ISO"
|
|
if /i "%FORWARDERDOLorISO%" EQU "3" set "name=Advanced Download: Forwarder - %FORWARDERNAME% DOL and ISO"
|
|
|
|
if /i "%FORWARDERTYPE%" NEQ "3" if not "%FORWARDERTITLEID%"=="" if /i "%FORWARDERDOLorISO%" EQU "1" set "name=Advanced Download: Forwarder - %FORWARDERNAME% DOL and Hidden WAD"
|
|
if /i "%FORWARDERTYPE%" NEQ "3" if not "%FORWARDERTITLEID%"=="" if /i "%FORWARDERDOLorISO%" EQU "2" set "name=Advanced Download: Forwarder - %FORWARDERNAME% ISO and Hidden WAD"
|
|
if /i "%FORWARDERTYPE%" NEQ "3" if not "%FORWARDERTITLEID%"=="" if /i "%FORWARDERDOLorISO%" EQU "3" set "name=Advanced Download: Forwarder - %FORWARDERNAME% DOL, ISO and Hidden WAD"
|
|
|
|
echo set "name=%name%">temp\AdvDL%AdvNumber%.bat
|
|
|
|
|
|
|
|
if not "%FORWARDERNAME%"=="" echo set "wadname=%FORWARDERNAME%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%FORWARDERNAME%"=="" echo set "FORWARDERNAME=%FORWARDERNAME%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-1%"=="" echo set "path-1=%path-1%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-2%"=="" echo set "path-2=%path-2%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-3%"=="" echo set "path-3=%path-3%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-4%"=="" echo set "path-4=%path-4%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-5%"=="" echo set "path-5=%path-5%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-6%"=="" echo set "path-6=%path-6%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-7%"=="" echo set "path-7=%path-7%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-8%"=="" echo set "path-8=%path-8%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-9%"=="" echo set "path-9=%path-9%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%path-10%"=="" echo set "path-10=%path-10%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%URLPATH%"=="" echo set "URLPATH=%URLPATH%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%FORWARDERTITLEID%"=="" echo set "FORWARDERTITLEID=%FORWARDERTITLEID%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%bigt%"=="" echo set "bigt=%bigt%">>temp\AdvDL%AdvNumber%.bat
|
|
echo set "category=FORWARDER">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%FORWARDERTYPE%"=="" echo set "FORWARDERTYPE=%FORWARDERTYPE%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%FORWARDERDOLorISO%"=="" echo set "FORWARDERDOLorISO=%FORWARDERDOLorISO%">>temp\AdvDL%AdvNumber%.bat
|
|
if not "%DISCID%"=="" echo set "DISCID=%DISCID%">>temp\AdvDL%AdvNumber%.bat
|
|
|
|
echo "%name%">>temp\DLnamesADV.txt
|
|
|
|
echo "temp\AdvDL%AdvNumber%.bat">>temp\DLgotosADV.txt
|
|
|
|
support\sfk -spat filter -quiet "temp\AdvDL%AdvNumber%.bat" -rep _\x22__ -write -yes
|
|
support\sfk -spat filter -quiet "temp\DLnamesADV.txt" -rep _\x22__ -write -yes
|
|
support\sfk -spat filter -quiet "temp\DLgotosADV.txt" -rep _\x22__ -write -yes
|
|
|
|
goto:Advanced
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED - FORWARDER DOL BUILDER--------------------------------
|
|
:INTERNETFORWARDERDOL
|
|
set URLpath="
|
|
set bigt=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Input website URL
|
|
echo.
|
|
echo.
|
|
echo Example: www.wiibrew.org
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20\x20\x20\x20 Note: * URL Cannot contain \x25, \x26, or \x22
|
|
echo * Maximum URL length is 95 characters
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p URLpath=Enter Selection Here:
|
|
set "URLpath=%URLpath:"=%"
|
|
if /i "%URLpath%" EQU "M" goto:MENU
|
|
if /i "%URLpath%" EQU "B" goto:FORWARDERDOLBUILDER
|
|
if "%URLpath%"=="" goto:badkey
|
|
|
|
::limit user input to X# of digits
|
|
if not "%URLpath:~95%"=="" (goto:badkey)
|
|
|
|
|
|
|
|
::replace all \ with /
|
|
echo set URLPATH=%URLpath% >temp\temp.bat
|
|
support\sfk filter -quiet temp\temp.bat -rep _\_/_ -write -yes
|
|
call temp\temp.bat
|
|
set URLPATH=%URLPATH:~0,-1%
|
|
|
|
set beforeAddforwardertoQueue=HiddenChannelBuilder
|
|
set beforeHiddenChannelBuilder=INTERNETFORWARDERDOL
|
|
goto:HiddenChannelBuilder
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:INTERNETFORWARDERDOL
|
|
|
|
|
|
|
|
::------------------------------------ADVANCED - CHANNEL FORWARDER DOL BUILDER--------------------------------
|
|
:CHANNELFORWARDERDOL
|
|
set FORWARDERTITLEID="
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Enter the 4 character title ID for the channel that you want to load
|
|
echo Or enter the hex value of the channel, seperating each byte with a comma
|
|
echo.
|
|
echo Examples:
|
|
echo IDCL
|
|
echo 49,44,43,4c
|
|
echo.
|
|
echo.
|
|
echo Channel Type: %bigt%
|
|
echo.
|
|
echo Or enter "1", "2", "4" or "8" to change channel type
|
|
echo.
|
|
echo.
|
|
echo Notes: The following title IDs will be forced as channel type 2:
|
|
echo HAAA HABA HACA HAFA HAFE HAFJ HAFP HAGA HAGE HAGJ HAGP HAYA
|
|
echo.
|
|
echo Some Title IDs will force title checks or 4:3 aspect ratio (pillarboxing)
|
|
echo on vWii UNLESS Priiloader's pillarboxing system menu hacks are enabled.
|
|
echo To avoid this without needing Priiloader hacks use a Title ID that does
|
|
echo not begin any of these letters: C,D,E,F,H,J,L,M,N,P,Q,R,S,T,W,X
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p FORWARDERTITLEID=Enter Selection Here:
|
|
set "FORWARDERTITLEID=%FORWARDERTITLEID:"=%"
|
|
if /i "%FORWARDERTITLEID%" EQU "M" goto:MENU
|
|
if /i "%FORWARDERTITLEID%" EQU "B" goto:FORWARDERDOLBUILDER
|
|
if "%FORWARDERTITLEID%"=="" goto:badkey
|
|
|
|
if /i "%FORWARDERTITLEID%" EQU "1" (set bigt=1) & (goto:CHANNELFORWARDERDOL)
|
|
if /i "%FORWARDERTITLEID%" EQU "2" (set bigt=2) & (goto:CHANNELFORWARDERDOL)
|
|
if /i "%FORWARDERTITLEID%" EQU "4" (set bigt=4) & (goto:CHANNELFORWARDERDOL)
|
|
if /i "%FORWARDERTITLEID%" EQU "8" (set bigt=8) & (goto:CHANNELFORWARDERDOL)
|
|
|
|
::minimum number of chars = x+1 (ie. ~5 sets minimum of 6)
|
|
if "%FORWARDERTITLEID:~3%"=="" goto:badkey
|
|
|
|
::limit user input to X# of digits
|
|
if not "%FORWARDERTITLEID:~11%"=="" goto:badkey
|
|
|
|
::if more than 4 chars then check if hex
|
|
if "%FORWARDERTITLEID:~4%"=="" goto:nocheckhex
|
|
if /i "%FORWARDERTITLEID:~2,1%" NEQ "," goto:badkey
|
|
if /i "%FORWARDERTITLEID:~5,1%" NEQ "," goto:badkey
|
|
if /i "%FORWARDERTITLEID:~8,1%" NEQ "," goto:badkey
|
|
:nocheckhex
|
|
|
|
set beforeAddforwardertoQueue=CHANNELFORWARDERDOL
|
|
goto:FORWARDERNAME
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:CHANNELFORWARDERDOL
|
|
|
|
|
|
::------------------------------------ADVANCED - Forwarder ISO Name--------------------------------
|
|
:DISCID
|
|
set DISCID="
|
|
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo Enter the 6 character ID that you want to the ISO to use.
|
|
echo.
|
|
echo.
|
|
echo Note: Should only contain numbers and\or letters.
|
|
echo For best results use this format: D**A00
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p DISCID=Enter Selection Here:
|
|
set "DISCID=%DISCID:"=%"
|
|
if /i "%DISCID%" EQU "M" goto:MENU
|
|
if /i "%DISCID%" EQU "B" goto:FORWARDERNAME
|
|
|
|
::minimum number of chars = x+1 (ie. ~5 sets minimum of 6)
|
|
if "%DISCID:~5%"=="" goto:badkey
|
|
|
|
::limit user input to X# of digits
|
|
if not "%DISCID:~6%"=="" goto:badkey
|
|
|
|
goto:SaveADVdlSettingsFORWARDER
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:DISCID
|
|
|
|
::...................................CONFIG File Menu...............................
|
|
:CONFIGFILEMENU
|
|
set configfile="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Which App would you like to configure?
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo BM = Bootmii (create\edit bootmii.ini)
|
|
echo.
|
|
echo MMM = Multi-Mod Manager (create mmmconfig.txt)
|
|
echo.
|
|
echo WM = Wad Manager (create wm_config.txt)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p configfile=Enter Selection Here:
|
|
set "configfile=%configfile:"=%"
|
|
if /i "%configfile%" EQU "M" goto:MENU
|
|
if /i "%configfile%" EQU "B" goto:MENU
|
|
|
|
if /i "%configfile%" EQU "BM" goto:BMCONFIG
|
|
if /i "%configfile%" EQU "WM" goto:WMCONFIG
|
|
if /i "%configfile%" EQU "MMM" goto:MMMCONFIG
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:CONFIGFILEMENU
|
|
|
|
|
|
|
|
|
|
::...................................Bootmii CONFIGURATOR (bootmii.ini)...............................
|
|
:BMCONFIG
|
|
|
|
::load settings
|
|
set "bootmiiINI=%DRIVE%\bootmii\bootmii.ini"
|
|
:BMCONFIG2nd
|
|
if /i "%cmdlinemodeswitchoff%" EQU "Y" (set cmdlinemode=) & (set one=) & (set two=)
|
|
set BMVIDEO=
|
|
set NTSC=def
|
|
set PAL50=def
|
|
set PAL60=def
|
|
set PROGRESSIVE=def
|
|
Set NONE=%cyantext%
|
|
|
|
set BMBOOT=
|
|
set OFF=%cyantext%
|
|
set SYSMENU=def
|
|
set HBC=def
|
|
set AUTOBOOT1=
|
|
::set AUTOBOOT1colour=def
|
|
set AUTOBOOT2=
|
|
|
|
set BMDELAY=0
|
|
set BM0=%cyantext%
|
|
set BM1=def
|
|
set BM2=def
|
|
set BM3=def
|
|
set BM4=def
|
|
set BM5=def
|
|
set BM6=def
|
|
set BM7=def
|
|
set BM8=def
|
|
set BM9=def
|
|
set BM10=def
|
|
|
|
|
|
if not exist "%bootmiiINI%" goto:skip
|
|
support\sfk filter "%bootmiiINI%" -ls+"VIDEO=" -rep _"VIDEO="__ >"temp\bootmii.ini"
|
|
set /p BMVIDEO= <temp\bootmii.ini
|
|
::echo BMVIDEO:%BMVIDEO%
|
|
if /i "%BMVIDEO%" EQU "NTSC" (set NTSC=%cyantext%) else (set NTSC=def)
|
|
if /i "%BMVIDEO%" EQU "PAL50" (set PAL50=%cyantext%) else (set PAL50=def)
|
|
if /i "%BMVIDEO%" EQU "PAL60" (set PAL60=%cyantext%) else (set PAL60=def)
|
|
if /i "%BMVIDEO%" EQU "PROGRESSIVE" (set PROGRESSIVE=%cyantext%) else (set PROGRESSIVE=def)
|
|
IF "%BMVIDEO%"=="" (set NONE=%cyantext%) else (set NONE=def)
|
|
|
|
if not exist "%bootmiiINI%" goto:skip
|
|
support\sfk filter "%bootmiiINI%" -ls+"AUTOBOOT1=" -rep _"AUTOBOOT1="__ >"temp\bootmii.ini"
|
|
set /p AUTOBOOT1= <temp\bootmii.ini
|
|
::echo AUTOBOOT1:%AUTOBOOT1%
|
|
|
|
if not exist "%bootmiiINI%" goto:skip
|
|
support\sfk filter "%bootmiiINI%" -ls+"AUTOBOOT2=" -rep _"AUTOBOOT2="__ >"temp\bootmii.ini"
|
|
set /p AUTOBOOT2= <temp\bootmii.ini
|
|
::echo AUTOBOOT2:%AUTOBOOT2%
|
|
|
|
|
|
support\sfk filter "%bootmiiINI%" -ls+"AUTOBOOT=" -rep _"AUTOBOOT="__ >"temp\bootmii.ini"
|
|
set /p BMBOOT= <temp\bootmii.ini
|
|
::echo BMBOOT:%BMBOOT%
|
|
if /i "%BMBOOT%" EQU "SYSMENU" (set SYSMENU=%cyantext%) else (set SYSMENU=def)
|
|
if /i "%BMBOOT%" EQU "HBC" (set HBC=%cyantext%) else (set HBC=def)
|
|
if /i "%BMBOOT%" EQU "OFF" (set OFF=%cyantext%) else (set OFF=def)
|
|
|
|
IF not "%AUTOBOOT1%"=="" (set OFF=def) & (goto:skipdef)
|
|
IF not "%AUTOBOOT2%"=="" (set OFF=def) & (goto:skipdef)
|
|
IF "%BMBOOT%"=="" (set BMBOOT=OFF) & (set OFF=%cyantext%)
|
|
:skipdef
|
|
|
|
|
|
|
|
support\sfk filter "%bootmiiINI%" -ls+"BOOTDELAY=" -rep _"BOOTDELAY="__ >"temp\bootmii.ini"
|
|
set /p BMDELAY= <temp\bootmii.ini
|
|
::echo BMDELAY:%BMDELAY%
|
|
if /i "%BMDELAY%" EQU "0" (set BM0=%cyantext%) else (set BM0=def)
|
|
if /i "%BMDELAY%" EQU "1" (set BM1=%cyantext%) else (set BM1=def)
|
|
if /i "%BMDELAY%" EQU "2" (set BM2=%cyantext%) else (set BM2=def)
|
|
if /i "%BMDELAY%" EQU "3" (set BM3=%cyantext%) else (set BM3=def)
|
|
if /i "%BMDELAY%" EQU "4" (set BM4=%cyantext%) else (set BM4=def)
|
|
if /i "%BMDELAY%" EQU "5" (set BM5=%cyantext%) else (set BM5=def)
|
|
if /i "%BMDELAY%" EQU "6" (set BM6=%cyantext%) else (set BM6=def)
|
|
if /i "%BMDELAY%" EQU "7" (set BM7=%cyantext%) else (set BM7=def)
|
|
if /i "%BMDELAY%" EQU "8" (set BM8=%cyantext%) else (set BM8=def)
|
|
if /i "%BMDELAY%" EQU "9" (set BM9=%cyantext%) else (set BM9=def)
|
|
if /i "%BMDELAY%" EQU "10" (set BM10=%cyantext%) else (set BM10=def)
|
|
|
|
|
|
|
|
:skip
|
|
|
|
|
|
|
|
set BMCONFIG="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Bootmii launch settings will be saved to "%bootmiiINI%"
|
|
echo.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo To load a different bootmii.ini file, drag it here and press enter
|
|
if /i "%adminmode%" EQU "Y" echo To load a different bootmii.ini file, enter its path now
|
|
echo Cycle through settings with A, V or D, or enter settings directly; e.g. HBC,NTSC,5
|
|
echo Current settings are highlighted in a different colour; changes applied immediately
|
|
echo.
|
|
echo.
|
|
IF "%AUTOBOOT2%"=="" support\sfk echo -spat \x20 A = change Autoboot: \x20 [%OFF%]OFF [def] \x7c [%SYSMENU%]SYSMENU [def]\x7c [%HBC%] HBC [def] \x7c [def]4 Digit Title ID
|
|
IF not "%AUTOBOOT2%"=="" support\sfk echo -spat \x20 A = change Autoboot: \x20 [%OFF%]OFF [def] \x7c [%SYSMENU%]SYSMENU [def]\x7c [%HBC%] HBC [def] \x7c [%cyantext%]%AUTOBOOT2% [Type: %AUTOBOOT1:~-2%]
|
|
echo.
|
|
support\sfk echo -spat \x20 V = force Video mode: [%NONE%] NONE [def]\x7c [%NTSC%] NTSC [def]\x7c [%PAL50%] PAL50 [def] \x7c [%PAL60%]PAL60 [def]\x7c [%PROGRESSIVE%]PROGRESSIVE
|
|
echo.
|
|
support\sfk echo -spat \x20 D = boot Delay (seconds): [%BM0%]0 [def]\x7c [%BM1%]1 [def]\x7c [%BM2%]2 [def]\x7c [%BM3%]3 [def]\x7c [%BM4%]4 [def]\x7c [%BM5%]5 [def]\x7c [%BM6%]6 [def]\x7c [%BM7%]7 [def]\x7c [%BM8%]8 [def]\x7c [%BM9%]9 [def]\x7c [%BM10%]10
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo * If Autoboot=OFF Bootmii will launch (or neek if SD:\bootmii folder is neek's)
|
|
echo * To Autoboot a specific channel enter it's 4 Digit Title ID; e.g. IDCL
|
|
IF not "%AUTOBOOT2%"=="" echo * Enter 01, 02, 04, or 08 to change the channel type; 01 works for most visible channels
|
|
IF not "%AUTOBOOT2%"=="" echo and 08 works for hidden channels, more info here https://wiibrew.org/wiki//title
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo SD = download Bootmii SD Files required to launch Bootmii;
|
|
echo * Bootmii SD files are the same files generated by the HackMii Installer
|
|
echo when installing Bootmii or Preparing an SD Card
|
|
echo.
|
|
|
|
echo R = Restore Defaults
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p BMCONFIG=Enter Selection Here:
|
|
set "BMCONFIG=%BMCONFIG:"=%"
|
|
IF "%BMCONFIG%"=="" goto:badkey
|
|
|
|
if /i "%BMCONFIG%" EQU "M" goto:MENU
|
|
if /i "%BMCONFIG%" EQU "B" goto:CONFIGFILEMENU
|
|
|
|
if /i "%BMCONFIG%" NEQ "R" goto:notR
|
|
set BMBOOT=
|
|
set BMVIDEO=
|
|
set AUTOBOOT1=
|
|
set AUTOBOOT2=
|
|
set BMDELAY=
|
|
goto:BUILDBMCONFIG
|
|
:notR
|
|
|
|
If /i "%BMCONFIG:~-12%" NEQ "\bootmii.ini" goto:skip
|
|
if not exist "%BMCONFIG%" goto:skip
|
|
if /i "%BMCONFIG%" EQU "%bootmiiINI%" goto:BMCONFIG2nd
|
|
set "bootmiiINI=%BMCONFIG%"
|
|
|
|
::add prompt asking if they would like to change Drive setting as well, but only if in bootmii subfolder
|
|
If /i "%BMCONFIG:~-20%" NEQ "\bootmii\bootmii.ini" goto:BMCONFIG2nd
|
|
if not exist "%BMCONFIG:~0,-20%\" goto:BMCONFIG2nd
|
|
|
|
:drivechangeprompt
|
|
|
|
set drivechangeprompt="
|
|
echo.
|
|
echo Would you like to also change your SD drive (or Path) setting
|
|
set /p drivechangeprompt=to "%BMCONFIG:~0,-20%"? (Y/N):
|
|
set "drivechangeprompt=%drivechangeprompt:"=%"
|
|
|
|
if "%drivechangeprompt%"=="" goto:badkey
|
|
|
|
if /i "%drivechangeprompt%" EQU "N" goto:BMCONFIG2nd
|
|
if /i "%drivechangeprompt%" NEQ "Y" (echo You Have Entered an Incorrect Key) & (goto:drivechangeprompt)
|
|
::save drive setting
|
|
set "Drive=%BMCONFIG:~0,-20%"
|
|
if exist Support\settings.bat support\sfk filter Support\settings.bat -ls!"Set*Drive=" -write -yes>nul
|
|
echo Set "Drive=%DRIVE%">>Support\settings.bat
|
|
goto:BMCONFIG2nd
|
|
:skip
|
|
|
|
|
|
if /i "%BMCONFIG%" NEQ "V" goto:notV
|
|
if /i "%BMVIDEO%" EQU "NTSC" (set BMCONFIG=PAL50) & (goto:notV)
|
|
if /i "%BMVIDEO%" EQU "PAL50" (set BMCONFIG=PAL60) & (goto:notV)
|
|
if /i "%BMVIDEO%" EQU "PAL60" (set BMCONFIG=PROGRESSIVE) & (goto:notV)
|
|
if /i "%BMVIDEO%" EQU "PROGRESSIVE" (set BMCONFIG=NONE) & (goto:notV)
|
|
IF "%BMVIDEO%"=="" (set BMCONFIG=NTSC) & (goto:notV)
|
|
:notV
|
|
if /i "%BMCONFIG%" EQU "NTSC" (set BMVIDEO=NTSC) & (set NTSC=%cyantext%) & (set PAL50=def) & (set PAL60=def) & (set PROGRESSIVE=def) & (set NONE=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "PAL50" (set BMVIDEO=PAL50) & (set NTSC=def) & (set PAL50=%cyantext%) & (set PAL60=def) & (set PROGRESSIVE=def) & (set NONE=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "PAL60" (set BMVIDEO=PAL60) & (set NTSC=def) & (set PAL50=def) & (set PAL60=%cyantext%) & (set PROGRESSIVE=def) & (set NONE=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "PROGRESSIVE" (set BMVIDEO=PROGRESSIVE) & (set NTSC=def) & (set PAL50=def) & (set PAL60=def) & (set PROGRESSIVE=%cyantext%) & (set NONE=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "NONE" (set BMVIDEO=) & (set NTSC=def) & (set PAL50=def) & (set PAL60=def) & (set PROGRESSIVE=def) & (set NONE=%cyantext%) & (goto:BUILDBMCONFIG)
|
|
|
|
|
|
if /i "%BMCONFIG%" NEQ "A" goto:notA
|
|
if /i "%BMBOOT%" EQU "OFF" (set BMCONFIG=SYSMENU) & (goto:notA)
|
|
if /i "%BMBOOT%" EQU "SYSMENU" (set BMCONFIG=HBC) & (goto:notA)
|
|
if /i "%BMBOOT%" EQU "HBC" (set BMCONFIG=OFF) & (goto:notA)
|
|
set BMCONFIG=OFF
|
|
set AUTOBOOT1=
|
|
set AUTOBOOT2=
|
|
goto:notA
|
|
:notA
|
|
if /i "%BMCONFIG%" EQU "OFF" (set BMBOOT=OFF) & (set OFF=%cyantext%) & (set SYSMENU=def) & (set HBC=def) & (set AUTOBOOT1=) & (set AUTOBOOT2=) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "SYSMENU" (set BMBOOT=SYSMENU) & (set OFF=def) & (set SYSMENU=%cyantext%) & (set HBC=def) & (set AUTOBOOT1=) & (set AUTOBOOT2=) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "HBC" (set BMBOOT=HBC) & (set OFF=def) & (set SYSMENU=def) & (set HBC=%cyantext%) & (set AUTOBOOT1=) & (set AUTOBOOT2=) & (goto:BUILDBMCONFIG)
|
|
|
|
::Autoboot TITLE ID
|
|
if /i "%BMCONFIG:~3,1%" EQU "" goto:notTitleID
|
|
if /i "%BMCONFIG:~4,1%" NEQ "" goto:notTitleID
|
|
set BMBOOT=
|
|
set OFF=def
|
|
set SYSMENU=def
|
|
set HBC=def
|
|
set AUTOBOOT1=0x10001
|
|
::echo %BMCONFIG%
|
|
::pause
|
|
set "AUTOBOOT2=%BMCONFIG%"
|
|
goto:BUILDBMCONFIG
|
|
:notTitleID
|
|
|
|
IF "%AUTOBOOT2%"=="" goto:skip
|
|
if /i "%BMCONFIG%" EQU "01" (set AUTOBOOT1=0x10001) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "02" (set AUTOBOOT1=0x10002) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "04" (set AUTOBOOT1=0x10004) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "08" (set AUTOBOOT1=0x10008) & (goto:BUILDBMCONFIG)
|
|
:skip
|
|
|
|
|
|
|
|
if /i "%BMCONFIG%" NEQ "D" goto:notD
|
|
if /i "%BMDELAY%" EQU "0" (set BMCONFIG=1) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "1" (set BMCONFIG=2) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "2" (set BMCONFIG=3) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "3" (set BMCONFIG=4) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "4" (set BMCONFIG=5) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "5" (set BMCONFIG=6) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "6" (set BMCONFIG=7) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "7" (set BMCONFIG=8) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "8" (set BMCONFIG=9) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "9" (set BMCONFIG=10) & (goto:notD)
|
|
if /i "%BMDELAY%" EQU "10" (set BMCONFIG=0) & (goto:notD)
|
|
:notD
|
|
if /i "%BMCONFIG%" EQU "0" (set BMDELAY=0) & (set BM0=%cyantext%) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "1" (set BMDELAY=1) & (set BM0=def) & (set BM1=%cyantext%) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "2" (set BMDELAY=2) & (set BM0=def) & (set BM1=def) & (set BM2=%cyantext%) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "3" (set BMDELAY=3) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=%cyantext%) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "4" (set BMDELAY=4) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=%cyantext%) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "5" (set BMDELAY=5) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=%cyantext%) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "6" (set BMDELAY=6) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=%cyantext%) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "7" (set BMDELAY=7) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=%cyantext%) & (set BM8=def) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "8" (set BMDELAY=8) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=%cyantext%) & (set BM9=def) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "9" (set BMDELAY=9) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=%cyantext%) & (set BM10=def) & (goto:BUILDBMCONFIG)
|
|
if /i "%BMCONFIG%" EQU "10" (set BMDELAY=10) & (set BM0=def) & (set BM1=def) & (set BM2=def) & (set BM3=def) & (set BM4=def) & (set BM5=def) & (set BM6=def) & (set BM7=def) & (set BM8=def) & (set BM9=def) & (set BM10=%cyantext%) & (goto:BUILDBMCONFIG)
|
|
|
|
if /i "%BMCONFIG%" NEQ "SD" goto:skip
|
|
cls
|
|
set DLTOTAL=1
|
|
set bootmiisd=*
|
|
set BACKB4QUEUE=BMCONFIG2nd
|
|
goto:DOWNLOADQUEUE
|
|
:skip
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:BMCONFIG2nd
|
|
|
|
|
|
:BUILDBMCONFIG
|
|
if not exist "%bootmiiINI:~0,-11%" mkdir "%bootmiiINI:~0,-11%"
|
|
if exist "%bootmiiINI%" support\sfk filter "%bootmiiINI%" -ls!"VIDEO=" -ls!"AUTOBOOT" -ls!"BOOTDELAY=" >"temp\bootmii.ini"
|
|
|
|
|
|
|
|
echo # Bootmii Config File> "%bootmiiINI%"
|
|
echo # Created by ModMii>> "%bootmiiINI%"
|
|
echo #>> "%bootmiiINI%"
|
|
echo # Video mode, possible settings:>> "%bootmiiINI%"
|
|
echo # VIDEO=NTSC, PAL50, PAL60, PROGRESSIVE>> "%bootmiiINI%"
|
|
IF not "%BMVIDEO%"=="" echo VIDEO=%BMVIDEO%BLAHH>> "%bootmiiINI%"
|
|
echo #>> "%bootmiiINI%"
|
|
echo # Autoboot, possible settings:>> "%bootmiiINI%"
|
|
echo # AUTOBOOT=SYSMENU, HBC, OFF>> "%bootmiiINI%"
|
|
IF not "%BMBOOT%"=="" echo AUTOBOOT=%BMBOOT%>> "%bootmiiINI%"
|
|
echo # AUTOBOOT1 and AUTOBOOT2 can be used instead of AUTOBOOT to boot directly to an installed channel; AUTOBOOT2=4-Digit-TitleID and AUTOBOOT1=0x10001 should correspond to the channel type as per https://wiibrew.org/wiki//title>> "%bootmiiINI%"
|
|
IF not "%AUTOBOOT1%"=="" echo AUTOBOOT1=%AUTOBOOT1%BLAHH>> "%bootmiiINI%"
|
|
IF not "%AUTOBOOT2%"=="" echo AUTOBOOT2=%AUTOBOOT2%BLAHH>> "%bootmiiINI%"
|
|
|
|
echo #>> "%bootmiiINI%"
|
|
echo # BOOTDELAY, possible settings:>> "%bootmiiINI%"
|
|
echo # BOOTDELAY=0,1,2,3,4,5,6,7,8,9,10>> "%bootmiiINI%"
|
|
IF not "%BMDELAY%"=="" echo BOOTDELAY=%BMDELAY%BLAHH>> "%bootmiiINI%"
|
|
support\sfk filter "%bootmiiINI%" -rep _BLAHH__ -write -yes>nul
|
|
|
|
::start notepad "%Drive%\bootmii\bootmii.ini"
|
|
|
|
goto:BMCONFIG2nd
|
|
|
|
|
|
|
|
|
|
::...................................WAD MANAGER CONFIGURATOR (wmconfig.txt)...............................
|
|
:WMCONFIG
|
|
set WMCIOS="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo This will create an optional wm_config.txt file in "%DRIVE%\WAD\"
|
|
echo You will get all the prompts if you don't have this file.
|
|
echo.
|
|
echo Note: works with YAWMM, yawmME, Wad Manager Multi-Mod, etc.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the IOS # you would like Wad Manager to load automatically
|
|
echo.
|
|
echo Note: MAX is 254
|
|
echo Common choices are 36, 249, 250, etc.
|
|
echo NAND Emulation installation only available for 249 or 250
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo N = None (Wad Manager will prompt you for selection)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMCIOS=Enter Selection Here:
|
|
set "WMCIOS=%WMCIOS:"=%"
|
|
|
|
if /i "%WMCIOS%" EQU "M" goto:MENU
|
|
if /i "%WMCIOS%" EQU "B" goto:CONFIGFILEMENU
|
|
if /i "%WMCIOS%" EQU "N" goto:WMCONFIG2
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%WMCIOS%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%WMCIOS%") do set "WMCIOS=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%WMCIOS%"=="" set "WMCIOS=0"
|
|
|
|
::limit user input to X# of digits
|
|
if not "%WMCIOS:~3%"=="" goto:badkey
|
|
|
|
::Reject negative numbers (LSS is less than, GTR is greater than)
|
|
if %WMCIOS% LSS 1 (goto:badkey)
|
|
|
|
if %WMCIOS% LEQ 254 goto:WMCONFIG2
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WMCONFIG
|
|
|
|
|
|
::...................................WAD MANAGER CONFIGURATOR page 2...............................
|
|
:WMCONFIG2
|
|
set WMDEVICE="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the FAT device you would like to load automatically.
|
|
echo.
|
|
echo Note: you can enter either the number or the word
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo 1 = SD
|
|
echo 2 = USB
|
|
echo 3 = USB2
|
|
echo 4 = GCSDA
|
|
echo 5 = GCSDA
|
|
echo.
|
|
echo N = None (Wad Manager will prompt you for selection)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMDEVICE=Enter Selection Here:
|
|
set "WMDEVICE=%WMDEVICE:"=%"
|
|
|
|
if /i "%WMDEVICE%" EQU "1" SET WMDEVICE=sd
|
|
if /i "%WMDEVICE%" EQU "2" SET WMDEVICE=usb
|
|
if /i "%WMDEVICE%" EQU "3" SET WMDEVICE=usb2
|
|
if /i "%WMDEVICE%" EQU "4" SET WMDEVICE=gcsda
|
|
if /i "%WMDEVICE%" EQU "5" SET WMDEVICE=gcsdb
|
|
|
|
if /i "%WMDEVICE%" EQU "sd" goto:WMCONFIG3
|
|
if /i "%WMDEVICE%" EQU "usb" goto:WMCONFIG3
|
|
if /i "%WMDEVICE%" EQU "usb2" goto:WMCONFIG3
|
|
if /i "%WMDEVICE%" EQU "gcsda" goto:WMCONFIG3
|
|
if /i "%WMDEVICE%" EQU "gcsda" goto:WMCONFIG3
|
|
if /i "%WMDEVICE%" EQU "N" goto:WMCONFIG3
|
|
|
|
if /i "%WMDEVICE%" EQU "B" goto:WMCONFIG
|
|
if /i "%WMDEVICE%" EQU "M" goto:MENU
|
|
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WMCONFIG2
|
|
|
|
|
|
::...................................WAD MANAGER CONFIGURATOR page 3...............................
|
|
:WMCONFIG3
|
|
:: NAND Emulation installation only available if cIOS249 or cIOS250 selected
|
|
if /i "%WMCIOS%" EQU "249" goto:WMCONFIG3B
|
|
if /i "%WMCIOS%" EQU "250" goto:WMCONFIG3B
|
|
if /i "%WMCIOS%" EQU "N" goto:WMCONFIG3B
|
|
set WMNAND=N
|
|
goto:WMCONFIG4
|
|
|
|
:WMCONFIG3B
|
|
|
|
set WMNAND="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo NAND Emulation
|
|
echo.
|
|
echo Enter the NAND device you would like to select automatically.
|
|
echo.
|
|
echo.
|
|
echo Note: PC tools like ShowMiiWads are better at installing wads to
|
|
echo emulated nand. So I recommend leaving NAND Emulation Disabled
|
|
echo.
|
|
echo Note: you can enter either the number or the word
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo 1 = Disable
|
|
echo 2 = USB
|
|
echo 3 = SD
|
|
echo.
|
|
echo N = None (Wad Manager will prompt selection if cIOS249 or cIOS250 selected)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMNAND=Enter Selection Here:
|
|
set "WMNAND=%WMNAND:"=%"
|
|
|
|
if /i "%WMNAND%" EQU "3" SET WMNAND=SD
|
|
if /i "%WMNAND%" EQU "2" SET WMNAND=USB
|
|
if /i "%WMNAND%" EQU "1" SET WMNAND=Disable
|
|
|
|
|
|
if /i "%WMNAND%" EQU "SD" goto:WMCONFIG4
|
|
if /i "%WMNAND%" EQU "USB" goto:WMCONFIG4
|
|
if /i "%WMNAND%" EQU "Disable" goto:WMCONFIG4
|
|
if /i "%WMNAND%" EQU "N" goto:WMCONFIG4
|
|
if /i "%WMNAND%" EQU "M" goto:MENU
|
|
if /i "%WMNAND%" EQU "B" goto:WMCONFIG2
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WMCONFIG3
|
|
|
|
::...................................WAD MANAGER CONFIGURATOR page 4...............................
|
|
:WMCONFIG4
|
|
set WMPATH="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the Start-up Path you would like to load initially.
|
|
echo.
|
|
echo Note: If you don't have a startupPath, the default is /WAD
|
|
echo.
|
|
echo Note: Be sure that the path exists, else you will get an error.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Examples:
|
|
echo /WAD/Forwarders
|
|
echo /myWad
|
|
echo /
|
|
echo Note: '/' sets the StartupPath to the root of the device
|
|
echo.
|
|
echo.
|
|
echo N = None (the default is /WAD)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMPATH=Enter Selection Here:
|
|
set "WMPATH=%WMPATH:"=%"
|
|
|
|
if /i "%WMPATH%" EQU "N" SET WMPATH=/WAD
|
|
if /i "%WMPATH%" EQU "B" goto:WMCONFIG4BACK
|
|
if /i "%WMPATH%" EQU "M" goto:MENU
|
|
IF "%WMPATH%"=="" echo You Have Entered an Incorrect Key
|
|
IF "%WMPATH%"=="" @ping 127.0.0.1 -n 2 -w 1000> nul
|
|
IF "%WMPATH%"=="" goto:WMCONFIG4
|
|
goto:WMCONFIG5
|
|
|
|
:WMCONFIG4BACK
|
|
if /i "%WMCIOS%" EQU "249" goto:WMCONFIG3B
|
|
if /i "%WMCIOS%" EQU "250" goto:WMCONFIG3B
|
|
if /i "%WMCIOS%" EQU "N" goto:WMCONFIG3B
|
|
goto:WMCONFIG2
|
|
|
|
|
|
|
|
|
|
|
|
::...................................WAD MANAGER CONFIGURATOR page 5...............................
|
|
:WMCONFIG5
|
|
set WMPASS="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter a Password to access Wad Manager ONLY using LRUD; where
|
|
echo.
|
|
echo L = Left
|
|
echo R = Right
|
|
echo U = Up
|
|
echo D = Down
|
|
echo.
|
|
echo Note: Password is entered on the Wiimote or GC Controller, max 10 characters
|
|
echo.
|
|
echo Note: If you don't have a password, the default is no password
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Examples:
|
|
echo UDLR
|
|
echo UDLRUDLRUD
|
|
echo UUUUUUU
|
|
echo L
|
|
echo.
|
|
echo.
|
|
echo N = None (No Password)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMPASS=Enter Selection Here:
|
|
set "WMPASS=%WMPASS:"=%"
|
|
if /i "%WMPASS%" EQU "B" goto:WMCONFIG4
|
|
if /i "%WMPASS%" EQU "M" goto:MENU
|
|
|
|
IF "%WMPASS%"=="" echo You Have Entered an Incorrect Key
|
|
IF "%WMPASS%"=="" @ping 127.0.0.1 -n 2 -w 1000> nul
|
|
IF "%WMPASS%"=="" goto:WMCONFIG5
|
|
|
|
|
|
::limit user input to X# of digits
|
|
if not "%WMPASS:~10%"=="" (
|
|
echo. ERROR: Password cannot be more than 10 Digits
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WMCONFIG5
|
|
)
|
|
|
|
|
|
|
|
::...................................WAD MANAGER CONFIGURATOR page 6...............................
|
|
:WMCONFIG6
|
|
set WMCONFIRM="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Are these settings correct?
|
|
echo.
|
|
echo.
|
|
if /i "%WMCIOS%" EQU "N" echo Prompt cIOS Selection
|
|
if /i "%WMCIOS%" NEQ "N" echo cIOSVersion=%WMCIOS%
|
|
echo.
|
|
if /i "%WMDEVICE%" EQU "N" echo Prompt FAT Device Selection
|
|
if /i "%WMDEVICE%" NEQ "N" echo FatDevice=%WMDEVICE%
|
|
echo.
|
|
if /i "%WMCIOS%" EQU "249" goto:nanddevice
|
|
if /i "%WMCIOS%" EQU "250" goto:nanddevice
|
|
goto:skipnanddevice
|
|
|
|
:nanddevice
|
|
if /i "%WMNAND%" EQU "N" echo Prompt NAND Device Selection
|
|
if /i "%WMNAND%" NEQ "N" echo NANDDevice=%WMNAND%
|
|
echo.
|
|
:skipnanddevice
|
|
|
|
echo StartupPath=%WMPATH%
|
|
echo.
|
|
if /i "%WMPASS%" EQU "N" echo No Password
|
|
if /i "%WMPASS%" NEQ "N" echo Password=%WMPASS%
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, Create wm_config.txt with these settings
|
|
if exist "%Drive%"\WAD\wm_config.txt echo Note: existing wm_config.txt will be overwritten
|
|
echo.
|
|
echo N = No, take me back to the main menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMCONFIRM=Enter Selection Here:
|
|
set "WMCONFIRM=%WMCONFIRM:"=%"
|
|
if /i "%WMCONFIRM%" EQU "B" goto:WMCONFIG5
|
|
if /i "%WMCONFIRM%" EQU "M" goto:MENU
|
|
if /i "%WMCONFIRM%" EQU "N" goto:MENU
|
|
if /i "%WMCONFIRM%" EQU "Y" goto:BUILDWMCONFIG
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:WMCONFIG6
|
|
|
|
|
|
:BUILDWMCONFIG
|
|
if not exist "%Drive%"\WAD mkdir "%Drive%"\WAD
|
|
echo ;wm_config.txt made by ModMii> "%Drive%"\WAD\wm_config.txt
|
|
if /i "%WMCIOS%" NEQ "N" echo cIOSVersion=%WMCIOS%>> "%Drive%"\WAD\wm_config.txt
|
|
if /i "%WMDEVICE%" NEQ "N" echo FatDevice=%WMDEVICE%>> "%Drive%"\WAD\wm_config.txt
|
|
if /i "%WMNAND%" NEQ "N" echo NANDDevice=%WMNAND%>> "%Drive%"\WAD\wm_config.txt
|
|
echo StartupPath=%WMPATH%>> "%Drive%"\WAD\wm_config.txt
|
|
if /i "%WMPASS%" NEQ "N" echo Password=%WMPASS%>> "%Drive%"\WAD\wm_config.txt
|
|
explorer "%Drive%\WAD"
|
|
::start notepad "%Drive%\WAD\wm_config.txt"
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................MMM CONFIGURATOR (mmmconfig.txt)...............................
|
|
:MMMCONFIG
|
|
set WMCIOS="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo This will create an optional mmmconfig.txt file in "%DRIVE%\"
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the IOS # you would like Multi-Mod Manager (MMM) to load automatically
|
|
echo.
|
|
echo Note: Max is 254
|
|
echo Common choices are 36, 249, 250, etc.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo N = None (Do Not Auto-Reload IOS)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMCIOS=Enter Selection Here:
|
|
set "WMCIOS=%WMCIOS:"=%"
|
|
if /i "%WMCIOS%" EQU "M" goto:MENU
|
|
if /i "%WMCIOS%" EQU "B" goto:CONFIGFILEMENU
|
|
if /i "%WMCIOS%" EQU "N" goto:MMMCONFIG2
|
|
|
|
::if not numeric goto:badkey
|
|
for %%A in ("%WMCIOS%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:badkey)
|
|
|
|
::Remove leading zeros
|
|
for /f "tokens=* delims=0" %%A in ("%WMCIOS%") do set "WMCIOS=%%A"
|
|
::Set to 0 if entire input is all zeros
|
|
if "%WMCIOS%"=="" set "WMCIOS=0"
|
|
|
|
::limit user input to X# of digits
|
|
if not "%WMCIOS:~3%"=="" goto:badkey
|
|
|
|
::Reject negative numbers (LSS is less than, GTR is greater than)
|
|
if %WMCIOS% LSS 1 (goto:badkey)
|
|
|
|
if %WMCIOS% LEQ 254 goto:MMMCONFIG2
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:MMMCONFIG
|
|
|
|
|
|
::...................................MMM CONFIGURATOR (mmmconfig.txt) page 2...............................
|
|
:MMMCONFIG2
|
|
set WMDEVICE="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the FAT device you would like to load automatically.
|
|
echo.
|
|
echo Note: you can enter either the number or the word
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo 1 = SD (default if mmmconfig.txt does not exist)
|
|
echo 2 = USB
|
|
echo 3 = SMB
|
|
echo.
|
|
echo N = None (MMM will prompt you for selection)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMDEVICE=Enter Selection Here:
|
|
set "WMDEVICE=%WMDEVICE:"=%"
|
|
|
|
if /i "%WMDEVICE%" EQU "1" SET WMDEVICE=sd
|
|
if /i "%WMDEVICE%" EQU "2" SET WMDEVICE=usb
|
|
if /i "%WMDEVICE%" EQU "3" SET WMDEVICE=smb
|
|
|
|
if /i "%WMDEVICE%" EQU "sd" goto:MMMCONFIG3
|
|
if /i "%WMDEVICE%" EQU "usb" goto:MMMCONFIG3
|
|
if /i "%WMDEVICE%" EQU "smb" goto:MMMCONFIG3
|
|
|
|
if /i "%WMDEVICE%" EQU "N" goto:MMMCONFIG3
|
|
|
|
if /i "%WMDEVICE%" EQU "B" goto:MMMCONFIG
|
|
if /i "%WMDEVICE%" EQU "M" goto:MENU
|
|
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:MMMCONFIG2
|
|
|
|
|
|
|
|
::...................................MMM CONFIGURATOR (mmmconfig.txt) page 3...............................
|
|
:MMMCONFIG3
|
|
set WMPATH="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Enter the Start-up Path you would like to load initially.
|
|
echo.
|
|
echo Note: If you don't have a startupPath, the default is /WAD
|
|
echo.
|
|
echo Note: Be sure that the path exists, else you will get an error.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Examples:
|
|
echo /WAD/Forwarders
|
|
echo /myWad
|
|
echo /
|
|
echo Note: '/' sets the StartupPath to the root of the device
|
|
echo.
|
|
echo.
|
|
echo N = None (the default is /WAD)
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMPATH=Enter Selection Here:
|
|
set "WMPATH=%WMPATH:"=%"
|
|
|
|
if /i "%WMPATH%" EQU "N" SET WMPATH=/WAD
|
|
if /i "%WMPATH%" EQU "B" goto:MMMCONFIG2
|
|
if /i "%WMPATH%" EQU "M" goto:MENU
|
|
|
|
IF "%WMPATH%"=="" echo You Have Entered an Incorrect Key
|
|
IF "%WMPATH%"=="" @ping 127.0.0.1 -n 2 -w 1000> nul
|
|
IF "%WMPATH%"=="" goto:MMMCONFIG3
|
|
|
|
::...................................MMM CONFIGURATOR (mmmconfig.txt) page 4...............................
|
|
:MMMCONFIG4
|
|
set WMCONFIRM="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Are these settings correct?
|
|
echo.
|
|
echo.
|
|
if /i "%WMCIOS%" EQU "N" echo Do Not Auto-Reload IOS
|
|
if /i "%WMCIOS%" NEQ "N" echo AutoLoadIOS=%WMCIOS%
|
|
echo.
|
|
if /i "%WMDEVICE%" EQU "N" echo Prompt FAT Device Selection
|
|
echo.
|
|
if /i "%WMDEVICE%" NEQ "N" echo FatDevice=%WMDEVICE%
|
|
|
|
echo StartupPath=%WMPATH%
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo Y = Yes, Create mmmconfig.txt with these settings
|
|
if exist "%Drive%"\mmmconfig.txt echo Note: existing mmmconfig.txt will be overwritten
|
|
echo.
|
|
echo N = No, take me back to the main menu
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p WMCONFIRM=Enter Selection Here:
|
|
set "WMCONFIRM=%WMCONFIRM:"=%"
|
|
if /i "%WMCONFIRM%" EQU "B" goto:MMMCONFIG3
|
|
if /i "%WMCONFIRM%" EQU "M" goto:MENU
|
|
if /i "%WMCONFIRM%" EQU "N" goto:MENU
|
|
if /i "%WMCONFIRM%" EQU "Y" goto:BUILDMMMCONFIG
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:MMMCONFIG4
|
|
|
|
|
|
:BUILDMMMCONFIG
|
|
if not exist "%Drive%" mkdir "%Drive%"
|
|
echo ;mmmconfig.txt made by ModMii> "%Drive%"\mmmconfig.txt
|
|
if /i "%WMCIOS%" NEQ "N" echo AutoLoadIOS=%WMCIOS%>> "%Drive%"\mmmconfig.txt
|
|
if /i "%WMDEVICE%" NEQ "N" echo FatDevice=%WMDEVICE%>> "%Drive%"\mmmconfig.txt
|
|
if /i "%WMDEVICE%" EQU "N" echo FatDevice=>> "%Drive%"\mmmconfig.txt
|
|
|
|
echo StartupPath=%WMPATH%>> "%Drive%"\mmmconfig.txt
|
|
|
|
explorer "%Drive%"
|
|
::start notepad "%Drive%\mmmconfig.txt"
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
::----------------------------------------sysCheck Selector-------------------------------------
|
|
:sysCheckName
|
|
|
|
::force out of cmd line mode
|
|
set cmdlinemode=
|
|
|
|
set sysCheckName="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo SysCheck Updater: update only your outdated softmods
|
|
echo.
|
|
echo Enter the path\name of your SysCheck.csv log that you want to analyze.
|
|
echo.
|
|
if /i "%adminmode%" EQU "N" echo You can do this by dragging and dropping your SysCheck.csv log onto
|
|
if /i "%adminmode%" EQU "N" echo this window then hitting Enter.
|
|
if /i "%adminmode%" EQU "N" echo.
|
|
|
|
echo -OR- If you uploaded your SysCheck log to https://syscheck.crafterpika.cc
|
|
echo enter its 6 digit case-sensitive ID for ModMii to download and analyze it
|
|
echo.
|
|
echo Notes:
|
|
echo.
|
|
echo * In the future you can drag and drop your SysCheck.csv
|
|
echo onto ModMii.exe or ModMiiSkin.exe, or a shortcut to either,
|
|
echo to quickly start analyzing your SysCheck.
|
|
echo.
|
|
echo * Download SysCheck ModMii Edition from ModMii's Download Page 2.
|
|
echo Save it to an SD card or USB and run it from the Homebrew Channel.
|
|
echo It will then save a SysCheck.csv log to the root of your device.
|
|
echo.
|
|
echo * If you do not have a Hard Drive or SD Card, open SysCheck's boot.dol
|
|
echo using ModMii to launch it on your Wii or vWii via the internet.
|
|
echo After SysCheck is finished ignore the error and press A to view the
|
|
echo report, then A again to upload it. Access your SysCheck using the
|
|
echo onscreen link, select all (Ctrl^+A), copy (Ctrl^+C) then paste
|
|
echo (Ctrl^+V) into a new text document, then rename the file extension
|
|
echo from txt to csv. This csv file can now be analyzed by ModMii.
|
|
echo.
|
|
echo * SysCheck HacksDen Edition (HDE) logs are also supported.
|
|
echo.
|
|
echo * If SysCheck ME or HDE don't work for you try v2.1.0.b19
|
|
echo which can downloaded from https://tiny.cc/syscheckb19
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
|
|
set sysCheckName="
|
|
set /p sysCheckName=Enter Selection Here:
|
|
set "sysCheckName=%sysCheckName:"=%"
|
|
|
|
if "%sysCheckName%"=="" goto:badkey
|
|
|
|
|
|
if /i "%sysCheckName%" EQU "M" goto:MENU
|
|
if /i "%sysCheckName%" EQU "B" goto:MENU
|
|
|
|
if /i "%sysCheckName:~-4%" NEQ ".csv" goto:notcsv
|
|
if not exist "%sysCheckName%" goto:notcsv
|
|
findStr /I /C:"syscheck" "%sysCheckName%" >nul
|
|
IF ERRORLEVEL 1 (echo This is not a valid SysCheck report) & (@ping 127.0.0.1 -n 2 -w 1000> nul) & (goto:sysCheckName)
|
|
goto:sysCheckAnalyzer
|
|
:notcsv
|
|
|
|
::https://syscheck.crafterpika.cc/download_csv?id=REPORTID_SGbQ5z
|
|
::check if 6 digit
|
|
if /i "%sysCheckName:~6,1%" NEQ "" goto:badkey
|
|
if /i "%sysCheckName:~5,1%" EQU "" goto:badkey
|
|
|
|
::try to download
|
|
support\wget --no-check-certificate -t 3 "https://syscheck.crafterpika.cc/download_csv?id=%sysCheckName%" -O "temp\SysCheck_%sysCheckName%.csv" -q --show-progress
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\SysCheck_%sysCheckName%.csv" || del "temp\SysCheck_%sysCheckName%.csv"
|
|
if exist "temp\SysCheck_%sysCheckName%.csv" (set "sysCheckName=temp\SysCheck_%sysCheckName%.csv") & (goto:sysCheckAnalyzer)
|
|
|
|
echo SysCheck not available at https://syscheck.crafterpika.cc
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
goto:sysCheckName
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:sysCheckName
|
|
|
|
|
|
::----------------------------------------sysCheck Analyzer-------------------------------------
|
|
:sysCheckAnalyzer
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo Analyzing SysCheck: "%sysCheckName%"
|
|
echo.
|
|
echo Please wait...
|
|
echo.
|
|
|
|
::save a copy and translate keywords to english prior to analysis
|
|
set sysCheckCopy=temp\syscheck_.csv
|
|
copy /y "%sysCheckName%" "%sysCheckCopy%">nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Chaine Homebrew"_"Homebrew Channel"_ -rep _"Chaine Channel"_"Homebrew Channel"_ -rep _"Canale Homebrew"_"Homebrew Channel"_ -rep _"Canal Homebrew"_"Homebrew Channel"_ -rep _"Homebrewkanal"_"Homebrew Channel"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"utilise"_"running on"_ -rep _"appoggiato all'"_"running on "_ -rep _"ejecutandose en"_"running on"_ -rep _"benutzt"_"running on"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Systemmenue"_"System Menu"_ -rep _"Menu Systeme"_"System Menu"_ -rep _"Menu di sistema"_"System Menu"_ -rep _"Menu de Sistema"_"System Menu"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Pas de patches"_"No Patches"_ -rep _"Non patchato"_"No Patches"_ -rep _"Sin Parches"_"No Patches"_ -rep _"Keine Patches"_"No Patches"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Bug Trucha"_"Trucha Bug"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Acces NAND"_"NAND Access"_ -rep _"Accesso NAND"_"NAND Access"_ -rep _"Acceso NAND"_"NAND Access"_ -rep _"NAND Zugriff"_"NAND Access"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Identificazione ES"_"ES Identify"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Type de Console"_"Console Type"_ -rep _"Tipo Console"_"Console Type"_ -rep _"Tipo de consola"_"Console Type"_ -rep _"Konsolentyp"_"Console Type"_ -write -yes>nul
|
|
|
|
support\sfk filter "%sysCheckCopy%" -rep _"Regione"_"Region"_ -write -yes>nul
|
|
|
|
|
|
::adjust "original region" to ignore it when parsing region later
|
|
support\sfk filter "%sysCheckCopy%" -rep _"original region"_"originally"_ -rep _"region d'origine"_"originally"_ -rep _"regione originale"_"originally"_ -rep _"region de origen"_"originally"_ -write -yes>nul
|
|
|
|
|
|
|
|
::edit replace "d2x-v10beta52" with "d2x-v8final" (since they're the same), and vice versa (also accept d2x-v11beta1). However, if d2x-v11beta1 is selected, it will not accept anything less even though improvements are relatively minor
|
|
if /i "%d2x-beta-rev%" EQU "10-beta52" support\sfk filter "%sysCheckCopy%" -rep _d2x-v8final_d2x-v10beta52_ -write -yes>nul
|
|
if /i "%d2x-beta-rev%" EQU "10-beta52" support\sfk filter "%sysCheckCopy%" -rep _d2x-v11beta1_d2x-v10beta52_ -write -yes>nul
|
|
|
|
if /i "%d2x-beta-rev%" EQU "8-final" support\sfk filter "%sysCheckCopy%" -rep _d2x-v10beta52_d2x-v8final_ -write -yes>nul
|
|
if /i "%d2x-beta-rev%" EQU "8-final" support\sfk filter "%sysCheckCopy%" -rep _d2x-v11beta1_d2x-v8final_ -write -yes>nul
|
|
|
|
::remove any lines ending in ": Skipped" and assume outdated, this will also prevent stubs from being listed like 249 (even though they won't be constructed) - DISABLED
|
|
::support\sfk filter "%sysCheckCopy%" -le!": Skipped" -write -yes>nul
|
|
|
|
::if /i "%d2x-beta-rev%" EQU "11-beta1" support\sfk filter "%sysCheckCopy%" -rep _d2x-v8final_d2x-v11beta1_ -write -yes>nul
|
|
::if /i "%d2x-beta-rev%" EQU "11-beta1" support\sfk filter "%sysCheckCopy%" -rep _d2x-v10beta52_d2x-v11beta1_ -write -yes>nul
|
|
|
|
::confirm SysCheck ME or SysCheck HDE
|
|
findStr /I /B /C:"SysCheck HDE" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 goto:allgood
|
|
|
|
findStr /I /B /C:"SysCheck ME" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 goto:allgood
|
|
|
|
findStr /I /B /C:"sysCheck v2.1.0b" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 goto:syscheckwarning
|
|
echo.
|
|
echo.
|
|
echo Please use SysCheck ModMii Edition (ME) or Hacksden Edition (HDE) ^& try again...
|
|
echo.
|
|
echo If SysCheck ME or HDE don't work for you try v2.1.0.b19 https://tiny.cc/syscheckb19
|
|
echo.
|
|
pause
|
|
goto:sysCheckName
|
|
|
|
|
|
:syscheckwarning
|
|
echo.
|
|
echo.
|
|
echo Please use SysCheck ModMii Edition (ME) or Hacksden Edition (HDE) ^& try again...
|
|
echo.
|
|
echo If SysCheck ME or HDE don't work for you try v2.1.0.b19 https://tiny.cc/syscheckb19
|
|
echo.
|
|
support\sfk.exe echo [%cyantext%]Would you like ModMii to try and analyze this SysCheck anyway? (Y/N)
|
|
echo.
|
|
support\sfk.exe echo [%redtext%]Warning![def] Analysis of older SysCheck logs may recommend redundant updates that are
|
|
echo not necessary, but the guide should still be safe.
|
|
echo.
|
|
|
|
:SysCheckPrompt
|
|
set SysCheckPrompt="
|
|
set /p SysCheckPrompt=Enter Selection Here:
|
|
set "SysCheckPrompt=%SysCheckPrompt:"=%"
|
|
|
|
if /i "%SysCheckPrompt%" EQU "N" goto:sysCheckName
|
|
if /i "%SysCheckPrompt%" EQU "Y" goto:allgood
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:SysCheckPrompt
|
|
|
|
|
|
:allgood
|
|
|
|
|
|
::check Console Type for vWii & Wii
|
|
copy /y "%sysCheckCopy%" temp\syscheck.txt>nul
|
|
support\sfk filter -quiet temp\syscheck.txt -ls+"Console Type: " -rep _"Console Type: "__ -write -yes
|
|
set /p consoletype= <temp\syscheck.txt
|
|
del temp\syscheck.txt>nul
|
|
|
|
if /i "%consoletype%" EQU "vWii" goto:miniskip
|
|
if /i "%consoletype%" NEQ "Wii" (echo %consoletype% Console Type not supported, aborting analysis...) & (echo.) & (@ping 127.0.0.1 -n 5 -w 1000> nul) & (goto:sysCheckName)
|
|
:miniskip
|
|
|
|
|
|
if /i "%consoletype%" NEQ "vWii" goto:skipcheck
|
|
::if vwii mods, check if d2x is disabled and revert to default
|
|
|
|
if not exist "Support\d2x-beta\" goto:skipcheck
|
|
if not exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:switch
|
|
|
|
::check ciosmaps_vWii.xml for 'base ios="38"'
|
|
findStr /I /C:"base ios=\"38\"" "Support\d2x-beta\ciosmaps_vWii.xml" >nul
|
|
IF NOT ERRORLEVEL 1 goto:skipcheck
|
|
|
|
::need to switch d2x version
|
|
:switch
|
|
echo.
|
|
echo Warning! d2x-v%d2x-beta-rev% is not fully supported for vWii, reverting to default d2x version, this can be changed again later in the Options menu
|
|
echo.
|
|
pause
|
|
echo.
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
if exist support\d2x-beta rd /s /q support\d2x-beta
|
|
:skipcheck
|
|
|
|
|
|
|
|
|
|
::check if d2x version is customized and offer to revert to default
|
|
call support\subscripts\defaultd2x.bat
|
|
|
|
|
|
::-When prompting users for a syscheck, and when starting to analyze a syscheck FOR Wii\vWii display ACTIVEIOS setting, for Wii-Only also display hermes and cmios settings and info (and any other applicable settings)
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20[%cyantext%]The following ModMii settings will impact how your SysCheck is analyzed:
|
|
echo.
|
|
if /i "%ACTIVEIOS%" EQU "OFF" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - Update Active IOSs [%redtext%](Disabled)
|
|
if /i "%ACTIVEIOS%" EQU "ON" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - Update Active IOSs [%greentext%](Enabled)
|
|
|
|
|
|
|
|
findStr /I /B /C:"Region: NTSC-U" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set Region=U
|
|
findStr /I /B /C:"Region: PAL" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set Region=E
|
|
findStr /I /B /C:"Region: JAP" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set Region=J
|
|
findStr /I /B /C:"Region: NTSC-J" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set Region=J
|
|
findStr /I /B /C:"Region: KOR" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set Region=K
|
|
|
|
|
|
|
|
if /i "%consoletype%" NEQ "vWii" goto:NOTvWii
|
|
|
|
set FIRMSTART=v
|
|
|
|
::Check for OHBC v1.1.3 or higher
|
|
findStr /I /B /R /C:"Homebrew Channel 1.1.[3-9] running on IOS58" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set OHBC113=*) else (set OHBC113=)
|
|
|
|
::check if Priiloader is installed (disabled for now as "Priiloader" not present in vWii syschecks)
|
|
::findStr /I /B /C:"Priiloader" "%sysCheckCopy%" >nul
|
|
::IF ERRORLEVEL 1 (set pri=*) else (set pri=)
|
|
|
|
::if /i "%pri%" EQU "*" goto:skip
|
|
echo.
|
|
echo Priiloader might already be installed but SysCheck cannot detect it on vWii at this time.
|
|
echo Would you like to install the latest version of Priiloader now? (Y/N)
|
|
echo.
|
|
:UpdatePri2
|
|
set UpdatePri="
|
|
set /p UpdatePri=Enter Selection Here:
|
|
set "UpdatePri=%UpdatePri:"=%"
|
|
|
|
if /i "%UpdatePri%" EQU "N" goto:skip
|
|
if /i "%UpdatePri%" EQU "Y" (set pri=*) & (goto:skip)
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:UpdatePri2
|
|
:skip
|
|
|
|
|
|
::Check for patched vIOS80
|
|
findStr /I /B /R /C:"vIOS80 (rev [0-9]*):.*NAND Access" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS80P=*) else (set vIOS80P=)
|
|
|
|
|
|
::d2x cios
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
set ciosversion=65535
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
|
|
echo "set cIOSversionNum=%d2x-beta-rev%">temp\cIOSrev.bat
|
|
support\sfk filter -spat temp\cIOSrev.bat -rep _\x22__ -rep _"-*"__ -write -yes>nul
|
|
call temp\cIOSrev.bat
|
|
del temp\cIOSrev.bat>nul
|
|
|
|
set string1=%cIOSversionNum%
|
|
set versionlength=1
|
|
::letter by letter loop
|
|
:loopy3
|
|
if /i "%string1%" EQU "" goto:endloopy3
|
|
set string1=%string1:~1%
|
|
set /A versionlength=%versionlength%+1
|
|
goto:loopy3
|
|
:endloopy3
|
|
|
|
echo set cIOSsubversion=@d2x-beta-rev:~%versionlength%,16@>temp\cIOSsubversion.bat
|
|
support\sfk filter temp\cIOSsubversion.bat -spat -rep _@_%%_ -write -yes>nul
|
|
call temp\cIOSsubversion.bat
|
|
del temp\cIOSsubversion.bat>nul
|
|
|
|
findStr /I /B /R /C:"vIOS248\[38\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS248[38]-d2x-vWii=*) else (set cIOS248[38]-d2x-vWii=)
|
|
|
|
findStr /I /B /R /C:"vIOS249\[56\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS249[56]-d2x-vWii=*) else (set cIOS249[56]-d2x-vWii=)
|
|
|
|
findStr /I /B /R /C:"vIOS250\[57\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS250[57]-d2x-vWii=*) else (set cIOS250[57]-d2x-vWii=)
|
|
|
|
findStr /I /B /R /C:"vIOS251\[58\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS251[58]-d2x-vWii=*) else (set cIOS251[58]-d2x-vWii=)
|
|
|
|
|
|
|
|
|
|
::check if SM version is greater than 610 (vWii 4.3E), if cSM detected reinstall stock SM
|
|
copy /y "%sysCheckCopy%" temp\syscheck.txt>nul
|
|
support\sfk filter -quiet temp\syscheck.txt -ls+"System Menu " -rep _"*(v"__ -rep _" *"__ -rep _",*"__ -rep _")*"__ -write -yes
|
|
set firmversion=
|
|
set /p firmversion= <temp\syscheck.txt
|
|
del temp\syscheck.txt>nul
|
|
|
|
if /i "%firmversion%" EQU "4609" goto:wiimini
|
|
if /i "%firmversion%" NEQ "4610" goto:skipwiimini
|
|
:wiimini
|
|
echo This SysCheck is for a Wii Mini and is not currently supported, aborting analysis...
|
|
echo.
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
goto:sysCheckName
|
|
:skipwiimini
|
|
|
|
set customSMfix=
|
|
if /i %firmversion% LEQ 610 goto:noCSM
|
|
set firmwarechange=yes
|
|
set customSMfix=yes
|
|
|
|
if /i "%REGION%" EQU "U" set vSM4.3U=*
|
|
if /i "%REGION%" EQU "E" set vSM4.3E=*
|
|
if /i "%REGION%" EQU "J" set vSM4.3J=*
|
|
:noCSM
|
|
|
|
|
|
|
|
::check for missing active IOSs
|
|
if /i "%ACTIVEIOS%" EQU "OFF" goto:skipactivecheck
|
|
|
|
findStr /I /B /C:"vIOS9 (rev 1290): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS9=*) else (set vIOS9=)
|
|
|
|
findStr /I /B /C:"vIOS12 (rev 782): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS12=*) else (set vIOS12=)
|
|
|
|
findStr /I /B /C:"vIOS13 (rev 1288): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS13=*) else (set vIOS13=)
|
|
|
|
findStr /I /B /C:"vIOS14 (rev 1288): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS14=*) else (set vIOS14=)
|
|
|
|
findStr /I /B /C:"vIOS15 (rev 1288): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS15=*) else (set vIOS15=)
|
|
|
|
findStr /I /B /C:"vIOS17 (rev 1288): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS17=*) else (set vIOS17=)
|
|
|
|
findStr /I /B /C:"vIOS21 (rev 1295): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS21=*) else (set vIOS21=)
|
|
|
|
findStr /I /B /C:"vIOS22 (rev 1550): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS22=*) else (set vIOS22=)
|
|
|
|
findStr /I /B /C:"vIOS28 (rev 2063): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS28=*) else (set vIOS28=)
|
|
|
|
findStr /I /B /C:"vIOS31 (rev 3864): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS31=*) else (set vIOS31=)
|
|
|
|
findStr /I /B /C:"vIOS33 (rev 3864): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS33=*) else (set vIOS33=)
|
|
|
|
findStr /I /B /C:"vIOS34 (rev 3864): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS34=*) else (set vIOS34=)
|
|
|
|
findStr /I /B /C:"vIOS35 (rev 3864): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS35=*) else (set vIOS35=)
|
|
|
|
findStr /I /B /C:"vIOS36 (rev 3864): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS36=*) else (set vIOS36=)
|
|
|
|
findStr /I /B /C:"vIOS37 (rev 5919): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS37=*) else (set vIOS37=)
|
|
|
|
findStr /I /B /C:"vIOS38 (rev 4380): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS38=*) else (set vIOS38=)
|
|
|
|
findStr /I /B /C:"vIOS41 (rev 3863): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS41=*) else (set vIOS41=)
|
|
|
|
findStr /I /B /C:"vIOS43 (rev 3863): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS43=*) else (set vIOS43=)
|
|
|
|
findStr /I /B /C:"vIOS45 (rev 3863): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS45=*) else (set vIOS45=)
|
|
|
|
findStr /I /B /C:"vIOS46 (rev 3863): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS46=*) else (set vIOS46=)
|
|
|
|
findStr /I /B /C:"vIOS48 (rev 4380): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS48=*) else (set vIOS48=)
|
|
|
|
findStr /I /B /C:"vIOS53 (rev 5919): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS53=*) else (set vIOS53=)
|
|
|
|
findStr /I /B /C:"vIOS55 (rev 5919): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS55=*) else (set vIOS55=)
|
|
|
|
findStr /I /B /C:"vIOS56 (rev 5918): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS56=*) else (set vIOS56=)
|
|
|
|
findStr /I /B /C:"vIOS57 (rev 6175): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS57=*) else (set vIOS57=)
|
|
|
|
set vIOS58=*
|
|
findStr /I /B /C:"vIOS58 (rev 6432): No Patches" "%sysCheckCopy%" >nul
|
|
IF not ERRORLEVEL 1 set vIOS58=
|
|
findStr /I /B /C:"vIOS58 (rev 6432): USB 2.0" "%sysCheckCopy%" >nul
|
|
IF not ERRORLEVEL 1 set vIOS58=
|
|
|
|
::::IOS59 is a J exclusive, but doesn't seem to be the case for vWii
|
|
::if /i "%REGION%" NEQ "J" goto:skipvIOS59
|
|
findStr /I /B /C:"vIOS59 (rev 9249): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS59=*) else (set vIOS59=)
|
|
:::skipvIOS59
|
|
|
|
findStr /I /B /C:"vIOS61 (rev 5918)" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS61=*) else (set vIOS61=)
|
|
|
|
findStr /I /B /C:"vIOS62 (rev 6942): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set vIOS62=*) else (set vIOS62=)
|
|
|
|
findStr /I /B /C:"vIOS512 (rev 7): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set BCnand=*) else (set BCnand=)
|
|
|
|
findStr /I /B /C:"vIOS513 (rev 1): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set BCwfs=*) else (set BCwfs=)
|
|
|
|
:skipactivecheck
|
|
|
|
|
|
|
|
set yawm=
|
|
if /i "%OHBC113%" EQU "*" set yawm=*
|
|
if /i "%cIOS248[38]-d2x-vWii%" EQU "*" set yawm=*
|
|
if /i "%cIOS249[56]-d2x-vWii%" EQU "*" set yawm=*
|
|
if /i "%cIOS250[57]-d2x-vWii%" EQU "*" set yawm=*
|
|
if /i "%cIOS251[58]-d2x-vWii%" EQU "*" set yawm=*
|
|
if /i "%vIOS9%" EQU "*" set yawm=*
|
|
if /i "%vIOS12%" EQU "*" set yawm=*
|
|
if /i "%vIOS13%" EQU "*" set yawm=*
|
|
if /i "%vIOS14%" EQU "*" set yawm=*
|
|
if /i "%vIOS15%" EQU "*" set yawm=*
|
|
if /i "%vIOS17%" EQU "*" set yawm=*
|
|
if /i "%vIOS21%" EQU "*" set yawm=*
|
|
if /i "%vIOS22%" EQU "*" set yawm=*
|
|
if /i "%vIOS28%" EQU "*" set yawm=*
|
|
if /i "%vIOS31%" EQU "*" set yawm=*
|
|
if /i "%vIOS33%" EQU "*" set yawm=*
|
|
if /i "%vIOS34%" EQU "*" set yawm=*
|
|
if /i "%vIOS35%" EQU "*" set yawm=*
|
|
if /i "%vIOS36%" EQU "*" set yawm=*
|
|
if /i "%vIOS37%" EQU "*" set yawm=*
|
|
if /i "%vIOS38%" EQU "*" set yawm=*
|
|
if /i "%vIOS41%" EQU "*" set yawm=*
|
|
if /i "%vIOS43%" EQU "*" set yawm=*
|
|
if /i "%vIOS45%" EQU "*" set yawm=*
|
|
if /i "%vIOS46%" EQU "*" set yawm=*
|
|
if /i "%vIOS48%" EQU "*" set yawm=*
|
|
if /i "%vIOS53%" EQU "*" set yawm=*
|
|
if /i "%vIOS55%" EQU "*" set yawm=*
|
|
if /i "%vIOS56%" EQU "*" set yawm=*
|
|
if /i "%vIOS57%" EQU "*" set yawm=*
|
|
if /i "%vIOS58%" EQU "*" set yawm=*
|
|
if /i "%vIOS59%" EQU "*" set yawm=*
|
|
if /i "%vIOS61%" EQU "*" set yawm=*
|
|
if /i "%vIOS62%" EQU "*" set yawm=*
|
|
::if /i "%vIOS80%" EQU "*" set yawm=*
|
|
if /i "%vIOS80P%" EQU "*" set yawm=*
|
|
if /i "%BCnand%" EQU "*" set yawm=*
|
|
if /i "%BCwfs%" EQU "*" set yawm=*
|
|
::if /i "%vSM4.3U%" EQU "*" set yawm=*
|
|
::if /i "%vSM4.3E%" EQU "*" set yawm=*
|
|
::if /i "%vSM4.3J%" EQU "*" set yawm=*
|
|
::if /i "%vRSU%" EQU "*" set yawm=*
|
|
::if /i "%vRSE%" EQU "*" set yawm=*
|
|
::if /i "%vRSJ%" EQU "*" set yawm=*
|
|
|
|
set BACKB4QUEUE=sysCheckName
|
|
goto:STUBScheck
|
|
|
|
:NOTvWii
|
|
|
|
|
|
|
|
|
|
::Continued from above-When prompting users for a syscheck, and when starting to analyze a syscheck FOR Wii\vWii display ACTIVEIOS setting, for Wii-Only also display hermes and cmios settings and info (and any other applicable settings)
|
|
echo.
|
|
if /i "%ExtraProtectionOPTION%" EQU "OFF" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - Extra Brick Protection [%redtext%](Disabled)
|
|
if /i "%ExtraProtectionOPTION%" EQU "ON" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - Extra Brick Protection [%greentext%](Enabled)
|
|
echo * When enabled, a patched IOS60 will be installed to other system menu
|
|
echo IOS slots to prevent bricks from users manually up\downgrading Wii's
|
|
echo.
|
|
if /i "%hermesOPTION%" EQU "OFF" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - Hermes cIOSs (202 ^& 222-224) [%redtext%](Disabled)
|
|
if /i "%hermesOPTION%" EQU "ON" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - Hermes cIOSs (202 ^& 222-224) [%greentext%](Enabled)
|
|
echo * Generally no longer necessary but may still be useful in some cases
|
|
echo.
|
|
if /i "%CMIOSOPTION%" EQU "OFF" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - cMIOS [%redtext%](Disabled)
|
|
if /i "%CMIOSOPTION%" EQU "ON" support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 - cMIOS [%greentext%](Enabled)
|
|
echo * A cMIOS allows older non-chipped Wii's to play GameCube backup discs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::get HBC version (ie. "Homebrew Channel 1.1.2 running on IOS58")
|
|
set HBCversion=0.0.1
|
|
copy /y "%sysCheckCopy%" temp\syscheck.txt>nul
|
|
support\sfk filter -quiet temp\syscheck.txt -ls+"Homebrew Channel " -rep _"Homebrew Channel "__ -rep _" *"__ -write -yes
|
|
set /p HBCversion= <temp\syscheck.txt
|
|
|
|
|
|
::get System Menu info (ie. "System Menu 4.3E")
|
|
copy /y "%sysCheckCopy%" temp\syscheck.txt>nul
|
|
support\sfk filter -quiet temp\syscheck.txt -ls+"System Menu " -rep _"*System Menu "__ -rep _" *"__ -rep _",*"__ -write -yes
|
|
set /p firmstart= <temp\syscheck.txt
|
|
del temp\syscheck.txt>nul
|
|
|
|
|
|
set SMregion=%firmstart:~-1%
|
|
|
|
set firmstart=%firmstart:~0,-1%
|
|
if /i "%firmstart:~0,1%" EQU "3" set firmstart=3.X
|
|
if /i "%firmstart:~0,1%" EQU "2" set firmstart=o
|
|
if /i "%firmstart:~0,1%" EQU "1" set firmstart=o
|
|
|
|
set firm=%firmstart%
|
|
|
|
|
|
|
|
|
|
if /i "%SMregion%" EQU "%Region%" goto:NoMismatch
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo WARNING! Incomplete region change detected!
|
|
echo.
|
|
echo You should first complete ModMii's Region Change Wizard to fully install
|
|
echo your desired region and System Menu, then generate a new SysCheck.csv
|
|
echo before continuing the SysCheck Updater Wizard.
|
|
echo.
|
|
echo Press any key to return to the Main Menu.
|
|
echo.
|
|
pause>nul
|
|
set MENU1=
|
|
set cmdlinemode=
|
|
set one=
|
|
set two=
|
|
goto:MENU
|
|
:NoMismatch
|
|
|
|
|
|
::check if SM version is greater than 518 (4.3K), if cSM detected reinstall stock SM
|
|
copy /y "%sysCheckCopy%" temp\syscheck.txt>nul
|
|
support\sfk filter -quiet temp\syscheck.txt -ls+"System Menu " -rep _"*(v"__ -rep _" *"__ -rep _",*"__ -rep _")*"__ -write -yes
|
|
set firmversion=
|
|
set /p firmversion= <temp\syscheck.txt
|
|
del temp\syscheck.txt>nul
|
|
|
|
|
|
if /i "%firmversion%" EQU "4609" goto:wiimini
|
|
if /i "%firmversion%" NEQ "4610" goto:skipwiimini
|
|
:wiimini
|
|
echo This SysCheck is for a Wii Mini and is not currently supported, aborting analysis...
|
|
echo.
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
goto:sysCheckName
|
|
:skipwiimini
|
|
|
|
set customSMfix=
|
|
if /i %firmversion% LEQ 518 goto:noCSM
|
|
set firmwarechange=yes
|
|
set customSMfix=yes
|
|
|
|
|
|
if /i "%firmstart%" NEQ "4.2" goto:not42
|
|
if /i "%REGION%" EQU "U" set SM4.2U=*
|
|
if /i "%REGION%" EQU "E" set SM4.2E=*
|
|
if /i "%REGION%" EQU "J" set SM4.2J=*
|
|
if /i "%REGION%" EQU "K" set SM4.2K=*
|
|
goto:noSM
|
|
:not42
|
|
|
|
if /i "%firmstart%" NEQ "4.1" goto:not41
|
|
if /i "%REGION%" EQU "U" set SM4.1U=*
|
|
if /i "%REGION%" EQU "E" set SM4.1E=*
|
|
if /i "%REGION%" EQU "J" set SM4.1J=*
|
|
if /i "%REGION%" EQU "K" set SM4.1K=*
|
|
goto:noSM
|
|
:not41
|
|
|
|
|
|
set firm=4.3
|
|
if /i "%REGION%" EQU "U" set SM4.3U=*
|
|
if /i "%REGION%" EQU "E" set SM4.3E=*
|
|
if /i "%REGION%" EQU "J" set SM4.3J=*
|
|
if /i "%REGION%" EQU "K" set SM4.3K=*
|
|
goto:noSM
|
|
:noCSM
|
|
|
|
set firmwarechange=no
|
|
if /i "%firmstart%" EQU "4.0" set firmwarechange=yes
|
|
if /i "%firmstart%" EQU "3.x" set firmwarechange=yes
|
|
if /i "%firmstart%" EQU "o" set firmwarechange=yes
|
|
|
|
if /i "%firmwarechange%" EQU "no" goto:noSM
|
|
set firm=4.3
|
|
if /i "%REGION%" EQU "U" set SM4.3U=*
|
|
if /i "%REGION%" EQU "E" set SM4.3E=*
|
|
if /i "%REGION%" EQU "J" set SM4.3J=*
|
|
if /i "%REGION%" EQU "K" set SM4.3K=*
|
|
:noSM
|
|
|
|
|
|
::check if Priiloader is installed
|
|
set pri=*
|
|
set UpdatePri=
|
|
::since yawmME can retain priloader, no need to reinstall even if a new SM is installed
|
|
::if /i "%firmwarechange%" EQU "yes" (set pri=*) & (goto:skipprianalysis)
|
|
|
|
findStr /I /B /C:"Priiloader" "%sysCheckCopy%" >nul
|
|
IF not ERRORLEVEL 1 set pri=
|
|
:::skipprianalysis
|
|
|
|
|
|
if /i "%pri%" EQU "*" goto:skip
|
|
echo.
|
|
echo Priiloader is already installed but SysCheck is unable to determine its version.
|
|
echo Would you like to install the latest version of Priiloader now? (Y/N)
|
|
echo.
|
|
:UpdatePri
|
|
set UpdatePri="
|
|
set /p UpdatePri=Enter Selection Here:
|
|
set "UpdatePri=%UpdatePri:"=%"
|
|
|
|
if /i "%UpdatePri%" EQU "N" goto:skip
|
|
if /i "%UpdatePri%" EQU "Y" (set pri=*) & (goto:skip)
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
echo.
|
|
goto:UpdatePri
|
|
:skip
|
|
|
|
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
set ciosversion=65535
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
|
|
echo "set cIOSversionNum=%d2x-beta-rev%">temp\cIOSrev.bat
|
|
support\sfk filter -spat temp\cIOSrev.bat -rep _\x22__ -rep _"-*"__ -write -yes>nul
|
|
call temp\cIOSrev.bat
|
|
del temp\cIOSrev.bat>nul
|
|
|
|
|
|
set string1=%cIOSversionNum%
|
|
set versionlength=1
|
|
::letter by letter loop
|
|
:loopy2
|
|
if /i "%string1%" EQU "" goto:endloopy2
|
|
set string1=%string1:~1%
|
|
set /A versionlength=%versionlength%+1
|
|
goto:loopy2
|
|
:endloopy2
|
|
|
|
|
|
echo set cIOSsubversion=@d2x-beta-rev:~%versionlength%,16@>temp\cIOSsubversion.bat
|
|
support\sfk filter temp\cIOSsubversion.bat -spat -rep _@_%%_ -write -yes>nul
|
|
call temp\cIOSsubversion.bat
|
|
del temp\cIOSsubversion.bat>nul
|
|
|
|
|
|
|
|
|
|
::check for recommended cIOSs and HBC
|
|
|
|
set HM=*
|
|
findStr /I /B /R /C:"Homebrew Channel 1.1.[2-9] running on IOS58" "%sysCheckCopy%" >nul
|
|
IF not ERRORLEVEL 1 (set HM=) & (goto:no58check)
|
|
if /i %HBCversion% GEQ 1.1.0 (set OHBC=*) & (set HM=)
|
|
|
|
::check for any version of IOS58
|
|
if /i "%HM%" NEQ "*" goto:no58check
|
|
findStr /I /B /C:"IOS58 " "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS58=*) else (set IOS58=)
|
|
:no58check
|
|
|
|
|
|
if /i "%hermesOPTION%" EQU "OFF" goto:skipHERMEScheck
|
|
findStr /I /B /R /C:"IOS202\[60\] (rev [0-9]*, Info: hermesrodries-v6" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS202[60]-v5.1R=*) else (set cIOS202[60]-v5.1R=)
|
|
findStr /I /B /R /C:"IOS202\[60\] (rev [0-9]*, Info: hermesrodries-v5.1" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set cIOS202[60]-v5.1R=
|
|
findStr /I /B /R /C:"IOS202\[60\] (rev [0-9]*, Info: hermesrodries-5.1" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set cIOS202[60]-v5.1R=
|
|
findStr /I /B /R /C:"IOS202\[60\] (rev [0-9]*, Info: hermes-v5.1" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set cIOS202[60]-v5.1R=
|
|
|
|
findStr /I /B /R /C:"IOS222\[38\] (rev [0-9]*, Info: hermes-v4" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS222[38]-v4=*) else (set cIOS222[38]-v4=)
|
|
|
|
set cIOS223[37-38]-v4=*
|
|
findStr /I /B /R /C:"IOS223\[38+37\] (rev [0-9]*, Info: hermes-v4" "%sysCheckCopy%" >nul
|
|
IF not ERRORLEVEL 1 set cIOS223[37-38]-v4=
|
|
|
|
findStr /I /B /R /C:"IOS224\[57\] (rev [0-9]*, Info: hermesrodries-v6" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS224[57]-v5.1R=*) else (set cIOS224[57]-v5.1R=)
|
|
findStr /I /B /R /C:"IOS224\[57\] (rev [0-9]*, Info: hermesrodries-v5.1" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set cIOS224[57]-v5.1R=
|
|
findStr /I /B /R /C:"IOS224\[57\] (rev [0-9]*, Info: hermesrodries-5.1" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set cIOS224[57]-v5.1R=
|
|
findStr /I /B /R /C:"IOS224\[57\] (rev [0-9]*, Info: hermes-v5.1" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set cIOS224[57]-v5.1R=
|
|
:skipHERMEScheck
|
|
|
|
|
|
::set IOS236=*
|
|
::findStr /I /B /R /C:"IOS236\[36\] (rev [0-9]*, Info: rev 3351" "%sysCheckCopy%" >nul
|
|
::IF NOT ERRORLEVEL 1 set IOS236=
|
|
::findStr /I /B /R /C:"IOS236 (rev [0-9]*): Trucha Bug, ES Identify, NAND Access" "%sysCheckCopy%" >nul
|
|
::IF NOT ERRORLEVEL 1 set IOS236=
|
|
|
|
|
|
findStr /I /B /R /C:"IOS248\[38\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS248[38]-d2x-v10-beta52=*) else (set cIOS248[38]-d2x-v10-beta52=)
|
|
|
|
findStr /I /B /R /C:"IOS249\[56\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS249[56]-d2x-v10-beta52=*) else (set cIOS249[56]-d2x-v10-beta52=)
|
|
|
|
findStr /I /B /R /C:"IOS250\[57\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS250[57]-d2x-v10-beta52=*) else (set cIOS250[57]-d2x-v10-beta52=)
|
|
|
|
findStr /I /B /R /C:"IOS251\[58\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set cIOS251[58]-d2x-v10-beta52=*) else (set cIOS251[58]-d2x-v10-beta52=)
|
|
|
|
::also accept 249/250 reversed - DISABLED
|
|
|
|
::findStr /I /B /R /C:"IOS250\[56\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
::IF ERRORLEVEL 1 goto:skip
|
|
::findStr /I /B /R /C:"IOS249\[57\] (rev [0-9]*, Info: d2x-v%cIOSversionNum%%cIOSsubversion%" "%sysCheckCopy%" >nul
|
|
::IF ERRORLEVEL 1 goto:skip
|
|
::::found both 249[56] and 250[57]
|
|
::set cIOS249[56]-d2x-v10-beta52=
|
|
::set cIOS250[57]-d2x-v10-beta52=
|
|
:::skip
|
|
|
|
|
|
|
|
|
|
::bootmii check
|
|
set bootmii_missing=
|
|
::findStr /I /C:"bootmii" "%sysCheckCopy%" >nul
|
|
findStr /I /B /R /C:"IOS254 (rev [0-9]*): BootMii" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 set bootmii_missing=Y
|
|
::IF ERRORLEVEL 1 (set HM=*) & (set bootmiisd=*)
|
|
if /i "%bootmii_missing%" EQU "Y" set HM=*
|
|
|
|
|
|
::check for missing active IOSs
|
|
if /i "%ACTIVEIOS%" EQU "OFF" goto:skipactivecheck
|
|
|
|
findStr /I /B /C:"IOS9 (rev 1034): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS9=*) else (set IOS9=)
|
|
|
|
findStr /I /B /C:"IOS12 (rev 526): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS12=*) else (set IOS12=)
|
|
|
|
findStr /I /B /C:"IOS13 (rev 1032): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS13=*) else (set IOS13=)
|
|
|
|
findStr /I /B /C:"IOS14 (rev 1032): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS14=*) else (set IOS14=)
|
|
|
|
findStr /I /B /C:"IOS15 (rev 1032): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS15=*) else (set IOS15=)
|
|
|
|
findStr /I /B /C:"IOS17 (rev 1032): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS17=*) else (set IOS17=)
|
|
|
|
findStr /I /B /C:"IOS21 (rev 1039): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS21=*) else (set IOS21=)
|
|
|
|
findStr /I /B /C:"IOS22 (rev 1294): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS22=*) else (set IOS22=)
|
|
|
|
findStr /I /B /C:"IOS28 (rev 1807): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS28=*) else (set IOS28=)
|
|
|
|
findStr /I /B /C:"IOS31 (rev 3608): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS31=*) else (set IOS31=)
|
|
|
|
findStr /I /B /C:"IOS33 (rev 3608): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS33=*) else (set IOS33=)
|
|
|
|
findStr /I /B /C:"IOS34 (rev 3608): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS34=*) else (set IOS34=)
|
|
|
|
findStr /I /B /C:"IOS35 (rev 3608): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS35=*) else (set IOS35=)
|
|
|
|
findStr /I /B /C:"IOS36 (rev 3608): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS36v3608=*) else (set IOS36v3608=)
|
|
|
|
findStr /I /B /C:"IOS37 (rev 5663): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS37=*) else (set IOS37=)
|
|
|
|
findStr /I /B /C:"IOS38 (rev 4124): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS38=*) else (set IOS38=)
|
|
|
|
findStr /I /B /C:"IOS41 (rev 3607): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS41=*) else (set IOS41=)
|
|
|
|
findStr /I /B /C:"IOS43 (rev 3607): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS43=*) else (set IOS43=)
|
|
|
|
findStr /I /B /C:"IOS45 (rev 3607): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS45=*) else (set IOS45=)
|
|
|
|
findStr /I /B /C:"IOS46 (rev 3607): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS46=*) else (set IOS46=)
|
|
|
|
findStr /I /B /C:"IOS48 (rev 4124): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS48v4124=*) else (set IOS48v4124=)
|
|
|
|
findStr /I /B /C:"IOS53 (rev 5663): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS53=*) else (set IOS53=)
|
|
|
|
findStr /I /B /C:"IOS55 (rev 5663): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS55=*) else (set IOS55=)
|
|
|
|
findStr /I /B /C:"IOS56 (rev 5662): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS56=*) else (set IOS56=)
|
|
|
|
findStr /I /B /C:"IOS57 (rev 5919): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS57=*) else (set IOS57=)
|
|
|
|
set IOS58=*
|
|
findStr /I /B /C:"IOS58 (rev 6176): No Patches" "%sysCheckCopy%" >nul
|
|
IF not ERRORLEVEL 1 set IOS58=
|
|
findStr /I /B /C:"IOS58 (rev 6176): USB 2.0" "%sysCheckCopy%" >nul
|
|
IF not ERRORLEVEL 1 set IOS58=
|
|
|
|
::IOS59 is a J exclusive
|
|
if /i "%REGION%" NEQ "J" goto:skipIOS59
|
|
findStr /I /B /C:"IOS59 (rev 9249): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS59=*) else (set IOS59=)
|
|
:skipIOS59
|
|
|
|
findStr /I /B /C:"IOS61 (rev 5662): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS61=*) else (set IOS61=)
|
|
|
|
findStr /I /B /C:"IOS62 (rev 6430): No Patches" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set IOS62=*) else (set IOS62=)
|
|
|
|
findStr /I /B /C:"BC v6" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set BC=*) else (set BC=)
|
|
|
|
:skipactivecheck
|
|
|
|
|
|
::if HBC is <1.1.0 AND IOS58 is already installed, no need to download OHBC wad, will be running hackmii installer anyway
|
|
if /i %HBCversion% GEQ 1.1.0 goto:skip
|
|
if not "%IOS58%"=="" (set OHBC=*) & (set HM=*)
|
|
if "%IOS58%"=="" (set OHBC=) & (set HM=*)
|
|
:skip
|
|
|
|
::if IOS58 is already installed and will be running the HackMii installer to update bootmii anyway, no need to download OHBC wad
|
|
if /i "%bootmii_missing%" NEQ "Y" goto:skip
|
|
if "%IOS58%"=="" (set OHBC=) & (set HM=*)
|
|
:skip
|
|
|
|
|
|
|
|
::patched IOS check
|
|
if /i "%FIRM%" EQU "4.1" goto:forcecheck
|
|
if /i "%ExtraProtectionOPTION%" EQU "off" goto:smallskip
|
|
:forcecheck
|
|
set IOS60P=*
|
|
findStr /I /B /C:"IOS60 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS60P=
|
|
findStr /I /B /C:"IOS60 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS60P=
|
|
findStr /I /B /R /C:"IOS60 (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS60P=
|
|
:smallskip
|
|
|
|
|
|
if /i "%FIRM%" EQU "4.2" goto:forcecheck
|
|
if /i "%ExtraProtectionOPTION%" EQU "off" goto:smallskip
|
|
:forcecheck
|
|
set IOS70K=*
|
|
findStr /I /B /C:"IOS70 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS70K=
|
|
findStr /I /B /C:"IOS70 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS70K=
|
|
findStr /I /B /R /C:"IOS70\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS70K=
|
|
:smallskip
|
|
|
|
if /i "%FIRM%" EQU "4.3" goto:forcecheck
|
|
if /i "%ExtraProtectionOPTION%" EQU "off" goto:smallskip
|
|
:forcecheck
|
|
set IOS80K=*
|
|
findStr /I /B /C:"IOS80 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS80K=
|
|
findStr /I /B /C:"IOS80 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS80K=
|
|
findStr /I /B /R /C:"IOS80\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS80K=
|
|
:smallskip
|
|
|
|
|
|
if /i "%ExtraProtectionOPTION%" EQU "off" goto:smallskip
|
|
set IOS11P60=*
|
|
set IOS20P60=*
|
|
set IOS30P60=*
|
|
set IOS40P60=*
|
|
set IOS50P=*
|
|
set IOS52P=*
|
|
|
|
findStr /I /B /C:"IOS11 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS11P60=
|
|
findStr /I /B /C:"IOS11 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS11P60=
|
|
findStr /I /B /R /C:"IOS11\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS11P60=
|
|
|
|
findStr /I /B /C:"IOS20 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS20P60=
|
|
findStr /I /B /C:"IOS20 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS20P60=
|
|
findStr /I /B /R /C:"IOS20\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS20P60=
|
|
|
|
findStr /I /B /C:"IOS30 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS30P60=
|
|
findStr /I /B /C:"IOS30 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS30P60=
|
|
findStr /I /B /R /C:"IOS30\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS30P60=
|
|
|
|
findStr /I /B /C:"IOS40 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS40P60=
|
|
findStr /I /B /C:"IOS40 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS40P60=
|
|
findStr /I /B /R /C:"IOS40\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS40P60=
|
|
|
|
findStr /I /B /C:"IOS50 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS50P=
|
|
findStr /I /B /C:"IOS50 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS50P=
|
|
findStr /I /B /R /C:"IOS50\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS50P=
|
|
|
|
findStr /I /B /C:"IOS52 (rev 16174): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS52P=
|
|
findStr /I /B /C:"IOS52 (rev 65535): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS52P=
|
|
findStr /I /B /R /C:"IOS52\[60\] (rev [0-9]*, Info: ModMii-IOS60-v6174)" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS52P=
|
|
:smallskip
|
|
|
|
|
|
::cMIOS
|
|
if /i "%CMIOSOPTION%" EQU "OFF" goto:skipcMIOScheck
|
|
::set RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2=
|
|
::findStr /I /B /E /C:"MIOS v65535" "%sysCheckCopy%" >nul
|
|
::IF ERRORLEVEL 1 set RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2=*
|
|
|
|
set Swiss_cMIOS=
|
|
findStr /I /B /E /C:"MIOS v1788" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 set Swiss_cMIOS=*
|
|
:skipcMIOScheck
|
|
|
|
::MIOSv10
|
|
if /i "%CMIOSOPTION%" EQU "ON" goto:skipMIOScheck
|
|
findStr /I /B /E /C:"MIOS v10" "%sysCheckCopy%" >nul
|
|
IF ERRORLEVEL 1 (set M10=*) else (set M10=)
|
|
:skipMIOScheck
|
|
|
|
::removed IOS236 effective 6.5.2
|
|
::::IOS236
|
|
::findStr /I /B /C:"IOS236" "%sysCheckCopy%" >nul
|
|
::IF ERRORLEVEL 1 (set IOS236Installer=*) else (set IOS236Installer=)
|
|
::if /i "%IOS236Installer%" EQU "*" (set SIP=*) else (set SIP=)
|
|
::if /i "%IOS236Installer%" EQU "*" (set IOS36=*) else (set IOS36=)
|
|
|
|
|
|
|
|
::stubs!
|
|
:STUBScheck
|
|
set STUBS=
|
|
copy /y "%sysCheckCopy%" temp\stubs.txt>nul
|
|
support\sfk filter -quiet temp\stubs.txt -!"(rev 404): Stub" -write -yes
|
|
support\sfk filter -quiet temp\stubs.txt -ls+IOS -ls+vIOS -rep _vIOS_a_ -rep _IOS_a_ -rep _"["*_z_ -rep _" "*_z_ -rep _:__ -write -yes
|
|
::filter out good stuff, intentionally skipping stubbed SM IOSs, etc.
|
|
support\sfk filter -quiet temp\stubs.txt -!a0z -!a1z -!a2z -!a9z -!a11z -!a12z -!a13z -!a14z -!a15z -!a17z -!a20z -!a21z -!a22z -!a28z -!a30z -!a31z -!a33z -!a34z -!a35z -!a36z -!a37z -!a38z -!a40z -!a41z -!a43z -!a45z -!a46z -!a48z -!a50z -!a52z -!a53z -!a55z -!a56z -!a57z -!a58z -!a60z -!a61z -!a62z -!a70z -!a80z -!a248z -!a249z -!a250z -!a251z -!a512z -!a513z -write -yes
|
|
|
|
::removed the following whitelisted slots from suggesting they optionally be stubbed in the syscheck updater wizard
|
|
::-!a236z -!a240z -!a241z -!a242z -!a243z -!a244z -!a245z -!a246z -!a247z
|
|
|
|
::for vWii don't filter out hermes or bootmii ios254
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
if /i "%hermesOPTION%" EQU "on" support\sfk filter -quiet temp\stubs.txt -!a202z -!a222z -!a223z -!a224z -write -yes
|
|
support\sfk filter -quiet temp\stubs.txt -!a254z -write -yes
|
|
:skip
|
|
|
|
::filter out IOS59 only for J region (and vWii just in case)
|
|
if /i "%REGION%" EQU "J" support\sfk filter -quiet temp\stubs.txt -!a59z -write -yes
|
|
if /i "%FIRMSTART%" EQU "v" support\sfk filter -quiet temp\stubs.txt -!a59z -write -yes
|
|
|
|
support\sfk filter -quiet temp\stubs.txt -rep _a__ -rep _z__ -write -yes
|
|
|
|
::delete temp stubs if file is empty
|
|
>nul findstr "^" "temp\stubs.txt" || del "temp\stubs.txt"
|
|
|
|
if not exist temp\stubs.txt goto:nostubs
|
|
set STUBS=*
|
|
set yawm=*
|
|
set STUBSlist=
|
|
::get stubs list
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\stubs.txt) do call :processSTUBSlist %%A
|
|
goto:quickskip
|
|
:processSTUBSlist
|
|
set STUBSlist=%STUBSlist%%*,
|
|
goto:EOF
|
|
:quickskip
|
|
set "STUBSlist=%STUBSlist:~0,-1%"
|
|
::echo (%STUBSlist%)
|
|
|
|
:nostubs
|
|
if /i "%FIRMSTART%" EQU "v" goto:DOWNLOADQUEUE
|
|
|
|
::disable RiiConnect24 check as it no longer requires a patched IOS31 or system menu IOS
|
|
goto:NoRiiConnect24Check
|
|
|
|
::check for RiiConnect24 IOS31 and IOS80
|
|
set RiiConnect24Detected=
|
|
if /i "%IOS31%" EQU "*" goto:RiiConnect24Check
|
|
if /i "%IOS80K%" EQU "*" goto:RiiConnect24Check
|
|
goto:NoRiiConnect24Check
|
|
|
|
:RiiConnect24Check
|
|
cls
|
|
findStr /I /B /C:"IOS31 (rev 3608): Trucha Bug, ES Identify, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set RiiConnect24Detected=Y
|
|
|
|
::ModMii's IOS80 is compatible with RiiConnect24, so only check for RC24's IOS31
|
|
::findStr /I /B /C:"IOS80 (rev 6944): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
::IF NOT ERRORLEVEL 1 set RiiConnect24Detected=Y
|
|
|
|
if /i "%RiiConnect24Detected%" NEQ "Y" goto:NoRiiConnect24Check
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo ModMii's SysCheck Updater has detected RiiConnect24 in IOS31.
|
|
echo Would you like to remove\overwrite it?
|
|
echo.
|
|
echo Y = Yes, remove\overwrite RiiConnect24
|
|
echo N = No, keep RiiConnect24
|
|
echo.
|
|
set RiiConnect24Check="
|
|
set /p RiiConnect24Check=Enter Selection Here:
|
|
set "RiiConnect24Check=%RiiConnect24Check:"=%"
|
|
|
|
if "%RiiConnect24Check%"=="" goto:badkey
|
|
if /i "%RiiConnect24Check%" EQU "Y" goto:NoRiiConnect24Check
|
|
if /i "%RiiConnect24Check%" EQU "N" goto:KeepRiiConnect24
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:RiiConnect24Check
|
|
|
|
:KeepRiiConnect24
|
|
findStr /I /B /C:"IOS31 (rev 3608): Trucha Bug, ES Identify, NAND Access" "%sysCheckCopy%" >nul
|
|
IF NOT ERRORLEVEL 1 set IOS31=
|
|
::findStr /I /B /C:"IOS80 (rev 6944): Trucha Bug, NAND Access" "%sysCheckCopy%" >nul
|
|
::IF NOT ERRORLEVEL 1 set IOS80K=
|
|
:NoRiiConnect24Check
|
|
|
|
|
|
|
|
set yawm=
|
|
set RECCIOS=
|
|
if /i "%cIOS202[60]-v5.1R%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%cIOS222[38]-v4%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%cIOS223[37-38]-v4%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%cIOS224[57]-v5.1R%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%cIOS248[38]-d2x-v10-beta52%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%cIOS249[56]-d2x-v10-beta52%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%cIOS250[57]-d2x-v10-beta52%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%cIOS251[58]-d2x-v10-beta52%" EQU "*" (set yawm=*) & (set RECCIOS=Y)
|
|
if /i "%IOS9%" EQU "*" set yawm=*
|
|
if /i "%IOS12%" EQU "*" set yawm=*
|
|
if /i "%IOS13%" EQU "*" set yawm=*
|
|
if /i "%IOS14%" EQU "*" set yawm=*
|
|
if /i "%IOS15%" EQU "*" set yawm=*
|
|
if /i "%IOS17%" EQU "*" set yawm=*
|
|
if /i "%IOS21%" EQU "*" set yawm=*
|
|
if /i "%IOS22%" EQU "*" set yawm=*
|
|
if /i "%IOS28%" EQU "*" set yawm=*
|
|
if /i "%IOS31%" EQU "*" set yawm=*
|
|
if /i "%IOS33%" EQU "*" set yawm=*
|
|
if /i "%IOS34%" EQU "*" set yawm=*
|
|
if /i "%IOS35%" EQU "*" set yawm=*
|
|
if /i "%IOS36v3608%" EQU "*" set yawm=*
|
|
if /i "%IOS37%" EQU "*" set yawm=*
|
|
if /i "%IOS38%" EQU "*" set yawm=*
|
|
if /i "%IOS41%" EQU "*" set yawm=*
|
|
if /i "%IOS48v4124%" EQU "*" set yawm=*
|
|
if /i "%IOS43%" EQU "*" set yawm=*
|
|
if /i "%IOS45%" EQU "*" set yawm=*
|
|
if /i "%IOS46%" EQU "*" set yawm=*
|
|
if /i "%IOS53%" EQU "*" set yawm=*
|
|
if /i "%IOS55%" EQU "*" set yawm=*
|
|
if /i "%IOS56%" EQU "*" set yawm=*
|
|
if /i "%IOS57%" EQU "*" set yawm=*
|
|
if /i "%IOS58%" EQU "*" set yawm=*
|
|
if /i "%IOS59%" EQU "*" set yawm=*
|
|
if /i "%IOS61%" EQU "*" set yawm=*
|
|
if /i "%IOS62%" EQU "*" set yawm=*
|
|
if /i "%IOS60P%" EQU "*" set yawm=*
|
|
if /i "%IOS70K%" EQU "*" set yawm=*
|
|
if /i "%IOS80K%" EQU "*" set yawm=*
|
|
if /i "%IOS236%" EQU "*" set yawm=*
|
|
::if /i "%RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2%" EQU "*" set yawm=*
|
|
if /i "%Swiss_cMIOS%" EQU "*" set yawm=*
|
|
if /i "%M10%" EQU "*" set yawm=*
|
|
if /i "%IOS11P60%" EQU "*" set yawm=*
|
|
if /i "%IOS20P60%" EQU "*" set yawm=*
|
|
if /i "%IOS30P60%" EQU "*" set yawm=*
|
|
if /i "%IOS40P60%" EQU "*" set yawm=*
|
|
if /i "%IOS50P%" EQU "*" set yawm=*
|
|
if /i "%IOS52P%" EQU "*" set yawm=*
|
|
if /i "%OHBC%" EQU "*" set yawm=*
|
|
if /i "%STUBS%" EQU "*" set yawm=*
|
|
if /i "%BC%" EQU "*" set yawm=*
|
|
|
|
if /i "%SM4.1U%" EQU "*" set yawm=*
|
|
if /i "%SM4.1E%" EQU "*" set yawm=*
|
|
if /i "%SM4.1J%" EQU "*" set yawm=*
|
|
if /i "%SM4.1K%" EQU "*" set yawm=*
|
|
if /i "%SM4.2U%" EQU "*" set yawm=*
|
|
if /i "%SM4.2E%" EQU "*" set yawm=*
|
|
if /i "%SM4.2J%" EQU "*" set yawm=*
|
|
if /i "%SM4.2K%" EQU "*" set yawm=*
|
|
if /i "%SM4.3U%" EQU "*" set yawm=*
|
|
if /i "%SM4.3E%" EQU "*" set yawm=*
|
|
if /i "%SM4.3J%" EQU "*" set yawm=*
|
|
if /i "%SM4.3K%" EQU "*" set yawm=*
|
|
|
|
|
|
set BACKB4QUEUE=sysCheckName
|
|
goto:DOWNLOADQUEUE
|
|
|
|
|
|
|
|
::........................................HACKMII SOLUTION.......................................
|
|
:HACKMIISOLUTION
|
|
set SETTINGSHM=
|
|
|
|
|
|
|
|
set BB1=
|
|
set BB2=
|
|
set SMASH=
|
|
set PWNS=
|
|
set Bathaxx=
|
|
set ROTJ=
|
|
set TOS=
|
|
set TWI=
|
|
set YUGI=
|
|
|
|
|
|
::set IOS30P60=*
|
|
set IOS31=*
|
|
set IOS33=*
|
|
set IOS34=*
|
|
set IOS35=*
|
|
set IOS36v3608=*
|
|
set IOS58=*
|
|
|
|
set F32=*
|
|
set HMold=*
|
|
set HM=*
|
|
set bootmiisd=*
|
|
set yawm=*
|
|
if /i "%FIRMSTART%" EQU "4.1" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.0" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "3.x" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.2" set BB2=*
|
|
|
|
|
|
if /i "%macaddress%" EQU "S" goto:skip
|
|
if /i "%EXPLOIT%" EQU "W" set Wilbrand=*
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "S" set SMASH=*
|
|
if /i "%EXPLOIT%" EQU "L" set PWNS=*
|
|
if /i "%EXPLOIT%" EQU "LB" set Bathaxx=*
|
|
if /i "%EXPLOIT%" EQU "LS" set ROTJ=*
|
|
if /i "%EXPLOIT%" EQU "TOS" set TOS=*
|
|
if /i "%EXPLOIT%" EQU "T" set TWI=*
|
|
if /i "%EXPLOIT%" EQU "Y" set YUGI=*
|
|
if /i "%EXPLOIT%" EQU "LB" set Bathaxx=*
|
|
|
|
if /i "%EXPLOIT%" NEQ "?" goto:notallexploits2
|
|
if /i "%FIRMSTART%" EQU "o" set Twi=*
|
|
|
|
if /i "%macaddress%" EQU "S" goto:skip
|
|
if /i "%FIRMSTART%" EQU "4.3" set Wilbrand=*
|
|
:skip
|
|
|
|
set SMASH=*
|
|
if /i "%REGION%" NEQ "K" set PWNS=*
|
|
if /i "%REGION%" NEQ "K" set YUGI=*
|
|
if /i "%REGION%" NEQ "K" set Bathaxx=*
|
|
if /i "%REGION%" NEQ "K" set ROTJ=*
|
|
if /i "%REGION%" NEQ "K" set TOS=*
|
|
:notallexploits2
|
|
|
|
set BACKB4QUEUE=%backb4HACKMIISOLUTION%
|
|
goto:DOWNLOADQUEUE
|
|
|
|
|
|
|
|
::...................................Download...............................
|
|
:Download
|
|
|
|
cls
|
|
set cleardownloadsettings=yes
|
|
goto:clear
|
|
|
|
:DownloadSettings
|
|
set cleardownloadsettings=
|
|
|
|
|
|
::WiiU logic
|
|
if /i "%FIRMSTART%" EQU "U" goto:WiiULogic
|
|
if /i "%FIRMSTART%" NEQ "U2" goto:NotWiiULogic
|
|
:WiiULogic
|
|
set f32=*
|
|
SET Aroma=*
|
|
SET EnvironmentLoader=*
|
|
SET Nanddumper=*
|
|
|
|
|
|
::extras
|
|
SET SaveMiiModWUTPort=*
|
|
SET Bloopair=*
|
|
SET Inkay=*
|
|
::SET appstore=*
|
|
SET Screenshot_WUPS=*
|
|
SET AccountSwap=*
|
|
SET evWii=*
|
|
SET WiiVCLaunch=*
|
|
SET wudd=*
|
|
SET GiveMiiYouTube=*
|
|
SET wup_installer_gx2_wuhb=*
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:vWiiULogic
|
|
goto:DOWNLOADQUEUE
|
|
:NotWiiULogic
|
|
|
|
::vWii logic
|
|
if /i "%FIRMSTART%" NEQ "v" goto:NotvWiiULogic
|
|
:vWiiULogic
|
|
|
|
set f32=*
|
|
::always download CompatTitleInstaller as a secondary option for vWii Only guides even if BE (Browser Exploit) is not selected
|
|
set vIOS80P=*
|
|
|
|
set yawm=*
|
|
set cIOS248[38]-d2x-vWii=*
|
|
set cIOS249[56]-d2x-vWii=*
|
|
set cIOS250[57]-d2x-vWii=*
|
|
set cIOS251[58]-d2x-vWii=*
|
|
::The Mii Channel on the vWii lacks some features, such as connecting to a DS and moving Mii's onto a Wii remote
|
|
set MII=*
|
|
::custom vWii IOS61 (for photo channel v1.1 support); basically a copy of vWii IOS56
|
|
set vIOS61=*
|
|
set P=*
|
|
set HAZA=*
|
|
set pri=*
|
|
|
|
::Install EULA to prevent update loop when enabling Priiloader's Permanent vWii System Settings (vWii) system menu hack
|
|
if /i "%REGION%" EQU "U" set EULAU=*
|
|
if /i "%REGION%" EQU "E" set EULAE=*
|
|
if /i "%REGION%" EQU "J" set EULAJ=*
|
|
|
|
if /i "%ThemeSelection%" EQU "N" goto:notJ
|
|
set csminstaller=*
|
|
if /i "%REGION%" NEQ "U" goto:notU
|
|
if /i "%ThemeSelection%" EQU "R" set DarkWii_Red_vWiiU=*
|
|
if /i "%ThemeSelection%" EQU "G" set DarkWii_Green_vWiiU=*
|
|
if /i "%ThemeSelection%" EQU "Bl" set DarkWii_Blue_vWiiU=*
|
|
if /i "%ThemeSelection%" EQU "O" set darkwii_orange_vWiiU=*
|
|
if /i "%ThemeSelection%" EQU "D" set A1f=*
|
|
:notU
|
|
if /i "%REGION%" NEQ "E" goto:notE
|
|
if /i "%ThemeSelection%" EQU "R" set DarkWii_Red_vWiiE=*
|
|
if /i "%ThemeSelection%" EQU "G" set DarkWii_Green_vWiiE=*
|
|
if /i "%ThemeSelection%" EQU "Bl" set DarkWii_Blue_vWiiE=*
|
|
if /i "%ThemeSelection%" EQU "O" set darkwii_orange_vWiiE=*
|
|
if /i "%ThemeSelection%" EQU "D" set A22=*
|
|
:notE
|
|
if /i "%REGION%" NEQ "J" goto:notJ
|
|
if /i "%ThemeSelection%" EQU "R" set DarkWii_Red_vWiiJ=*
|
|
if /i "%ThemeSelection%" EQU "G" set DarkWii_Green_vWiiJ=*
|
|
if /i "%ThemeSelection%" EQU "Bl" set DarkWii_Blue_vWiiJ=*
|
|
if /i "%ThemeSelection%" EQU "O" set darkwii_orange_vWiiJ=*
|
|
if /i "%ThemeSelection%" EQU "D" set A1c=*
|
|
:notJ
|
|
|
|
|
|
|
|
::if BE not selected, it will be a secondary option, so always download
|
|
SET Aroma=*
|
|
SET EnvironmentLoader=*
|
|
SET Nanddumper=*
|
|
SET CompatTitleInstaller=*
|
|
::if /i "%EXPLOIT%" EQU "BE" (SET Aroma=*) & (SET EnvironmentLoader=*) & (SET Nanddumper=*) & (SET CompatTitleInstaller=*)
|
|
|
|
if /i "%EXPLOIT%" EQU "S" (set SMASH=*) & (set HM=*)
|
|
if /i "%EXPLOIT%" EQU "L" (set PWNS=*) & (set HM=*)
|
|
if /i "%EXPLOIT%" EQU "Y" (set YUGI=*) & (set HM=*)
|
|
if /i "%EXPLOIT%" EQU "LB" (set Bathaxx=*) & (set HM=*)
|
|
if /i "%EXPLOIT%" EQU "LS" (set ROTJ=*) & (set HM=*)
|
|
if /i "%EXPLOIT%" EQU "TOS" (set TOS=*) & (set HM=*)
|
|
|
|
|
|
|
|
|
|
if /i "%EXPLOIT%" NEQ "?" goto:notallexploits
|
|
|
|
::SET Aroma=*
|
|
::SET EnvironmentLoader=*
|
|
::SET Nanddumper=*
|
|
::SET CompatTitleInstaller=*
|
|
|
|
set HM=*
|
|
set SMASH=*
|
|
set PWNS=*
|
|
set Bathaxx=*
|
|
set ROTJ=*
|
|
set YUGI=*
|
|
set TOS=*
|
|
:notallexploits
|
|
|
|
::if hackmii installer downloaded, also download OHBC113 to update it, and LULZ hbc WAD to be able to uninstall leftover lulz version from hackmii
|
|
if /i "%HM%" EQU "*" (set DumpMii=*) & (set OHBC113=*) & (set OHBC=*)
|
|
|
|
if /i "%FWDOPTION%" EQU "on" set usbx=*
|
|
|
|
if /i "%USBGUIDE%" NEQ "Y" goto:NoUSBSETUP
|
|
if /i "%LOADER%" EQU "CFG" set usbfolder=*
|
|
if /i "%LOADER%" EQU "ALL" set usbfolder=*
|
|
if /i "%LOADER%" EQU "FLOW" set FLOW=*
|
|
if /i "%LOADER%" EQU "ALL" set FLOW=*
|
|
if /i "%LOADER%" EQU "GX" set usbgx=*
|
|
if /i "%LOADER%" EQU "ALL" set usbgx=*
|
|
set nintendont=*
|
|
set CleanRip=*
|
|
set wbm=*
|
|
set GCBM=*
|
|
set Nkit=*
|
|
:NoUSBSETUP
|
|
|
|
goto:DOWNLOADQUEUE
|
|
:notvWiiULogic
|
|
|
|
|
|
|
|
::Abstinence Logic
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:NotAbstinenceLogic
|
|
|
|
set casper=*
|
|
|
|
if /i "%SNKFLOW%" EQU "Y" set FLOW=*
|
|
if /i "%SNKPLC%" EQU "Y" set PL=*
|
|
|
|
if /i "%FIRMSTART%" EQU "4.1" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.0" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "3.2" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "3.x" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.2" set BB2=*
|
|
|
|
if /i "%macaddress%" EQU "S" goto:skip
|
|
if /i "%EXPLOIT%" EQU "W" set Wilbrand=*
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "S" set SMASH=*
|
|
if /i "%EXPLOIT%" EQU "L" set PWNS=*
|
|
if /i "%EXPLOIT%" EQU "T" set Twi=*
|
|
if /i "%EXPLOIT%" EQU "Y" set YUGI=*
|
|
if /i "%EXPLOIT%" EQU "LB" set Bathaxx=*
|
|
if /i "%EXPLOIT%" EQU "LS" set ROTJ=*
|
|
if /i "%EXPLOIT%" EQU "TOS" set TOS=*
|
|
if /i "%EXPLOIT%" NEQ "?" goto:notallexploits
|
|
if /i "%FIRMSTART%" EQU "o" set Twi=*
|
|
set SMASH=*
|
|
|
|
if /i "%macaddress%" EQU "S" goto:skip
|
|
if /i "%FIRMSTART%" EQU "4.3" set Wilbrand=*
|
|
:skip
|
|
|
|
if /i "%REGION%" NEQ "K" set PWNS=*
|
|
if /i "%REGION%" NEQ "K" set YUGI=*
|
|
if /i "%REGION%" NEQ "K" set Bathaxx=*
|
|
if /i "%REGION%" NEQ "K" set ROTJ=*
|
|
if /i "%REGION%" NEQ "K" set TOS=*
|
|
:notallexploits
|
|
|
|
::IOS53 and mmm
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:smallskip
|
|
if /i "%FIRMSTART%" EQU "4.2" goto:smallskip
|
|
set IOS53=*
|
|
::set mmm=*
|
|
set yawm=*
|
|
:smallskip
|
|
|
|
set f32=*
|
|
|
|
if /i "%secondrun%" EQU "Y" goto:DLCOUNT
|
|
set secondrun=Y
|
|
goto:guide
|
|
|
|
:NotAbstinenceLogic
|
|
|
|
|
|
set firmwarechange=yes
|
|
if /i "%FIRM%" EQU "%FIRMSTART%" set firmwarechange=no
|
|
|
|
if /i "%REGION%" EQU "U" goto:U
|
|
if /i "%REGION%" EQU "E" goto:E
|
|
if /i "%REGION%" EQU "J" goto:J
|
|
if /i "%REGION%" EQU "K" goto:K
|
|
|
|
|
|
:U
|
|
if /i "%firmwarechange%" EQU "no" goto:nofirmwarechange
|
|
|
|
if /i "%ThemeSelection%" NEQ "N" goto:skip
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3U=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2U=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1U=*
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3U-DWR=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2U-DWR=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1U-DWR=*
|
|
goto:SKIPSM
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3U-DWG=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2U-DWG=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1U-DWG=*
|
|
goto:SKIPSM
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPblueSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3U-DWB=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2U-DWB=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1U-DWB=*
|
|
goto:SKIPSM
|
|
:SKIPblueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPorangeSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3U-DWO=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2U-DWO=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1U-DWO=*
|
|
goto:SKIPSM
|
|
:SKIPorangeSM
|
|
|
|
:nofirmwarechange
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Red_4.3U=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Red_4.2U=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Red_4.1U=*
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Green_4.3U=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Green_4.2U=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Green_4.1U=*
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPBlueSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Blue_4.3U=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Blue_4.2U=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Blue_4.1U=*
|
|
:SKIPBlueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPOrangeSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set darkwii_orange_4.3U=*
|
|
if /i "%FIRM%" EQU "4.2" set darkwii_orange_4.2U=*
|
|
if /i "%FIRM%" EQU "4.1" set darkwii_orange_4.1U=*
|
|
:SKIPOrangeSM
|
|
|
|
|
|
if /i "%ThemeSelection%" NEQ "D" goto:SKIPDefSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set A97=*
|
|
if /i "%FIRM%" EQU "4.2" set A87=*
|
|
if /i "%FIRM%" EQU "4.1" set A7b=*
|
|
:SKIPDefSM
|
|
|
|
:SKIPSM
|
|
|
|
if /i "%PIC%" EQU "Y" (set P=*) & (set HAZA=*)
|
|
if /i "%NET%" EQU "Y" set IU=*
|
|
if /i "%WEATHER%" EQU "Y" set WU=*
|
|
if /i "%NEWS%" EQU "Y" set NU=*
|
|
if /i "%SHOP%" EQU "Y" set S=*
|
|
if /i "%SPEAK%" EQU "Y" set WSU=*
|
|
goto:BUGGEDSMIOS
|
|
|
|
|
|
|
|
:E
|
|
if /i "%firmwarechange%" EQU "no" goto:nofirmwarechange
|
|
|
|
if /i "%ThemeSelection%" NEQ "N" goto:skip
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3E=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2E=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1E=*
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3E-DWR=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2E-DWR=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1E-DWR=*
|
|
goto:SKIPSM
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3E-DWG=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2E-DWG=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1E-DWG=*
|
|
goto:SKIPSM
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPblueSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3E-DWB=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2E-DWB=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1E-DWB=*
|
|
goto:SKIPSM
|
|
:SKIPblueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPorangeSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3E-DWO=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2E-DWO=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1E-DWO=*
|
|
goto:SKIPSM
|
|
:SKIPorangeSM
|
|
|
|
:nofirmwarechange
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Red_4.3E=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Red_4.2E=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Red_4.1E=*
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Green_4.3E=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Green_4.2E=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Green_4.1E=*
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPBlueSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Blue_4.3E=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Blue_4.2E=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Blue_4.1E=*
|
|
:SKIPBlueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPOrangeSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set darkwii_orange_4.3E=*
|
|
if /i "%FIRM%" EQU "4.2" set darkwii_orange_4.2E=*
|
|
if /i "%FIRM%" EQU "4.1" set darkwii_orange_4.1E=*
|
|
:SKIPOrangeSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "D" goto:SKIPDefSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set A9a=*
|
|
if /i "%FIRM%" EQU "4.2" set A8a=*
|
|
if /i "%FIRM%" EQU "4.1" set A7e=*
|
|
:SKIPDefSM
|
|
|
|
:SKIPSM
|
|
|
|
if /i "%PIC%" EQU "Y" (set P=*) & (set HAZA=*)
|
|
if /i "%NET%" EQU "Y" set IE=*
|
|
if /i "%WEATHER%" EQU "Y" set WE=*
|
|
if /i "%NEWS%" EQU "Y" set NE=*
|
|
if /i "%SHOP%" EQU "Y" set S=*
|
|
if /i "%SPEAK%" EQU "Y" set WSE=*
|
|
goto:BUGGEDSMIOS
|
|
|
|
|
|
|
|
:J
|
|
if /i "%firmwarechange%" EQU "no" goto:nofirmwarechange
|
|
|
|
if /i "%ThemeSelection%" NEQ "N" goto:skip
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3J=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2J=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1J=*
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3J-DWR=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2J-DWR=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1J-DWR=*
|
|
goto:SKIPSM
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3J-DWG=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2J-DWG=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1J-DWG=*
|
|
goto:SKIPSM
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPblueSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3J-DWB=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2J-DWB=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1J-DWB=*
|
|
goto:SKIPSM
|
|
:SKIPblueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPorangeSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3J-DWO=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2J-DWO=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1J-DWO=*
|
|
goto:SKIPSM
|
|
:SKIPorangeSM
|
|
|
|
:nofirmwarechange
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Red_4.3J=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Red_4.2J=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Red_4.1J=*
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Green_4.3J=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Green_4.2J=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Green_4.1J=*
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPBlueSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Blue_4.3J=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Blue_4.2J=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Blue_4.1J=*
|
|
:SKIPBlueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPOrangeSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set darkwii_orange_4.3J=*
|
|
if /i "%FIRM%" EQU "4.2" set darkwii_orange_4.2J=*
|
|
if /i "%FIRM%" EQU "4.1" set darkwii_orange_4.1J=*
|
|
:SKIPOrangeSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "D" goto:SKIPDefSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set A94=*
|
|
if /i "%FIRM%" EQU "4.2" set A84=*
|
|
if /i "%FIRM%" EQU "4.1" set A78=*
|
|
:SKIPDefSM
|
|
|
|
:SKIPSM
|
|
|
|
if /i "%PIC%" EQU "Y" (set P=*) & (set HAZA=*)
|
|
if /i "%NET%" EQU "Y" set IJ=*
|
|
if /i "%WEATHER%" EQU "Y" set WJ=*
|
|
if /i "%NEWS%" EQU "Y" set NJ=*
|
|
if /i "%SHOP%" EQU "Y" set S=*
|
|
if /i "%SPEAK%" EQU "Y" set WSJ=*
|
|
goto:BUGGEDSMIOS
|
|
|
|
|
|
|
|
:K
|
|
if /i "%firmwarechange%" EQU "no" goto:nofirmwarechange
|
|
|
|
if /i "%ThemeSelection%" NEQ "N" goto:skip
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3K=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2K=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1K=*
|
|
:skip
|
|
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3K-DWR=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2K-DWR=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1K-DWR=*
|
|
goto:SKIPSM
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3K-DWG=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2K-DWG=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1K-DWG=*
|
|
goto:SKIPSM
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPblueSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3K-DWB=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2K-DWB=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1K-DWB=*
|
|
goto:SKIPSM
|
|
:SKIPblueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPorangeSM
|
|
if /i "%FIRM%" EQU "4.3" set SM4.3K-DWO=*
|
|
if /i "%FIRM%" EQU "4.2" set SM4.2K-DWO=*
|
|
if /i "%FIRM%" EQU "4.1" set SM4.1K-DWO=*
|
|
goto:SKIPSM
|
|
:SKIPorangeSM
|
|
|
|
:nofirmwarechange
|
|
if /i "%ThemeSelection%" NEQ "R" goto:SKIPredSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Red_4.3K=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Red_4.2K=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Red_4.1K=*
|
|
:SKIPredSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "G" goto:SKIPgreenSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Green_4.3K=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Green_4.2K=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Green_4.1K=*
|
|
:SKIPgreenSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "BL" goto:SKIPBlueSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set DarkWii_Blue_4.3K=*
|
|
if /i "%FIRM%" EQU "4.2" set DarkWii_Blue_4.2K=*
|
|
if /i "%FIRM%" EQU "4.1" set DarkWii_Blue_4.1K=*
|
|
:SKIPBlueSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "O" goto:SKIPOrangeSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set darkwii_orange_4.3K=*
|
|
if /i "%FIRM%" EQU "4.2" set darkwii_orange_4.2K=*
|
|
if /i "%FIRM%" EQU "4.1" set darkwii_orange_4.1K=*
|
|
:SKIPOrangeSM
|
|
|
|
if /i "%ThemeSelection%" NEQ "D" goto:SKIPDefSM
|
|
set csminstaller=*
|
|
if /i "%FIRM%" EQU "4.3" set A9d=*
|
|
if /i "%FIRM%" EQU "4.2" set A8d=*
|
|
if /i "%FIRM%" EQU "4.1" set A81=*
|
|
:SKIPDefSM
|
|
|
|
:SKIPSM
|
|
|
|
if /i "%PIC%" EQU "Y" (set PHOTOK=*) & (set HAZA=*)
|
|
if /i "%SHOP%" EQU "Y" set SK=*
|
|
if /i "%SPEAK%" EQU "Y" set WSK=*
|
|
|
|
|
|
|
|
|
|
:BUGGEDSMIOS
|
|
if /i "%FIRM%" EQU "%Firmstart%" goto:miniskip
|
|
if /i "%FIRM%" EQU "4.1" set IOS60P=*
|
|
if /i "%FIRM%" EQU "4.2" set IOS70K=*
|
|
if /i "%FIRM%" EQU "4.3" set IOS80K=*
|
|
:miniskip
|
|
|
|
if /i "%UpdatesIOSQ%" EQU "Y" goto:forceSMIOSs
|
|
if /i "%ExtraProtectionOPTION%" EQU "OFF" goto:skipBuggedSMIOS
|
|
if /i "%VIRGIN%" EQU "Y" goto:forceSMIOSs
|
|
|
|
:forceSMIOSs
|
|
set IOS11P60=*
|
|
set IOS20P60=*
|
|
set IOS30P60=*
|
|
set IOS40P60=*
|
|
set IOS50P=*
|
|
set IOS52P=*
|
|
set IOS60P=*
|
|
set IOS70K=*
|
|
set IOS80K=*
|
|
:skipBuggedSMIOS
|
|
|
|
::for region changing guide
|
|
if /i "%MENU1%" NEQ "RC" goto:notRC
|
|
::set mmm=*
|
|
set yawm=*
|
|
set ARC=*
|
|
set pri=*
|
|
set cIOS249[56]-d2x-v10-beta52=*
|
|
set bootmiisd=*
|
|
::IOS56 needed for v3 EULA
|
|
set IOS56=*
|
|
if /i "%REGION%" EQU "U" (set EULAU=*) & (set RSU=*)
|
|
if /i "%REGION%" EQU "E" (set EULAE=*) & (set RSE=*)
|
|
if /i "%REGION%" EQU "J" (set EULAJ=*) & (set RSJ=*) & (set IOS59=*)
|
|
if /i "%REGION%" EQU "K" (set EULAK=*) & (set RSK=*)
|
|
set KK=*
|
|
goto:DOWNLOADQUEUE
|
|
:notRC
|
|
|
|
|
|
|
|
|
|
:COMMONSETTINGS
|
|
if /i "%SHOP%" EQU "Y" set IOS56=*
|
|
|
|
if /i "%ACTIVEIOS%" EQU "off" goto:skipactiveios
|
|
if /i "%UpdatesIOSQ%" EQU "N" goto:skipactiveios
|
|
::if /i "%FIRMSTART%" EQU "4.3" goto:skipactiveios
|
|
|
|
|
|
:ACTIVEIOS
|
|
set yawm=*
|
|
set M10=*
|
|
set IOS9=*
|
|
set IOS12=*
|
|
set IOS13=*
|
|
set IOS14=*
|
|
set IOS15=*
|
|
set IOS17=*
|
|
set IOS21=*
|
|
set IOS22=*
|
|
set IOS28=*
|
|
set IOS31=*
|
|
set IOS33=*
|
|
set IOS34=*
|
|
set IOS35=*
|
|
set IOS36v3608=*
|
|
set IOS37=*
|
|
set IOS38=*
|
|
set ios41=*
|
|
set ios43=*
|
|
set ios45=*
|
|
set ios46=*
|
|
set IOS48v4124=*
|
|
set IOS53=*
|
|
set IOS55=*
|
|
set IOS56=*
|
|
set IOS57=*
|
|
set IOS58=*
|
|
::IOS59 is a J exclusive
|
|
if /i "%REGION%" EQU "J" set IOS59=*
|
|
set IOS61=*
|
|
set IOS62=*
|
|
:skipactiveios
|
|
|
|
if /i "%MIIQ%" EQU "Y" set Mii=*
|
|
|
|
|
|
|
|
|
|
|
|
if /i "%FWDOPTION%" EQU "on" (set usbx=*) & (set yawm=*)
|
|
|
|
if /i "%USBGUIDE%" NEQ "Y" goto:NoUSBSETUP
|
|
if /i "%LOADER%" EQU "CFG" set usbfolder=*
|
|
if /i "%LOADER%" EQU "ALL" set usbfolder=*
|
|
if /i "%LOADER%" EQU "FLOW" set FLOW=*
|
|
if /i "%LOADER%" EQU "ALL" set FLOW=*
|
|
if /i "%LOADER%" EQU "GX" set usbgx=*
|
|
if /i "%LOADER%" EQU "ALL" set usbgx=*
|
|
set nintendont=*
|
|
set CleanRip=*
|
|
set wbm=*
|
|
set GCBM=*
|
|
set Nkit=*
|
|
set f32=*
|
|
:NoUSBSETUP
|
|
|
|
|
|
|
|
if /i "%VIRGIN%" NEQ "Y" goto:notvirgin
|
|
:virgin
|
|
set F32=*
|
|
set HM=*
|
|
set OHBC=*
|
|
set bootmiisd=*
|
|
set IOS58=*
|
|
if /i "%FIRMSTART%" EQU "4.1" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.0" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "3.2" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "3.x" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.2" set BB2=*
|
|
|
|
if /i "%macaddress%" EQU "S" goto:skip
|
|
if /i "%EXPLOIT%" EQU "W" set Wilbrand=*
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "S" set SMASH=*
|
|
if /i "%EXPLOIT%" EQU "L" set PWNS=*
|
|
if /i "%EXPLOIT%" EQU "T" set Twi=*
|
|
if /i "%EXPLOIT%" EQU "Y" set YUGI=*
|
|
if /i "%EXPLOIT%" EQU "LB" set Bathaxx=*
|
|
if /i "%EXPLOIT%" EQU "LS" set ROTJ=*
|
|
if /i "%EXPLOIT%" EQU "TOS" set TOS=*
|
|
|
|
if /i "%EXPLOIT%" NEQ "?" goto:notallexploits
|
|
if /i "%FIRMSTART%" EQU "o" set Twi=*
|
|
|
|
if /i "%macaddress%" EQU "S" goto:skip
|
|
if /i "%FIRMSTART%" EQU "4.3" set Wilbrand=*
|
|
:skip
|
|
|
|
set SMASH=*
|
|
if /i "%REGION%" NEQ "K" set PWNS=*
|
|
if /i "%REGION%" NEQ "K" set YUGI=*
|
|
if /i "%REGION%" NEQ "K" set Bathaxx=*
|
|
if /i "%REGION%" NEQ "K" set ROTJ=*
|
|
if /i "%REGION%" NEQ "K" set TOS=*
|
|
:notallexploits
|
|
|
|
|
|
::removed IOS236 Installer and 236 all together effective 6.5.2
|
|
::set IOS236=*
|
|
::set IOS236Installer=*
|
|
::set SIP=*
|
|
::set IOS36=*
|
|
|
|
if /i "%hermesOPTION%" EQU "on" set cIOS202[60]-v5.1R=*
|
|
if /i "%hermesOPTION%" EQU "on" set cIOS222[38]-v4=*
|
|
if /i "%hermesOPTION%" EQU "on" set cIOS223[37-38]-v4=*
|
|
if /i "%hermesOPTION%" EQU "on" set cIOS224[57]-v5.1R=*
|
|
set cIOS248[38]-d2x-v10-beta52=*
|
|
set cIOS249[56]-d2x-v10-beta52=*
|
|
set cIOS250[57]-d2x-v10-beta52=*
|
|
set cIOS251[58]-d2x-v10-beta52=*
|
|
|
|
|
|
|
|
::if /i "%CMIOSOPTION%" EQU "on" set RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2=*
|
|
if /i "%CMIOSOPTION%" EQU "on" set Swiss_cMIOS=*
|
|
|
|
if /i "%CMIOSOPTION%" EQU "on" set M10=
|
|
set pri=*
|
|
::set HAX=*
|
|
set yawm=*
|
|
|
|
|
|
If /i "%REGION%" NEQ "K" goto:nonkorean
|
|
If /i "%FIRMSTART%" EQU "4.3" goto:nonkorean
|
|
::set mmm=*
|
|
set yawm=*
|
|
:nonkorean
|
|
|
|
goto:DOWNLOADQUEUE
|
|
|
|
|
|
|
|
:notvirgin
|
|
|
|
::set yawm=*
|
|
if /i "%PIC%" EQU "Y" set yawm=*
|
|
if /i "%NET%" EQU "Y" set yawm=*
|
|
if /i "%WEATHER%" EQU "Y" set yawm=*
|
|
if /i "%NEWS%" EQU "Y" set yawm=*
|
|
if /i "%SHOP%" EQU "Y" set yawm=*
|
|
if /i "%SPEAK%" EQU "Y" set yawm=*
|
|
|
|
if /i "%HMInstaller%" NEQ "Y" goto:noHMInstallerforNonVirgin
|
|
set F32=*
|
|
set HM=*
|
|
set bootmiisd=*
|
|
set IOS58=*
|
|
set yawm=*
|
|
if /i "%FIRMSTART%" EQU "4.1" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.0" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "3.x" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "3.2" set BB1=*
|
|
if /i "%FIRMSTART%" EQU "4.2" set BB2=*
|
|
|
|
if /i "%FIRMSTART%" EQU "o" goto:gonow
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:gonow
|
|
goto:skipextra2
|
|
|
|
:gonow
|
|
::if /i "%FIRMSTART%" EQU "o" set TWI=*
|
|
::set SMASH=*
|
|
::if /i "%REGION%" NEQ "K" set PWNS=*
|
|
::if /i "%REGION%" NEQ "K" set YUGI=*
|
|
::if /i "%REGION%" NEQ "K" set Bathaxx=*
|
|
::if /i "%REGION%" NEQ "K" set ROTJ=*
|
|
::if /i "%REGION%" NEQ "K" set TOS=*
|
|
:skipextra2
|
|
|
|
:noHMInstallerforNonVirgin
|
|
|
|
if /i "%FIRM%" NEQ "%FIRMSTART%" set yawm=*
|
|
|
|
if /i "%RECCIOS%" EQU "Y" set yawm=*
|
|
|
|
if /i "%hermesOPTION%" EQU "off" goto:skipHermes
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS202[60]-v5.1R=*
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS222[38]-v4=*
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS223[37-38]-v4=*
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS224[57]-v5.1R=*
|
|
:skipHermes
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS248[38]-d2x-v10-beta52=*
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS249[56]-d2x-v10-beta52=*
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS250[57]-d2x-v10-beta52=*
|
|
if /i "%RECCIOS%" EQU "Y" set cIOS251[58]-d2x-v10-beta52=*
|
|
|
|
if /i "%CMIOSOPTION%" EQU "off" goto:quickskip
|
|
::if /i "%RECCIOS%" EQU "Y" set RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2=*
|
|
if /i "%RECCIOS%" EQU "Y" set Swiss_cMIOS=*
|
|
if /i "%RECCIOS%" EQU "Y" set M10=
|
|
:quickskip
|
|
|
|
::since yawmME can retain priloader, no need to reinstall even if a new SM is installed
|
|
::if /i "%FIRM%" NEQ "%FIRMSTART%" set pri=*
|
|
|
|
if /i "%PRIQ%" NEQ "Y" goto:DOWNLOADQUEUE
|
|
set pri=*
|
|
goto:DOWNLOADQUEUE
|
|
|
|
|
|
|
|
::...................................PICK Download Queue...............................
|
|
:PICKDOWNLOADQUEUE
|
|
|
|
if exist temp\DLnamesADV.txt del temp\DLnamesADV.txt>nul
|
|
if exist temp\DLgotosADV.txt del temp\DLgotosADV.txt>nul
|
|
|
|
if not exist temp\DownloadQueues mkdir temp\DownloadQueues
|
|
|
|
dir temp\DownloadQueues\*.bat /a:-d /b>temp\list.txt
|
|
|
|
::count # of queues
|
|
SET DLQUEUEnum=0
|
|
for /f %%a in (temp\list.txt) do set /a DLQUEUEnum+=1
|
|
|
|
|
|
set DLQUEUE="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo Select the Download Queue you would like to load:
|
|
echo.
|
|
|
|
|
|
if /i "%DLQUEUEnum%" NEQ "0" goto:notzero
|
|
|
|
echo No Download Queues Found
|
|
echo.
|
|
echo Before you can load a queue you have to save one using ModMii
|
|
echo Or if loading a queue a friend has shared with you, just drag
|
|
echo and drop it onto ModMii.exe or a shortcut to ModMii.
|
|
echo.
|
|
echo.
|
|
echo Note: Download Queues are saved to "temp\DownloadQueues"
|
|
echo and can be shared amongst different ModMii users.
|
|
echo.
|
|
echo You can drag and drop a download queue onto ModMii.exe
|
|
echo to load it and save a copy to "temp\DownloadQueues"
|
|
echo for future use.
|
|
echo.
|
|
echo.
|
|
echo Press any key to return to the Main Menu.
|
|
echo.
|
|
pause>nul
|
|
goto:MENU
|
|
|
|
:notzero
|
|
|
|
|
|
::list files (numbered)
|
|
FINDSTR /N . temp\list.txt>temp\list2.txt
|
|
support\sfk filter -quiet "temp\list2.txt" -rep _":"_" = "_ -lerep _.bat__ -write -yes
|
|
type temp\list2.txt
|
|
|
|
|
|
echo.
|
|
echo Note: Download Queues are saved to "temp\DownloadQueues"
|
|
echo and can be shared amongst different ModMii users.
|
|
echo.
|
|
echo You can drag and drop a download queue onto ModMii.exe
|
|
echo to load it and save a copy to "temp\DownloadQueues"
|
|
echo for future use.
|
|
echo.
|
|
echo To delete a queue enter - before its number (e.g. -1)
|
|
echo or manually delete the file from "temp\DownloadQueues"
|
|
echo.
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
set /p DLQUEUE=Enter Selection Here:
|
|
set "DLQUEUE=%DLQUEUE:"=%"
|
|
if /i "%DLQUEUE%" EQU "M" goto:MENU
|
|
if /i "%DLQUEUE%" EQU "B" goto:MENU
|
|
|
|
if "%DLQUEUE%"=="" goto:badkey
|
|
|
|
set delqueue=
|
|
if "%DLQUEUE:~0,1%" EQU "-" set delqueue=y
|
|
if "%DLQUEUE:~0,1%" EQU "-" set "DLQUEUE=%DLQUEUE:~1%"
|
|
|
|
|
|
if %DLQUEUE% LSS 1 goto:badkey
|
|
if /i %DLQUEUE% GTR %DLQUEUEnum% goto:badkey
|
|
|
|
|
|
support\sfk filter -quiet "temp\list2.txt" -ls+"%DLQUEUE% = " -lsrep _"%DLQUEUE% = "__ -write -yes
|
|
set /p CurrentQueue= <temp\list2.txt
|
|
set "CurrentQueue=%CurrentQueue%.bat"
|
|
|
|
del temp\list.txt>nul
|
|
del temp\list2.txt>nul
|
|
|
|
if /i "%delqueue%" EQU "y" del "temp\DownloadQueues\%CurrentQueue%"
|
|
if /i "%delqueue%" EQU "y" goto:PICKDOWNLOADQUEUE
|
|
|
|
findStr /I /B /C:":endofqueue" "temp\DownloadQueues\%CurrentQueue%" >nul
|
|
IF ERRORLEVEL 1 (echo Not a valid download queue...) & (goto:badkey)
|
|
|
|
:forcmdlineL
|
|
|
|
::fix for old modmii queues using old version of sfk.exe
|
|
support\sfk filter -spat "temp\DownloadQueues\%CurrentQueue%" -rep _"sfk filter"_"sfk -spat filter"_ -rep _\x22\x22\x22_\x5cx22_ -write -yes>nul
|
|
call "temp\DownloadQueues\%CurrentQueue%"
|
|
set BACKB4QUEUE=CLEAR
|
|
goto:DownloadQueue
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:PICKDOWNLOADQUEUE
|
|
|
|
|
|
|
|
|
|
|
|
::...................................Download Queue...............................
|
|
:DOWNLOADQUEUE
|
|
|
|
::auto-toggle "CheatCodes" if AccioHacks and CheatZip are both toggled
|
|
if /i "%AccioHacks%" EQU "*" if /i "%CheatZip%" EQU "*" set CheatCodes=*
|
|
::disable CheatCodes if no txtcodes queued or already exist
|
|
if /i "%CheatZip%" NEQ "*" if not exist "%DRIVE%"\txtcodes\*.txt set CheatCodes=
|
|
|
|
set settings="
|
|
if /i "%cmdlinemode%" EQU "Y" set settings=Y
|
|
if /i "%cmdguide%" EQU "G" set settings=G
|
|
|
|
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
|
|
|
|
::disable d2x bases 60/70/80 IF older than v8 beta 42, as those bases never existed for those older versions
|
|
echo "set cIOSversionNum=%d2x-beta-rev%">temp\cIOSrev.bat
|
|
support\sfk filter -spat temp\cIOSrev.bat -rep _\x22__ -rep _"-*"__ -write -yes>nul
|
|
call temp\cIOSrev.bat
|
|
del temp\cIOSrev.bat>nul
|
|
|
|
if %cIOSversionNum% GEQ 8 goto:skipdisable
|
|
set cIOS249[60]-d2x-v10-beta52=
|
|
set cIOS249[70]-d2x-v10-beta52=
|
|
set cIOS249[80]-d2x-v10-beta52=
|
|
set cIOS250[60]-d2x-v10-beta52=
|
|
set cIOS250[70]-d2x-v10-beta52=
|
|
set cIOS250[80]-d2x-v10-beta52=
|
|
:skipdisable
|
|
|
|
::disable vWii d2x downloads where not supported
|
|
if exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:skipdisable
|
|
if exist "Support\d2x-beta\" (goto:disable) else (goto:skipdisable)
|
|
|
|
:disable
|
|
set cIOS248[38]-d2x-vWii=
|
|
set cIOS249[56]-d2x-vWii=
|
|
set cIOS250[57]-d2x-vWii=
|
|
set cIOS251[58]-d2x-vWii=
|
|
goto:skipdisable2
|
|
:skipdisable
|
|
|
|
|
|
::disable cIOS248[38]-d2x-vWii if not supported in ciosmaps_vWii.xml
|
|
if not exist "Support\d2x-beta\ciosmaps_vWii.xml" goto:skipdisable2
|
|
|
|
::check ciosmaps_vWii.xml for 'base ios="38"'
|
|
findStr /I /C:"base ios=\"38\"" "Support\d2x-beta\ciosmaps_vWii.xml" >nul
|
|
IF NOT ERRORLEVEL 1 goto:skipdisable2
|
|
set cIOS248[38]-d2x-vWii=
|
|
:skipdisable2
|
|
|
|
|
|
::unsupported advanced downloads from older queues (v8.0.0 or older) won't get disabled by the above and will error :(
|
|
|
|
|
|
::--------------
|
|
::d2x check for changed DL names and md5's for Advanced downloads only
|
|
if /i "%MENU1%" NEQ "L" goto:DLCOUNT
|
|
if not exist temp\DLnamesADV.txt goto:DLCOUNT
|
|
findStr "d2x" temp\DLnamesADV.txt >nul
|
|
IF ERRORLEVEL 1 goto:DLCOUNT
|
|
|
|
::get queue version, if built using 8.0.1 or higher skip all these old fixes (which may not even be needed)
|
|
support\sfk filter -spat "temp\DownloadQueues\%CurrentQueue%" -ls+"\x3A\x3AModMii v" -rep _"\x3A\x3AModMii v"__ -rep _\x20*__ >temp\QueueVersion.txt
|
|
set /p QueueVersion= <temp\QueueVersion.txt
|
|
::echo %QueueVersion%
|
|
if "%QueueVersion%"=="" set QueueVersion=0.0.1
|
|
|
|
if %QueueVersion% GEQ 8.0.1 goto:DLCOUNT
|
|
|
|
echo This queue includes Advanced d2x cIOS Downloads built with an older version of ModMii
|
|
echo Converting these to use the version of d2x enabled in ModMii's settings (%d2x-beta-rev%)
|
|
echo.
|
|
::split out default d2x cIOSs and force "8-final" (ie. set d2x-beta-rev=10-beta52)
|
|
|
|
support\sfk filter -spat "temp\DownloadQueues\%CurrentQueue%" -ls+"SET cIOS" -le+"\x3d\x2a">temp\temp.bat
|
|
support\sfk filter -spat temp\temp.bat -and+"-d2x-v" -rep _"-d2x-"*_"-d2x-v10-beta52\x3d\x2a"_ -write -yes>nul
|
|
call temp\temp.bat
|
|
|
|
|
|
FINDSTR /N . temp\DLnamesADV.txt>temp\DLnamesADVcheck.txt
|
|
support\sfk filter -quiet temp\DLnamesADVcheck.txt -+d2x -rep _cIOS*[_cIOS249[_ -rep _"Advanced Download: "__ -write -yes
|
|
|
|
set loadorgo=load4queue
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\DLnamesADVcheck.txt) do call :processDLCheck %%A
|
|
goto:quickskip
|
|
:processDLCheck
|
|
|
|
set advDLCheck=%*
|
|
|
|
echo set advDLcheckNUM=%advDLCheck%>temp\advDLcheckNUM.bat
|
|
support\sfk filter -quiet temp\advDLcheckNUM.bat -rep _:*__ -write -yes
|
|
call temp\advDLcheckNUM.bat
|
|
del temp\advDLcheckNUM.bat>nul
|
|
echo %advDLCheck%>temp\advDLcheck.bat
|
|
support\sfk filter -quiet temp\advDLcheck.bat -rep _"%advDLcheckNUM%:"_"set advDLcheck="_ -write -yes
|
|
call temp\advDLcheck.bat
|
|
del temp\advDLcheck.bat>nul
|
|
|
|
call temp\AdvDL%advDLcheckNUM%.bat
|
|
set oldfullname=%name%
|
|
set oldwadname=%wadname%
|
|
|
|
set advDLCheck0=%advDLCheck%
|
|
|
|
set d2x-beta-rev=%d2x-bundled%
|
|
set advDLCheck=%advDLCheck:~0,17%%d2x-beta-rev%
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
|
|
set string=%d2x-beta-rev%
|
|
set d2xVersionLength=0
|
|
|
|
:loopd2xVersionLength
|
|
if defined string (
|
|
set string=%string:~1%
|
|
set /A d2xVersionLength += 1
|
|
goto:loopd2xVersionLength
|
|
)
|
|
|
|
echo set alt-d2x-beta-rev=%advDLcheck0:~17%>temp\d2x-beta-rev.bat
|
|
support\sfk filter temp\d2x-beta-rev.bat -spat -rep _\x2d\x5b*__ -write -yes>nul
|
|
call temp\d2x-beta-rev.bat
|
|
del temp\d2x-beta-rev.bat>nul
|
|
|
|
|
|
if /i "%d2x-beta-rev%" EQU "%alt-d2x-beta-rev%" goto:EOF
|
|
|
|
if /i "%oldwadname:~-5%" EQU "-vWii" (set CurrentDLNAME=%oldwadname:~0,17%Wii) else (set CurrentDLNAME=%oldwadname:~0,17%10-beta52)
|
|
call "Support\subscripts\DB.bat"
|
|
|
|
:processDLCheck2
|
|
|
|
set slotnum=%slotcode:~7%
|
|
if "%slotnum%"=="" set slotnum=249
|
|
|
|
if /i "%oldwadname:~-5%" EQU "-vWii" (set newname=cIOS%slotnum%%basecios:~7,10%%d2x-beta-rev%-vWii) else (set newname=cIOS%slotnum%%basecios:~7,10%%d2x-beta-rev%)
|
|
::set newname=cIOS%slotnum%%basecios:~7,10%%d2x-beta-rev%
|
|
|
|
::update temp\AdvDL#.bat
|
|
support\sfk filter -quiet temp\AdvDL%advDLcheckNUM%.bat -rep _"set MD5="*_"set MD5=%MD5%"_ -rep _"set md5alt="*_"set md5alt=%md5alt%"_ -rep _"set ciosversion="*_"set ciosversion=%ciosversion%"_ -rep _"Advanced Download: "*_"Advanced Download: %newname%%versionname%"_ -rep _"set wadname="*_"set wadname=%wadname%"_ -rep _"set wadnameless="*_"set wadnameless=%newname%"_ -write -yes
|
|
|
|
::update temp\DLnamesADV.txt
|
|
support\sfk filter -quiet temp\DLnamesADV.txt -lerep _"%oldfullname% "_"Advanced Download: %newname%%versionname%"_ -write -yes
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
if exist temp\DLnamesADVcheck.txt del temp\DLnamesADVcheck.txt>nul
|
|
set loadorgo=go
|
|
::---------------------
|
|
|
|
|
|
::Count how many downloads there are!
|
|
:DLCOUNT
|
|
|
|
if exist temp\DLnames.txt del temp\DLnames.txt>nul
|
|
if exist temp\DLgotos.txt del temp\DLgotos.txt>nul
|
|
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%one%" NEQ "U" goto:nocmdlineusbloadersettings
|
|
if /i "%LOADER%" EQU "CFG" set usbfolder=*
|
|
if /i "%LOADER%" EQU "ALL" set usbfolder=*
|
|
if /i "%LOADER%" EQU "FLOW" set FLOW=*
|
|
if /i "%LOADER%" EQU "ALL" set FLOW=*
|
|
if /i "%LOADER%" EQU "GX" set usbgx=*
|
|
if /i "%LOADER%" EQU "ALL" set usbgx=*
|
|
set nintendont=*
|
|
set CleanRip=*
|
|
set wbm=*
|
|
set GCBM=*
|
|
set Nkit=*
|
|
set f32=*
|
|
:nocmdlineusbloadersettings
|
|
|
|
::get PCconfig for PC Apps
|
|
set PCconfig=(Portable installation)
|
|
if /i "%PCSAVE%" EQU "Local" set PCconfig=(Local installation with shortcuts)
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" EQU "%ModMiiDrive%" set PCconfig=(Local installation with shortcuts)
|
|
:skip
|
|
|
|
if /i "%A01_60%" EQU "*" (echo "00000001.app from IOS60 v6174 (SNEEK)">>temp\DLnames.txt) & (echo "NUSGRABBER01_60">>temp\DLgotos.txt)
|
|
if /i "%A0c%" EQU "*" (echo "0000000c.app from MIOS v10 (DIOS MIOS)">>temp\DLnames.txt) & (echo "NUSGRABBER0c">>temp\DLgotos.txt)
|
|
if /i "%A0e%" EQU "*" (echo "0000000e.app from IOS80 v6943 (SNEEK)">>temp\DLnames.txt) & (echo "NUSGRABBER0e">>temp\DLgotos.txt)
|
|
if /i "%A0d%" EQU "*" (echo "0000000d.app from vWii IOS80 v7200 (SNEEK)">>temp\DLnames.txt) & (echo "A0d">>temp\DLgotos.txt)
|
|
if /i "%AccioHacks%" EQU "*" (echo "Accio Hacks">>temp\DLnames.txt) & (echo "AccioHacks">>temp\DLgotos.txt)
|
|
if /i "%ARC%" EQU "*" (echo "Any Region Changer ModMii Edition">>temp\DLnames.txt) & (echo "ARC">>temp\DLgotos.txt)
|
|
if /i "%Aroma%" EQU "*" (echo "Aroma">>temp\DLnames.txt) & (echo "Aroma">>temp\DLgotos.txt)
|
|
if /i "%BB1%" EQU "*" (echo "Bannerbomb v1">>temp\DLnames.txt) & (echo "Bannerbomb1">>temp\DLgotos.txt)
|
|
if /i "%BB2%" EQU "*" (echo "Bannerbomb v2">>temp\DLnames.txt) & (echo "Bannerbomb2">>temp\DLgotos.txt)
|
|
if /i "%Bathaxx%" EQU "*" (echo "Bathaxx (USA, PAL and JPN)">>temp\DLnames.txt) & (echo "Bathaxx">>temp\DLgotos.txt)
|
|
if /i "%BC%" EQU "*" (echo "BC">>temp\DLnames.txt) & (echo "BCNUS">>temp\DLgotos.txt)
|
|
|
|
if /i "%BCnand%" EQU "*" (echo "BC NAND vWii">>temp\DLnames.txt) & (echo "BCnand">>temp\DLgotos.txt)
|
|
if /i "%BCwfs%" EQU "*" (echo "BC WFS vWii">>temp\DLnames.txt) & (echo "BCwfs">>temp\DLgotos.txt)
|
|
|
|
if /i "%Bloopair%" EQU "*" (echo "Bloopair">>temp\DLnames.txt) & (echo "Bloopair">>temp\DLgotos.txt)
|
|
|
|
|
|
if /i "%bootmiisd%" EQU "*" (echo "Bootmii SD Files">>temp\DLnames.txt) & (echo "bootmiisd">>temp\DLgotos.txt)
|
|
if /i "%Casper%" EQU "*" (echo "Casper">>temp\DLnames.txt) & (echo "Casper">>temp\DLgotos.txt)
|
|
if /i "%cBC%" EQU "*" (echo "cBC-NMMv0.2a">>temp\DLnames.txt) & (echo "NMM">>temp\DLgotos.txt)
|
|
if /i "%Cemu%" EQU "*" (echo "Cemu %PCconfig%">>temp\DLnames.txt) & (echo "Cemu">>temp\DLgotos.txt)
|
|
if /i "%CheatZip%" EQU "*" (echo "Cheat Codes (txtcodes)">>temp\DLnames.txt) & (echo "CheatZip">>temp\DLgotos.txt)
|
|
if /i "%CheatCodes%" EQU "*" (echo "Copy of Cheat Codes for AccioHacks">>temp\DLnames.txt) & (echo "CheatCodes">>temp\DLgotos.txt)
|
|
if /i "%cIOS202[60]-v5.1R%" EQU "*" (echo "cIOS202[60]-v5.1R">>temp\DLnames.txt) & (echo "cIOS202[60]-v5.1R">>temp\DLgotos.txt)
|
|
if /i "%cIOS222[38]-v4%" EQU "*" (echo "cIOS222[38]-v4">>temp\DLnames.txt) & (echo "cIOS222[38]-v4">>temp\DLgotos.txt)
|
|
if /i "%cIOS222[38]-v5%" EQU "*" (echo "cIOS222[38]-v5">>temp\DLnames.txt) & (echo "cIOS222[38]-v5">>temp\DLgotos.txt)
|
|
if /i "%cIOS222[38]-v5.1R%" EQU "*" (echo "cIOS222[38]-v5.1R">>temp\DLnames.txt) & (echo "cIOS222[38]-v5.1R">>temp\DLgotos.txt)
|
|
if /i "%cIOS223[37]-v5%" EQU "*" (echo "cIOS223[37]-v5">>temp\DLnames.txt) & (echo "cIOS223[37]-v5">>temp\DLgotos.txt)
|
|
if /i "%cIOS223[37]-v5.1R%" EQU "*" (echo "cIOS223[37]-v5.1R">>temp\DLnames.txt) & (echo "cIOS223[37]-v5.1R">>temp\DLgotos.txt)
|
|
if /i "%cIOS223[37-38]-v4%" EQU "*" (echo "cIOS223[37-38]-v4">>temp\DLnames.txt) & (echo "cIOS223[37-38]-v4">>temp\DLgotos.txt)
|
|
if /i "%cIOS224[57]-v5%" EQU "*" (echo "cIOS224[57]-v5">>temp\DLnames.txt) & (echo "cIOS224[57]-v5">>temp\DLgotos.txt)
|
|
if /i "%cIOS224[57]-v5.1R%" EQU "*" (echo "cIOS224[57]-v5.1R">>temp\DLnames.txt) & (echo "cIOS224[57]-v5.1R">>temp\DLgotos.txt)
|
|
if /i "%cIOS248[38]-d2x-v10-beta52%" EQU "*" (echo "cIOS248[38]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS248[38]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[37]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[37]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[37]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[37]-v19%" EQU "*" (echo "cIOS249[37]-v19">>temp\DLnames.txt) & (echo "cIOS249[37]-v19">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[37]-v21%" EQU "*" (echo "cIOS249[37]-v21">>temp\DLnames.txt) & (echo "cIOS249[37]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[38]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[38]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[38]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[38]-v19%" EQU "*" (echo "cIOS249[38]-v19">>temp\DLnames.txt) & (echo "cIOS249[38]-v19">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[38]-v20%" EQU "*" (echo "cIOS249[38]-v20">>temp\DLnames.txt) & (echo "cIOS249[38]-v20">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[38]-v21%" EQU "*" (echo "cIOS249[38]-v21">>temp\DLnames.txt) & (echo "cIOS249[38]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[53]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[53]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[53]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[53]-v21%" EQU "*" (echo "cIOS249[53]-v21">>temp\DLnames.txt) & (echo "cIOS249[53]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[55]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[55]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[55]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[55]-v21%" EQU "*" (echo "cIOS249[55]-v21">>temp\DLnames.txt) & (echo "cIOS249[55]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[56]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[56]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[56]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[56]-v20%" EQU "*" (echo "cIOS249[56]-v20">>temp\DLnames.txt) & (echo "cIOS249[56]-v20">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[56]-v21%" EQU "*" (echo "cIOS249[56]-v21">>temp\DLnames.txt) & (echo "cIOS249[56]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[57]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[57]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[57]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[57]-v19%" EQU "*" (echo "cIOS249[57]-v19">>temp\DLnames.txt) & (echo "cIOS249[57]-v19">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[57]-v20%" EQU "*" (echo "cIOS249[57]-v20">>temp\DLnames.txt) & (echo "cIOS249[57]-v20">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[57]-v21%" EQU "*" (echo "cIOS249[57]-v21">>temp\DLnames.txt) & (echo "cIOS249[57]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[58]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[58]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[58]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[58]-v21%" EQU "*" (echo "cIOS249[58]-v21">>temp\DLnames.txt) & (echo "cIOS249[58]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[60]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[60]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[60]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[70]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[70]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[70]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[80]-d2x-v10-beta52%" EQU "*" (echo "cIOS249[80]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS249[80]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS249-v14%" EQU "*" (echo "cIOS249-v14">>temp\DLnames.txt) & (echo "cIOS249-v14">>temp\DLgotos.txt)
|
|
if /i "%cIOS249-v17b%" EQU "*" (echo "cIOS249-v17b">>temp\DLnames.txt) & (echo "cIOS249-v17b">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[37]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[37]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[37]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[37]-v19%" EQU "*" (echo "cIOS250[37]-v19">>temp\DLnames.txt) & (echo "cIOS250[37]-v19">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[37]-v21%" EQU "*" (echo "cIOS250[37]-v21">>temp\DLnames.txt) & (echo "cIOS250[37]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[38]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[38]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[38]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[38]-v19%" EQU "*" (echo "cIOS250[38]-v19">>temp\DLnames.txt) & (echo "cIOS250[38]-v19">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[38]-v20%" EQU "*" (echo "cIOS250[38]-v20">>temp\DLnames.txt) & (echo "cIOS250[38]-v20">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[38]-v21%" EQU "*" (echo "cIOS250[38]-v21">>temp\DLnames.txt) & (echo "cIOS250[38]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[53]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[53]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[53]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[53]-v21%" EQU "*" (echo "cIOS250[53]-v21">>temp\DLnames.txt) & (echo "cIOS250[53]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[55]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[55]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[55]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[55]-v21%" EQU "*" (echo "cIOS250[55]-v21">>temp\DLnames.txt) & (echo "cIOS250[55]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[56]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[56]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[56]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[56]-v20%" EQU "*" (echo "cIOS250[56]-v20">>temp\DLnames.txt) & (echo "cIOS250[56]-v20">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[56]-v21%" EQU "*" (echo "cIOS250[56]-v21">>temp\DLnames.txt) & (echo "cIOS250[56]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[57]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[57]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[57]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[57]-v19%" EQU "*" (echo "cIOS250[57]-v19">>temp\DLnames.txt) & (echo "cIOS250[57]-v19">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[57]-v20%" EQU "*" (echo "cIOS250[57]-v20">>temp\DLnames.txt) & (echo "cIOS250[57]-v20">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[57]-v21%" EQU "*" (echo "cIOS250[57]-v21">>temp\DLnames.txt) & (echo "cIOS250[57]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[58]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[58]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[58]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[58]-v21%" EQU "*" (echo "cIOS250[58]-v21">>temp\DLnames.txt) & (echo "cIOS250[58]-v21">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[60]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[60]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[60]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[70]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[70]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[70]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[80]-d2x-v10-beta52%" EQU "*" (echo "cIOS250[80]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS250[80]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
|
|
if /i "%cIOS248[38]-d2x-vWii%" EQU "*" (echo "cIOS248[38]-d2x-v%d2x-beta-rev%-vWii">>temp\DLnames.txt) & (echo "cIOS248[38]-d2x-vWii">>temp\DLgotos.txt)
|
|
if /i "%cIOS249[56]-d2x-vWii%" EQU "*" (echo "cIOS249[56]-d2x-v%d2x-beta-rev%-vWii">>temp\DLnames.txt) & (echo "cIOS249[56]-d2x-vWii">>temp\DLgotos.txt)
|
|
if /i "%cIOS250[57]-d2x-vWii%" EQU "*" (echo "cIOS250[57]-d2x-v%d2x-beta-rev%-vWii">>temp\DLnames.txt) & (echo "cIOS250[57]-d2x-vWii">>temp\DLgotos.txt)
|
|
if /i "%cIOS251[58]-d2x-vWii%" EQU "*" (echo "cIOS251[58]-d2x-v%d2x-beta-rev%-vWii">>temp\DLnames.txt) & (echo "cIOS251[58]-d2x-vWii">>temp\DLgotos.txt)
|
|
|
|
if /i "%cIOS250-v14%" EQU "*" (echo "cIOS250-v14">>temp\DLnames.txt) & (echo "cIOS250-v14">>temp\DLgotos.txt)
|
|
if /i "%cIOS250-v17b%" EQU "*" (echo "cIOS250-v17b">>temp\DLnames.txt) & (echo "cIOS250-v17b">>temp\DLgotos.txt)
|
|
if /i "%cIOS251[58]-d2x-v10-beta52%" EQU "*" (echo "cIOS251[58]-d2x-v%d2x-beta-rev%">>temp\DLnames.txt) & (echo "cIOS251[58]-d2x-v10-beta52">>temp\DLgotos.txt)
|
|
if /i "%vIOS61%" EQU "*" (echo "cIOS61[56]-v5918-vWii">>temp\DLnames.txt) & (echo "vIOS61">>temp\DLgotos.txt)
|
|
if /i "%CleanRip%" EQU "*" (echo "CleanRip">>temp\DLnames.txt) & (echo "CleanRip">>temp\DLgotos.txt)
|
|
|
|
if /i "%CompatTitleInstaller%" EQU "*" (echo "Compat Title Installer">>temp\DLnames.txt) & (echo "CompatTitleInstaller">>temp\DLgotos.txt)
|
|
|
|
if /i "%RVL-cmios-v4_Waninkoko_rev5%" EQU "*" (echo "cMIOS-v4 Waninkoko rev5">>temp\DLnames.txt) & (echo "RVL-cmios-v4_Waninkoko_rev5">>temp\DLgotos.txt)
|
|
if /i "%RVL-cmios-v4_WiiGator_GCBL_v0.2%" EQU "*" (echo "cMIOS-v4 WiiGator GCBL v0.2">>temp\DLnames.txt) & (echo "RVL-cmios-v4_WiiGator_GCBL_v0.2">>temp\DLgotos.txt)
|
|
if /i "%usbfolder%" EQU "*" (echo "Configurable USB-Loader">>temp\DLnames.txt) & (echo "usbfolder">>temp\DLgotos.txt)
|
|
if /i "%csminstaller%" EQU "*" (echo "csm-installer">>temp\DLnames.txt) & (echo "csminstaller">>temp\DLgotos.txt)
|
|
if /i "%CM%" EQU "*" (echo "Customize Mii %PCconfig%">>temp\DLnames.txt) & (echo "CustomizeMii">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.1E%" EQU "*" (echo "DarkWii Blue Theme (4.1E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.1E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.1J%" EQU "*" (echo "DarkWii Blue Theme (4.1J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.1J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.1K%" EQU "*" (echo "DarkWii Blue Theme (4.1K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.1K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.1U%" EQU "*" (echo "DarkWii Blue Theme (4.1U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.1U">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.2E%" EQU "*" (echo "DarkWii Blue Theme (4.2E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.2E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.2J%" EQU "*" (echo "DarkWii Blue Theme (4.2J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.2J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.2K%" EQU "*" (echo "DarkWii Blue Theme (4.2K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.2K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.2U%" EQU "*" (echo "DarkWii Blue Theme (4.2U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.2U">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.3E%" EQU "*" (echo "DarkWii Blue Theme (4.3E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.3E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.3J%" EQU "*" (echo "DarkWii Blue Theme (4.3J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.3J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.3K%" EQU "*" (echo "DarkWii Blue Theme (4.3K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.3K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_4.3U%" EQU "*" (echo "DarkWii Blue Theme (4.3U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_4.3U">>temp\DLgotos.txt)
|
|
|
|
if /i "%DarkWii_Blue_vWiiE%" EQU "*" (echo "DarkWii Blue Theme (vWiiE) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_vWiiE">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_vWiiJ%" EQU "*" (echo "DarkWii Blue Theme (vWiiJ) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_vWiiJ">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Blue_vWiiU%" EQU "*" (echo "DarkWii Blue Theme (vWiiU) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Blue_vWiiU">>temp\DLgotos.txt)
|
|
|
|
if /i "%DarkWii_Green_4.1E%" EQU "*" (echo "DarkWii Green Theme (4.1E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.1E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.1J%" EQU "*" (echo "DarkWii Green Theme (4.1J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.1J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.1K%" EQU "*" (echo "DarkWii Green Theme (4.1K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.1K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.1U%" EQU "*" (echo "DarkWii Green Theme (4.1U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.1U">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.2E%" EQU "*" (echo "DarkWii Green Theme (4.2E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.2E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.2J%" EQU "*" (echo "DarkWii Green Theme (4.2J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.2J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.2K%" EQU "*" (echo "DarkWii Green Theme (4.2K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.2K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.2U%" EQU "*" (echo "DarkWii Green Theme (4.2U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.2U">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.3E%" EQU "*" (echo "DarkWii Green Theme (4.3E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.3E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.3J%" EQU "*" (echo "DarkWii Green Theme (4.3J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.3J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.3K%" EQU "*" (echo "DarkWii Green Theme (4.3K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.3K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_4.3U%" EQU "*" (echo "DarkWii Green Theme (4.3U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_4.3U">>temp\DLgotos.txt)
|
|
|
|
if /i "%DarkWii_Green_vWiiE%" EQU "*" (echo "DarkWii Green Theme (vWiiE) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_vWiiE">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_vWiiJ%" EQU "*" (echo "DarkWii Green Theme (vWiiJ) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_vWiiJ">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Green_vWiiU%" EQU "*" (echo "DarkWii Green Theme (vWiiU) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Green_vWiiU">>temp\DLgotos.txt)
|
|
|
|
if /i "%darkwii_orange_4.1E%" EQU "*" (echo "DarkWii Orange Theme (4.1E) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.1E">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.1J%" EQU "*" (echo "DarkWii Orange Theme (4.1J) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.1J">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.1K%" EQU "*" (echo "DarkWii Orange Theme (4.1K) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.1K">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.1U%" EQU "*" (echo "DarkWii Orange Theme (4.1U) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.1U">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.2E%" EQU "*" (echo "DarkWii Orange Theme (4.2E) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.2E">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.2J%" EQU "*" (echo "DarkWii Orange Theme (4.2J) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.2J">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.2K%" EQU "*" (echo "DarkWii Orange Theme (4.2K) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.2K">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.2U%" EQU "*" (echo "DarkWii Orange Theme (4.2U) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.2U">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.3E%" EQU "*" (echo "DarkWii Orange Theme (4.3E) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.3E">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.3J%" EQU "*" (echo "DarkWii Orange Theme (4.3J) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.3J">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.3K%" EQU "*" (echo "DarkWii Orange Theme (4.3K) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.3K">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_4.3U%" EQU "*" (echo "DarkWii Orange Theme (4.3U) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_4.3U">>temp\DLgotos.txt)
|
|
|
|
if /i "%darkwii_orange_vWiiE%" EQU "*" (echo "DarkWii Orange Theme (vWiiE) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_vWiiE">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_vWiiJ%" EQU "*" (echo "DarkWii Orange Theme (vWiiJ) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_vWiiJ">>temp\DLgotos.txt)
|
|
if /i "%darkwii_orange_vWiiU%" EQU "*" (echo "DarkWii Orange Theme (vWiiU) - %effect%">>temp\DLnames.txt) & (echo "darkwii_orange_vWiiU">>temp\DLgotos.txt)
|
|
|
|
if /i "%DarkWii_Red_4.1E%" EQU "*" (echo "DarkWii Red Theme (4.1E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.1E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.1J%" EQU "*" (echo "DarkWii Red Theme (4.1J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.1J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.1K%" EQU "*" (echo "DarkWii Red Theme (4.1K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.1K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.1U%" EQU "*" (echo "DarkWii Red Theme (4.1U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.1U">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.2E%" EQU "*" (echo "DarkWii Red Theme (4.2E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.2E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.2J%" EQU "*" (echo "DarkWii Red Theme (4.2J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.2J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.2K%" EQU "*" (echo "DarkWii Red Theme (4.2K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.2K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.2U%" EQU "*" (echo "DarkWii Red Theme (4.2U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.2U">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.3E%" EQU "*" (echo "DarkWii Red Theme (4.3E) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.3E">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.3J%" EQU "*" (echo "DarkWii Red Theme (4.3J) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.3J">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.3K%" EQU "*" (echo "DarkWii Red Theme (4.3K) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.3K">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_4.3U%" EQU "*" (echo "DarkWii Red Theme (4.3U) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_4.3U">>temp\DLgotos.txt)
|
|
|
|
if /i "%DarkWii_Red_vWiiE%" EQU "*" (echo "DarkWii Red Theme (vWiiE) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_vWiiE">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_vWiiJ%" EQU "*" (echo "DarkWii Red Theme (vWiiJ) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_vWiiJ">>temp\DLgotos.txt)
|
|
if /i "%DarkWii_Red_vWiiU%" EQU "*" (echo "DarkWii Red Theme (vWiiU) - %effect%">>temp\DLnames.txt) & (echo "DarkWii_Red_vWiiU">>temp\DLgotos.txt)
|
|
if /i "%DiosMios%" EQU "*" (echo "DIOS MIOS">>temp\DLnames.txt) & (echo "DiosMios">>temp\DLgotos.txt)
|
|
if /i "%Diskitude%" EQU "*" (echo "Diskitude %PCconfig%">>temp\DLnames.txt) & (echo "Diskitude">>temp\DLgotos.txt)
|
|
if /i "%DML%" EQU "*" (echo "DML">>temp\DLnames.txt) & (echo "DML">>temp\DLgotos.txt)
|
|
|
|
if /i "%Dolphin%" EQU "*" (echo "Dolphin (Wii Emulator) %PCconfig%">>temp\DLnames.txt) & (echo "Dolphin">>temp\DLgotos.txt)
|
|
if /i "%DumpMii%" EQU "*" (echo "Dump Mii NAND">>temp\DLnames.txt) & (echo "DumpMii">>temp\DLgotos.txt)
|
|
if /i "%EnvironmentLoader%" EQU "*" (echo "EnvironmentLoader">>temp\DLnames.txt) & (echo "EnvironmentLoader">>temp\DLgotos.txt)
|
|
if /i "%TOS%" EQU "*" (echo "Eri HaKawai (USA, PAL and JPN)">>temp\DLnames.txt) & (echo "TOS">>temp\DLgotos.txt)
|
|
if /i "%EULAJ%" EQU "*" (echo "EULA v3 (JPN)">>temp\DLnames.txt) & (echo "EULAJ">>temp\DLgotos.txt)
|
|
if /i "%EULAK%" EQU "*" (echo "EULA v3 (KOR)">>temp\DLnames.txt) & (echo "EULAK">>temp\DLgotos.txt)
|
|
if /i "%EULAE%" EQU "*" (echo "EULA v3 (PAL)">>temp\DLnames.txt) & (echo "EULAE">>temp\DLgotos.txt)
|
|
if /i "%EULAU%" EQU "*" (echo "EULA v3 (USA)">>temp\DLnames.txt) & (echo "EULAU">>temp\DLgotos.txt)
|
|
if /i "%evWii%" EQU "*" (echo "evWii">>temp\DLnames.txt) & (echo "evWii">>temp\DLgotos.txt)
|
|
if /i "%f32%" EQU "*" (echo "FAT32 GUI Formatter %PCconfig%">>temp\DLnames.txt) & (echo "F32">>temp\DLgotos.txt)
|
|
if /i "%fceugx%" EQU "*" (echo "FCEUGX (NES Emulator)">>temp\DLnames.txt) & (echo "fceugx">>temp\DLgotos.txt)
|
|
|
|
if /i "%FILEZILLA%" EQU "*" (echo "FileZilla %PCconfig%">>temp\DLnames.txt) & (echo "FILEZILLA">>temp\DLgotos.txt)
|
|
if /i "%ftpii%" EQU "*" (echo "ftpii">>temp\DLnames.txt) & (echo "ftpii">>temp\DLgotos.txt)
|
|
if /i "%FTPiiU Plugin%" EQU "*" (echo "FTPiiU Plugin">>temp\DLnames.txt) & (echo "FTPiiU Plugin">>temp\DLgotos.txt)
|
|
if /i "%GCBM%" EQU "*" (echo "GameCube Backup Manager %PCconfig%">>temp\DLnames.txt) & (echo "GCBM">>temp\DLgotos.txt)
|
|
if /i "%GiveMiiYouTube%" EQU "*" (echo "GiveMiiYouTube">>temp\DLnames.txt) & (echo "GiveMiiYouTube">>temp\DLgotos.txt)
|
|
if /i "%SDTEST%" EQU "*" (echo "H2testw (SD Card and USB Test Tool) %PCconfig%">>temp\DLnames.txt) & (echo "SDTEST">>temp\DLgotos.txt)
|
|
if /i "%HMold%" EQU "*" (echo "HackMii Installer v1.0">>temp\DLnames.txt) & (echo "HMold">>temp\DLgotos.txt)
|
|
if /i "%HM%" EQU "*" (echo "HackMii Installer v1.2">>temp\DLnames.txt) & (echo "HM">>temp\DLgotos.txt)
|
|
if /i "%HashMF%" EQU "*" (echo "HashMyFiles %PCconfig%">>temp\DLnames.txt) & (echo "HashMF">>temp\DLgotos.txt)
|
|
if /i "%HBB%" EQU "*" (echo "Homebrew Browser">>temp\DLnames.txt) & (echo "HBB">>temp\DLgotos.txt)
|
|
if /i "%hxd%" EQU "*" (echo "HxD Hex Editor %PCconfig%">>temp\DLnames.txt) & (echo "hxd">>temp\DLgotos.txt)
|
|
|
|
if /i "%pwns%" EQU "*" (echo "Indiana Pwns">>temp\DLnames.txt) & (echo "pwns">>temp\DLgotos.txt)
|
|
|
|
if /i "%Inkay%" EQU "*" (echo "Inkay for Pretendo">>temp\DLnames.txt) & (echo "Inkay">>temp\DLgotos.txt)
|
|
|
|
if /i "%IOS9%" EQU "*" (echo "IOS9 v1034">>temp\DLnames.txt) & (echo "IOS9">>temp\DLgotos.txt)
|
|
if /i "%IOS11P60%" EQU "*" (echo "IOS11v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS11P60">>temp\DLgotos.txt)
|
|
if /i "%IOS12%" EQU "*" (echo "IOS12 v526">>temp\DLnames.txt) & (echo "IOS12">>temp\DLgotos.txt)
|
|
if /i "%IOS13%" EQU "*" (echo "IOS13 v1032">>temp\DLnames.txt) & (echo "IOS13">>temp\DLgotos.txt)
|
|
if /i "%IOS14%" EQU "*" (echo "IOS14 v1032">>temp\DLnames.txt) & (echo "IOS14">>temp\DLgotos.txt)
|
|
if /i "%IOS15%" EQU "*" (echo "IOS15 v1032">>temp\DLnames.txt) & (echo "IOS15">>temp\DLgotos.txt)
|
|
if /i "%IOS17%" EQU "*" (echo "IOS17 v1032">>temp\DLnames.txt) & (echo "IOS17">>temp\DLgotos.txt)
|
|
if /i "%IOS20P60%" EQU "*" (echo "IOS20v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS20P60">>temp\DLgotos.txt)
|
|
if /i "%IOS21%" EQU "*" (echo "IOS21 v1039">>temp\DLnames.txt) & (echo "IOS21">>temp\DLgotos.txt)
|
|
if /i "%IOS22%" EQU "*" (echo "IOS22 v1294">>temp\DLnames.txt) & (echo "IOS22">>temp\DLgotos.txt)
|
|
if /i "%IOS28%" EQU "*" (echo "IOS28 v1807">>temp\DLnames.txt) & (echo "IOS28">>temp\DLgotos.txt)
|
|
|
|
if /i "%IOS30%" EQU "*" (echo "IOS30 v2576">>temp\DLnames.txt) & (echo "IOS30">>temp\DLgotos.txt)
|
|
if /i "%IOS30P60%" EQU "*" (echo "IOS30v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS30P60">>temp\DLgotos.txt)
|
|
if /i "%IOS31%" EQU "*" (echo "IOS31 v3608">>temp\DLnames.txt) & (echo "IOS31">>temp\DLgotos.txt)
|
|
if /i "%IOS33%" EQU "*" (echo "IOS33 v3608">>temp\DLnames.txt) & (echo "IOS33">>temp\DLgotos.txt)
|
|
if /i "%IOS34%" EQU "*" (echo "IOS34 v3608">>temp\DLnames.txt) & (echo "IOS34">>temp\DLgotos.txt)
|
|
if /i "%IOS35%" EQU "*" (echo "IOS35 v3608">>temp\DLnames.txt) & (echo "IOS35">>temp\DLgotos.txt)
|
|
if /i "%IOS36%" EQU "*" (echo "IOS36 v3351">>temp\DLnames.txt) & (echo "IOS36">>temp\DLgotos.txt)
|
|
if /i "%IOS36v3608%" EQU "*" (echo "IOS36 v3608">>temp\DLnames.txt) & (echo "IOS36v3608">>temp\DLgotos.txt)
|
|
if /i "%IOS37%" EQU "*" (echo "IOS37 v5663">>temp\DLnames.txt) & (echo "IOS37">>temp\DLgotos.txt)
|
|
if /i "%IOS38%" EQU "*" (echo "IOS38 v4124">>temp\DLnames.txt) & (echo "IOS38">>temp\DLgotos.txt)
|
|
if /i "%IOS40P60%" EQU "*" (echo "IOS40v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS40P60">>temp\DLgotos.txt)
|
|
if /i "%IOS41%" EQU "*" (echo "IOS41 v3607">>temp\DLnames.txt) & (echo "IOS41">>temp\DLgotos.txt)
|
|
if /i "%IOS43%" EQU "*" (echo "IOS43 v3607">>temp\DLnames.txt) & (echo "IOS43">>temp\DLgotos.txt)
|
|
if /i "%IOS45%" EQU "*" (echo "IOS45 v3607">>temp\DLnames.txt) & (echo "IOS45">>temp\DLgotos.txt)
|
|
if /i "%IOS46%" EQU "*" (echo "IOS46 v3607">>temp\DLnames.txt) & (echo "IOS46">>temp\DLgotos.txt)
|
|
if /i "%IOS48v4124%" EQU "*" (echo "IOS48 v4124">>temp\DLnames.txt) & (echo "IOS48v4124">>temp\DLgotos.txt)
|
|
if /i "%IOS50P%" EQU "*" (echo "IOS50v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS50P">>temp\DLgotos.txt)
|
|
if /i "%IOS52P%" EQU "*" (echo "IOS52v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS52P">>temp\DLgotos.txt)
|
|
if /i "%IOS53%" EQU "*" (echo "IOS53 v5663">>temp\DLnames.txt) & (echo "IOS53">>temp\DLgotos.txt)
|
|
if /i "%IOS55%" EQU "*" (echo "IOS55 v5663">>temp\DLnames.txt) & (echo "IOS55">>temp\DLgotos.txt)
|
|
if /i "%IOS56%" EQU "*" (echo "IOS56 v5662">>temp\DLnames.txt) & (echo "IOS56">>temp\DLgotos.txt)
|
|
if /i "%IOS57%" EQU "*" (echo "IOS57 v5919">>temp\DLnames.txt) & (echo "IOS57">>temp\DLgotos.txt)
|
|
if /i "%IOS58%" EQU "*" (echo "IOS58 v6176">>temp\DLnames.txt) & (echo "IOS58">>temp\DLgotos.txt)
|
|
if /i "%IOS59%" EQU "*" (echo "IOS59 v9249">>temp\DLnames.txt) & (echo "IOS59">>temp\DLgotos.txt)
|
|
if /i "%IOS60%" EQU "*" (echo "IOS60 v6174">>temp\DLnames.txt) & (echo "IOS60">>temp\DLgotos.txt)
|
|
if /i "%IOS60P%" EQU "*" (echo "IOS60v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS60P">>temp\DLgotos.txt)
|
|
if /i "%IOS61%" EQU "*" (echo "IOS61 v5662">>temp\DLnames.txt) & (echo "IOS61">>temp\DLgotos.txt)
|
|
if /i "%IOS62%" EQU "*" (echo "IOS62 v6430">>temp\DLnames.txt) & (echo "IOS62">>temp\DLgotos.txt)
|
|
|
|
if /i "%IOS70K%" EQU "*" (echo "IOS70v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS70K">>temp\DLgotos.txt)
|
|
if /i "%IOS70%" EQU "*" (echo "IOS70 v6687">>temp\DLnames.txt) & (echo "IOS70">>temp\DLgotos.txt)
|
|
if /i "%IOS80K%" EQU "*" (echo "IOS80v65535(ModMii-IOS60-v6174)">>temp\DLnames.txt) & (echo "IOS80K">>temp\DLgotos.txt)
|
|
if /i "%IOS80%" EQU "*" (echo "IOS80 v6944">>temp\DLnames.txt) & (echo "IOS80">>temp\DLgotos.txt)
|
|
if /i "%IOS236%" EQU "*" (echo "IOS236v65535(IOS36v3351[FS-ES-NP-VP])">>temp\DLnames.txt) & (echo "IOS236">>temp\DLgotos.txt)
|
|
if /i "%IOS236Installer%" EQU "*" (echo "IOS236 Installer v5 Mod">>temp\DLnames.txt) & (echo "IOS236Installer">>temp\DLgotos.txt)
|
|
if /i "%IJ%" EQU "*" (echo "JPN Internet Channel">>temp\DLnames.txt) & (echo "NET_J">>temp\DLgotos.txt)
|
|
if /i "%NJ%" EQU "*" (echo "JPN NEWS Channel">>temp\DLnames.txt) & (echo "NEWS_J">>temp\DLgotos.txt)
|
|
if /i "%WJ%" EQU "*" (echo "JPN Weather Channel">>temp\DLnames.txt) & (echo "WEATHER_J">>temp\DLgotos.txt)
|
|
if /i "%WSJ%" EQU "*" (echo "JPN Wii Speak Channel">>temp\DLnames.txt) & (echo "SPEAK_J">>temp\DLgotos.txt)
|
|
|
|
if /i "%WSK%" EQU "*" (echo "KOR Wii Speak Channel">>temp\DLnames.txt) & (echo "WSK">>temp\DLgotos.txt)
|
|
|
|
if /i "%KK%" EQU "*" (echo "KoreanKii">>temp\DLnames.txt) & (echo "KK">>temp\DLgotos.txt)
|
|
::One option "Pri" for both Priiloader and LoadPriiloader
|
|
if /i "%Pri%" EQU "*" (echo "Load Priiloader">>temp\DLnames.txt) & (echo "LoadPriiloader">>temp\DLgotos.txt)
|
|
if /i "%locked%" EQU "*" (echo "Locked Apps Folder for HBC (PASS=UDLRAB)">>temp\DLnames.txt) & (echo "locked">>temp\DLgotos.txt)
|
|
if /i "%MII%" EQU "*" (echo "MII Channel">>temp\DLnames.txt) & (echo "MII">>temp\DLgotos.txt)
|
|
if /i "%M10%" EQU "*" (echo "MIOS v10">>temp\DLnames.txt) & (echo "M10">>temp\DLgotos.txt)
|
|
if /i "%mmm%" EQU "*" (echo "Multi-Mod Manager (MMM) v13.4">>temp\DLnames.txt) & (echo "mmm">>temp\DLgotos.txt)
|
|
if /i "%MyM%" EQU "*" (echo "MyMenuifyMod">>temp\DLnames.txt) & (echo "Mym">>temp\DLgotos.txt)
|
|
if /i "%Nanddumper%" EQU "*" (echo "Nanddumper">>temp\DLnames.txt) & (echo "Nanddumper">>temp\DLgotos.txt)
|
|
if /i "%neogamma%" EQU "*" (echo "Neogamma Backup Disc Loader">>temp\DLnames.txt) & (echo "neogamma">>temp\DLgotos.txt)
|
|
|
|
if /i "%nintendont%" EQU "*" (echo "Nintendont">>temp\DLnames.txt) & (echo "Nintendont">>temp\DLgotos.txt)
|
|
if /i "%Nkit%" EQU "*" (echo "NKit Processing App %PCconfig%">>temp\DLnames.txt) & (echo "Nkit">>temp\DLgotos.txt)
|
|
if /i "%Not64%" EQU "*" (echo "Not64 (N64 Emulator)">>temp\DLnames.txt) & (echo "Not64">>temp\DLgotos.txt)
|
|
if /i "%nSwitch%" EQU "*" (echo "nSwitch">>temp\DLnames.txt) & (echo "nSwitch">>temp\DLgotos.txt)
|
|
if /i "%NUSGet%" EQU "*" (echo "NUSGet %PCconfig%">>temp\DLnames.txt) & (echo "NUSGet">>temp\DLgotos.txt)
|
|
if /i "%ohnes%" EQU "*" (echo "ohneschwanzenegger NUS NANDBuilder %PCconfig%">>temp\DLnames.txt) & (echo "ohnes">>temp\DLgotos.txt)
|
|
if /i "%OHBC113%" EQU "*" (echo "Open Homebrew Channel WAD (OHBC v1.1.3)">>temp\DLnames.txt) & (echo "OHBC113">>temp\DLgotos.txt)
|
|
if /i "%OHBC114%" EQU "*" (echo "Open Homebrew Channel WAD (OHBC v1.1.4-1)">>temp\DLnames.txt) & (echo "OHBC114">>temp\DLgotos.txt)
|
|
if /i "%OHBC%" EQU "*" (echo "Open Homebrew Channel WAD (LULZ v1.1.5)">>temp\DLnames.txt) & (echo "OHBC">>temp\DLgotos.txt)
|
|
if /i "%OSC%" EQU "*" (echo "Open Shop Channel %PCconfig%">>temp\DLnames.txt) & (echo "OSC">>temp\DLgotos.txt)
|
|
|
|
if /i "%IE%" EQU "*" (echo "PAL Internet Channel">>temp\DLnames.txt) & (echo "NET_E">>temp\DLgotos.txt)
|
|
if /i "%NE%" EQU "*" (echo "PAl NEWS Channel">>temp\DLnames.txt) & (echo "NEWS_E">>temp\DLgotos.txt)
|
|
if /i "%WE%" EQU "*" (echo "PAL Weather Channel">>temp\DLnames.txt) & (echo "WEATHER_E">>temp\DLgotos.txt)
|
|
if /i "%WSE%" EQU "*" (echo "PAL Wii Speak Channel">>temp\DLnames.txt) & (echo "SPEAK_E">>temp\DLgotos.txt)
|
|
|
|
if /i "%vWii80Installer%" EQU "*" (echo "Patched IOS80 Installer for vWii">>temp\DLnames.txt) & (echo "vWii80Installer">>temp\DLgotos.txt)
|
|
if /i "%P0%" EQU "*" (echo "Photo Channel (USA / PAL / JPN / KOR)">>temp\DLnames.txt) & (echo "PHOTO0">>temp\DLgotos.txt)
|
|
if /i "%P%" EQU "*" (echo "Photo Channel 1.1 (USA / PAL / JPN)">>temp\DLnames.txt) & (echo "PHOTO">>temp\DLgotos.txt)
|
|
if /i "%PHOTOK%" EQU "*" (echo "Photo Channel 1.1 (KOR)">>temp\DLnames.txt) & (echo "PHOTOK">>temp\DLgotos.txt)
|
|
|
|
if /i "%HAZA%" EQU "*" (echo "Photo Channel 1.1 dummy (HAZA)">>temp\DLnames.txt) & (echo "HAZA">>temp\DLgotos.txt)
|
|
|
|
if /i "%PLC%" EQU "*" (echo "postLoader Forwarder Channel">>temp\DLnames.txt) & (echo "PLChannel">>temp\DLgotos.txt)
|
|
if /i "%PL%" EQU "*" (echo "postLoader">>temp\DLnames.txt) & (echo "postLoader">>temp\DLgotos.txt)
|
|
if /i "%Pri%" EQU "*" (echo "Priiloader Installer">>temp\DLnames.txt) & (echo "Priiloader">>temp\DLgotos.txt)
|
|
if /i "%RSJ%" EQU "*" (echo "Region Select v2 (JPN)">>temp\DLnames.txt) & (echo "RSJ">>temp\DLgotos.txt)
|
|
if /i "%RSK%" EQU "*" (echo "Region Select v2 (KOR)">>temp\DLnames.txt) & (echo "RSK">>temp\DLgotos.txt)
|
|
if /i "%RSE%" EQU "*" (echo "Region Select v2 (PAL)">>temp\DLnames.txt) & (echo "RSE">>temp\DLgotos.txt)
|
|
if /i "%RSU%" EQU "*" (echo "Region Select v2 (USA)">>temp\DLnames.txt) & (echo "RSU">>temp\DLgotos.txt)
|
|
if /i "%ROTJ%" EQU "*" (echo "Return of the Jodi (USA, PAL and JPN)">>temp\DLnames.txt) & (echo "ROTJ">>temp\DLgotos.txt)
|
|
if /i "%RC24%" EQU "*" (echo "RiiConnect24 Patcher %PCconfig%">>temp\DLnames.txt) & (echo "RC24">>temp\DLgotos.txt)
|
|
if /i "%SaveMiiModWUTPort%" EQU "*" (echo "SaveMii Mod WUT Port">>temp\DLnames.txt) & (echo "SaveMiiModWUTPort">>temp\DLgotos.txt)
|
|
if /i "%SGM%" EQU "*" (echo "SaveGame Manager GX">>temp\DLnames.txt) & (echo "SGM">>temp\DLgotos.txt)
|
|
if /i "%Screenshot_WUPS%" EQU "*" (echo "Screenshot Plugin">>temp\DLnames.txt) & (echo "Screenshot_WUPS">>temp\DLgotos.txt)
|
|
if /i "%SK%" EQU "*" (echo "Shopping Channel (KOR)">>temp\DLnames.txt) & (echo "SHOP_K">>temp\DLgotos.txt)
|
|
|
|
if /i "%S%" EQU "*" (echo "Shopping Channel (USA / PAL / JPN)">>temp\DLnames.txt) & (echo "SHOP">>temp\DLgotos.txt)
|
|
if /i "%SMW%" EQU "*" (echo "ShowMiiWads %PCconfig%">>temp\DLnames.txt) & (echo "SMW">>temp\DLgotos.txt)
|
|
if /i "%SIP%" EQU "*" (echo "Simple IOS Patcher">>temp\DLnames.txt) & (echo "SIP">>temp\DLgotos.txt)
|
|
if /i "%smash%" EQU "*" (echo "Smash Stack (USA, PAL, JPN and KOR)">>temp\DLnames.txt) & (echo "smash">>temp\DLgotos.txt)
|
|
if /i "%snes9xgx%" EQU "*" (echo "SNES9xGX (SNES Emulator)">>temp\DLnames.txt) & (echo "snes9xgx">>temp\DLgotos.txt)
|
|
if /i "%STUBS%" EQU "*" (echo "Some Stub IOSs (%STUBSlist%) - Optional">>temp\DLnames.txt) & (echo "SomeStubIOSs">>temp\DLgotos.txt)
|
|
|
|
if /i "%Swiss_cMIOS%" EQU "*" (echo "Swiss cMIOS r1788">>temp\DLnames.txt) & (echo "Swiss_cMIOS">>temp\DLgotos.txt)
|
|
|
|
if /i "%S2U%" EQU "*" (echo "Switch2Uneek">>temp\DLnames.txt) & (echo "S2U">>temp\DLgotos.txt)
|
|
if /i "%syscheck%" EQU "*" (echo "SysCheck ModMii Edition">>temp\DLnames.txt) & (echo "sysCheck">>temp\DLgotos.txt)
|
|
|
|
if /i "%SCR%" EQU "*" (echo "System Channel Restorer">>temp\DLnames.txt) & (echo "SCR">>temp\DLgotos.txt)
|
|
if /i "%SM4.1E%" EQU "*" (echo "System Menu 4.1E">>temp\DLnames.txt) & (echo "SM4.1E">>temp\DLgotos.txt)
|
|
if /i "%SM4.1E-DWB%" EQU "*" (echo "System Menu 4.1E with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1E-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.1E-DWG%" EQU "*" (echo "System Menu 4.1E with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1E-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.1E-DWO%" EQU "*" (echo "System Menu 4.1E with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1E-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.1E-DWR%" EQU "*" (echo "System Menu 4.1E with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1E-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.1J%" EQU "*" (echo "System Menu 4.1J">>temp\DLnames.txt) & (echo "SM4.1J">>temp\DLgotos.txt)
|
|
if /i "%SM4.1J-DWB%" EQU "*" (echo "System Menu 4.1J with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1J-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.1J-DWG%" EQU "*" (echo "System Menu 4.1J with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1J-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.1J-DWO%" EQU "*" (echo "System Menu 4.1J with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1J-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.1J-DWR%" EQU "*" (echo "System Menu 4.1J with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1J-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.1K%" EQU "*" (echo "System Menu 4.1K">>temp\DLnames.txt) & (echo "SM4.1K">>temp\DLgotos.txt)
|
|
if /i "%SM4.1K-DWB%" EQU "*" (echo "System Menu 4.1K with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1K-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.1K-DWG%" EQU "*" (echo "System Menu 4.1K with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1K-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.1K-DWO%" EQU "*" (echo "System Menu 4.1K with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1K-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.1K-DWR%" EQU "*" (echo "System Menu 4.1K with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1K-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.1U%" EQU "*" (echo "System Menu 4.1U">>temp\DLnames.txt) & (echo "SM4.1U">>temp\DLgotos.txt)
|
|
if /i "%SM4.1U-DWB%" EQU "*" (echo "System Menu 4.1U with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1U-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.1U-DWG%" EQU "*" (echo "System Menu 4.1U with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1U-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.1U-DWO%" EQU "*" (echo "System Menu 4.1U with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1U-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.1U-DWR%" EQU "*" (echo "System Menu 4.1U with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.1U-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.2E%" EQU "*" (echo "System Menu 4.2E">>temp\DLnames.txt) & (echo "SM4.2E">>temp\DLgotos.txt)
|
|
if /i "%SM4.2E-DWB%" EQU "*" (echo "System Menu 4.2E with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2E-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.2E-DWG%" EQU "*" (echo "System Menu 4.2E with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2E-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.2E-DWO%" EQU "*" (echo "System Menu 4.2E with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2E-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.2E-DWR%" EQU "*" (echo "System Menu 4.2E with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2E-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.2J%" EQU "*" (echo "System Menu 4.2J">>temp\DLnames.txt) & (echo "SM4.2J">>temp\DLgotos.txt)
|
|
if /i "%SM4.2J-DWB%" EQU "*" (echo "System Menu 4.2J with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2J-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.2J-DWG%" EQU "*" (echo "System Menu 4.2J with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2J-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.2J-DWO%" EQU "*" (echo "System Menu 4.2J with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2J-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.2J-DWR%" EQU "*" (echo "System Menu 4.2J with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2J-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.2K%" EQU "*" (echo "System Menu 4.2K">>temp\DLnames.txt) & (echo "SM4.2K">>temp\DLgotos.txt)
|
|
if /i "%SM4.2K-DWB%" EQU "*" (echo "System Menu 4.2K with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2K-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.2K-DWG%" EQU "*" (echo "System Menu 4.2K with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2K-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.2K-DWO%" EQU "*" (echo "System Menu 4.2K with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2K-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.2K-DWR%" EQU "*" (echo "System Menu 4.2K with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2K-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.2U%" EQU "*" (echo "System Menu 4.2U">>temp\DLnames.txt) & (echo "SM4.2U">>temp\DLgotos.txt)
|
|
if /i "%SM4.2U-DWB%" EQU "*" (echo "System Menu 4.2U with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2U-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.2U-DWG%" EQU "*" (echo "System Menu 4.2U with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2U-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.2U-DWO%" EQU "*" (echo "System Menu 4.2U with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2U-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.2U-DWR%" EQU "*" (echo "System Menu 4.2U with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.2U-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.3E%" EQU "*" (echo "System Menu 4.3E">>temp\DLnames.txt) & (echo "SM4.3E">>temp\DLgotos.txt)
|
|
if /i "%SM4.3E-DWB%" EQU "*" (echo "System Menu 4.3E with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3E-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.3E-DWG%" EQU "*" (echo "System Menu 4.3E with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3E-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.3E-DWO%" EQU "*" (echo "System Menu 4.3E with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3E-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.3E-DWR%" EQU "*" (echo "System Menu 4.3E with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3E-DWR">>temp\DLgotos.txt)
|
|
if /i "%vSM4.3E%" EQU "*" (echo "System Menu 4.3E vWii (5.2.0)">>temp\DLnames.txt) & (echo "vSM4.3E">>temp\DLgotos.txt)
|
|
if /i "%SM4.3J%" EQU "*" (echo "System Menu 4.3J">>temp\DLnames.txt) & (echo "SM4.3J">>temp\DLgotos.txt)
|
|
if /i "%SM4.3J-DWB%" EQU "*" (echo "System Menu 4.3J with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3J-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.3J-DWG%" EQU "*" (echo "System Menu 4.3J with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3J-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.3J-DWO%" EQU "*" (echo "System Menu 4.3J with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3J-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.3J-DWR%" EQU "*" (echo "System Menu 4.3J with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3J-DWR">>temp\DLgotos.txt)
|
|
if /i "%vSM4.3J%" EQU "*" (echo "System Menu 4.3J vWii (5.2.0)">>temp\DLnames.txt) & (echo "vSM4.3J">>temp\DLgotos.txt)
|
|
if /i "%SM4.3K%" EQU "*" (echo "System Menu 4.3K">>temp\DLnames.txt) & (echo "SM4.3K">>temp\DLgotos.txt)
|
|
if /i "%SM4.3K-DWB%" EQU "*" (echo "System Menu 4.3K with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3K-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.3K-DWG%" EQU "*" (echo "System Menu 4.3K with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3K-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.3K-DWO%" EQU "*" (echo "System Menu 4.3K with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3K-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.3K-DWR%" EQU "*" (echo "System Menu 4.3K with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3K-DWR">>temp\DLgotos.txt)
|
|
if /i "%SM4.3U%" EQU "*" (echo "System Menu 4.3U">>temp\DLnames.txt) & (echo "SM4.3U">>temp\DLgotos.txt)
|
|
if /i "%SM4.3U-DWB%" EQU "*" (echo "System Menu 4.3U with Dark Wii Blue Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3U-DWB">>temp\DLgotos.txt)
|
|
if /i "%SM4.3U-DWG%" EQU "*" (echo "System Menu 4.3U with Dark Wii Green Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3U-DWG">>temp\DLgotos.txt)
|
|
if /i "%SM4.3U-DWO%" EQU "*" (echo "System Menu 4.3U with Dark Wii Orange Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3U-DWO">>temp\DLgotos.txt)
|
|
if /i "%SM4.3U-DWR%" EQU "*" (echo "System Menu 4.3U with Dark Wii Red Theme - %effect%">>temp\DLnames.txt) & (echo "SM4.3U-DWR">>temp\DLgotos.txt)
|
|
if /i "%vSM4.3U%" EQU "*" (echo "System Menu 4.3U vWii (5.2.0)">>temp\DLnames.txt) & (echo "vSM4.3U">>temp\DLgotos.txt)
|
|
|
|
if /i "%A78%" EQU "*" (echo "Theme content from System Menu 4.1J (00000078.app)">>temp\DLnames.txt) & (echo "NUSGRABBER78">>temp\DLgotos.txt)
|
|
if /i "%A7b%" EQU "*" (echo "Theme content from System Menu 4.1U (0000007b.app)">>temp\DLnames.txt) & (echo "NUSGRABBER7b">>temp\DLgotos.txt)
|
|
if /i "%A7e%" EQU "*" (echo "Theme content from System Menu 4.1E (0000007e.app)">>temp\DLnames.txt) & (echo "NUSGRABBER7e">>temp\DLgotos.txt)
|
|
if /i "%A81%" EQU "*" (echo "Theme content from System Menu 4.1K (00000081.app)">>temp\DLnames.txt) & (echo "NUSGRABBER81">>temp\DLgotos.txt)
|
|
if /i "%A84%" EQU "*" (echo "Theme content from System Menu 4.2J (00000084.app)">>temp\DLnames.txt) & (echo "NUSGRABBER84">>temp\DLgotos.txt)
|
|
if /i "%A87%" EQU "*" (echo "Theme content from System Menu 4.2U (00000087.app)">>temp\DLnames.txt) & (echo "NUSGRABBER87">>temp\DLgotos.txt)
|
|
if /i "%A8a%" EQU "*" (echo "Theme content from System Menu 4.2E (0000008a.app)">>temp\DLnames.txt) & (echo "NUSGRABBER8a">>temp\DLgotos.txt)
|
|
if /i "%A8d%" EQU "*" (echo "Theme content from System Menu 4.2K (0000008d.app)">>temp\DLnames.txt) & (echo "NUSGRABBER8d">>temp\DLgotos.txt)
|
|
if /i "%A94%" EQU "*" (echo "Theme content from System Menu 4.3J (00000094.app)">>temp\DLnames.txt) & (echo "NUSGRABBER94">>temp\DLgotos.txt)
|
|
if /i "%A97%" EQU "*" (echo "Theme content from System Menu 4.3U (00000097.app)">>temp\DLnames.txt) & (echo "NUSGRABBER97">>temp\DLgotos.txt)
|
|
if /i "%A9a%" EQU "*" (echo "Theme content from System Menu 4.3E (0000009a.app)">>temp\DLnames.txt) & (echo "NUSGRABBER9a">>temp\DLgotos.txt)
|
|
if /i "%A9d%" EQU "*" (echo "Theme content from System Menu 4.3K (0000009d.app)">>temp\DLnames.txt) & (echo "NUSGRABBER9d">>temp\DLgotos.txt)
|
|
if /i "%A1c%" EQU "*" (echo "Theme content from vWii System Menu 4.3J (0000001c.app)">>temp\DLnames.txt) & (echo "A1c">>temp\DLgotos.txt)
|
|
if /i "%A1f%" EQU "*" (echo "Theme content from vWii System Menu 4.3U (0000001f.app)">>temp\DLnames.txt) & (echo "A1f">>temp\DLgotos.txt)
|
|
if /i "%A22%" EQU "*" (echo "Theme content from vWii System Menu 4.3E (00000022.app)">>temp\DLnames.txt) & (echo "A22">>temp\DLgotos.txt)
|
|
|
|
if /i "%ThemeMiiMod%" EQU "*" (echo "ThemeMii Mod %PCconfig%">>temp\DLnames.txt) & (echo "ThemeMiiMod">>temp\DLgotos.txt)
|
|
if /i "%Tiramisu%" EQU "*" (echo "Tiramisu">>temp\DLnames.txt) & (echo "Tiramisu">>temp\DLgotos.txt)
|
|
if /i "%Twi2%" EQU "*" (echo "Twilight Hack v0.1 Beta2 (3.4: USA, PAL and JPN)">>temp\DLnames.txt) & (echo "Twi2">>temp\DLgotos.txt)
|
|
if /i "%Twi%" EQU "*" (echo "Twilight Hack v0.1 Beta1 (under 3.4: USA, PAL and JPN)">>temp\DLnames.txt) & (echo "Twi">>temp\DLgotos.txt)
|
|
|
|
if /i "%IU%" EQU "*" (echo "USA Internet Channel">>temp\DLnames.txt) & (echo "NET_U">>temp\DLgotos.txt)
|
|
if /i "%NU%" EQU "*" (echo "USA NEWS Channel">>temp\DLnames.txt) & (echo "NEWS_U">>temp\DLgotos.txt)
|
|
if /i "%WU%" EQU "*" (echo "USA Weather Channel">>temp\DLnames.txt) & (echo "WEATHER_U">>temp\DLgotos.txt)
|
|
if /i "%WSU%" EQU "*" (echo "USA Wii Speak Channel">>temp\DLnames.txt) & (echo "SPEAK_U">>temp\DLgotos.txt)
|
|
if /i "%usbgx%" EQU "*" (echo "USB Loader GX">>temp\DLnames.txt) & (echo "usbgx">>temp\DLgotos.txt)
|
|
if /i "%USBX%" EQU "*" (echo "USB-Loader Forwarder Channel\dol">>temp\DLnames.txt) & (echo "USBX">>temp\DLgotos.txt)
|
|
if /i "%UStealth%" EQU "*" (echo "UStealth %PCconfig%">>temp\DLnames.txt) & (echo "UStealth">>temp\DLgotos.txt)
|
|
if /i "%UWUVCI%" EQU "*" (echo "Ultimate Wii U VC Injectors (UWUVCI) %PCconfig%">>temp\DLnames.txt) & (echo "UWUVCI">>temp\DLgotos.txt)
|
|
if /i "%vIOS9%" EQU "*" (echo "vIOS9 v1290 vWii">>temp\DLnames.txt) & (echo "vIOS9">>temp\DLgotos.txt)
|
|
if /i "%vIOS12%" EQU "*" (echo "vIOS12 v782 vWii">>temp\DLnames.txt) & (echo "vIOS12">>temp\DLgotos.txt)
|
|
if /i "%vIOS13%" EQU "*" (echo "vIOS13 v1288 vWii">>temp\DLnames.txt) & (echo "vIOS13">>temp\DLgotos.txt)
|
|
if /i "%vIOS14%" EQU "*" (echo "vIOS14 v1288 vWii">>temp\DLnames.txt) & (echo "vIOS14">>temp\DLgotos.txt)
|
|
if /i "%vIOS15%" EQU "*" (echo "vIOS15 v1288 vWii">>temp\DLnames.txt) & (echo "vIOS15">>temp\DLgotos.txt)
|
|
if /i "%vIOS17%" EQU "*" (echo "vIOS17 v1288 vWii">>temp\DLnames.txt) & (echo "vIOS17">>temp\DLgotos.txt)
|
|
if /i "%vIOS21%" EQU "*" (echo "vIOS21 v1295 vWii">>temp\DLnames.txt) & (echo "vIOS21">>temp\DLgotos.txt)
|
|
if /i "%vIOS22%" EQU "*" (echo "vIOS22 v1550 vWii">>temp\DLnames.txt) & (echo "vIOS22">>temp\DLgotos.txt)
|
|
if /i "%vIOS28%" EQU "*" (echo "vIOS28 v2063 vWii">>temp\DLnames.txt) & (echo "vIOS28">>temp\DLgotos.txt)
|
|
if /i "%vIOS31%" EQU "*" (echo "vIOS31 v3864 vWii">>temp\DLnames.txt) & (echo "vIOS31">>temp\DLgotos.txt)
|
|
if /i "%vIOS33%" EQU "*" (echo "vIOS33 v3864 vWii">>temp\DLnames.txt) & (echo "vIOS33">>temp\DLgotos.txt)
|
|
if /i "%vIOS34%" EQU "*" (echo "vIOS34 v3864 vWii">>temp\DLnames.txt) & (echo "vIOS34">>temp\DLgotos.txt)
|
|
if /i "%vIOS35%" EQU "*" (echo "vIOS35 v3864 vWii">>temp\DLnames.txt) & (echo "vIOS35">>temp\DLgotos.txt)
|
|
if /i "%vIOS36%" EQU "*" (echo "vIOS36 v3864 vWii">>temp\DLnames.txt) & (echo "vIOS36">>temp\DLgotos.txt)
|
|
if /i "%vIOS37%" EQU "*" (echo "vIOS37 v5919 vWii">>temp\DLnames.txt) & (echo "vIOS37">>temp\DLgotos.txt)
|
|
if /i "%vIOS38%" EQU "*" (echo "vIOS38 v4380 vWii">>temp\DLnames.txt) & (echo "vIOS38">>temp\DLgotos.txt)
|
|
if /i "%vIOS41%" EQU "*" (echo "vIOS41 v3863 vWii">>temp\DLnames.txt) & (echo "vIOS41">>temp\DLgotos.txt)
|
|
if /i "%vIOS43%" EQU "*" (echo "vIOS43 v3863 vWii">>temp\DLnames.txt) & (echo "vIOS43">>temp\DLgotos.txt)
|
|
if /i "%vIOS45%" EQU "*" (echo "vIOS45 v3863 vWii">>temp\DLnames.txt) & (echo "vIOS45">>temp\DLgotos.txt)
|
|
if /i "%vIOS46%" EQU "*" (echo "vIOS46 v3863 vWii">>temp\DLnames.txt) & (echo "vIOS46">>temp\DLgotos.txt)
|
|
if /i "%vIOS48%" EQU "*" (echo "vIOS48 v4380 vWii">>temp\DLnames.txt) & (echo "vIOS48">>temp\DLgotos.txt)
|
|
if /i "%vIOS53%" EQU "*" (echo "vIOS53 v5919 vWii">>temp\DLnames.txt) & (echo "vIOS53">>temp\DLgotos.txt)
|
|
if /i "%vIOS55%" EQU "*" (echo "vIOS55 v5919 vWii">>temp\DLnames.txt) & (echo "vIOS55">>temp\DLgotos.txt)
|
|
if /i "%vIOS56%" EQU "*" (echo "vIOS56 v5918 vWii">>temp\DLnames.txt) & (echo "vIOS56">>temp\DLgotos.txt)
|
|
if /i "%vIOS57%" EQU "*" (echo "vIOS57 v6175 vWii">>temp\DLnames.txt) & (echo "vIOS57">>temp\DLgotos.txt)
|
|
if /i "%vIOS58%" EQU "*" (echo "vIOS58 v6432 vWii">>temp\DLnames.txt) & (echo "vIOS58">>temp\DLgotos.txt)
|
|
if /i "%vIOS59%" EQU "*" (echo "vIOS59 v9249 vWii">>temp\DLnames.txt) & (echo "vIOS59">>temp\DLgotos.txt)
|
|
if /i "%vIOS62%" EQU "*" (echo "vIOS62 v6942 vWii">>temp\DLnames.txt) & (echo "vIOS62">>temp\DLgotos.txt)
|
|
if /i "%vIOS80%" EQU "*" (echo "vIOS80 v7200 vWii">>temp\DLnames.txt) & (echo "vIOS80">>temp\DLgotos.txt)
|
|
|
|
if /i "%vIOS80P%" EQU "*" (echo "vIOS80v7200[FS-ES-NP-VP]-vWii">>temp\DLnames.txt) & (echo "vIOS80P">>temp\DLgotos.txt)
|
|
|
|
if /i "%vbagx%" EQU "*" (echo "Visual Boy Advance GX (GB/GBA Emulator)">>temp\DLnames.txt) & (echo "vbagx">>temp\DLgotos.txt)
|
|
|
|
if /i "%vRSJ%" EQU "*" (echo "vWii Region Select v2 (JPN)">>temp\DLnames.txt) & (echo "vRSJ">>temp\DLgotos.txt)
|
|
if /i "%vRSE%" EQU "*" (echo "vWii Region Select v2 (PAL)">>temp\DLnames.txt) & (echo "vRSE">>temp\DLgotos.txt)
|
|
if /i "%vRSU%" EQU "*" (echo "vWii Region Select v2 (USA)">>temp\DLnames.txt) & (echo "vRSU">>temp\DLgotos.txt)
|
|
|
|
if /i "%wbm%" EQU "*" (echo "Wii Backup Manager %PCconfig%">>temp\DLnames.txt) & (echo "WBM">>temp\DLgotos.txt)
|
|
if /i "%WiiGSC%" EQU "*" (echo "Wii Game Shortcut Creator %PCconfig%">>temp\DLnames.txt) & (echo "WiiGSC">>temp\DLgotos.txt)
|
|
if /i "%WII64%" EQU "*" (echo "Wii64 (N64 Emulator)">>temp\DLnames.txt) & (echo "WII64">>temp\DLgotos.txt)
|
|
if /i "%FLOW%" EQU "*" (echo "WiiFlow">>temp\DLnames.txt) & (echo "FLOW">>temp\DLgotos.txt)
|
|
if /i "%FLOWF%" EQU "*" (echo "WiiFlow Forwarder Channel\dol">>temp\DLnames.txt) & (echo "FLOWF">>temp\DLgotos.txt)
|
|
if /i "%RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2%" EQU "*" (echo "WiiGator+WiiPower cMIOS-v65535(v10)">>temp\DLnames.txt) & (echo "RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2">>temp\DLgotos.txt)
|
|
|
|
if /i "%WiiLink%" EQU "*" (echo "WiiLink Patcher %PCconfig%">>temp\DLnames.txt) & (echo "WiiLink">>temp\DLgotos.txt)
|
|
|
|
if /i "%Wiiload Plugin%" EQU "*" (echo "Wiiload Plugin">>temp\DLnames.txt) & (echo "Wiiload Plugin">>temp\DLgotos.txt)
|
|
|
|
if /i "%WiiMC%" EQU "*" (echo "WiiMC-SS (Media Player)">>temp\DLnames.txt) & (echo "WIIMC">>temp\DLgotos.txt)
|
|
if /i "%WIISX%" EQU "*" (echo "WiiSXRX (Playstation 1 Emulator)">>temp\DLnames.txt) & (echo "WIISX">>temp\DLgotos.txt)
|
|
|
|
if /i "%AccountSwap%" EQU "*" (echo "Wii U Account Swap">>temp\DLnames.txt) & (echo "AccountSwap">>temp\DLgotos.txt)
|
|
|
|
if /i "%wudd%" EQU "*" (echo "WiiU Disc Dumper">>temp\DLnames.txt) & (echo "wudd">>temp\DLgotos.txt)
|
|
if /i "%appstore%" EQU "*" (echo "WiiU Homebrew App Store">>temp\DLnames.txt) & (echo "appstore">>temp\DLgotos.txt)
|
|
if /i "%WiiUIdent%" EQU "*" (echo "WiiUIdent">>temp\DLnames.txt) & (echo "WiiUIdent">>temp\DLgotos.txt)
|
|
if /i "%WiiVCLaunch%" EQU "*" (echo "WiiVCLaunch">>temp\DLnames.txt) & (echo "WiiVCLaunch">>temp\DLgotos.txt)
|
|
if /i "%WIIX%" EQU "*" (echo "WiiXplorer">>temp\DLnames.txt) & (echo "WIIX">>temp\DLgotos.txt)
|
|
if /i "%Wilbrand%" EQU "*" (echo "Wilbrand - 4.3%REGION% - MAC:%macaddress%">>temp\DLnames.txt) & (echo "Wilbrand">>temp\DLgotos.txt)
|
|
if /i "%wup_installer_gx2_wuhb%" EQU "*" (echo "WUP Installer GX2">>temp\DLnames.txt) & (echo "wup_installer_gx2_wuhb">>temp\DLgotos.txt)
|
|
|
|
if /i "%v43DB%" EQU "*" (echo "ww-43db-patcher">>temp\DLnames.txt) & (echo "v43DB">>temp\DLgotos.txt)
|
|
|
|
if /i "%yawm%" EQU "*" (echo "Yet Another Wad Manager ModMii Edition">>temp\DLnames.txt) & (echo "yawm">>temp\DLgotos.txt)
|
|
if /i "%YUGI%" EQU "*" (echo "YU-GI-OWNED (USA, PAL and JPN)">>temp\DLnames.txt) & (echo "YUGI">>temp\DLgotos.txt)
|
|
if /i "%OSClib%" EQU "*" (echo "OSC Complete Wii App Library">>temp\DLnames.txt) & (echo "OSClib">>temp\DLgotos.txt)
|
|
if /i "%HBASlib%" EQU "*" (echo "HBAS Complete WiiU App Library">>temp\DLnames.txt) & (echo "HBASlib">>temp\DLgotos.txt)
|
|
|
|
if exist temp\DLnames.txt support\sfk -spat filter -quiet "temp\DLnames.txt" -rep _\x22__ -write -yes
|
|
if exist temp\DLgotos.txt support\sfk -spat filter -quiet "temp\DLgotos.txt" -rep _\x22__ -write -yes
|
|
|
|
if not exist temp\DLGotosADV.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\DLGotosADV.txt) do call :processDLGotosADV %%A
|
|
goto:quickskip
|
|
:processDLGotosADV
|
|
echo %*>>temp\DLgotos.txt
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
if not exist temp\DLnamesADV.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\DLnamesADV.txt) do call :processDLnamesADV %%A
|
|
goto:quickskip
|
|
:processDLnamesADV
|
|
echo %*>>temp\DLnames.txt
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
if exist "temp\DLgotos.txt" copy /y "temp\DLgotos.txt" "temp\DLgotos-copy.txt">nul
|
|
|
|
|
|
::count # of lines
|
|
SET DLTOTAL=0
|
|
if exist temp\DLnames.txt for /f %%a in (temp\DLnames.txt) do set /a DLTOTAL+=1
|
|
|
|
|
|
if /i "%MENU1%" EQU "S" goto:DLSETTINGS
|
|
if /i "%MENUREAL%" EQU "S" goto:DLSETTINGS
|
|
if /i "%MENU1%" EQU "FC" goto:DLSETTINGS
|
|
|
|
::SysCheck Updater - handles when no downloads were marked for installation
|
|
if /i "%MENU1%" NEQ "SU" goto:miniskip
|
|
if /i "%DLTOTAL%" NEQ "0" goto:miniskip
|
|
echo.
|
|
echo According to your SysCheck log your Wii's softmods are up to date.
|
|
echo.
|
|
@ping 127.0.0.1 -n 5 -w 1000> nul
|
|
if /i "%cmdlinemode%" EQU "Y" exit
|
|
goto:sysCheckName
|
|
:miniskip
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemodeswitchoff%" EQU "Y" (set cmdlinemode=) & (set one=) & (set two=)
|
|
if /i "%cmdlinemode%" EQU "Y" goto:DLSettings
|
|
|
|
if /i "%MENU1%" NEQ "SU" cls
|
|
if /i "%MENU1%" NEQ "SU" echo ModMii v%currentversion%
|
|
if /i "%MENU1%" NEQ "SU" echo by XFlak
|
|
|
|
echo.
|
|
if /i "%MENU1%" EQU "H" echo HackMii Solutions
|
|
if /i "%MENU1%" EQU "H" echo.
|
|
|
|
|
|
::-----------DL QUEUE SETTINGS---------
|
|
if /i "%MENU1%" NEQ "L" goto:skiploadDLcue
|
|
|
|
findStr /I /C:"Set ROOTSAVE=off" "support\settings.bat" >nul
|
|
if not ERRORLEVEL 1 (set ROOTSAVEREAL=off) else (set ROOTSAVEREAL=on)
|
|
|
|
::findStr /I /C:"Set OPTION1=off" "support\settings.bat" >nul
|
|
::if not ERRORLEVEL 1 (set OPTION1REAL=off) else (set OPTION1REAL=on)
|
|
|
|
if /i "%ROOTSAVE%" EQU "%ROOTSAVEREAL%" (set matchrs=Green) else (set matchrs=Red)
|
|
::if /i "%OPTION1%" EQU "%OPTION1REAL%" (set match1=Green) else (set match1=Red)
|
|
|
|
echo.
|
|
echo Download Queue Loaded:
|
|
echo.
|
|
echo %CurrentQueue:~0,-4%
|
|
echo.
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 Queue Options appear [%redtext%]Red [def]when they differ from
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 \x20 your saved settings and [%greentext%]Green [def]if they match
|
|
echo.
|
|
if /i "%ROOTSAVE%" EQU "ON" support\sfk echo -spat \x20 \x20 [%matchrs%]Root Save: Save IOSs\MIOSs to Root instead of WAD Folder (Enabled)
|
|
if /i "%ROOTSAVE%" EQU "OFF" support\sfk echo -spat \x20 \x20 [%matchrs%]Root Save: Save IOSs\MIOSs to Root instead of WAD Folder (Disabled)
|
|
echo * Useful for Wii Apps that require IOSs\MIOSs saved to Root
|
|
echo.
|
|
::if /i "%OPTION1%" EQU "OFF" support\sfk echo -spat \x20 \x20 [%match1%]Do not Keep 00000001 Folder for IOSs\MIOSs\SMs etc
|
|
::if /i "%OPTION1%" EQU "OFF" echo * Folder sometimes required for offline usage of a few Wii Apps
|
|
::if /i "%OPTION1%" EQU "ON" support\sfk echo -spat \x20 \x20 [%match1%]Keep 00000001 Folder for IOSs\MIOSs\SMs etc
|
|
::if /i "%OPTION1%" EQU "ON" echo * Useful for offline usage of Wii Apps like Dop-Mii
|
|
|
|
|
|
|
|
::if /i "%OPTION1%" EQU "NUS" support\sfk echo -spat \x20 \x20 [%match1%]Keep NUS\00000001000000##v# Folder for IOSs\MIOSs\SMs etc
|
|
::if /i "%OPTION1%" EQU "NUS" echo * Useful for offline usage of Wii Apps like d2x\Hermes cIOS Installers
|
|
|
|
::if /i "%OPTION1%" EQU "ALL" support\sfk echo -spat \x20 \x20 [%match1%]Keep NUS\00000001000000##v# and 00000001 Folder for IOSs\MIOSs\SMs etc
|
|
::if /i "%OPTION1%" EQU "ALL" echo * Useful for offline usage of a handful of Wii Apps
|
|
::echo.
|
|
echo.
|
|
|
|
:skiploadDLcue
|
|
|
|
if /i "%DLTOTAL%" EQU "0" echo No files were marked for download
|
|
if /i "%DLTOTAL%" EQU "0" goto:skipall
|
|
|
|
if /i "%USBGUIDE%" NEQ "Y" goto:skip
|
|
if /i "%USBCONFIG%" EQU "USB" (echo The following %DLTOTAL% files will be downloaded to "%DRIVE%" or "%DRIVEU%":) else (echo The following %DLTOTAL% files will be downloaded to "%DRIVE%":)
|
|
goto:skipall
|
|
:skip
|
|
|
|
|
|
if /i "%MENU1%" NEQ "SU" goto:skipSU
|
|
if /i "%DLTOTAL%" NEQ "2" goto:skipStubMsg
|
|
if /i "%STUBS%" NEQ "*" goto:skipStubMsg
|
|
|
|
echo According to your SysCheck log your mods are up to date.
|
|
echo However, you have some unnecessary IOSs that can optionally be removed\stubbed
|
|
echo.
|
|
goto:skipSU
|
|
|
|
:skipStubMsg
|
|
echo According to your SysCheck log the following files are required
|
|
echo in order to update your softmod.
|
|
echo.
|
|
|
|
:skipSU
|
|
|
|
echo The following %DLTOTAL% files will be downloaded to "%DRIVE%":
|
|
:skipall
|
|
|
|
echo.
|
|
|
|
SET DLNUM=0
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
if not exist temp\DLnames.txt goto:nextstep
|
|
for /F "tokens=*" %%A in (temp\DLnames.txt) do call :processDLlist %%A
|
|
goto:nextstep
|
|
:processDLlist
|
|
SET /a DLNUM=%DLNUM%+1
|
|
echo %DLNUM%) %*
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
|
|
echo.
|
|
if /i "%DLTOTAL%" NEQ "0" echo Begin Downloading now?
|
|
echo.
|
|
if /i "%DLTOTAL%" EQU "0" goto:zerodownloads
|
|
if /i "%MENU1%" EQU "W" goto:WorUSB
|
|
if /i "%MENU1%" EQU "U" goto:WorUSB
|
|
if /i "%MENU1%" EQU "H" goto:WorUSB
|
|
if /i "%MENU1%" EQU "SU" goto:WorUSB
|
|
if /i "%MENU1%" EQU "RC" goto:WorUSB
|
|
|
|
if /i "%DLTOTAL%" NEQ "0" echo Y = Yes, Begin Downloading
|
|
|
|
:WorUSB
|
|
if /i "%MENU1%" EQU "W" echo Y = Yes, Generate Guide and Begin Downloading
|
|
if /i "%MENU1%" EQU "W" echo G = Generate Guide Only
|
|
if /i "%MENU1%" EQU "U" echo Y = Yes, Generate Guide and Begin Downloading
|
|
if /i "%MENU1%" EQU "U" echo G = Generate Guide Only
|
|
if /i "%MENU1%" EQU "H" echo Y = Yes, Generate Guide and Begin Downloading
|
|
if /i "%MENU1%" EQU "H" echo G = Generate Guide Only
|
|
if /i "%MENU1%" EQU "SU" echo Y = Yes, Generate Guide and Begin Downloading
|
|
if /i "%MENU1%" EQU "SU" echo G = Generate Guide Only
|
|
if /i "%MENU1%" EQU "RC" echo Y = Yes, Generate Guide and Begin Downloading
|
|
if /i "%MENU1%" EQU "RC" echo G = Generate Guide Only
|
|
|
|
:zerodownloads
|
|
|
|
if /i "%MENU1%" EQU "1" echo A = Add or remove files to download queue
|
|
if /i "%MENU1%" EQU "2" echo A = Add or remove files to download queue
|
|
if /i "%MENU1%" EQU "3" echo A = Add or remove files to download queue
|
|
if /i "%MENU1%" EQU "4" echo A = Add or remove files to download queue
|
|
if /i "%MENU1%" EQU "5" echo A = Add or remove files to download queue
|
|
if /i "%MENU1%" EQU "A" echo A = Add or remove files to download queue
|
|
if /i "%MENU1%" EQU "L" echo A = Add or remove files to download queue
|
|
echo.
|
|
if /i "%DLTOTAL%" NEQ "0" echo S = Save As New Download Queue
|
|
if /i "%MENU1%" EQU "L" echo D = Delete Download Queue and go to Main Menu
|
|
::if /i "%DLTOTAL%" NEQ "0" echo C = Clear Download Queue
|
|
|
|
echo.
|
|
|
|
|
|
echo B = Back
|
|
echo M = Main Menu
|
|
echo.
|
|
set settings="
|
|
set /p SETTINGS=Enter Selection Here:
|
|
set "SETTINGS=%SETTINGS:"=%"
|
|
|
|
if /i "%SETTINGS%" EQU "ADV" goto:ADVANCED
|
|
|
|
::if /i "%DLTOTAL%" EQU "0" goto:skip
|
|
::if /i "%SETTINGS%" EQU "C" goto:CLEAR
|
|
:::skip
|
|
|
|
if /i "%SETTINGS%" EQU "B" goto:%BACKB4QUEUE%
|
|
if /i "%SETTINGS%" EQU "M" goto:MENU
|
|
|
|
if /i "%SETTINGS%" EQU "S" if /i "%DLTOTAL%" NEQ "0" (set beforesave=DOWNLOADQUEUE) & (goto:SaveDownloadQueue)
|
|
|
|
if /i "%MENU1%" NEQ "L" goto:notbatch
|
|
if /i "%SETTINGS%" EQU "D" del "temp\DownloadQueues\%CurrentQueue%">nul
|
|
if /i "%SETTINGS%" EQU "D" goto:MENU
|
|
if /i "%SETTINGS%" EQU "A" (set "nextpage=DLPAGE1.hta") & (goto:DLPAGES)
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:creditcheck
|
|
:notbatch
|
|
|
|
|
|
if /i "%MENU1%" NEQ "1" goto:notbatch
|
|
if /i "%SETTINGS%" EQU "A" goto:%BACKB4QUEUE%
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:creditcheck
|
|
:notbatch
|
|
|
|
if /i "%MENU1%" NEQ "2" goto:notoldbatch
|
|
if /i "%SETTINGS%" EQU "A" goto:%BACKB4QUEUE%
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:creditcheck
|
|
:notoldbatch
|
|
|
|
if /i "%MENU1%" NEQ "3" goto:NotBatchApp
|
|
if /i "%SETTINGS%" EQU "A" goto:%BACKB4QUEUE%
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:creditcheck
|
|
:NotBatchApp
|
|
|
|
if /i "%MENU1%" NEQ "4" goto:NotLIST4
|
|
if /i "%SETTINGS%" EQU "A" goto:%BACKB4QUEUE%
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:creditcheck
|
|
:NotLIST4
|
|
|
|
|
|
if /i "%MENU1%" NEQ "5" goto:NotLIST5
|
|
if /i "%SETTINGS%" EQU "A" goto:%BACKB4QUEUE%
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:creditcheck
|
|
:NotLIST5
|
|
|
|
|
|
if /i "%MENU1%" NEQ "A" goto:NotAdv
|
|
if /i "%SETTINGS%" EQU "A" goto:%BACKB4QUEUE%
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:creditcheck
|
|
:NotAdv
|
|
|
|
if /i "%DLTOTAL%" EQU "0" goto:badkey
|
|
if /i "%SETTINGS%" EQU "Y" goto:COPY
|
|
|
|
|
|
if /i "%MENU1%" EQU "W" goto:generateguideonly
|
|
if /i "%MENU1%" EQU "U" goto:generateguideonly
|
|
if /i "%MENU1%" EQU "H" goto:generateguideonly
|
|
if /i "%MENU1%" EQU "SU" goto:generateguideonly
|
|
if /i "%MENU1%" EQU "RC" goto:generateguideonly
|
|
goto:badkey
|
|
|
|
:generateguideonly
|
|
|
|
if /i "%SETTINGS%" EQU "G" goto:guide
|
|
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
if /i "%MENU1%" EQU "SU" cls
|
|
if /i "%MENU1%" EQU "SU" echo ModMii v%currentversion%
|
|
if /i "%MENU1%" EQU "SU" echo by XFlak
|
|
|
|
goto:DOWNLOADQUEUE
|
|
|
|
|
|
::--------------------------SAVE DOWNLOAD QUEUE-----------------------
|
|
:SaveDownloadQueue
|
|
set DLQUEUENAME="
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo Please enter a name for your Download Queue
|
|
echo.
|
|
echo.
|
|
echo Note: Cannot contain \ / : * ? " < > | & %%
|
|
echo.
|
|
echo.
|
|
echo Note: Download Queues are saved to "temp\DownloadQueues"
|
|
echo and can be shared amongst different ModMii users
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo B = Back
|
|
echo.
|
|
echo M = Main Menu
|
|
echo.
|
|
echo.
|
|
echo.
|
|
set /p DLQUEUENAME=Enter Selection Here:
|
|
set "DLQUEUENAME=%DLQUEUENAME:"=%"
|
|
if "%DLQUEUENAME%"=="" goto:badkey
|
|
|
|
if /i "%DLQUEUENAME%" EQU "M" goto:MENU
|
|
if /i "%DLQUEUENAME%" EQU "B" goto:%beforesave%
|
|
|
|
echo "set DLQUEUENAME=%DLQUEUENAME%">temp\temp.bat
|
|
|
|
support\sfk filter -quiet -spat temp\temp.bat -rep _\x5c__ -rep _\x2f__ -rep _\x3a__ -rep _\x2a__ -rep _\x3f__ -rep _\x3c__ -rep _\x3e__ -rep _\x7c__ -rep _\x22__ -write -yes
|
|
|
|
call temp\temp.bat
|
|
del temp\temp.bat>nul
|
|
|
|
if not exist "temp\DownloadQueues\%DLQUEUENAME%.bat" goto:SaveDownloadQueue2
|
|
|
|
::queue with the same name already exists
|
|
echo.
|
|
echo A Download Queue with this name already exists, overwrite it? (Y/N)
|
|
echo.
|
|
set overwritequeue="
|
|
set /p overwritequeue=Enter Selection Here:
|
|
set "overwritequeue=%overwritequeue:"=%"
|
|
|
|
if /i "%overwritequeue%" EQU "Y" (goto:SaveDownloadQueue2) else (goto:SaveDownloadQueue)
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:SaveDownloadQueue
|
|
|
|
|
|
:SaveDownloadQueue2
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo Saving Download Queue
|
|
echo.
|
|
echo This might take a minute...
|
|
echo.
|
|
if not exist temp\DownloadQueues mkdir temp\DownloadQueues
|
|
|
|
set AdvNumberCOPY=%AdvNumber%
|
|
if /i "%SETTINGS%" EQU "S" set AdvNumberCOPY=0
|
|
if /i "%FINISH%" EQU "S" set AdvNumberCOPY=0
|
|
|
|
::set GetAdvNumberOnly=Y
|
|
::if exist "temp\DownloadQueues\%DLQUEUENAME%.bat" call "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
::set GetAdvNumberOnly=
|
|
|
|
set /a AdvNumberCOPY=%AdvNumberCOPY%+%AdvNumber%
|
|
|
|
set AdvNumberCOPY2=%AdvNumber%
|
|
if /i "%SETTINGS%" EQU "S" set AdvNumberCOPY2=0
|
|
if /i "%FINISH%" EQU "S" set AdvNumberCOPY2=0
|
|
|
|
set AdvNumberCOPY3=%AdvNumberCOPY2%
|
|
::set AdvNumber=0
|
|
|
|
::if exist "temp\DownloadQueues\%DLQUEUENAME%.bat" support\sfk filter -quiet "temp\DownloadQueues\%DLQUEUENAME%.bat" -ls!":endofqueue" -write -yes
|
|
::if exist "temp\DownloadQueues\%DLQUEUENAME%.bat" support\sfk filter -quiet -spat "temp\DownloadQueues\%DLQUEUENAME%.bat" -rep _\x22_quote_ -write -yes
|
|
|
|
echo.
|
|
|
|
echo ::ModMii v%currentversion% - Download Queue - %DATE% - %TIME% > "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
echo "set AdvNumber=%AdvNumbercopy%">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
echo "if /i quote@GetAdvNumberOnly@quote EQU quoteYquote goto:endofqueue">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
echo ::Queue Settings>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
echo Set ROOTSAVE=%ROOTSAVE%>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
::echo Set Option1=%Option1%>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
echo ::Queue>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%EULAU%" EQU "*" echo SET EULAU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%EULAE%" EQU "*" echo SET EULAE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%EULAJ%" EQU "*" echo SET EULAJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%EULAK%" EQU "*" echo SET EULAK=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%RSU%" EQU "*" echo SET RSU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%RSE%" EQU "*" echo SET RSE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%RSJ%" EQU "*" echo SET RSJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%RSK%" EQU "*" echo SET RSK=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%HAZA%" EQU "*" echo SET HAZA=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vRSU%" EQU "*" echo SET vRSU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vRSE%" EQU "*" echo SET vRSE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vRSJ%" EQU "*" echo SET vRSJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%BC%" EQU "*" echo SET BC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%SM4.1U%" EQU "*" echo SET SM4.1U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2U%" EQU "*" echo SET SM4.2U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3U%" EQU "*" echo SET SM4.3U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1E%" EQU "*" echo SET SM4.1E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2E%" EQU "*" echo SET SM4.2E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3E%" EQU "*" echo SET SM4.3E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1J%" EQU "*" echo SET SM4.1J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2J%" EQU "*" echo SET SM4.2J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3J%" EQU "*" echo SET SM4.3J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1K%" EQU "*" echo SET SM4.1K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2K%" EQU "*" echo SET SM4.2K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3K%" EQU "*" echo SET SM4.3K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vSM4.3U%" EQU "*" echo SET vSM4.3U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vSM4.3E%" EQU "*" echo SET vSM4.3E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vSM4.3J%" EQU "*" echo SET vSM4.3J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%BCnand%" EQU "*" echo SET BCnand=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%BCwfs%" EQU "*" echo SET BCwfs=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3U-DWR%" EQU "*" echo SET SM4.3U-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2U-DWR%" EQU "*" echo SET SM4.2U-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1U-DWR%" EQU "*" echo SET SM4.1U-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3E-DWR%" EQU "*" echo SET SM4.3E-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2E-DWR%" EQU "*" echo SET SM4.2E-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1E-DWR%" EQU "*" echo SET SM4.1E-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3J-DWR%" EQU "*" echo SET SM4.3J-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2J-DWR%" EQU "*" echo SET SM4.2J-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1J-DWR%" EQU "*" echo SET SM4.1J-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3K-DWR%" EQU "*" echo SET SM4.3K-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2K-DWR%" EQU "*" echo SET SM4.2K-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1K-DWR%" EQU "*" echo SET SM4.1K-DWR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%SM4.3U-DWG%" EQU "*" echo SET SM4.3U-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2U-DWG%" EQU "*" echo SET SM4.2U-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1U-DWG%" EQU "*" echo SET SM4.1U-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3E-DWG%" EQU "*" echo SET SM4.3E-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2E-DWG%" EQU "*" echo SET SM4.2E-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1E-DWG%" EQU "*" echo SET SM4.1E-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3J-DWG%" EQU "*" echo SET SM4.3J-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2J-DWG%" EQU "*" echo SET SM4.2J-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1J-DWG%" EQU "*" echo SET SM4.1J-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3K-DWG%" EQU "*" echo SET SM4.3K-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2K-DWG%" EQU "*" echo SET SM4.2K-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1K-DWG%" EQU "*" echo SET SM4.1K-DWG=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%SM4.3U-DWB%" EQU "*" echo SET SM4.3U-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2U-DWB%" EQU "*" echo SET SM4.2U-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1U-DWB%" EQU "*" echo SET SM4.1U-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3E-DWB%" EQU "*" echo SET SM4.3E-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2E-DWB%" EQU "*" echo SET SM4.2E-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1E-DWB%" EQU "*" echo SET SM4.1E-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3J-DWB%" EQU "*" echo SET SM4.3J-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2J-DWB%" EQU "*" echo SET SM4.2J-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1J-DWB%" EQU "*" echo SET SM4.1J-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3K-DWB%" EQU "*" echo SET SM4.3K-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2K-DWB%" EQU "*" echo SET SM4.2K-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1K-DWB%" EQU "*" echo SET SM4.1K-DWB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%SM4.3U-DWO%" EQU "*" echo SET SM4.3U-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2U-DWO%" EQU "*" echo SET SM4.2U-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1U-DWO%" EQU "*" echo SET SM4.1U-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3E-DWO%" EQU "*" echo SET SM4.3E-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2E-DWO%" EQU "*" echo SET SM4.2E-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1E-DWO%" EQU "*" echo SET SM4.1E-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3J-DWO%" EQU "*" echo SET SM4.3J-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2J-DWO%" EQU "*" echo SET SM4.2J-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1J-DWO%" EQU "*" echo SET SM4.1J-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.3K-DWO%" EQU "*" echo SET SM4.3K-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.2K-DWO%" EQU "*" echo SET SM4.2K-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SM4.1K-DWO%" EQU "*" echo SET SM4.1K-DWO=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%IOS30%" EQU "*" echo SET IOS30=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS30P60%" EQU "*" echo SET IOS30P60=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS20P60%" EQU "*" echo SET IOS20P60=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%IOS11P60%" EQU "*" echo SET IOS11P60=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS20P60%" EQU "*" echo SET IOS20P60=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS50P%" EQU "*" echo SET IOS50P=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS52P%" EQU "*" echo SET IOS52P=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS60%" EQU "*" echo SET IOS60=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS60P%" EQU "*" echo SET IOS60P=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS70%" EQU "*" echo SET IOS70=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%IOS70K%" EQU "*" echo SET IOS70K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS80%" EQU "*" echo SET IOS80=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS80K%" EQU "*" echo SET IOS80K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS236%" EQU "*" echo SET IOS236=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%BB1%" EQU "*" echo SET BB1=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%BB2%" EQU "*" echo SET BB2=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%HMold%" EQU "*" echo SET HMold=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%HM%" EQU "*" echo SET HM=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS236Installer%" EQU "*" echo SET IOS236Installer=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SIP%" EQU "*" echo SET SIP=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DumpMii%" EQU "*" echo SET DumpMii=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%syscheck%" EQU "*" echo SET syscheck=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%AccioHacks%" EQU "*" echo SET AccioHacks=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%usbgx%" EQU "*" echo SET usbgx=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%nintendont%" EQU "*" echo SET nintendont=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%MyM%" EQU "*" echo SET MyM=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%locked%" EQU "*" echo SET locked=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%HBB%" EQU "*" echo SET HBB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WII64%" EQU "*" echo SET WII64=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Not64%" EQU "*" echo SET Not64=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Dolphin%" EQU "*" echo SET Dolphin=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%FILEZILLA%" EQU "*" echo SET FILEZILLA=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%hxd%" EQU "*" echo SET hxd=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Diskitude%" EQU "*" echo SET Diskitude=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Nkit%" EQU "*" echo SET Nkit=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%RC24%" EQU "*" echo SET RC24=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SDTEST%" EQU "*" echo SET SDTEST=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%HashMF%" EQU "*" echo SET HashMF=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%ThemeMiiMod%" EQU "*" echo SET ThemeMiiMod=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%UStealth%" EQU "*" echo SET UStealth=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%UWUVCI%" EQU "*" echo SET UWUVCI=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%GCBM%" EQU "*" echo SET GCBM=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%NUSGet%" EQU "*" echo SET NUSGet=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%ftpii%" EQU "*" echo SET ftpii=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%CheatZip%" EQU "*" echo SET CheatZip=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%AccountSwap%" EQU "*" echo SET AccountSwap=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%OSClib%" EQU "*" echo SET OSClib=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%HBASlib%" EQU "*" echo SET HBASlib=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%OSC%" EQU "*" echo SET OSC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WiiLink%" EQU "*" echo SET WiiLink=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Cemu%" EQU "*" echo SET Cemu=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%Casper%" EQU "*" echo SET Casper=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%Wilbrand%" EQU "*" echo SET Wilbrand=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Wilbrand%" EQU "*" echo SET REGION=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Wilbrand%" EQU "*" echo SET macaddress=%macaddress% >> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%WIISX%" EQU "*" echo SET WIISX=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%bootmiisd%" EQU "*" echo SET bootmiisd=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%pwns%" EQU "*" echo SET pwns=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Twi%" EQU "*" echo SET Twi=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Twi2%" EQU "*" echo SET Twi2=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%YUGI%" EQU "*" echo SET YUGI=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Bathaxx%" EQU "*" echo SET Bathaxx=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%ROTJ%" EQU "*" echo SET ROTJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%TOS%" EQU "*" echo SET TOS=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%smash%" EQU "*" echo SET smash=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%mmm%" EQU "*" echo SET mmm=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%CleanRip%" EQU "*" echo SET CleanRip=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%ARC%" EQU "*" echo SET ARC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%KK%" EQU "*" echo SET KK=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%yawm%" EQU "*" echo SET yawm=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%EnvironmentLoader%" EQU "*" echo SET EnvironmentLoader=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Nanddumper%" EQU "*" echo SET Nanddumper=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Wiiload Plugin%" EQU "*" echo SET Wiiload Plugin=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%FTPiiU Plugin%" EQU "*" echo SET FTPiiU Plugin=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Aroma%" EQU "*" echo SET Aroma=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%evWii%" EQU "*" echo SET evWii=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WiiVCLaunch%" EQU "*" echo SET WiiVCLaunch=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WiiUIdent%" EQU "*" echo SET WiiUIdent=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Tiramisu%" EQU "*" echo SET Tiramisu=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Screenshot_WUPS%" EQU "*" echo SET Screenshot_WUPS=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%appstore%" EQU "*" echo SET appstore=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SaveMiiModWUTPort%" EQU "*" echo SET SaveMiiModWUTPort=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vWii80Installer%" EQU "*" echo SET vWii80Installer=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%v43DB%" EQU "*" echo SET v43DB=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Swiss_cMIOS%" EQU "*" echo SET Swiss_cMIOS=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DiosMios%" EQU "*" echo SET DiosMios=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SCR%" EQU "*" echo SET SCR=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS9%" EQU "*" echo SET vIOS9=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS12%" EQU "*" echo SET vIOS12=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS13%" EQU "*" echo SET vIOS13=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS14%" EQU "*" echo SET vIOS14=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS15%" EQU "*" echo SET vIOS15=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS17%" EQU "*" echo SET vIOS17=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS21%" EQU "*" echo SET vIOS21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS22%" EQU "*" echo SET vIOS22=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS28%" EQU "*" echo SET vIOS28=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS31%" EQU "*" echo SET vIOS31=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS33%" EQU "*" echo SET vIOS33=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS34%" EQU "*" echo SET vIOS34=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS35%" EQU "*" echo SET vIOS35=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS36%" EQU "*" echo SET vIOS36=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS37%" EQU "*" echo SET vIOS37=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS38%" EQU "*" echo SET vIOS38=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS41%" EQU "*" echo SET vIOS41=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS43%" EQU "*" echo SET vIOS43=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS45%" EQU "*" echo SET vIOS45=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS46%" EQU "*" echo SET vIOS46=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS48%" EQU "*" echo SET vIOS48=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS53%" EQU "*" echo SET vIOS53=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS55%" EQU "*" echo SET vIOS55=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS56%" EQU "*" echo SET vIOS56=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS57%" EQU "*" echo SET vIOS57=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS58%" EQU "*" echo SET vIOS58=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS59%" EQU "*" echo SET vIOS59=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS61%" EQU "*" echo SET vIOS61=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS62%" EQU "*" echo SET vIOS62=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS80%" EQU "*" echo SET vIOS80=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vIOS80P%" EQU "*" echo SET vIOS80P=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%CompatTitleInstaller%" EQU "*" echo SET CompatTitleInstaller=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%neogamma%" EQU "*" echo SET neogamma=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%usbfolder%" EQU "*" echo SET usbfolder=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WiiMC%" EQU "*" echo SET WiiMC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Bloopair%" EQU "*" echo SET Bloopair=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%Inkay%" EQU "*" echo SET Inkay=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%wudd%" EQU "*" echo SET wudd=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%GiveMiiYouTube%" EQU "*" echo SET GiveMiiYouTube=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%csminstaller%" EQU "*" echo SET csminstaller=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%wup_installer_gx2_wuhb%" EQU "*" echo SET wup_installer_gx2_wuhb=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%fceugx%" EQU "*" echo SET fceugx=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%snes9xgx%" EQU "*" echo SET snes9xgx=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%vbagx%" EQU "*" echo SET vbagx=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SGM%" EQU "*" echo SET SGM=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%PL%" EQU "*" echo SET PL=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WIIX%" EQU "*" echo SET WIIX=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%wbm%" EQU "*" echo SET wbm=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%CheatCodes%" EQU "*" echo SET CheatCodes=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%f32%" EQU "*" echo SET f32=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%CM%" EQU "*" echo SET CM=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SMW%" EQU "*" echo SET SMW=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WiiGSC%" EQU "*" echo SET WiiGSC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%ohnes%" EQU "*" echo SET ohnes=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%FLOW%" EQU "*" echo SET FLOW=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%USBX%" EQU "*" echo SET USBX=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%FLOWF%" EQU "*" echo SET FLOWF=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%S2U%" EQU "*" echo SET S2U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%nSwitch%" EQU "*" echo SET nSwitch=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%PLC%" EQU "*" echo SET PLC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%OHBC%" EQU "*" echo SET OHBC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%OHBC113%" EQU "*" echo SET OHBC113=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%OHBC114%" EQU "*" echo SET OHBC114=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
::One option "Pri" for both Priiloader and LoadPriiloader
|
|
if /i "%Pri%" EQU "*" echo SET Pri=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%HAX%" EQU "*" echo SET HAX=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%MII%" EQU "*" echo SET MII=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%P0%" EQU "*" echo SET P0=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%P%" EQU "*" echo SET P=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%PHOTOK%" EQU "*" echo SET PHOTOK=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WSK%" EQU "*" echo SET WSK=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%S%" EQU "*" echo SET S=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%SK%" EQU "*" echo SET SK=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IU%" EQU "*" echo SET IU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IE%" EQU "*" echo SET IE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IJ%" EQU "*" echo SET IJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WU%" EQU "*" echo SET WU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WE%" EQU "*" echo SET WE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WJ%" EQU "*" echo SET WJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%NU%" EQU "*" echo SET NU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%NE%" EQU "*" echo SET NE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%NJ%" EQU "*" echo SET NJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WSU%" EQU "*" echo SET WSU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WSE%" EQU "*" echo SET WSE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%WSJ%" EQU "*" echo SET WSJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%M10%" EQU "*" echo SET M10=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS9%" EQU "*" echo SET IOS9=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS12%" EQU "*" echo SET IOS12=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS13%" EQU "*" echo SET IOS13=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS14%" EQU "*" echo SET IOS14=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS15%" EQU "*" echo SET IOS15=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS17%" EQU "*" echo SET IOS17=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS21%" EQU "*" echo SET IOS21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS22%" EQU "*" echo SET IOS22=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS28%" EQU "*" echo SET IOS28=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS31%" EQU "*" echo SET IOS31=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS33%" EQU "*" echo SET IOS33=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS34%" EQU "*" echo SET IOS34=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS35%" EQU "*" echo SET IOS35=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS36%" EQU "*" echo SET IOS36=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS36v3608%" EQU "*" echo SET IOS36v3608=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS37%" EQU "*" echo SET IOS37=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS38%" EQU "*" echo SET IOS38=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS41%" EQU "*" echo SET IOS41=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS48v4124%" EQU "*" echo SET IOS48v4124=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS43%" EQU "*" echo SET IOS43=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS45%" EQU "*" echo SET IOS45=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS46%" EQU "*" echo SET IOS46=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS53%" EQU "*" echo SET IOS53=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS55%" EQU "*" echo SET IOS55=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS56%" EQU "*" echo SET IOS56=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS57%" EQU "*" echo SET IOS57=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS58%" EQU "*" echo SET IOS58=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS59%" EQU "*" echo SET IOS59=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS61%" EQU "*" echo SET IOS61=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%IOS62%" EQU "*" echo SET IOS62=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%A0e%" EQU "*" echo SET A0e=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
::if /i "%A01%" EQU "*" echo SET A01=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
::if /i "%A0e_70%" EQU "*" echo SET A0e_70=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A01_60%" EQU "*" echo SET A01_60=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
::if /i "%A0e_60%" EQU "*" echo SET A0e_60=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
::if /i "%A01_70%" EQU "*" echo SET A01_70=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A1c%" EQU "*" echo SET A1c=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A1f%" EQU "*" echo SET A1f=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A22%" EQU "*" echo SET A22=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A0d%" EQU "*" echo SET A0d=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A0c%" EQU "*" echo SET A0c=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%A78%" EQU "*" echo SET A78=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A7b%" EQU "*" echo SET A7b=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A7e%" EQU "*" echo SET A7e=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A84%" EQU "*" echo SET A84=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A87%" EQU "*" echo SET A87=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A8a%" EQU "*" echo SET A8a=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%A81%" EQU "*" echo SET A81=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A8d%" EQU "*" echo SET A8d=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A9d%" EQU "*" echo SET A9d=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%A94%" EQU "*" echo SET A94=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A97%" EQU "*" echo SET A97=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%A9a%" EQU "*" echo SET A9a=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS202[37]-v5%" EQU "*" echo SET cIOS202[37]-v5=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS202[38]-v5%" EQU "*" echo SET cIOS202[38]-v5=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS222[38]-v4%" EQU "*" echo SET cIOS222[38]-v4=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%cIOS223[37-38]-v4%" EQU "*" echo SET cIOS223[37-38]-v4=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cBC%" EQU "*" echo SET cBC=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DML%" EQU "*" echo SET DML=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
|
|
if /i "%cIOS222[38]-v5%" EQU "*" echo SET cIOS222[38]-v5=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS223[37]-v5%" EQU "*" echo SET cIOS223[37]-v5=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS224[57]-v5%" EQU "*" echo SET cIOS224[57]-v5=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
|
|
if /i "%cIOS202[60]-v5.1R%" EQU "*" echo SET cIOS202[60]-v5.1R=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS222[38]-v5.1R%" EQU "*" echo SET cIOS222[38]-v5.1R=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS223[37]-v5.1R%" EQU "*" echo SET cIOS223[37]-v5.1R=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS224[57]-v5.1R%" EQU "*" echo SET cIOS224[57]-v5.1R=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS248[38]-d2x-v10-beta52%" EQU "*" echo SET cIOS248[38]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249-v14%" EQU "*" echo SET cIOS249-v14=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249-v17b%" EQU "*" echo SET cIOS249-v17b=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[37]-v19%" EQU "*" echo SET cIOS249[37]-v19=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[38]-v19%" EQU "*" echo SET cIOS249[38]-v19=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[57]-v19%" EQU "*" echo SET cIOS249[57]-v19=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250-v14%" EQU "*" echo SET cIOS250-v14=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250-v17b%" EQU "*" echo SET cIOS250-v17b=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[37]-v19%" EQU "*" echo SET cIOS250[37]-v19=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[38]-v19%" EQU "*" echo SET cIOS250[38]-v19=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[57]-v19%" EQU "*" echo SET cIOS250[57]-v19=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[38]-v20%" EQU "*" echo SET cIOS249[38]-v20=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[38]-v20%" EQU "*" echo SET cIOS250[38]-v20=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[56]-v20%" EQU "*" echo SET cIOS249[56]-v20=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[56]-v20%" EQU "*" echo SET cIOS250[56]-v20=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[57]-v20%" EQU "*" echo SET cIOS249[57]-v20=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[57]-v20%" EQU "*" echo SET cIOS250[57]-v20=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[37]-v21%" EQU "*" echo SET cIOS249[37]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[37]-v21%" EQU "*" echo SET cIOS250[37]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[38]-v21%" EQU "*" echo SET cIOS249[38]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[38]-v21%" EQU "*" echo SET cIOS250[38]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[53]-v21%" EQU "*" echo SET cIOS249[53]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[53]-v21%" EQU "*" echo SET cIOS250[53]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[55]-v21%" EQU "*" echo SET cIOS249[55]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[55]-v21%" EQU "*" echo SET cIOS250[55]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[56]-v21%" EQU "*" echo SET cIOS249[56]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[56]-v21%" EQU "*" echo SET cIOS250[56]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[57]-v21%" EQU "*" echo SET cIOS249[57]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[57]-v21%" EQU "*" echo SET cIOS250[57]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[58]-v21%" EQU "*" echo SET cIOS249[58]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[58]-v21%" EQU "*" echo SET cIOS250[58]-v21=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[37]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[37]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[38]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[38]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[56]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[56]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[53]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[53]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[55]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[55]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[57]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[57]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[58]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[58]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[60]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[60]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[70]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[70]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[80]-d2x-v10-beta52%" EQU "*" echo SET cIOS249[80]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[37]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[37]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[38]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[38]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[53]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[53]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[55]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[55]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[56]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[56]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[57]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[57]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[58]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[58]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[60]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[60]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[70]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[70]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[80]-d2x-v10-beta52%" EQU "*" echo SET cIOS250[80]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS251[58]-d2x-v10-beta52%" EQU "*" echo SET cIOS251[58]-d2x-v10-beta52=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS248[38]-d2x-vWii%" EQU "*" echo SET cIOS248[38]-d2x-vWii=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS249[56]-d2x-vWii%" EQU "*" echo SET cIOS249[56]-d2x-vWii=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS250[57]-d2x-vWii%" EQU "*" echo SET cIOS250[57]-d2x-vWii=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%cIOS251[58]-d2x-vWii%" EQU "*" echo SET cIOS251[58]-d2x-vWii=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2%" EQU "*" echo SET RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%RVL-cmios-v4_WiiGator_GCBL_v0.2%" EQU "*" echo SET RVL-cmios-v4_WiiGator_GCBL_v0.2=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%RVL-cmios-v4_Waninkoko_rev5%" EQU "*" echo SET RVL-cmios-v4_Waninkoko_rev5=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%DarkWii_Red_vWiiJ%" EQU "*" echo SET DarkWii_Red_vWiiJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_vWiiU%" EQU "*" echo SET DarkWii_Red_vWiiU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_vWiiE%" EQU "*" echo SET DarkWii_Red_vWiiE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_vWiiJ%" EQU "*" echo SET DarkWii_Green_vWiiJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_vWiiU%" EQU "*" echo SET DarkWii_Green_vWiiU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_vWiiE%" EQU "*" echo SET DarkWii_Green_vWiiE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_vWiiJ%" EQU "*" echo SET DarkWii_Blue_vWiiJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_vWiiU%" EQU "*" echo SET DarkWii_Blue_vWiiU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_vWiiE%" EQU "*" echo SET DarkWii_Blue_vWiiE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_vWiiJ%" EQU "*" echo SET darkwii_orange_vWiiJ=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_vWiiU%" EQU "*" echo SET darkwii_orange_vWiiU=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_vWiiE%" EQU "*" echo SET darkwii_orange_vWiiE=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
|
|
if /i "%DarkWii_Red_4.3U%" EQU "*" echo SET DarkWii_Red_4.3U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.2U%" EQU "*" echo SET DarkWii_Red_4.2U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.1U%" EQU "*" echo SET DarkWii_Red_4.1U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.3E%" EQU "*" echo SET DarkWii_Red_4.3E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.2E%" EQU "*" echo SET DarkWii_Red_4.2E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.1E%" EQU "*" echo SET DarkWii_Red_4.1E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.3J%" EQU "*" echo SET DarkWii_Red_4.3J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.2J%" EQU "*" echo SET DarkWii_Red_4.2J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.1J%" EQU "*" echo SET DarkWii_Red_4.1J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.3K%" EQU "*" echo SET DarkWii_Red_4.3K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.2K%" EQU "*" echo SET DarkWii_Red_4.2K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Red_4.1K%" EQU "*" echo SET DarkWii_Red_4.1K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%DarkWii_Green_4.3U%" EQU "*" echo SET DarkWii_Green_4.3U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.2U%" EQU "*" echo SET DarkWii_Green_4.2U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.1U%" EQU "*" echo SET DarkWii_Green_4.1U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.3E%" EQU "*" echo SET DarkWii_Green_4.3E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.2E%" EQU "*" echo SET DarkWii_Green_4.2E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.1E%" EQU "*" echo SET DarkWii_Green_4.1E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.3J%" EQU "*" echo SET DarkWii_Green_4.3J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.2J%" EQU "*" echo SET DarkWii_Green_4.2J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.1J%" EQU "*" echo SET DarkWii_Green_4.1J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.3K%" EQU "*" echo SET DarkWii_Green_4.3K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.2K%" EQU "*" echo SET DarkWii_Green_4.2K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Green_4.1K%" EQU "*" echo SET DarkWii_Green_4.1K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%DarkWii_Blue_4.3U%" EQU "*" echo SET DarkWii_Blue_4.3U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.2U%" EQU "*" echo SET DarkWii_Blue_4.2U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.1U%" EQU "*" echo SET DarkWii_Blue_4.1U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.3E%" EQU "*" echo SET DarkWii_Blue_4.3E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.2E%" EQU "*" echo SET DarkWii_Blue_4.2E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.1E%" EQU "*" echo SET DarkWii_Blue_4.1E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.3J%" EQU "*" echo SET DarkWii_Blue_4.3J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.2J%" EQU "*" echo SET DarkWii_Blue_4.2J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.1J%" EQU "*" echo SET DarkWii_Blue_4.1J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.3K%" EQU "*" echo SET DarkWii_Blue_4.3K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.2K%" EQU "*" echo SET DarkWii_Blue_4.2K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%DarkWii_Blue_4.1K%" EQU "*" echo SET DarkWii_Blue_4.1K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
if /i "%darkwii_orange_4.3U%" EQU "*" echo SET darkwii_orange_4.3U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.2U%" EQU "*" echo SET darkwii_orange_4.2U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.1U%" EQU "*" echo SET darkwii_orange_4.1U=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.3E%" EQU "*" echo SET darkwii_orange_4.3E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.2E%" EQU "*" echo SET darkwii_orange_4.2E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.1E%" EQU "*" echo SET darkwii_orange_4.1E=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.3J%" EQU "*" echo SET darkwii_orange_4.3J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.2J%" EQU "*" echo SET darkwii_orange_4.2J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.1J%" EQU "*" echo SET darkwii_orange_4.1J=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.3K%" EQU "*" echo SET darkwii_orange_4.3K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.2K%" EQU "*" echo SET darkwii_orange_4.2K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
if /i "%darkwii_orange_4.1K%" EQU "*" echo SET darkwii_orange_4.1K=*>> "temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
support\sfk filter "temp\DownloadQueues\%DLQUEUENAME%.bat" -unique -write -yes>nul
|
|
support\sfk filter "temp\DownloadQueues\%DLQUEUENAME%.bat" -lerep _" "__ -write -yes>nul
|
|
|
|
if not exist temp\DLGotosADV.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\DLGotosADV.txt) do call :process1 %%A
|
|
goto:quickskip
|
|
:process1
|
|
set AdvDLX=%*
|
|
set /a AdvNumberCOPY2=%AdvNumberCOPY2%+1
|
|
echo "echo %AdvDLX:~0,10%%AdvNumberCOPY2%.batredirectredirecttemp\DLGotosADV.txt">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
if not exist temp\DLnamesADV.txt goto:quickskip
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\DLnamesADV.txt) do call :process2 %%A
|
|
goto:quickskip
|
|
:process2
|
|
echo "echo %* redirectredirecttemp\DLnamesADV.txt">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
|
|
if not exist temp\DLGotosADV.txt goto:quickskip
|
|
copy /y temp\DLGotosADV.txt temp\DLGotosADV-copy.txt>nul
|
|
::Loop through the following once for EACH line in *.txt
|
|
:doitagain
|
|
for /F "tokens=*" %%A in (temp\DLGotosADV-copy.txt) do call :process3 %%A
|
|
goto:quickskip
|
|
:process3
|
|
set AdvDLX=%*
|
|
set /a AdvNumberCOPY3=%AdvNumberCOPY3%+1
|
|
|
|
echo "if exist %AdvDLX:~0,10%%AdvNumberCOPY3%.bat del %AdvDLX:~0,10%%AdvNumberCOPY3%.batredirectnul">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
for /F "tokens=*" %%A in (%AdvDLX%) do call :process4 %%A
|
|
goto:tinyskip
|
|
:process4
|
|
|
|
echo "echo quote%*quoteredirectredirect%AdvDLX:~0,10%%AdvNumberCOPY3%.bat">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
|
|
goto:EOF
|
|
:tinyskip
|
|
|
|
support\sfk filter -quiet temp\DLGotosADV-copy.txt -le!"%AdvDLX:~5%" -write -yes
|
|
|
|
echo "support\sfk -spat filter -quiet %AdvDLX:~0,10%%AdvNumberCOPY3%.bat -rep _quotequotequote__ -write -yes">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
|
|
goto:doitagain
|
|
::goto:EOF
|
|
:quickskip
|
|
|
|
echo ":endofqueue">>"temp\DownloadQueues\%DLQUEUENAME%.bat"
|
|
|
|
support\sfk filter "temp\DownloadQueues\%DLQUEUENAME%.bat" -rep _"redirect"_">"_ -write -yes>nul
|
|
support\sfk filter -quiet -spat "temp\DownloadQueues\%DLQUEUENAME%.bat" -rep _\x22__ -write -yes
|
|
support\sfk filter -quiet "temp\DownloadQueues\%DLQUEUENAME%.bat" -rep _quotequotequote_\x22_ -write -yes
|
|
support\sfk filter -quiet -spat "temp\DownloadQueues\%DLQUEUENAME%.bat" -rep _quote_\x22_ -rep _@_%%_ -write -yes
|
|
|
|
support\sfk filter -quiet "temp\DownloadQueues\%DLQUEUENAME%.bat" -rep _"set AdvNumber="*_"set AdvNumber=%AdvNumberCOPY%"_ -write -yes
|
|
|
|
|
|
::support\sfk filter "temp\DownloadQueues\%DLQUEUENAME%.bat" -spat -rep _@_%%_ -write -yes>nul
|
|
|
|
|
|
|
|
if exist "temp\DownloadQueues\%DLQUEUENAME%.bat" echo Download Queue Saved
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
if /i "%MENU1%" EQU "L" set "CurrentQueue=%DLQUEUENAME%.bat"
|
|
|
|
if /i "%SETTINGS%" EQU "S" goto:DOWNLOADQUEUE
|
|
::if /i "%SETTINGS%" EQU "S+" goto:DOWNLOADQUEUE
|
|
if /i "%FINISH%" EQU "S" goto:FINISH
|
|
::if /i "%FINISH%" EQU "S+" goto:FINISH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::...................................Copy (rename %Drive%\wad if applicable)...............................
|
|
:COPY
|
|
if not exist "%Drive%"\WAD goto:creditcheck
|
|
if /i "%USBCONFIG%" EQU "USB" goto:creditcheck
|
|
if /i "%MENU1%" EQU "U" goto:creditcheck
|
|
if /i "%MENU1%" EQU "AW" goto:creditcheck
|
|
::if /i "%DRIVE%" NEQ "COPY_TO_SD" goto:creditcheck
|
|
|
|
Set COPY="
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
echo "%Drive%\WAD" Folder already exists, what would you like to do?
|
|
echo.
|
|
echo M = Merge downloads with existing "%Drive%\WAD" Folder.
|
|
echo Duplicates will be skipped.
|
|
echo.
|
|
echo R = Rename the existing WAD Folder to WAD#
|
|
echo and begin downloading.
|
|
echo.
|
|
echo C = Cancel/Main Menu
|
|
echo.
|
|
echo E = Exit
|
|
echo.
|
|
set /p COPY=Enter Selection Here:
|
|
set "COPY=%COPY:"=%"
|
|
|
|
if /i "%COPY%" EQU "M" goto:creditcheck
|
|
if /i "%COPY%" EQU "E" EXIT
|
|
if /i "%COPY%" EQU "C" goto:MENU
|
|
|
|
if /i "%COPY%" NEQ "R" echo You Have Entered an Incorrect Key
|
|
if /i "%COPY%" NEQ "R" @ping 127.0.0.1 -n 2 -w 1000> nul
|
|
if /i "%COPY%" NEQ "R" goto:COPY
|
|
|
|
:COPY2
|
|
SET /a COUNT=%COUNT%+1
|
|
if exist "%Drive%"\WAD%COUNT% goto:COPY2
|
|
::move "%Drive%"\WAD "%Drive%"\WAD%COUNT%>nul
|
|
rename "%Drive%"\WAD WAD%COUNT%
|
|
|
|
goto:creditcheck
|
|
|
|
|
|
::.................................................ACTUAL DOWNLOAD CODE...........................................................................
|
|
:DOWNLOADSTART
|
|
if /i "%loadorgo%" EQU "load" goto:ADVPAGE2
|
|
if /i "%loadorgo%" EQU "load4queue" goto:processDLCheck2
|
|
if /i "%loadorgo%" EQU "load4switch" goto:processDLCheck2switch
|
|
if /i "%loadorgo%" EQU "load4mym2csm" goto:load4mym2csm
|
|
set retry=1
|
|
set attempt=1
|
|
|
|
|
|
::DBUPDATE.bat check (added in v4.5.0)
|
|
::instead of putting out ModMii updates for minor things, the update check can be used to create\download a DBUPDATE.bat file to modify variables like "wadname", "md5", etc.
|
|
::if exist "temp\DBUPDATE%currentversion%.bat" call "temp\DBUPDATE%currentversion%.bat"
|
|
|
|
|
|
|
|
:DOWNLOADSTART2
|
|
|
|
|
|
::change drive to usb if applicable
|
|
if /i "%MENU1%" EQU "FC" goto:skipchange
|
|
if not "%REALDRIVE%"=="" set "DRIVE=%REALDRIVE%"
|
|
if /i "%USBCONFIG%" NEQ "USB" goto:skipchange
|
|
if /i "%WADNAME%" EQU "WiiBackupManager.zip" set "DRIVE=%DRIVEU%"
|
|
|
|
if /i "%name%" EQU "USB Loader GX" set "DRIVE=%DRIVEU%"
|
|
if /i "%name%" EQU "Configurable USB-Loader" set "DRIVE=%DRIVEU%"
|
|
if /i "%name%" EQU "WiiFlow" set "DRIVE=%DRIVEU%"
|
|
if /i "%name%" EQU "CleanRip" set "DRIVE=%DRIVEU%"
|
|
if /i "%name%" EQU "Nintendont" set "DRIVE=%DRIVEU%"
|
|
|
|
if /i "%PATH1%" EQU "Program Files\FAT32_GUI_Formatter\" set "DRIVE=%DRIVEU%"
|
|
if /i "%PATH1%" EQU "Program Files\NKit\" set "DRIVE=%DRIVEU%"
|
|
if /i "%PATH1%" EQU "Program Files\GCBM\" set "DRIVE=%DRIVEU%"
|
|
|
|
:skipchange
|
|
|
|
|
|
|
|
if /i "%MENU1%" EQU "S" set DRIVE=temp
|
|
|
|
if not exist "%Drive%" mkdir "%Drive%"
|
|
|
|
::if /i "%PATH1%" EQU "FAT32_GUI_Formatter\" set "DRIVE=%DRIVEU%"
|
|
::USBGUIDE
|
|
|
|
|
|
if /i "%MENU1%" EQU "U" goto:makewbfsfolder
|
|
if /i "%MENU1%" NEQ "W" goto:skip
|
|
if /i "%USBGUIDE%" NEQ "Y" goto:skip
|
|
:makewbfsfolder
|
|
set "wbfsdir=%Drive%\WBFS"
|
|
if /i "%USBCONFIG%" EQU "USB" set "wbfsdir=%DriveU%\WBFS"
|
|
if not exist "%wbfsdir%" mkdir "%wbfsdir%"
|
|
:skip
|
|
|
|
|
|
:actualDL
|
|
if /i "%retry%" EQU "1" SET /a CURRENTDL=%CURRENTDL%+1
|
|
|
|
|
|
if /i "%CURRENTDL%" NEQ "1" echo.
|
|
if /i "%retry%" EQU "1" support\sfk echo [%redtext%]Downloading %CURRENTDL% of %DLTOTAL%: %name%
|
|
if /i "%retry%" NEQ "1" support\sfk echo [%yellowtext%]Re-Downloading %CURRENTDL% of %DLTOTAL%: %name%
|
|
echo.
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" NEQ "Y" goto:notskin
|
|
if /i "%CURRENTDL%" EQU "1" set percent=0
|
|
::if "%percent%"=="" set percent=0
|
|
set percentlast=%percent%
|
|
set /a percent=%CURRENTDL%00/%DLTOTAL%
|
|
if %percent% LSS %percentlast% set percent=%percentlast%
|
|
start support\wizapp PB UPDATE %percent%
|
|
:notskin
|
|
|
|
|
|
|
|
::---------Exceptions----------------
|
|
if /i "%category%" EQU "CHEATS" goto:CHEATS
|
|
if /i "%category%" EQU "ManualUpdate" goto:MANUALUPDATE
|
|
if /i "%category%" EQU "fullextract" goto:fullextract
|
|
if /i "%category%" EQU "NusdApp" goto:NusdApp
|
|
if /i "%category%" EQU "auto" goto:fullextract
|
|
if /i "%category%" EQU "OSC" goto:OSCprocess
|
|
if /i "%category%" EQU "HBAS" goto:HBASprocess
|
|
if /i "%category%" EQU "themes" goto:THEMES
|
|
if /i "%category%" EQU "STUBS" goto:STUBS
|
|
if /i "%basewad%" NEQ "none" goto:CIOSMAKER
|
|
if /i "%name%" EQU "Hackmii Installer v1.2" goto:wget
|
|
if /i "%name%" EQU "Hackmii Installer v1.0" goto:wget
|
|
if /i "%category%" EQU "userdefined" goto:CustomDL
|
|
if /i "%category%" EQU "FORWARDER" goto:FORWARDER
|
|
if /i "%code1%" EQU "URL" goto:DownloadURL
|
|
::if /i "%category%" EQU "IOS" goto:nusd
|
|
|
|
|
|
::--------------------------NUSD.EXE Downloader---------------
|
|
:nusd
|
|
if not exist "%Drive%"\WAD mkdir "%Drive%"\WAD
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
:checkifwadexist
|
|
if not exist "%Drive%"\WAD\%wadname% goto:nocheckexisting
|
|
set md5check=
|
|
set md5altcheck=
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%"\WAD\%wadname%
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
support\sfk md5 -quiet -verify %md5alt% "%Drive%"\WAD\%wadname%
|
|
if errorlevel 1 set md5altcheck=fail
|
|
IF "%md5altcheck%"=="" set md5altcheck=pass
|
|
if /i "%md5altcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
del "%Drive%"\WAD\%wadname%>nul
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
::option1 disabled
|
|
goto:no01check
|
|
if /i "%OPTION1%" EQU "OFF" goto:no01check
|
|
if not exist temp\%code1%\%code2%\v%version% goto:nocheckexisting
|
|
|
|
if /i "%OPTION1%" EQU "ON" goto:option1on
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1on) else (goto:option1noton)
|
|
:option1on
|
|
if not exist "%Drive%"\%code1%\%code2%\v%version% mkdir "%Drive%"\%code1%\%code2%\v%version%
|
|
copy /y temp\%code1%\%code2%\v%version% "%Drive%"\%code1%\%code2%\v%version% >nul
|
|
:option1noton
|
|
|
|
if /i "%OPTION1%" EQU "NUS" goto:option1NUS
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1NUS) else (goto:no01check)
|
|
:option1NUS
|
|
if not exist "%Drive%"\NUS\%code1%%code2%v%version% mkdir "%Drive%"\NUS\%code1%%code2%v%version%
|
|
copy /y temp\%code1%\%code2%\v%version% "%Drive%"\NUS\%code1%%code2%v%version% >nul
|
|
:no01check
|
|
|
|
support\sfk echo [%greentext%]This file already exists and has been verified, Skipping download
|
|
echo.
|
|
set alreadyexists=yes
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %wadname%: Valid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
:nocheckexisting
|
|
|
|
|
|
|
|
::SAVE TO WAD FOLDER ONLY
|
|
|
|
if not exist "%Drive%"\WAD mkdir "%Drive%"\WAD
|
|
|
|
if exist temp\%wadname% goto:AlreadyinTemp
|
|
::echo If you encounter long periods of inactivity, type "C" while holding "Ctrl",
|
|
::echo then type "N", then "Enter" (i.e. Ctrl+C, N, Enter)
|
|
::echo.
|
|
|
|
::cd temp
|
|
::..\support\nusd.exe %code1%%code2% %version%
|
|
::cd..
|
|
::if exist temp\titles\%code1%%code2%\%version%\%code1%%code2%-NUS-v%version%.wad move /y temp\titles\%code1%%code2%\%version%\%code1%%code2%-NUS-v%version%.wad temp\%wadname%>nul
|
|
|
|
%WiiPy% nus title %code1%%code2% -v %version% --wad "temp\%wadname%"
|
|
if /i "%code1%" EQU "00000007" %WiiPy% wad convert -r -o "temp\%wadname%" "temp\%wadname%"
|
|
if /i "%code1%" EQU "00070008" %WiiPy% wad convert -r -o "temp\%wadname%" "temp\%wadname%"
|
|
|
|
::vIOS61 custom stuff
|
|
if not exist "temp\%wadname%" goto:skipVIOS61
|
|
if /i "%wadname%" EQU "cIOS61[56]-v5918-vWii.wad" goto:buildVIOS61
|
|
if exist "temp\cIOS61[56]-v5918-vWii.wad" goto:skipVIOS61
|
|
if /i "%wadname%" NEQ "vIOS56-64-v5918-vWii.wad" goto:skipVIOS61
|
|
:buildVIOS61
|
|
if not exist "temp\vIOS56-64-v5918-vWii.wad" move /y "temp\%wadname%" "temp\vIOS56-64-v5918-vWii.wad">nul
|
|
echo.
|
|
echo Duplicating vIOS56 to create cIOS61 for vWii...
|
|
%WiiPy% iospatch -s 61 -o "temp\cIOS61[56]-v5918-vWii.wad" "temp\vIOS56-64-v5918-vWii.wad"
|
|
:skipVIOS61
|
|
|
|
|
|
|
|
::HAZA custom stuff
|
|
if not exist "temp\%wadname%" goto:skipHAZA
|
|
if /i "%wadname%" EQU "Photo-Channel-1.1-dummy-HAZA.wad" goto:buildHAZA
|
|
if exist "temp\Photo-Channel-1.1-dummy-HAZA.wad" goto:skipHAZA
|
|
if /i "%wadname%" NEQ "Photo-Channel-1.0-NUS-v2.wad" goto:skipHAZA
|
|
:buildHAZA
|
|
if not exist "temp\Photo-Channel-1.0-NUS-v2.wad" move /y "temp\%wadname%" "temp\Photo-Channel-1.0-NUS-v2.wad">nul
|
|
echo.
|
|
echo Patching Photo Channel to create 1.1 HAZA dummy...
|
|
echo.
|
|
|
|
::avoiding Sharpii which timestamps!!
|
|
::support\sharpii.exe Wad -e "temp\Photo-Channel-1.0-NUS-v2.wad" "temp\Photo-Channel-1.1-dummy-HAZA.wad" -id "HAZA" -type HiddenChannels
|
|
|
|
if not exist "temp\Photo-Channel-1.1-dummy-HAZA.wad" copy /y "temp\Photo-Channel-1.0-NUS-v2.wad" "temp\Photo-Channel-1.1-dummy-HAZA.wad">nul
|
|
|
|
::Fails without unpacking first-change the title ID to HAZA and change title type (full title ID is 0001000048415A41)
|
|
::support\sfk replace "temp\Photo-Channel-1.1-dummy-HAZA.wad" -binary /0001000248414141/0001000048415A41/ -yes>nul
|
|
|
|
::change boot index to 0 (at offset 0x1E0 of TMD or 0xEE0 of WAD)
|
|
support\sfk setbytes "temp\Photo-Channel-1.1-dummy-HAZA.wad" 0xEE0 0x0000 -yes>nul
|
|
|
|
::ultimately unnecessary: change IOS to 61 at tmd offset 0x18B, 0xE8B of wad (len 1)
|
|
::support\sfk setbytes "temp\Photo-Channel-1.1-dummy-HAZA.wad" 0xE8B 0x3D -yes>nul
|
|
|
|
::Also remove all of the contents except content 0 (the banner)
|
|
%WiiPy% wad remove -i 3 "temp\Photo-Channel-1.1-dummy-HAZA.wad"
|
|
%WiiPy% wad remove -i 2 "temp\Photo-Channel-1.1-dummy-HAZA.wad"
|
|
%WiiPy% wad remove -i 1 "temp\Photo-Channel-1.1-dummy-HAZA.wad"
|
|
|
|
::later if\when wiipy is updated to properly handle tmd edits during remove operations the below unpack\repack commands can be removed
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
mkdir "temp\__channel"
|
|
%WiiPy% wad unpack --skip-hash "temp\Photo-Channel-1.1-dummy-HAZA.wad" "temp\__channel">nul
|
|
|
|
move /y "temp\__channel\0001000248414141.cert" "temp\__channel\0001000048415A41.cert">nul
|
|
move /y "temp\__channel\0001000248414141.footer" "temp\__channel\0001000048415A41.footer">nul
|
|
move /y "temp\__channel\0001000248414141.tik" "temp\__channel\0001000048415A41.tik">nul
|
|
move /y "temp\__channel\0001000248414141.tmd" "temp\__channel\0001000048415A41.tmd">nul
|
|
|
|
::change the title ID to HAZA and change title type (full title ID is 0001000048415A41)
|
|
::support\sfk replace -binary /0001000248414141/0001000048415A41/ -dir "temp\__channel" -yes>nul
|
|
support\sfk replace "temp\__channel\0001000048415A41.tik" -binary /0001000248414141/0001000048415A41/ -yes>nul
|
|
support\sfk replace "temp\__channel\0001000048415A41.tmd" -binary /0001000248414141/0001000048415A41/ -yes>nul
|
|
|
|
del "temp\Photo-Channel-1.1-dummy-HAZA.wad">nul
|
|
|
|
%WiiPy% wad pack --fakesign "temp\__channel" "temp\Photo-Channel-1.1-dummy-HAZA.wad"
|
|
|
|
if exist "temp\__channel" rd /s /q "temp\__channel"> nul
|
|
|
|
:skipHAZA
|
|
|
|
|
|
::option1 disabled
|
|
::if not exist temp\%code1%\%code2%\v%version% mkdir temp\%code1%\%code2%\v%version%
|
|
::if exist temp\titles\%code1%%code2%\%version% copy /y temp\titles\%code1%%code2%\%version% temp\%code1%\%code2%\v%version%\ >nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
|
|
|
|
|
|
:AlreadyinTemp
|
|
if /i "%MENU1%" NEQ "S" copy /y temp\%wadname% "%Drive%"\WAD\%wadname% >nul
|
|
if /i "%MENU1%" EQU "S" move /y temp\%wadname% "%Drive%"\WAD\%wadname% >nul
|
|
|
|
::option1 disabled
|
|
goto:option1notNUS
|
|
if /i "%OPTION1%" EQU "ON" goto:option1on
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1on) else (goto:option1noton)
|
|
:option1on
|
|
if not exist "%Drive%"\%code1%\%code2%\v%version% mkdir "%Drive%"\%code1%\%code2%\v%version%
|
|
copy /y temp\%code1%\%code2%\v%version% "%Drive%"\%code1%\%code2%\v%version% >nul
|
|
:option1noton
|
|
|
|
if /i "%OPTION1%" EQU "NUS" goto:option1NUS
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1NUS) else (goto:option1notNUS)
|
|
:option1NUS
|
|
if not exist "%Drive%"\NUS\%code1%%code2%v%version% mkdir "%Drive%"\NUS\%code1%%code2%v%version%
|
|
copy /y temp\%code1%\%code2%\v%version% "%Drive%"\NUS\%code1%%code2%v%version% >nul
|
|
:option1notNUS
|
|
|
|
:wadverifyretry
|
|
|
|
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist "%Drive%"\WAD\%wadname% goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
echo.
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:checkexisting
|
|
set md5check=
|
|
set md5altcheck=
|
|
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%"\WAD\%wadname%
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
support\sfk md5 -quiet -verify %md5alt% "%Drive%"\WAD\%wadname%
|
|
if errorlevel 1 set md5altcheck=fail
|
|
IF "%md5altcheck%"=="" set md5altcheck=pass
|
|
if /i "%md5altcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
|
|
echo.
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del "%Drive%"\WAD\%wadname%>nul
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:multiplefail
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
set multiplefail=Y
|
|
echo.
|
|
|
|
if /i "%KeepInvalidOverride%" NEQ "Y" (if exist "%Drive%\WAD\%wadname%" del "%Drive%\WAD\%wadname%">nul) & (if exist "%Drive%\%code1%\%code2%\v%version%" rd /s /q "%Drive%\%code1%\%code2%\v%version%")
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%: [%redtext%]Invalid">>temp\ModMii_Log.bat
|
|
|
|
goto:NEXT
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %wadname%: Valid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::--------------------------STUBS Downloader---------------
|
|
:STUBS
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
:checkifwadexist
|
|
if not exist "temp\%wadname%" goto:nocheckexisting
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if not errorlevel 1 (set md5check=pass) & (goto:STUBSTUFF)
|
|
set md5check=fail
|
|
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
goto:DOWNLOADSTART2
|
|
|
|
:nocheckexisting
|
|
|
|
::SAVE TO temp FOLDER ONLY (for now)
|
|
|
|
::echo If you encounter long periods of inactivity, type "C" while holding "Ctrl",
|
|
::echo then type "N", then "Enter" (i.e. Ctrl+C, N, Enter)
|
|
::echo.
|
|
|
|
::cd temp
|
|
::..\support\nusd.exe %code1%%code2% %version%
|
|
::cd..
|
|
::if exist temp\titles\%code1%%code2%\%version%\%code1%%code2%-NUS-v%version%.wad move /y temp\titles\%code1%%code2%\%version%\%code1%%code2%-NUS-v%version%.wad temp\%wadname%>nul
|
|
|
|
%WiiPy% nus title %code1%%code2% -v %version% --wad "temp\%wadname%"
|
|
if /i "%code1%" EQU "00000007" %WiiPy% wad convert -r -o "temp\%wadname%" "temp\%wadname%"
|
|
if /i "%code1%" EQU "00070008" %WiiPy% wad convert -r -o "temp\%wadname%" "temp\%wadname%"
|
|
|
|
::option1 disabled
|
|
|
|
::no point in saving STUB contents
|
|
::if not exist temp\%code1%\%code2%\v%version% mkdir temp\%code1%\%code2%\v%version%
|
|
::if exist temp\titles\%code1%%code2%\%version% copy /y temp\titles\%code1%%code2%\%version% temp\%code1%\%code2%\v%version%\ >nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
|
|
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist "temp\%wadname%" goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
echo.
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:checkexisting
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if not errorlevel 1 (set md5check=pass) & (goto:STUBSTUFF)
|
|
set md5check=fail
|
|
|
|
:fail
|
|
echo.
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:multiplefail
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
set multiplefail=Y
|
|
echo.
|
|
|
|
if /i "%KeepInvalidOverride%" NEQ "Y" (if exist "temp\%wadname%" del "temp\%wadname%">nul) & (if exist "%Drive%\%code1%\%code2%\v%version%" rd /s /q "%Drive%\%code1%\%code2%\v%version%")
|
|
echo "support\sfk echo %name%: [%redtext%]Invalid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
|
|
|
|
:STUBSTUFF
|
|
|
|
::COPY TO WAD\STUBS FOLDER and change slot and version number (v404 not found, lol)
|
|
if not exist "%Drive%\WAD\STUBS" mkdir "%Drive%\WAD\STUBS"
|
|
|
|
::if /i "%DRIVE:~1,1%" EQU ":" (set "DRIVEadj=%DRIVE%") else (set "DRIVEadj=..\%DRIVE%")
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\stubs.txt) do call :processstubs %%A
|
|
goto:quickskip
|
|
:processstubs
|
|
|
|
::vWiitag already set
|
|
::set vWiitag=
|
|
::if /i "%FIRMSTART%" EQU "v" set vWiitag=-vWii
|
|
|
|
set stubnum=%*
|
|
set wadname2=STUB-IOS%stubnum%-64-v404%vWiitag%.wad
|
|
echo Creating %wadname2%...
|
|
|
|
::cd support
|
|
::patchios "..\temp\%wadname%" -slot %stubnum% -v 404 -O "%DRIVEadj%\WAD\STUBS\%wadname2%">nul
|
|
::cd..
|
|
::::fakesign!
|
|
::%WiiPy% fakesign "%DRIVE%\WAD\STUBS\%wadname2%">nul
|
|
|
|
%WiiPy% iospatch -s %stubnum% -v 404 -o "%DRIVE%\WAD\STUBS\%wadname2%" "temp\%wadname%"
|
|
|
|
::Change 00 to 01 at offset 0x183 of tmd (0xE83 of wad) to indicate its vWii
|
|
if /i "%FIRMSTART%" EQU "v" support\hexalter.exe "%DRIVE%\WAD\STUBS\%wadname2%" 0xE83=0x01>nul
|
|
echo.
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
echo.
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::-------------------------------cIOS Maker-----------------------------------------------------
|
|
:CIOSMAKER
|
|
|
|
if "%wadname:~-4%" EQU ".wad" set wadname=%wadname:~0,-4%
|
|
|
|
::no md5 check for dml
|
|
if /i "%wadname:~0,3%" EQU "DML" goto:nocheckexisting
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if exist "%Drive%"\WAD\%wadname%.wad (goto:checkexisting) else (goto:nocheckexisting)
|
|
:checkexisting
|
|
set md5check=
|
|
set md5altcheck=
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%"\WAD\%wadname%.wad
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
support\sfk md5 -quiet -verify %md5alt% "%Drive%"\WAD\%wadname%.wad
|
|
if errorlevel 1 set md5altcheck=fail
|
|
IF "%md5altcheck%"=="" set md5altcheck=pass
|
|
if /i "%md5altcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
del "%Drive%"\WAD\%wadname%.wad>nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
support\sfk echo [%greentext%]This file already exists and has been verified, Skipping download
|
|
echo.
|
|
set alreadyexists=yes
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %wadname%.wad: Valid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
:nocheckexisting
|
|
|
|
|
|
|
|
::missing Support folder error message and skip
|
|
if not exist Support support\sfk echo -spat [%yellowtext%] Missing "Support" folder - Required to make cIOSs/cMIOSs
|
|
if not exist Support support\sfk echo -spat \x20 \x20 [%yellowtext%] Redownload ModMii from https://modmii.github.io
|
|
if not exist Support support\sfk echo -spat \x20 \x20 [%yellowtext%] Skipping download
|
|
if not exist Support @ping 127.0.0.1 -n 5 -w 1000> nul
|
|
if not exist Support goto:NEXT
|
|
|
|
|
|
if not exist "%Drive%"\WAD mkdir "%Drive%"\WAD
|
|
|
|
|
|
:downloadbasewad
|
|
::download base wad to "%Drive%"
|
|
echo.
|
|
echo Downloading Base Wad: %basewad%
|
|
echo.
|
|
|
|
|
|
|
|
|
|
::----Check base IOS-----------
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if exist temp\%basewad%.wad (goto:checkexisting) else (goto:nocheckexisting)
|
|
:checkexisting
|
|
set md5basecheck=
|
|
set md5basealtcheck=
|
|
support\sfk md5 -quiet -verify %md5base% temp\%basewad%.wad
|
|
if errorlevel 1 set md5basecheck=fail
|
|
IF "%md5basecheck%"=="" set md5basecheck=pass
|
|
if /i "%md5basecheck%" NEQ "fail" goto:pass
|
|
|
|
support\sfk md5 -quiet -verify %md5basealt% temp\%basewad%.wad
|
|
if errorlevel 1 set md5basealtcheck=fail
|
|
IF "%md5basealtcheck%"=="" set md5basealtcheck=pass
|
|
if /i "%md5basealtcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This base wad already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del temp\%basewad%.wad>nul
|
|
goto:downloadbasewad
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] Base Wad already exists and has been verified, Continuing...
|
|
echo.
|
|
goto:basealreadythere
|
|
:nocheckexisting
|
|
|
|
|
|
::echo If you encounter long periods of inactivity, type "C" while holding "Ctrl",
|
|
::echo then type "N", then "Enter" (i.e. Ctrl+C, N, Enter)
|
|
::echo.
|
|
|
|
if not exist "%Drive%"\WAD mkdir "%Drive%"\WAD
|
|
|
|
::cd temp
|
|
::..\support\nusd.exe %code1%%code2% %version%
|
|
::cd..
|
|
|
|
::if exist temp\titles\%code1%%code2%\%version%\%code1%%code2%-NUS-v%version%.wad move /y temp\titles\%code1%%code2%\%version%\%code1%%code2%-NUS-v%version%.wad temp\%basewad%.wad>nul
|
|
|
|
%WiiPy% nus title %code1%%code2% -v %version% --wad "temp\%basewad%.wad"
|
|
if /i "%code1%" EQU "00000007" %WiiPy% wad convert -r -o "temp\%basewad%.wad" "temp\%basewad%.wad"
|
|
if /i "%code1%" EQU "00070008" %WiiPy% wad convert -r -o "temp\%basewad%.wad" "temp\%basewad%.wad"
|
|
|
|
::option1 disabled
|
|
::if not exist temp\%code1%\%code2%\v%version% mkdir temp\%code1%\%code2%\v%version%
|
|
::if exist temp\titles\%code1%%code2%\%version% copy /y temp\titles\%code1%%code2%\%version% temp\%code1%\%code2%\v%version%\ >nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
|
|
|
|
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist temp\%basewad%.wad goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
echo.
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The basewad is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:downloadbasewad
|
|
|
|
:checkexisting
|
|
set md5basecheck=
|
|
set md5basealtcheck=
|
|
support\sfk md5 -quiet -verify %md5base% temp\%basewad%.wad
|
|
if errorlevel 1 set md5basecheck=fail
|
|
IF "%md5basecheck%"=="" set md5basecheck=pass
|
|
if /i "%md5basecheck%" NEQ "fail" goto:pass
|
|
|
|
support\sfk md5 -quiet -verify %md5basealt% temp\%basewad%.wad
|
|
if errorlevel 1 set md5basealtcheck=fail
|
|
IF "%md5basealtcheck%"=="" set md5basealtcheck=pass
|
|
if /i "%md5basealtcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del temp\%basewad%.wad>nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:downloadbasewad
|
|
|
|
:multiplefail
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%.wad: [%redtext%]Invalid">>temp\ModMii_Log.bat
|
|
set multiplefail=Y
|
|
echo.
|
|
goto:NEXT
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] Base Wad has been Downloaded Successfully, Continuing...
|
|
echo.
|
|
|
|
:basealreadythere
|
|
|
|
|
|
::----------PATCHIOS Category-------------
|
|
if /i "%category%" NEQ "patchios" goto:notpatchios
|
|
if not "%lastbasemodule%"=="" goto:notpatchios
|
|
copy /y temp\%basewad%.wad "%Drive%"\WAD\%wadname%.wad>nul
|
|
|
|
|
|
::cd support
|
|
::if /i "%DRIVE:~1,1%" EQU ":" (set "DRIVEadj=%DRIVE%") else (set "DRIVEadj=..\%DRIVE%")
|
|
::if "%lastbasemodule%"=="" patchios "%DRIVEadj%"\WAD\%wadname%.wad -FS -ES -NP -VP -slot %ciosslot% -v %ciosversion%
|
|
::if not "%lastbasemodule%"=="" patchios "%DRIVEadj%"\WAD\%wadname%.wad -FS -ES -NP -VP
|
|
::cd..
|
|
::::fakesign!
|
|
::%WiiPy% fakesign "%DRIVE%\WAD\%wadname%.wad">nul
|
|
|
|
if "%lastbasemodule%"=="" %WiiPy% iospatch -fs -ei -na -vd -s %ciosslot% -v %ciosversion% "%DRIVE%\WAD\%wadname%.wad"
|
|
if not "%lastbasemodule%"=="" %WiiPy% iospatch -fs -ei -na -vd "%DRIVE%\WAD\%wadname%.wad"
|
|
|
|
|
|
|
|
if "%wadname:~-4%" NEQ ".wad" set wadname=%wadname%.wad
|
|
|
|
goto:wadverifyretry
|
|
:notpatchios
|
|
::----------------------------------------
|
|
|
|
|
|
::CIOS STUFF
|
|
|
|
if /i "%basecios:~12,3%" NEQ "d2x" goto:SkipWiiPYcIOS
|
|
|
|
set "cios-ver=%wadname:~12%"
|
|
set "cios-ver2=%wadname:~17%"
|
|
if /i "%cios-ver2:~-5%" EQU "-vWii" set "cios-ver2=%cios-ver2:~0,-5%"
|
|
|
|
if exist Support\d2x-beta\ciosmaps.xml (set xml=Support\d2x-beta\ciosmaps.xml) else (set xml=Support\d2xModules\ciosmaps.xml)
|
|
if exist Support\d2x-beta\ciosmaps.xml (set d2xFolder=Support\d2x-beta) else (set d2xFolder=Support\d2xModules)
|
|
if not "%category%"=="" (set "d2xFolder=%category%") & (set "xml=%category%\ciosmaps.xml")
|
|
if /i "%d2x-bundled%" EQU "%cios-ver2%" (set xml=Support\d2xModules\ciosmaps.xml) & (set d2xFolder=Support\d2xModules)
|
|
|
|
if /i "%wadname:~-5%" NEQ "-vWii" goto:skip
|
|
if exist Support\d2x-beta\ciosmaps_vWii.xml (set xml=Support\d2x-beta\ciosmaps_vWii.xml) else (set xml=Support\d2xModules\ciosmaps_vWii.xml)
|
|
if exist Support\d2x-beta\ciosmaps_vWii.xml (set d2xFolder=Support\d2x-beta) else (set d2xFolder=Support\d2xModules)
|
|
if not "%category%"=="" (set "d2xFolder=%category%") & (set "xml=%category%\ciosmaps_vWii.xml")
|
|
if /i "%d2x-bundled%" EQU "%cios-ver2%" (set xml=Support\d2xModules\ciosmaps_vWii.xml) & (set d2xFolder=Support\d2xModules)
|
|
:skip
|
|
|
|
|
|
::if not exist xml download it!
|
|
if exist "%xml%" goto:skip
|
|
set "DLcIOS=%d2xFolder:*\=%"
|
|
set "DLcIOS=%DLcIOS:*\=%"
|
|
set "DLcIOS=%DLcIOS:*\=%"
|
|
echo Downloading %DLcIOS%...
|
|
support\wget --output-document %DLcIOS%.zip --no-check-certificate -t 3 "https://github.com/modmii/modmii.github.io/blob/master/temp/d2x/%DLcIOS%.7z?raw=true" -q --show-progress
|
|
echo.
|
|
::delete if file is empty
|
|
>nul findstr "^" "%DLcIOS%.zip" || del "%DLcIOS%.zip"
|
|
if exist "%DLcIOS%.zip" goto:gotit
|
|
|
|
::try downloading from deprecated folder
|
|
echo.
|
|
support\wget --output-document %DLcIOS%.zip --no-check-certificate -t 3 "https://github.com/modmii/modmii.github.io/blob/master/temp/d2x-deprecated/%DLcIOS%.7z?raw=true" -q --show-progress
|
|
echo.
|
|
::delete if file is empty
|
|
>nul findstr "^" "%DLcIOS%.zip" || del "%DLcIOS%.zip"
|
|
|
|
if not exist "%DLcIOS%.zip" goto:skip
|
|
|
|
:gotit
|
|
if not exist "support\More-cIOSs\%DLcIOS%" mkdir "support\More-cIOSs\%DLcIOS%"
|
|
support\7za e -aoa "%DLcIOS%.zip" -o"support\More-cIOSs\%DLcIOS%" *.* -r
|
|
echo.
|
|
del "%DLcIOS%.zip">nul
|
|
if not exist "support\More-cIOSs\%DLcIOS%\d2x-beta.bat" rd /s /q "support\More-cIOSs\%DLcIOS%"
|
|
:skip
|
|
|
|
|
|
|
|
if /i "%wadname:~-5%" EQU "-vWii" goto:forceWiiPYcIOS
|
|
if not "%LegacyCIOS%"=="" goto:SkipWiiPYcIOS
|
|
:forceWiiPYcIOS
|
|
|
|
|
|
|
|
::limit cios-ver to 24 characters just in case (e.g. "d2x-v10-b52-ST-FM050-vWii" tag shortened to "d2x-v10-b52-ST-FM050-vWi" in ciosmaps.xml but not in ModMii's filename)
|
|
%WiiPy% cios "temp\%basewad%.wad" "%xml%" "%Drive%\WAD\%wadname%.wad" --cios-ver %cios-ver:~0,24% --modules %d2xFolder% -s %ciosslot% -v %ciosversion%
|
|
|
|
|
|
if "%wadname:~-4%" NEQ ".wad" set wadname=%wadname%.wad
|
|
goto:wadverifyretry
|
|
:SkipWiiPYcIOS
|
|
|
|
|
|
::unpack base wad
|
|
echo.
|
|
echo Unpacking Base Wad: %basewad%
|
|
echo.
|
|
|
|
if exist %basecios% rd /s /q %basecios%
|
|
mkdir %basecios%
|
|
|
|
%WiiPy% wad unpack --skip-hash "temp\%basewad%.wad" "%basecios%">nul
|
|
|
|
::-----------DML Stuff------------
|
|
:DML-stuff
|
|
|
|
if /i "%wadname:~0,3%" NEQ "DML" goto:SkipDML-stuff
|
|
|
|
|
|
::download DML currentrev if missing
|
|
|
|
echo.
|
|
echo Downloading %dlname%
|
|
echo.
|
|
|
|
if exist "temp\DML\%dlname%" goto:getfixelf
|
|
|
|
if not exist "%dlname%" support\wget --no-check-certificate -t 3 "%URL%" -q --show-progress
|
|
|
|
|
|
if not exist "%dlname%" (rd /s /q %basewad%) & (rd /s /q %basecios%) & (echo.) & (support\sfk echo [%magentatext%] %dlname% Failed to Download properly, Skipping download.) & (echo "support\sfk echo %wadname%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat) & (echo.) & (goto:NEXT)
|
|
|
|
if not exist "temp\DML" mkdir "temp\DML"
|
|
move /y "%dlname%" "temp\DML\%dlname%">nul
|
|
|
|
|
|
:getfixelf
|
|
|
|
echo.
|
|
echo Downloading FixELF
|
|
echo.
|
|
|
|
if exist "temp\DML\FixELF.exe" goto:gotfixelf
|
|
|
|
if not exist "FixELF.zip" support\wget --no-check-certificate -t 3 "https://tiny.cc/fixelfmirror" -q --show-progress
|
|
|
|
if not exist "FixELF.zip" (rd /s /q %basewad%) & (rd /s /q %basecios%) & (echo.) & (support\sfk echo [%magentatext%] %dlname% Failed to Download properly, Skipping download.) & (echo "support\sfk echo %wadname%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat) & (echo.) & (goto:NEXT)
|
|
|
|
support\7za e -aoa "FixELF.zip" -o"temp\DML" *.* -r>nul
|
|
|
|
if not exist "temp\DML\FixELF.exe" (Corrupted archive detected and deleted...) & (del "temp\DML\FixELF.zip">nul) & (goto:NEXT)
|
|
|
|
del FixELF.zip>nul
|
|
|
|
:gotfixelf
|
|
|
|
|
|
move /y "%basecios%\00000001.app" "temp\DML\MIOS.app">nul
|
|
|
|
|
|
cd "temp\DML"
|
|
|
|
|
|
if exist 00000001.app del 00000001.app>nul
|
|
|
|
echo.
|
|
echo Running Crediar's FixELF to patch MIOS.app
|
|
echo.
|
|
FixELF MIOS.app "DMLr%CurrentDMLRev%.elf" 00000001.app>nul
|
|
cd..
|
|
cd..
|
|
|
|
|
|
move /y "temp\DML\00000001.app" "%basecios%\00000001.app">nul
|
|
|
|
goto:repackwad
|
|
:SkipDML-stuff
|
|
|
|
|
|
|
|
|
|
::--------------------base wad B------------------------
|
|
:downloadbasewadb
|
|
::download SECOND base wadB to "%Drive%" (if applicable)
|
|
if /i "%basewadb%" EQU "none" goto:nobasewadb
|
|
|
|
echo.
|
|
echo Downloading Base Wad: %basewadb%
|
|
echo.
|
|
|
|
|
|
::----Check base IOS B-----------
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if exist temp\%basewadb%.wad (goto:checkexisting) else (goto:nocheckexisting)
|
|
:checkexisting
|
|
set md5basebcheck=
|
|
set md5basebaltcheck=
|
|
support\sfk md5 -quiet -verify %md5baseb% temp\%basewadb%.wad
|
|
if errorlevel 1 set md5basebcheck=fail
|
|
IF "%md5basebcheck%"=="" set md5basebcheck=pass
|
|
if /i "%md5basebcheck%" NEQ "fail" goto:pass
|
|
|
|
support\sfk md5 -quiet -verify %md5basebalt% temp\%basewadb%.wad
|
|
if errorlevel 1 set md5basebaltcheck=fail
|
|
IF "%md5basebaltcheck%"=="" set md5basebaltcheck=pass
|
|
if /i "%md5basebaltcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This base wad already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del temp\%basewadb%.wad>nul
|
|
goto:downloadbasewadb
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] Base Wad already exists and has been verified, Continuing...
|
|
echo.
|
|
goto:baseBalreadythere
|
|
:nocheckexisting
|
|
|
|
|
|
::echo If you encounter long periods of inactivity, type "C" while holding "Ctrl",
|
|
::echo then type "N", then "Enter" (i.e. Ctrl+C, N, Enter)
|
|
::echo.
|
|
|
|
::cd temp
|
|
::..\support\nusd.exe %code1b%%code2b% %versionb%
|
|
::cd..
|
|
::if exist temp\titles\%code1b%%code2b%\%versionb%\%code1b%%code2b%-NUS-v%versionb%.wad move /y temp\titles\%code1b%%code2b%\%versionb%\%code1b%%code2b%-NUS-v%versionb%.wad temp\%basewadb%.wad>nul
|
|
|
|
%WiiPy% nus title %code1b%%code2b% -v %versionb% --wad "temp\%basewadb%.wad"
|
|
if /i "%code1b%" EQU "00000007" %WiiPy% wad convert -r -o "temp\%basewadb%.wad" "temp\%basewadb%.wad"
|
|
if /i "%code1b%" EQU "00070008" %WiiPy% wad convert -r -o "temp\%basewadb%.wad" "temp\%basewadb%.wad"
|
|
|
|
::option1 disabled
|
|
::if not exist temp\%code1b%\%code2b%\v%versionb% mkdir temp\%code1b%\%code2b%\v%versionb%
|
|
::if exist temp\titles\%code1b%%code2b%\%versionb% copy /y temp\titles\%code1b%%code2b%\%versionb% temp\%code1b%\%code2b%\v%versionb%\ >nul
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
|
|
|
|
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist temp\%basewadb%.wad goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
echo.
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The basewad is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:downloadbasewadb
|
|
|
|
:checkexisting
|
|
set md5basebcheck=
|
|
set md5basebaltcheck=
|
|
support\sfk md5 -quiet -verify %md5baseb% temp\%basewadb%.wad
|
|
if errorlevel 1 set md5basebcheck=fail
|
|
IF "%md5basebcheck%"=="" set md5basebcheck=pass
|
|
if /i "%md5basebcheck%" NEQ "fail" goto:pass
|
|
|
|
support\sfk md5 -quiet -verify %md5basebalt% temp\%basewadb%.wad
|
|
if errorlevel 1 set md5basebaltcheck=fail
|
|
IF "%md5basebaltcheck%"=="" set md5basebaltcheck=pass
|
|
if /i "%md5basebaltcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del temp\%basewadb%.wad>nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:downloadbasewadb
|
|
|
|
:multiplefail
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%.wad: [%redtext%]Invalid">>temp\ModMii_Log.bat
|
|
echo.
|
|
set multiplefail=Y
|
|
goto:NEXT
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] Base Wad has been Downloaded Successfully, Continuing...
|
|
echo.
|
|
|
|
:baseBalreadythere
|
|
|
|
::----unpack base wad
|
|
echo.
|
|
echo Unpacking Base Wad: %basewadb%
|
|
echo.
|
|
|
|
if exist %basewadb% rd /s /q %basewadb%
|
|
mkdir %basewadb%
|
|
%WiiPy% wad unpack --skip-hash "temp\%basewadb%.wad" "%basewadb%">nul
|
|
|
|
|
|
if /i "%wadname:~0,3%" EQU "cBC" goto:cbc-stuff
|
|
|
|
::----specific for cios223v4[37+38]
|
|
::move modules that are from 38 and to be patched
|
|
move /y %basewadb%\00000001.app %basecios%\00000001.app>nul
|
|
move /y %basewadb%\%lastbasemodule%.app %basecios%\%lastbasemodule%.app>nul
|
|
rd /s /q %basewadb%
|
|
goto:nobasewadb
|
|
|
|
|
|
:cbc-stuff
|
|
|
|
::download NMM\DML-installer if missing
|
|
if exist "temp\%dlname:~0,-4%\FixElf\FixELF.exe" goto:gotit
|
|
|
|
call Support\subscripts\dependency.bat UnRAR
|
|
|
|
|
|
echo.
|
|
echo Downloading %dlname%
|
|
if not exist "%dlname%" support\wget --no-check-certificate -t 3 "%URL%" -q --show-progress
|
|
echo.
|
|
|
|
if not exist "%dlname%" (rd /s /q %basewadb%) & (rd /s /q %basecios%) & (echo.) & (support\sfk echo [%magentatext%] %dlname% Failed to Download properly, Skipping download.) & (echo "support\sfk echo %wadname%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat) & (echo.) & (goto:NEXT)
|
|
|
|
|
|
if not exist "temp\%dlname:~0,-4%" mkdir "temp\%dlname:~0,-4%"
|
|
temp\unrar.exe x -y %dlname% "temp\%dlname:~0,-4%">nul
|
|
|
|
if exist %dlname% del %dlname%>nul
|
|
|
|
:gotit
|
|
if exist "temp\%dlname:~0,-4%\%wadname:~4,3%.elf" move /y "temp\%dlname:~0,-4%\%wadname:~4,3%.elf" "temp\%dlname:~0,-4%\FixElf\%wadname:~4,3%.elf">nul
|
|
|
|
move /y "%basewadb%\00000001.app" "temp\%dlname:~0,-4%\FixElf\MIOS.app">nul
|
|
rd /s /q %basewadb%
|
|
|
|
|
|
cd "temp\%dlname:~0,-4%\FixElf"
|
|
|
|
|
|
if exist 00000001.app del 00000001.app>nul
|
|
|
|
echo.
|
|
echo Running Crediar's FixELF to patch MIOS.app
|
|
echo.
|
|
FixELF MIOS.app %wadname:~4,3%.elf 00000001.app>nul
|
|
cd..
|
|
cd..
|
|
cd..
|
|
|
|
move /y "temp\%dlname:~0,-4%\FixElf\00000001.app" "%basecios%\00000001.app">nul
|
|
|
|
goto:repackwad
|
|
|
|
|
|
|
|
|
|
:nobasewadb
|
|
|
|
|
|
|
|
::------for theming system Menus only----------
|
|
if /i "%category%" NEQ "SMTHEME" goto:skip
|
|
goto:mym_download
|
|
:SMTHEME2
|
|
|
|
echo.
|
|
echo Patching System Theme, please wait...
|
|
echo.
|
|
|
|
if exist "temp\temp.csm" del "temp\temp.csm">nul
|
|
if exist "temp\temp2.csm" del "temp\temp2.csm">nul
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "..\%mym1%" "..\..\%basecios%\00000001.app" "..\temp.csm">nul
|
|
themewii.exe "..\%mym2%" "..\temp.csm" "..\temp2.csm">nul
|
|
cd ..\..
|
|
|
|
if exist "temp\temp2.csm" move /y "temp\temp2.csm" "%basecios%\00000001.app">nul
|
|
if exist "temp\temp.csm" del "temp\temp.csm">nul
|
|
|
|
|
|
::%WiiPy% theme mym "temp\%mym1%" "%basecios%\00000001.app" "%basecios%\00000001.app"
|
|
::%WiiPy% theme mym "temp\%mym2%" "%basecios%\00000001.app" "%basecios%\00000001.app"
|
|
|
|
goto:repackwad
|
|
:skip
|
|
|
|
|
|
|
|
|
|
|
|
::-----cios/cmios stuff------------
|
|
::rename *.cert and *.footer (doesn't need to be patched), rename components that need to be patched (excluding tik and tmd)
|
|
|
|
echo.
|
|
echo Patching A handful of BaseWad Component Files
|
|
echo.
|
|
|
|
::hardcoded 00000001 as "code1" is 00000007 for vWii bases, but not cIOSs
|
|
if /i "%code2%" NEQ "%code2new%" ren %basecios%\00000001%code2%.cert 00000001%code2new%.cert
|
|
if /i "%code2%" NEQ "%code2new%" ren %basecios%\00000001%code2%.footer 00000001%code2new%.footer
|
|
|
|
|
|
::skip for non d2x cIOSs
|
|
set usetmdedit=
|
|
if /i "%basecios:~12,3%" NEQ "d2x" goto:notd2x
|
|
|
|
if %ciosversion% GEQ 21009 set usetmdedit=Y
|
|
if /i "%wadname:~-5%" EQU "-vWii" set usetmdedit=Y
|
|
::if /i "%d2x-beta-rev%" EQU "9-beta(r47)" set usetmdedit=
|
|
::if /i "%d2x-beta-rev%" EQU "10-beta52" set usetmdedit=
|
|
::if /i "%d2x-beta-rev%" EQU "10-beta53-alt" set usetmdedit=
|
|
|
|
::::force on (testing only)
|
|
::set usetmdedit=Y
|
|
::::force off (testing only)
|
|
::set usetmdedit=
|
|
if /i "%usetmdedit%" EQU "Y" (goto:NotRenamedOriginal2) else (goto:NotRenamedOriginal)
|
|
:notd2x
|
|
|
|
|
|
|
|
|
|
if exist support\Diffs\%diffpath%\%diffpath%_00.diff ren %basecios%\00000000.app 00000000-original.app
|
|
if exist support\Diffs\%diffpath%\%diffpath%_01.diff ren %basecios%\00000001.app 00000001-original.app
|
|
if exist support\Diffs\%diffpath%\%diffpath%_02.diff ren %basecios%\00000002.app 00000002-original.app
|
|
if exist support\Diffs\%diffpath%\%diffpath%_%lastbasemodule%.diff ren %basecios%\%lastbasemodule%.app %lastbasemodule%-original.app
|
|
|
|
|
|
::rename tik & tmd for cMIOSs
|
|
if /i "%code2%" EQU "00000101" goto:rename
|
|
if /i "%category%" EQU "patchios" goto:rename
|
|
goto:notcMIOS
|
|
:rename
|
|
::ren %basecios%\%code1%%code2new%.tik %code1%%code2new%-original.tik
|
|
|
|
ren %basecios%\%code1%%code2new%.tmd %code1%%code2new%-original.tmd
|
|
|
|
:notcMIOS
|
|
|
|
|
|
|
|
|
|
|
|
::-------------diff patch files----------------
|
|
|
|
if exist support\Diffs\%diffpath%\%diffpath%_00.diff support\jptch %basecios%\00000000-original.app support\Diffs\%diffpath%\%diffpath%_00.diff %basecios%\00000000.app
|
|
if exist support\Diffs\%diffpath%\%diffpath%_01.diff support\jptch %basecios%\00000001-original.app support\Diffs\%diffpath%\%diffpath%_01.diff %basecios%\00000001.app
|
|
if exist support\Diffs\%diffpath%\%diffpath%_02.diff support\jptch %basecios%\00000002-original.app support\Diffs\%diffpath%\%diffpath%_02.diff %basecios%\00000002.app
|
|
if exist support\Diffs\%diffpath%\%diffpath%_%lastbasemodule%.diff support\jptch %basecios%\%lastbasemodule%-original.app support\Diffs\%diffpath%\%diffpath%_%lastbasemodule%.diff %basecios%\%lastbasemodule%.app
|
|
|
|
|
|
::patch tmd and tiks when they've been renamed to *-original.tik\tmd (for cMIOSs)
|
|
if /i "%code2%" EQU "00000101" goto:RenamedOriginal
|
|
if /i "%category%" EQU "patchios" goto:RenamedOriginal
|
|
goto:NotRenamedOriginal
|
|
:RenamedOriginal
|
|
::if exist support\Diffs\%diffpath%\%diffpath%_tik.diff support\jptch %basecios%\%code1%%code2%-original.tik support\Diffs\%diffpath%\%diffpath%_tik.diff %basecios%\%code1%%code2new%.tik
|
|
|
|
if exist support\Diffs\%diffpath%\%diffpath%_tmd.diff support\jptch %basecios%\%code1%%code2%-original.tmd support\Diffs\%diffpath%\%diffpath%_tmd.diff %basecios%\%code1%%code2new%.tmd
|
|
goto:deletefiles
|
|
|
|
:NotRenamedOriginal
|
|
::hardcoded 00000001 as "code1" is 00000007 for vWii bases, but not cIOSs
|
|
if exist support\Diffs\%diffpath%\%diffpath%_tmd.diff support\jptch %basecios%\00000001%code2%.tmd support\Diffs\%diffpath%\%diffpath%_tmd.diff %basecios%\00000001%code2new%.tmd
|
|
|
|
::use different tik diff files depending on what base wad downloaded
|
|
|
|
:NotRenamedOriginal2
|
|
::hardcoded 00000001 as "code1" is 00000007 for vWii bases, but not cIOSs
|
|
if not exist "support\Diffs\%diffpath%\%diffpath%_tik.diff" goto:notik
|
|
if /i "%md5basecheck%" EQU "pass" support\jptch %basecios%\00000001%code2%.tik support\Diffs\%diffpath%\%diffpath%_tik.diff %basecios%\00000001%code2new%.tik
|
|
:notik
|
|
if not exist "support\Diffs\%diffpath%\%diffpath%_tik2.diff" goto:notik2
|
|
if /i "%md5basealtcheck%" EQU "pass" support\jptch %basecios%\%code1%%code2%.tik support\Diffs\%diffpath%\%diffpath%_tik2.diff %basecios%\%code1%%code2new%.tik
|
|
:notik2
|
|
|
|
|
|
::delete un-needed original files that have already been patched
|
|
:deletefiles
|
|
|
|
if exist %basecios%\00000000-original.app del %basecios%\00000000-original.app>nul
|
|
if exist %basecios%\00000001-original.app del %basecios%\00000001-original.app>nul
|
|
if exist %basecios%\00000002-original.app del %basecios%\00000002-original.app>nul
|
|
if exist %basecios%\%lastbasemodule%-original.app del %basecios%\%lastbasemodule%-original.app>nul
|
|
|
|
::--for cMIOS's that have tiks and tmds renamed to -original
|
|
if exist %basecios%\%code1%%code2%-original.tik del %basecios%\%code1%%code2%-original.tik>nul
|
|
if exist %basecios%\%code1%%code2%-original.tmd del %basecios%\%code1%%code2%-original.tmd>nul
|
|
|
|
::override for IOS60
|
|
if /i "%basecios%" EQU "IOS60v65535(ModMii-IOS60-v6174)" goto:signcios
|
|
|
|
|
|
if /i "%code2%" EQU "00000101" goto:repackwad
|
|
if /i "%category%" EQU "patchios" goto:repackwad
|
|
|
|
if exist %basecios%\00000001%code2%.tik del %basecios%\00000001%code2%.tik>nul
|
|
|
|
::don't delete base tmd if usetmdedit=Y
|
|
if /i "%usetmdedit%" NEQ "Y" if exist %basecios%\00000001%code2%.tmd del %basecios%\00000001%code2%.tmd>nul
|
|
|
|
|
|
::---------------Korean Key Patch---------------
|
|
::skip korean key patch and copying of custom modules for d2x cIOSs (will be done later)
|
|
if /i "%basecios:~12,3%" EQU "d2x" goto:signcios
|
|
|
|
if /i "%basewad:~3,2%" EQU "38" goto:nokorpatch
|
|
if /i "%basecios%" EQU "cIOS223[37-38]-v4" goto:nokorpatch
|
|
if /i "%wadname:~0,3%" EQU "cBC" goto:repackwad
|
|
|
|
if /i "%basecios%" EQU "IOS236v65535(IOS36v3351[FS-ES-NP-VP])" goto:repackwad
|
|
|
|
|
|
echo.
|
|
echo Patching %lastbasemodule%.app to support the Korean Common Key
|
|
|
|
|
|
::IOS37-64-v3869
|
|
if /i "%basewad%" EQU "IOS37-64-v3869" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x1FD00=0xE0
|
|
if /i "%basewad%" EQU "IOS37-64-v3869" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x278E0=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS57-64-v5661
|
|
if /i "%basewad%" EQU "IOS57-64-v5661" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x21340=0xE0
|
|
if /i "%basewad%" EQU "IOS57-64-v5661" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x28F5C=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
|
|
::NEXT GEN BASES
|
|
|
|
::IOS37-64-v5662
|
|
if /i "%basewad%" EQU "IOS37-64-v5662" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x1FD88=0xE0
|
|
if /i "%basewad%" EQU "IOS37-64-v5662" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x27968=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS53-64-v5662
|
|
if /i "%basewad%" EQU "IOS53-64-v5662" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x1FD88=0xE0
|
|
if /i "%basewad%" EQU "IOS53-64-v5662" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x27968=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS55-64-v5662
|
|
if /i "%basewad%" EQU "IOS55-64-v5662" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x1FD88=0xE0
|
|
if /i "%basewad%" EQU "IOS55-64-v5662" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x27968=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS56-64-v5661
|
|
if /i "%basewad%" EQU "IOS56-64-v5661" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x21424=0xE0
|
|
if /i "%basewad%" EQU "IOS56-64-v5661" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x29078=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS57-64-v5918
|
|
if /i "%basewad%" EQU "IOS57-64-v5918" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x21424=0xE0
|
|
if /i "%basewad%" EQU "IOS57-64-v5918" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x29078=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS58-64-v6175
|
|
if /i "%basewad%" EQU "IOS58-64-v6175" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x21424=0xE0
|
|
if /i "%basewad%" EQU "IOS58-64-v6175" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x29078=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS60-64-v6174
|
|
if /i "%basewad%" EQU "IOS60-64-v6174" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x20678=0xE0
|
|
if /i "%basewad%" EQU "IOS60-64-v6174" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x28294=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS70-64-v6687
|
|
if /i "%basewad%" EQU "IOS70-64-v6687" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x21340=0xE0
|
|
if /i "%basewad%" EQU "IOS70-64-v6687" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x28f5c=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
::IOS80-64-v6943
|
|
if /i "%basewad%" EQU "IOS80-64-v6943" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x21424=0xE0
|
|
if /i "%basewad%" EQU "IOS80-64-v6943" support\hexalter.exe %basecios%\%lastbasemodule%.app 0x29078=0x63,0xB8,0x2B,0xB4,0xF4,0x61,0x4E,0x2E,0x13,0xF2,0xFE,0xFB,0xBA,0x4C,0x9B,0x7E
|
|
|
|
|
|
echo.
|
|
|
|
:nokorpatch
|
|
|
|
|
|
|
|
|
|
|
|
::copy over extra components
|
|
|
|
echo.
|
|
echo Copying over Custom Modules
|
|
echo.
|
|
|
|
::222v4
|
|
if /i "%basecios%" EQU "cIOS222[38]-v4" copy support\Hermes\mloadv3.app %basecios%\0000000f.app
|
|
|
|
::223v4
|
|
if /i "%basecios%" EQU "cIOS223[37-38]-v4" copy support\Hermes\mloadv3.app %basecios%\0000000f.app
|
|
|
|
::222v5
|
|
if /i "%basecios%" EQU "cIOS222[38]-v5" copy support\Hermes\mloadv5.app %basecios%\0000000f.app
|
|
|
|
::223v5 base37
|
|
if /i "%basecios%" EQU "cIOS223[37]-v5" copy support\Hermes\mloadv5.app %basecios%\0000000f.app
|
|
|
|
::224v5 base57
|
|
if /i "%basecios%" EQU "cIOS224[57]-v5" copy support\Hermes\mloadv5.app %basecios%\00000013.app
|
|
|
|
::202v5.1R base60
|
|
if /i "%basecios%" EQU "cIOS202[60]-v5.1R" copy support\Hermes\mloadv5.1R.app %basecios%\0000000f.app
|
|
|
|
::222v5.1R base38
|
|
if /i "%basecios%" EQU "cIOS222[38]-v5.1R" copy support\Hermes\mloadv5.1R.app %basecios%\0000000f.app
|
|
|
|
::223v5.1R base37
|
|
if /i "%basecios%" EQU "cIOS223[37]-v5.1R" copy support\Hermes\mloadv5.1R.app %basecios%\0000000f.app
|
|
|
|
::224v5.1R base57
|
|
if /i "%basecios%" EQU "cIOS224[57]-v5.1R" copy support\Hermes\mloadv5.1R.app %basecios%\00000013.app
|
|
|
|
|
|
::249v19 base37
|
|
if /i "%basecios%" EQU "cIOS249[37]-v19" copy support\W19modules\mload.app %basecios%\0000000f.app
|
|
if /i "%basecios%" EQU "cIOS249[37]-v19" copy support\W19modules\EHCI.app %basecios%\00000010.app
|
|
if /i "%basecios%" EQU "cIOS249[37]-v19" copy support\W19modules\FAT.app %basecios%\00000011.app
|
|
if /i "%basecios%" EQU "cIOS249[37]-v19" copy support\W19modules\SDHC.app %basecios%\00000012.app
|
|
if /i "%basecios%" EQU "cIOS249[37]-v19" copy support\W19modules\DIPP.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[37]-v19" copy support\W19modules\FFSP.app %basecios%\00000014.app
|
|
|
|
::249v19 base38
|
|
if /i "%basecios%" EQU "cIOS249[38]-v19" copy support\W19modules\mload.app %basecios%\0000000f.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v19" copy support\W19modules\EHCI.app %basecios%\00000010.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v19" copy support\W19modules\FAT.app %basecios%\00000011.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v19" copy support\W19modules\SDHC.app %basecios%\00000012.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v19" copy support\W19modules\DIPP.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v19" copy support\W19modules\FFSP.app %basecios%\00000014.app
|
|
|
|
::249v20 base38
|
|
if /i "%basecios%" EQU "cIOS249[38]-v20" copy support\W20modules\mload.app %basecios%\0000000f.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v20" copy support\W20modules\EHCI.app %basecios%\00000010.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v20" copy support\W20modules\FAT.app %basecios%\00000011.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v20" copy support\W20modules\SDHC.app %basecios%\00000012.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v20" copy support\W20modules\DIPP.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v20" copy support\W20modules\ES.app %basecios%\00000014.app
|
|
if /i "%basecios%" EQU "cIOS249[38]-v20" copy support\W20modules\FFSP.app %basecios%\00000015.app
|
|
|
|
::249v20 base56
|
|
if /i "%basecios%" EQU "cIOS249[56]-v20" copy support\W20modules\mload.app %basecios%\0000000f.app
|
|
if /i "%basecios%" EQU "cIOS249[56]-v20" copy support\W20modules\EHCI.app %basecios%\00000010.app
|
|
if /i "%basecios%" EQU "cIOS249[56]-v20" copy support\W20modules\FAT.app %basecios%\00000011.app
|
|
if /i "%basecios%" EQU "cIOS249[56]-v20" copy support\W20modules\SDHC.app %basecios%\00000012.app
|
|
if /i "%basecios%" EQU "cIOS249[56]-v20" copy support\W20modules\DIPP.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[56]-v20" copy support\W20modules\ES.app %basecios%\00000014.app
|
|
if /i "%basecios%" EQU "cIOS249[56]-v20" copy support\W20modules\FFSP.app %basecios%\00000015.app
|
|
|
|
::249v19 base57
|
|
if /i "%basecios%" EQU "cIOS249[57]-v19" copy support\W19modules\mload.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v19" copy support\W19modules\EHCI.app %basecios%\00000014.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v19" copy support\W19modules\FAT.app %basecios%\00000015.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v19" copy support\W19modules\SDHC.app %basecios%\00000016.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v19" copy support\W19modules\DIPP.app %basecios%\00000017.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v19" copy support\W19modules\FFSP.app %basecios%\00000018.app
|
|
|
|
::249v20 base57
|
|
if /i "%basecios%" EQU "cIOS249[57]-v20" copy support\W20modules\mload.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v20" copy support\W20modules\EHCI.app %basecios%\00000014.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v20" copy support\W20modules\FAT.app %basecios%\00000015.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v20" copy support\W20modules\SDHC.app %basecios%\00000016.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v20" copy support\W20modules\DIPP.app %basecios%\00000017.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v20" copy support\W20modules\ES.app %basecios%\00000018.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v20" copy support\W20modules\FFSP.app %basecios%\00000019.app
|
|
|
|
::249v17b
|
|
if /i "%basecios%" EQU "cIOS249-v17b" copy support\W17bmodules\0000000f.app %basecios%\0000000f.app
|
|
if /i "%basecios%" EQU "cIOS249-v17b" copy support\W17bmodules\00000010.app %basecios%\00000010.app
|
|
if /i "%basecios%" EQU "cIOS249-v17b" copy support\W17bmodules\00000011.app %basecios%\00000011.app
|
|
|
|
::249v14
|
|
if /i "%basecios%" EQU "cIOS249-v14" copy support\W14modules\EHCI.app %basecios%\0000000f.app
|
|
if /i "%basecios%" EQU "cIOS249-v14" copy support\W14modules\SDHC.app %basecios%\00000010.app
|
|
if /i "%basecios%" EQU "cIOS249-v14" copy support\W14modules\FAT.app %basecios%\00000011.app
|
|
|
|
|
|
::249v21 base 37/38/56
|
|
if /i "%basecios%" EQU "cIOS249[37]-v21" goto:yes
|
|
if /i "%basecios%" EQU "cIOS249[38]-v21" goto:yes
|
|
if /i "%basecios%" EQU "cIOS249[53]-v21" goto:yes
|
|
if /i "%basecios%" EQU "cIOS249[55]-v21" goto:yes
|
|
if /i "%basecios%" EQU "cIOS249[56]-v21" goto:yes
|
|
goto:skip
|
|
:yes
|
|
copy support\W21modules\mload.app %basecios%\0000000f.app
|
|
copy support\W21modules\FAT.app %basecios%\00000010.app
|
|
copy support\W21modules\SDHC.app %basecios%\00000011.app
|
|
copy support\W21modules\EHCI.app %basecios%\00000012.app
|
|
copy support\W21modules\DIPP.app %basecios%\00000013.app
|
|
copy support\W21modules\ES.app %basecios%\00000014.app
|
|
copy support\W21modules\FFSP.app %basecios%\00000015.app
|
|
:skip
|
|
|
|
|
|
::249v21 base57
|
|
if /i "%basecios%" EQU "cIOS249[57]-v21" copy support\W21modules\mload.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v21" copy support\W21modules\FAT.app %basecios%\00000014.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v21" copy support\W21modules\SDHC.app %basecios%\00000015.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v21" copy support\W21modules\EHCI.app %basecios%\00000016.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v21" copy support\W21modules\DIPP.app %basecios%\00000017.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v21" copy support\W21modules\ES.app %basecios%\00000018.app
|
|
if /i "%basecios%" EQU "cIOS249[57]-v21" copy support\W21modules\FFSP.app %basecios%\00000019.app
|
|
|
|
::249v21 base58
|
|
if /i "%basecios%" EQU "cIOS249[58]-v21" copy support\W21modules\mload.app %basecios%\00000013.app
|
|
if /i "%basecios%" EQU "cIOS249[58]-v21" copy support\W21modules\FAT.app %basecios%\00000014.app
|
|
if /i "%basecios%" EQU "cIOS249[58]-v21" copy support\W21modules\SDHC.app %basecios%\00000015.app
|
|
if /i "%basecios%" EQU "cIOS249[58]-v21" copy support\W21modules\USBS.app %basecios%\00000016.app
|
|
if /i "%basecios%" EQU "cIOS249[58]-v21" copy support\W21modules\DIPP.app %basecios%\00000017.app
|
|
if /i "%basecios%" EQU "cIOS249[58]-v21" copy support\W21modules\ES.app %basecios%\00000018.app
|
|
if /i "%basecios%" EQU "cIOS249[58]-v21" copy support\W21modules\FFSP.app %basecios%\00000019.app
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::------sign cIOS with details---------
|
|
:signcios
|
|
set d2xNumber=
|
|
set d2xhexNumber=
|
|
set baseNumber=
|
|
set basehexNumber=
|
|
set d2xsubversion=
|
|
set string=
|
|
set string1=
|
|
set cIOSsubversion=
|
|
|
|
|
|
|
|
if /i "%code2%" EQU "00000101" goto:repackwad
|
|
|
|
|
|
|
|
echo.
|
|
echo Tagging 00000000.app with cIOS details
|
|
echo.
|
|
|
|
if /i "%wadname:~-5%" EQU "-vWii" (set d2xTag=%d2x-beta-rev%-vWii) else (set d2xTag=%d2x-beta-rev%)
|
|
|
|
|
|
|
|
|
|
|
|
::----convert some values from dec to hex----
|
|
|
|
if /i "%basecios:~12,3%" NEQ "d2x" goto:minijump
|
|
echo "set cIOSversionNum=%d2xTag%">temp\cIOSrev.bat
|
|
support\sfk filter -spat temp\cIOSrev.bat -rep _\x22__ -rep _"-*"__ -write -yes>nul
|
|
call temp\cIOSrev.bat
|
|
del temp\cIOSrev.bat>nul
|
|
|
|
:minijump
|
|
|
|
support\sfk hex %cIOSversionNum% -digits=8 >hex.txt
|
|
|
|
::set a file with 1 line as a variable
|
|
set /p cIOShexNumber= <hex.txt
|
|
if exist hex.txt del hex.txt>nul
|
|
|
|
::-----
|
|
set baseNumber=%basewad:~3,2%
|
|
::base # for 37+38=75
|
|
if /i "%basecios%" EQU "cIOS223[37-38]-v4" set baseNumber=75
|
|
support\sfk hex %baseNumber% -digits=8 >hex.txt
|
|
|
|
::set a file with 1 line as a variable
|
|
set /p basehexNumber= <hex.txt
|
|
if exist hex.txt del hex.txt>nul
|
|
|
|
|
|
::-----cIOSFamilyName (this part required for d2x betas only)-------
|
|
if /i "%basecios:~12,3%" NEQ "d2x" goto:tinyjump
|
|
set cIOSsubversion=
|
|
set cIOSFamilyName=d2x
|
|
if exist support\d2x-beta\d2x-beta.bat call support\d2x-beta\d2x-beta.bat
|
|
|
|
::limit cios family name to 16 chars
|
|
set cIOSFamilyName=%cIOSFamilyName:~0,16%
|
|
|
|
::-----version string (ie. beta1) (this part required for d2x betas only)------
|
|
|
|
set string1=%cIOSversionNum%
|
|
set versionlength=1
|
|
::letter by letter loop
|
|
:loopy
|
|
if /i "%string1%" EQU "" goto:endloopy
|
|
set string1=%string1:~1%
|
|
set /A versionlength=%versionlength%+1
|
|
goto loopy
|
|
:endloopy
|
|
|
|
|
|
echo set cIOSsubversion=@d2xTag:~%versionlength%,16@>cIOSsubversion.bat
|
|
support\sfk filter cIOSsubversion.bat -spat -rep _@_%%_ -write -yes>nul
|
|
call cIOSsubversion.bat
|
|
del cIOSsubversion.bat>nul
|
|
:tinyjump
|
|
|
|
|
|
::copy template .app
|
|
::copy /y "support\00000000-template.app" "%basecios%\00000000.app">nul
|
|
|
|
if exist "%basecios%\00000000.app" del "%basecios%\00000000.app">nul
|
|
|
|
::silently build modmii banner placeholder for hidden channels (00000000-template.app)
|
|
support\sfk echo 1EE7C105000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +hextobin "%basecios%\00000000.app">nul
|
|
|
|
|
|
|
|
if not exist "%basecios%\00000000.app" echo failed to build 00000000-template.app...
|
|
|
|
|
|
|
|
::hexalter version number and base wad number
|
|
support\hexalter.exe "%basecios%\00000000.app" 0x8=0x%cIOShexNumber:~0,2%,0x%cIOShexNumber:~2,2%,0x%cIOShexNumber:~4,2%,0x%cIOShexNumber:~6,2%,0x%basehexNumber:~0,2%,0x%basehexNumber:~2,2%,0x%basehexNumber:~4,2%,0x%basehexNumber:~6,2%
|
|
|
|
|
|
::convert %cIOSFamilyName% to hex then hexalter
|
|
set var=%cIOSFamilyName%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p cIOSFamilyNamehex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set cIOSFamilyNamehex=0x%cIOSFamilyNamehex:~0,-4%
|
|
support\hexalter.exe "%basecios%\00000000.app" 0x10=%cIOSFamilyNamehex%
|
|
|
|
|
|
::only patch cIOSsubversion if not = nul
|
|
if "%cIOSsubversion%"=="" goto:tinyjump
|
|
set var=%cIOSsubversion%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p cIOSsubversionhex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set cIOSsubversionhex=0x%cIOSsubversionhex:~0,-4%
|
|
support\hexalter.exe "%basecios%\00000000.app" 0x20=%cIOSsubversionhex%
|
|
:tinyjump
|
|
|
|
|
|
|
|
|
|
::---------RC24 Replace nintendo's RSA public key [A7144290...919AF969] with RC24's----------
|
|
::disabled, no longer necessary:
|
|
goto:skipRC24key
|
|
|
|
::override for IOS60
|
|
if /i "%basecios%" EQU "IOS60v65535(ModMii-IOS60-v6174)" (set offset=5A7F8) & (goto:RC24key)
|
|
goto:skipRC24key
|
|
:RC24key
|
|
|
|
echo.
|
|
echo Patching the RiiConnect24 RSA public key
|
|
echo.
|
|
|
|
support\hexalter.exe "%basecios%\00000006.app" 0x%offset%=0xDC,0x60,0x8C,0x0D,0x49,0x3A,0x2B,0x8C,0x5B,0x24,0x3C,0xE6,0xD1,0xB8,0x1D,0x0F,0x63,0xFF,0x66,0x07,0xAC,0x5C,0xFA,0x20,0xB5,0xF3,0xB5,0x5A,0x2F,0x11,0xEE,0xA1,0x1E,0x4C,0x9C,0xEA,0xD7,0xA3,0x38,0x86,0x39,0xBC,0xAF,0x60,0x1C,0x85,0xCD,0xEC,0x0A,0xE5,0xFD,0x73,0xC5,0xC0,0x73,0x98,0x49,0x94,0xF9,0x75,0xC2,0xA5,0x0E,0xE0,0x78,0x69,0x89,0xDE,0x69,0x6E,0x46,0x5F,0x62,0x63,0xBE,0x10,0x1C,0x68,0x23,0x79,0x28,0x93,0xCB,0xFA,0xA4,0x94,0xDE,0xF7,0x4C,0xD8,0x27,0x90,0x5C,0x32,0x16,0x2E,0x3B,0x0B,0x07,0xCD,0x6C,0xC2,0x3F,0x2D,0xC9,0x1A,0x13,0x5A,0x58,0x26,0x0C,0x06,0x2C,0xDA,0xFA,0x12,0x48,0xD0,0x13,0x89,0xF2,0x0F,0xBF,0xE6,0xA0,0x6A,0x0D,0xE5,0x1A,0x9A,0xD7,0x48,0x3C,0x57,0x25,0xF6,0x79,0x92,0x6B,0x75,0xC4,0x19,0xE6,0xB6,0xA0,0x5C,0x67,0x8C,0x42,0x56,0x5E,0x69,0x25,0x34,0x93,0xD3,0x32,0x3A,0xB9,0xC4,0x51,0x79,0x93,0x24,0x55,0x3E,0x8E,0x69,0xC6,0x99,0xE6,0x1A,0x84,0x85,0xEB,0x9E,0x23,0x70,0x25,0xEC,0x89,0x76,0x63,0x33,0xCB,0xBB,0x96,0x42,0x46,0x02,0xE8,0x82,0x84,0x98,0x05,0xF8,0x67,0xB5,0x8E,0xE4,0x57,0x39,0xC8,0x69,0x5C,0xC4,0x89,0x85,0x67,0x87,0x8F,0x3B,0x70,0x14,0x66,0xEC,0x88,0xE6,0x51,0x4D,0x81,0xF4,0xAE,0xBA,0x73,0x02,0x00,0x33,0x4E,0x1A,0x47,0xFE,0xA9,0x8E,0xAE,0x7F,0x82,0xE7,0xF5,0x6B,0x44,0x16,0x59,0x9E,0xE5,0xDA,0x4B,0x53,0x26,0x46,0xDB,0x93,0x5A,0x6F,0xBB,0x03
|
|
|
|
:skipRC24key
|
|
|
|
|
|
|
|
::---------patches for d2x cIOSs via ciosmaps.xml (including IRQ4 patch if applicable)--------
|
|
if /i "%basecios:~12,3%" NEQ "d2x" goto:repackwad
|
|
|
|
::if /i "%wadname:~-5%" EQU "-vWii" (set xml=ciosmaps_vWii.xml) else (set xml=ciosmaps.xml)
|
|
|
|
echo.
|
|
echo Patching some IOS modules
|
|
echo.
|
|
|
|
copy /y "%xml%" temp\ciosmaps.xml>nul
|
|
|
|
::get base IOS section
|
|
support\sfk -spat filter temp\ciosmaps.xml -inc "base ios\x3d\x22%basewad:~3,2%" to "\x2fbase" -nocheck -write -yes>nul
|
|
|
|
::rename comments and redirects
|
|
support\sfk -spat filter temp\ciosmaps.xml -rep _"\x3c\x21\x2d\x2d"_commentstart_ -rep _"\x2d\x2d\x3e"_commentend_ -write -yes>nul
|
|
support\sfk -spat filter temp\ciosmaps.xml -rep _"\x3c"__ -rep _"\x2f\x3e"_LineEnd_ -rep _"\x3e"_LineEnd_ -write -yes>nul
|
|
|
|
|
|
::remove quotes, equal signs, and trailing spaces\slashes
|
|
support\sfk -spat filter temp\ciosmaps.xml -rep _"\x3d"__ -rep _"\x22"__ -write -yes>nul
|
|
support\sfk -spat filter temp\ciosmaps.xml -lerep _"\x2f"__ -lerep _"\x20"__ -write -yes>nul
|
|
|
|
|
|
::remove blank lines
|
|
support\sfk filter temp\ciosmaps.xml -no-empty-lines -no-blank-lines -write -yes>nul
|
|
|
|
::force remove IRQ4 patch for d2x v8 base 58 (harmless but included by davebaol by accident)
|
|
::this change will mean slight differences with Legacy cIOS WADs vs WiiPy\d2x installer
|
|
if /i "%basewad:~3,2%" NEQ "58" goto:no58fix
|
|
if /i "%ciosversion%" NEQ "21008" goto:no58fix
|
|
support\sfk -spat filter temp\ciosmaps.xml -!"patch offset0x28530 size4 originalbytes0xFF,0xFF,0x5D,0x52 newbytes0xFF,0xFF,0x5D,0x5C" -write -yes>nul
|
|
:no58fix
|
|
|
|
|
|
::get contentscount\basemodules\modulescount --> basemodules=lastbasemodules+1 (includes 00000000.app)
|
|
|
|
set /p topline= <temp\ciosmaps.xml
|
|
|
|
::-------disable getting info for now, not needed-------
|
|
goto:DisableGettingcIOSINFO
|
|
|
|
echo %topline%>temp\temp.txt
|
|
support\sfk filter temp\temp.txt -rep _*contentscount__ -rep _" "*__ -write -yes>nul
|
|
set /p contentscount= <temp\temp.txt
|
|
|
|
support\sfk dec %lastbasemodule%>temp\temp.txt
|
|
set /p basemodules= <temp\temp.txt
|
|
set /a basemodules=%basemodules%+1
|
|
|
|
|
|
set /a modulescount=%contentscount%-%basemodules%
|
|
|
|
::echo %contentscount%
|
|
::echo %basemodules%
|
|
::echo %modulescount%
|
|
|
|
:DisableGettingcIOSINFO
|
|
::--------------------------------------------------------
|
|
|
|
|
|
::remove topline
|
|
support\sfk filter temp\ciosmaps.xml -!"%topline%" -write -yes>nul
|
|
|
|
::remove 00000000.app patches (done later)
|
|
support\sfk -spat filter temp\ciosmaps.xml -cut "*" to "\x2fcontent" -nocheck -write -yes>nul
|
|
|
|
::remove /content and /base
|
|
support\sfk -spat filter temp\ciosmaps.xml -!"\x2fcontent" -!"\x2fbase" -write -yes>nul
|
|
|
|
::split to temp\ciosmodules.xml
|
|
support\sfk filter temp\ciosmaps.xml -and+"module" -!"commentstart" -!"commentend" -!"\x2fbase">temp\ciosmodules.xml
|
|
support\sfk filter temp\ciosmaps.xml -!"module" -!"\x2fbase" -write -yes>nul
|
|
|
|
|
|
set contentid=0
|
|
set xmlcomment=
|
|
set newbytes=
|
|
set newbytestemp=
|
|
set getnewbytes=
|
|
|
|
::-----------------------:process ciosmaps.xml: loop though xml---------------------------
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\ciosmaps.xml) do call :processciosmaps %%A
|
|
goto:quickskip
|
|
:processciosmaps
|
|
|
|
::set xmlLine=%*
|
|
|
|
echo %*>temp\temp.txt
|
|
|
|
findStr /I /C:"commentend" "temp\temp.txt" >nul
|
|
if not ERRORLEVEL 1 (set xmlcomment=) & (goto:EOF)
|
|
|
|
if /i "%xmlcomment%" EQU "on" goto:EOF
|
|
|
|
findStr /I /C:"commentstart" "temp\temp.txt" >nul
|
|
if not ERRORLEVEL 1 (set xmlcomment=on) & (goto:EOF)
|
|
|
|
|
|
findStr /I /C:"content id" "temp\temp.txt" >nul
|
|
if not ERRORLEVEL 1 (set /a contentid=%contentid%+1) & (goto:EOF)
|
|
|
|
|
|
|
|
::----patching...----
|
|
|
|
::get current contendid
|
|
support\sfk hex %contentid% -digits=8 >temp\hex.txt
|
|
set /p contentidhex= <temp\hex.txt
|
|
set contentidhex=%contentidhex:~0,-1%
|
|
|
|
::get patchoffset
|
|
findStr /I /C:"patch offset" "temp\temp.txt" >nul
|
|
if ERRORLEVEL 1 goto:skip
|
|
support\sfk -spat filter temp\temp.txt -rep _*"patch offset"__ -rep _" "*__ -rep _"LineEnd"*__ -write -yes>nul
|
|
set /p patchoffset= <temp\temp.txt
|
|
:skip
|
|
|
|
|
|
|
|
::get newbytes
|
|
echo %*>temp\temp.txt
|
|
|
|
findStr /I /C:"newbytes" "temp\temp.txt" >nul
|
|
if not ERRORLEVEL 1 set getnewbytes=on
|
|
if /i "%getnewbytes%" NEQ "on" goto:skip
|
|
|
|
::filter for newbytes
|
|
support\sfk -spat filter temp\temp.txt -rep _*"newbytes"__ -rep _\x20\x20__ -lsrep _\x20__ -rep _"LineEnd"*__ -rep _" "*__ -write -yes>nul
|
|
|
|
set newbytestemp=
|
|
set /p newbytestemp= <temp\temp.txt
|
|
set newbytes=%newbytes%%newbytestemp%
|
|
if "%newbytes%"=="" goto:EOF
|
|
if /i "%newbytes:~0,2%" NEQ "0x" (set newbytes=) & (goto:EOF)
|
|
:skip
|
|
|
|
|
|
::check LineEnd
|
|
echo %*>temp\temp.txt
|
|
|
|
findStr /I /C:"LineEnd" "temp\temp.txt" >nul
|
|
if ERRORLEVEL 1 goto:EOF
|
|
|
|
if "%newbytes%"=="" goto:EOF
|
|
if "%patchoffset%"=="" goto:EOF
|
|
|
|
::::verbose
|
|
::echo support\hexalter.exe %basecios%\%contentidhex%.app %patchoffset%=%newbytes%
|
|
|
|
support\hexalter.exe %basecios%\%contentidhex%.app %patchoffset%=%newbytes%
|
|
|
|
set patchoffset=
|
|
set newbytes=
|
|
set newbytestemp=
|
|
set getnewbytes=
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
|
|
|
|
echo.
|
|
echo Copying over Custom Modules
|
|
echo.
|
|
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
for /F "tokens=*" %%A in (temp\ciosmodules.xml) do call :processciosmodules %%A
|
|
goto:quickskip
|
|
:processciosmodules
|
|
|
|
set /a contentid=%contentid%+1
|
|
support\sfk hex %contentid% -digits=8 >temp\hex.txt
|
|
set /p contentidhex= <temp\hex.txt
|
|
set contentidhex=%contentidhex:~0,-1%
|
|
|
|
::set xmlLine=%*
|
|
|
|
echo %*>temp\temp.txt
|
|
|
|
::get module
|
|
support\sfk -spat filter temp\temp.txt -rep _*" module"__ -rep _" "*__ -write -yes>nul
|
|
set /p module= <temp\temp.txt
|
|
|
|
if exist "%d2xFolder%\%module%.app" copy "%d2xFolder%\%module%.app" "%basecios%\%contentidhex%.app"
|
|
|
|
|
|
goto:EOF
|
|
:quickskip
|
|
|
|
echo.
|
|
|
|
|
|
::use tmdedit.exe to patch tmd
|
|
|
|
if /i "%usetmdedit%" NEQ "Y" goto:repackwad
|
|
::if exist Support\d2x-beta\ciosmaps.xml (set xml=Support\d2x-beta\ciosmaps.xml) else (set xml=Support\d2xModules\ciosmaps.xml)
|
|
|
|
::if /i "%wadname:~-5%" NEQ "-vWii" goto:skip
|
|
::if exist Support\d2x-beta\ciosmaps_vWii.xml (set xml=Support\d2x-beta\ciosmaps_vWii.xml) else (set xml=Support\d2xModules\ciosmaps_vWii.xml)
|
|
:::skip
|
|
|
|
|
|
::get tmd version from cIOS ; e.g. <ciosgroup name="d2x-v10-beta53-alt" version="21010" basescount="10">
|
|
support\sfk -spat filter "%xml%" -and+"ciosgroup name" -and+"version" -and+"basescount" -rep _*version\x3d\x22__ -rep _\x22*__ >temp\d2xversion.xml
|
|
set /p tmdversion= <temp\d2xversion.xml
|
|
del temp\d2xversion.xml>nul
|
|
|
|
|
|
set tmdslot=249
|
|
|
|
set "d2x-beta-rev-tmd=%wadname:~17%"
|
|
::set d2x-beta-rev-tmd=%d2x-beta-rev%
|
|
|
|
echo Editing tmd...
|
|
::hardcoded 00000001 as "code1" is 00000007 for vWii bases, but not cIOSs
|
|
support\TMDedit.exe -b "%basecios%\00000001%code2new%.tmd" -xml %xml% -group d2x-v%d2x-beta-rev-tmd% %tmdversion% -base %basewad:~3,2% %version% -folder "%basecios%" -basefile %basecios%\00000001%code2%.tmd -outIOS %tmdslot%
|
|
|
|
del %basecios%\00000001%code2%.tmd>nul
|
|
|
|
|
|
::---------pack files into cIOS wad---------
|
|
:repackwad
|
|
|
|
|
|
|
|
echo.
|
|
echo Repacking Wad
|
|
echo.
|
|
|
|
if /i "%LegacyCIOS%" NEQ "Y" %WiiPy% wad pack --fakesign "%basecios%" "%Drive%\WAD\%wadname%.wad">nul
|
|
if /i "%LegacyCIOS%" EQU "Y" support\wadmii -in "%basecios%" -out "%Drive%\WAD\%wadname%.wad"
|
|
|
|
::delete unpacked files
|
|
rd /s /q %basecios%
|
|
|
|
::Change version number and slot number (using patchios) only if required
|
|
:patchios
|
|
|
|
|
|
|
|
if /i "%ciosslot%" EQU "unchanged" goto:skip
|
|
|
|
|
|
echo Changing version number and/or slot number
|
|
|
|
|
|
if /i "%LegacyCIOS%" NEQ "Y" goto:skipoverride
|
|
if not exist support\patchios.exe goto:skipoverride
|
|
cd support
|
|
if /i "%DRIVE:~1,1%" EQU ":" (set "DRIVEadj=%DRIVE%") else (set "DRIVEadj=..\%DRIVE%")
|
|
patchios "%Driveadj%\WAD\%wadname%.wad" -slot %ciosslot% -v %ciosversion%
|
|
cd..
|
|
::no fakesign for legacy d2x-beta.bat support
|
|
::if /i "%LegacyCIOS%" NEQ "Y" %WiiPy% fakesign "%Drive%\WAD\%wadname%.wad">nul
|
|
echo.
|
|
goto:skip
|
|
:skipoverride
|
|
|
|
::Change slot\version using WiiPy instead of patchios.exe
|
|
%WiiPy% iospatch -s %ciosslot% -v %ciosversion% "%Drive%\WAD\%wadname%.wad"
|
|
|
|
echo.
|
|
:skip
|
|
|
|
if "%wadname:~-4%" NEQ ".wad" set wadname=%wadname%.wad
|
|
|
|
if /i "%wadname:~0,3%" EQU "DML" goto:simpleDMLcheck
|
|
|
|
goto:wadverifyretry
|
|
|
|
|
|
|
|
:simpleDMLcheck
|
|
if not exist "%Drive%"\WAD\%wadname% goto:missing
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
|
|
goto:NEXT
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
echo.
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
|
|
::----------------------------------------THEMES-------------------------------------
|
|
:THEMES
|
|
if not exist "%Drive%"\themes mkdir "%Drive%"\themes
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if exist "%Drive%"\themes\%wadname%.csm (goto:checkexisting) else (goto:nocheckexisting)
|
|
:checkexisting
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%"\themes\%wadname%.csm
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
del "%Drive%"\themes\%wadname%.csm>nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
support\sfk echo [%greentext%]This file already exists and has been verified, Skipping download
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
:nocheckexisting
|
|
|
|
|
|
|
|
|
|
|
|
::-------------Download base app----------------------
|
|
::if /i "%wadname:~-5,-1%" NEQ "vWii" set dlname=000000%version%_%wadname:~-4%.app
|
|
|
|
echo.
|
|
|
|
if /i "%wadname:~-5,-1%" NEQ "vWii" echo Downloading Base theme app from System Menu %wadname:~-4%: %dlname:~0,8%.app
|
|
if /i "%wadname:~-5,-1%" EQU "vWii" echo Downloading Base theme app from vWii System Menu 4.3%wadname:~-1%: %dlname:~0,8%.app
|
|
|
|
echo.
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if not exist "%Drive%"\themes\%dlname% goto:nocheckexisting
|
|
set md5basecheck=
|
|
support\sfk md5 -quiet -verify %md5base% "%Drive%"\themes\%dlname%
|
|
if errorlevel 1 set md5basecheck=fail
|
|
IF "%md5basecheck%"=="" set md5basecheck=pass
|
|
if /i "%md5basecheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This base app already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
del "%Drive%"\themes\%dlname%>nul
|
|
if exist temp\%dlname% del temp\%dlname%>nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] Base App already exists and has been verified, Continuing...
|
|
echo.
|
|
goto:mym_download
|
|
:nocheckexisting
|
|
|
|
|
|
if exist temp\%dlname% goto:AlreadyinTemp
|
|
|
|
|
|
%WiiPy% nus content -v %version% -o "temp\%dlname%" -d %code1%%code2% %dlname:~0,8%
|
|
|
|
if /i "%code1%%code2%" NEQ "0000000700000002" goto:AlreadyinTemp
|
|
|
|
echo.
|
|
echo Fixing vWii aspect ratio for Everybody Votes and Check Mii Out channels...
|
|
%WiiPy% u8 unpack "temp\%dlname%" "temp\%dlname:~0,-4%">nul
|
|
|
|
::fixes aspect ratio on vWii for Everybody Votes and Check Mii Out channels
|
|
::use partcopy and partcopy +append to remove 8 bytes from 0x10-0x17 [48 41 4A 00 48 41 50 00], and also change 0x82 to 0x80 at offset 0xB
|
|
support\sfk partcopy "temp\%dlname:~0,-4%\titlelist\wwdb.bin" -fromto 0x0 0x10 "temp\wwdb.bin" -yes +sfk partcopy "temp\%dlname:~0,-4%\titlelist\wwdb.bin" -allfrom 0x18 "temp\wwdb.bin" -yes -append>nul
|
|
support\sfk setbytes "temp\wwdb.bin" 0xB 0x80 -yes>nul
|
|
if exist "temp\wwdb.bin" move /y "temp\wwdb.bin" "temp\%dlname:~0,-4%\titlelist\wwdb.bin">nul
|
|
%WiiPy% u8 pack "temp\%dlname:~0,-4%" "temp\%dlname%"
|
|
if exist "temp\%dlname:~0,-4%" rd /s /q "temp\%dlname:~0,-4%"
|
|
|
|
|
|
|
|
:AlreadyinTemp
|
|
if exist temp\%dlname% copy /y temp\%dlname% "%Drive%"\themes\%dlname% >nul
|
|
|
|
|
|
|
|
|
|
::----Check base APP-----------
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist "%Drive%"\themes\%dlname% goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%.csm: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:checkexisting
|
|
|
|
set md5basecheck=
|
|
support\sfk md5 -quiet -verify %md5base% "%Drive%"\themes\%dlname%
|
|
if errorlevel 1 set md5basecheck=fail
|
|
IF "%md5basecheck%"=="" set md5basecheck=pass
|
|
if /i "%md5basecheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This base app already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del "%Drive%"\themes\%dlname%>nul
|
|
if exist temp\%dlname% del temp\%dlname%>nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:multiplefail
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
set multiplefail=Y
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %wadname%.csm: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] Base App has been Downloaded Successfully, Continuing...
|
|
echo.
|
|
::if /i "%AdvancedDownload%" NEQ "Y" echo "echo %wadname%.csm: Valid">>temp\ModMii_Log.bat
|
|
goto:mym_download
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::-------------------mym download to build csm file---------------------
|
|
|
|
:mym_download
|
|
|
|
set mym0=%mym1%
|
|
set md5mym0=%md5mym1%
|
|
set mym2=
|
|
|
|
:mym2_download
|
|
|
|
echo.
|
|
echo Downloading %mym0%
|
|
echo.
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if not exist "temp\%mym0%" goto:nocheckexisting
|
|
set md5mymcheck=
|
|
support\sfk md5 -quiet -verify %md5mym0% "temp\%mym0%"
|
|
if errorlevel 1 set md5mymcheck=fail
|
|
IF "%md5mymcheck%"=="" set md5mymcheck=pass
|
|
if /i "%md5mymcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This mym file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
del "temp\%mym0%">nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] File already exists and has been verified, Continuing...
|
|
echo.
|
|
::if /i "%category%" EQU "SMTHEME" goto:SMTHEME2
|
|
goto:download_mym2
|
|
:nocheckexisting
|
|
|
|
support\wget --no-check-certificate -t 3 "https://raw.githubusercontent.com/modmii/modmii.github.io/master/temp/%mym0%" -q --show-progress
|
|
if exist "%mym0%" move /Y "%mym0%" temp>nul
|
|
|
|
|
|
|
|
|
|
::----Check mym file after downloading-----------
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist "temp\%mym0%" goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:checkexisting
|
|
set md5mymcheck=
|
|
|
|
support\sfk md5 -quiet -verify %md5mym0% "temp\%mym0%"
|
|
if errorlevel 1 set md5mymcheck=fail
|
|
IF "%md5mymcheck%"=="" set md5mymcheck=pass
|
|
if /i "%md5mymcheck%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This File already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del "temp\%mym0%">nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:multiplefail
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
set multiplefail=Y
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%greentext%] File has been Downloaded Successfully, Continuing...
|
|
echo.
|
|
::if /i "%category%" EQU "SMTHEME" goto:SMTHEME2
|
|
::goto:build_csm
|
|
|
|
|
|
|
|
:download_mym2
|
|
if /i "%mym0%" EQU "%mym2%" goto:thememiiDL
|
|
|
|
if /i "%effect%" EQU "No-Spin" set mym2=optional_non_spinning_outline.mym
|
|
if /i "%effect%" EQU "No-Spin" set md5mym2=9e70e955aa9ba04cb904b350402ed5b3
|
|
|
|
if /i "%effect%" EQU "Spin" set mym2=optional_spinning_outline_.mym
|
|
if /i "%effect%" EQU "Spin" set md5mym2=8cfa69fbaad6971137482265675d2018
|
|
|
|
if /i "%effect%" EQU "Fast-Spin" set mym2=optional_fast_spinning_outline.mym
|
|
if /i "%effect%" EQU "Fast-Spin" set md5mym2=1ddddcf02bc7024b7fde393308cdbd5f
|
|
|
|
set mym0=%mym2%
|
|
set md5mym0=%md5mym2%
|
|
goto:mym2_download
|
|
|
|
|
|
|
|
::---------thememii cmd line download-------------
|
|
:thememiiDL
|
|
|
|
call Support\subscripts\dependency.bat themewii
|
|
if /i "%dependency%" EQU "F" call Support\subscripts\dependency.bat themewii
|
|
if /i "%dependency%" NEQ "F" goto:build_csm
|
|
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
set multiplefail=Y
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
|
|
|
|
:build_csm
|
|
if /i "%category%" EQU "SMTHEME" goto:SMTHEME2
|
|
echo.
|
|
echo Building Theme (%wadname%.csm), please wait...
|
|
echo.
|
|
|
|
if exist "temp\temp.csm" del "temp\temp.csm">nul
|
|
if exist "temp\temp2.csm" del "temp\temp2.csm">nul
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "..\%mym1%" "..\%dlname%" "..\temp.csm">nul
|
|
themewii.exe "..\%mym2%" "..\temp.csm" "..\temp2.csm">nul
|
|
cd ..\..
|
|
|
|
if exist "temp\temp2.csm" move /y "temp\temp2.csm" "%Drive%\themes\%wadname%.csm">nul
|
|
if exist "temp\temp.csm" del "temp\temp.csm">nul
|
|
|
|
::%WiiPy% theme mym "temp\%mym1%" "temp\%dlname%" "%Drive%\themes\%wadname%.csm"
|
|
::%WiiPy% theme mym "temp\%mym2%" "%Drive%\themes\%wadname%.csm" "%Drive%\themes\%wadname%.csm"
|
|
::if /i "%errorlevel%" NEQ "0" if exist "%Drive%\themes\%wadname%.csm" del "%Drive%\themes\%wadname%.csm">nul
|
|
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist "%Drive%"\themes\%wadname%.csm goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:checkexisting
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%"\themes\%wadname%.csm
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del "%Drive%"\themes\%wadname%.csm>nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:multiplefail
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
set multiplefail=Y
|
|
|
|
if /i "%KeepInvalidOverride%" NEQ "Y" (if exist "%Drive%\themes\%wadname%.csm" del "%Drive%\themes\%wadname%.csm">nul)
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Invalid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
|
|
::--------------------------------------Cheat Codes: txtcodes from codes.rc24.xyz------------------------------
|
|
:CHEATS
|
|
echo This "download" saves copies of cheats from txtcodes\ to codes\ in AccioHacks format
|
|
echo.
|
|
if not exist "%DRIVE%"\txtcodes\*.txt echo "support\sfk echo Copy of Cheat Codes for AccioHacks: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
if not exist "%DRIVE%"\txtcodes\*.txt (support\sfk echo txtcodes Missing, first download some!) & (goto:NEXT)
|
|
|
|
|
|
if not exist temp\wiitdb.xml echo Downloading wiitdb.xml...
|
|
if exist temp\wiitdb.xml echo Updating wiitdb.xml...
|
|
support\wget --no-check-certificate -t 3 "https://www.gametdb.com/wiitdb.zip?LANG=EN&WIIWARE=1&GAMECUBE=1" -O temp\wiitdb.zip -q --show-progress
|
|
|
|
|
|
if exist temp\wiitdb.zip support\7za x -aoa "temp\wiitdb.zip" -o"temp" -r>nul
|
|
if exist temp\wiitdb.zip del temp\wiitdb.zip>nul
|
|
|
|
if not exist temp\wiitdb.xml echo "support\sfk echo Copy of Cheat Codes for AccioHacks: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
if not exist temp\wiitdb.xml (support\sfk echo wiitdb.xml Missing!) & (goto:NEXT)
|
|
|
|
::filter xml for just title IDs & names & types. Also remove tabs and replace types with Acciohacks letter codes
|
|
support\sfk -spat filter -quiet temp\wiitdb.xml -+"<game name=" -+"<id>" -+"<type" -rep _"<game name=\x22"__ -rep _"\x22>"__ -rep _\x09__ -lsrep _"<type/>"_"<type>R</type>"_ -rep _">CUSTOM<"_">R<"_ -rep _">GameCube<"_">G<"_ >"temp\wiitdb_.xml"
|
|
|
|
|
|
::SD:\codes\X\L\GAMEID.txt
|
|
::X (%Accio1%) = Channel Letter ID. (Seen in Accio Hacks and on GeckoCodes in brackets, Wii = R)
|
|
::L (%Accio2%) = The first letter of the title of the game. or '#' if it starts with a number.
|
|
|
|
::--console codes--
|
|
::all letter codes are the same as the first letter of the title ID for games with 4-digit title IDs (i.e. not always the case for Wii and Gamecube games which have 6 digit IDs)
|
|
::Wii = R
|
|
::GameCube = G
|
|
::WiiWare = W
|
|
::VC Arcade = D
|
|
::Wii Channels = H
|
|
::NES/Famicom VC = F
|
|
::Super NES/Famicom VC = J
|
|
::Nintendo 64 VC = N
|
|
::Sega Master System VC = L
|
|
::Sega Genesis/Mega Drive VC = M
|
|
::NeoGeo VC = E
|
|
::Commodore 64 VC = C
|
|
::MSX VC = X
|
|
::TurboGraFX-16 VC = P
|
|
::TurboGraFX-CD VC = Q
|
|
|
|
|
|
|
|
dir /b /a-d "%DRIVE%"\txtcodes\*.txt>temp\existingcodes.txt
|
|
support\sfk filter -quiet temp\existingcodes.txt -rep _.txt__ -write -yes
|
|
support\sfk filter -quiet temp\existingcodes.txt -no-empty-lines -no-blank-lines -write -yes
|
|
|
|
::line count, count lines, if only 1 then don't show
|
|
set /a totalcodes=0
|
|
set /a codenumber=0
|
|
for /f %%a in (temp\existingcodes.txt) do set /a totalcodes+=1
|
|
|
|
|
|
::Loop through the existing list of codes (existingcodes.txt) and remove each existing game from codeindex.txt
|
|
for /F "tokens=*" %%A in (temp\existingcodes.txt) do call :codecopy %%A
|
|
goto:nextstep
|
|
|
|
:codecopy
|
|
set /a codenumber+=1
|
|
set titleid=%*
|
|
echo.
|
|
echo Copying Cheat %codenumber% of %totalcodes%: "%titleid%"
|
|
|
|
::get specific title ID info from "temp\wiitdb_.xml"
|
|
support\sfk filter -quiet temp\wiitdb_.xml -le+"<id>%titleid%</id>" -context=1 >"temp\wiitdb_.txt"
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\wiitdb_.txt" || del "temp\wiitdb_.txt"
|
|
::if file is empty then no matching title IDs and skip it
|
|
if not exist "temp\wiitdb_.txt" (echo unable to locate ID in wiitdb, skipping...) & (goto:EOF)
|
|
|
|
::get Accio2: first letter of title, make # if a number
|
|
set /p Accio2= <temp\wiitdb_.txt
|
|
set "Accio2=%Accio2:~0,1%"
|
|
|
|
::if not numeric goto:skip
|
|
for %%A in ("%Accio2%") do (for /f "tokens=1 delims=0123456789" %%B in ("%%~A") do goto:skip)
|
|
set "Accio2=#"
|
|
:skip
|
|
|
|
|
|
::get Accio1
|
|
|
|
::if 4 digits (or less) set Accio1 to first letter of title ID
|
|
if "%titleid:~4%"=="" (set "Accio1=%titleid:~0,1%") & (goto:skip)
|
|
|
|
::check wiitdb for 6 digit IDs whether Accio1 should be R (Wii) or G (GameCube)
|
|
support\sfk filter -quiet temp\wiitdb_.txt -le+"</type>" -rep _"</*"__ -rep _"*>"__ -write -yes
|
|
set /p Accio1= <temp\wiitdb_.txt
|
|
|
|
if /i "%Accio1%" EQU "R" goto:skip
|
|
if /i "%Accio1%" NEQ "G" (echo Unexpected Channel Letter ID, skipping...) & (goto:EOF)
|
|
:skip
|
|
|
|
::copy txt code to appropriate acciohacks directory
|
|
if not exist "%DRIVE%\codes\%Accio1%\%Accio2%\" mkdir "%DRIVE%\codes\%Accio1%\%Accio2%"
|
|
::sfk copy only if newer, -mirror arg will overwrite even if older
|
|
support\sfk copy "%DRIVE%\txtcodes\%titleid%.txt" "%DRIVE%\codes\%Accio1%\%Accio2%\%titleid%.txt" -yes
|
|
echo to: "%DRIVE%\codes\%Accio1%\%Accio2%\%titleid%.txt"
|
|
|
|
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
if exist "temp\wiitdb_.xml" del "temp\wiitdb_.xml">nul
|
|
if exist "temp\wiitdb_.txt" del "temp\wiitdb_.txt">nul
|
|
if exist "temp\existingcodes.txt" del "temp\existingcodes.txt">nul
|
|
|
|
::Simple Check
|
|
If exist "%DRIVE%"\codes echo "echo Copy of Cheat Codes for AccioHacks: Found">>temp\ModMii_Log.bat
|
|
If not exist "%DRIVE%"\codes echo "support\sfk echo Copy of Cheat Codes for AccioHacks: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
|
|
|
|
goto:NEXT
|
|
|
|
|
|
|
|
|
|
|
|
::------------------------NUS File Grabber Downloader for vWii---------------------
|
|
|
|
:NusdApp
|
|
|
|
|
|
if not exist "%Drive%\%path1%%wadname%" goto:NusdApp2
|
|
if not exist "temp\%wadname%" copy /Y "%Drive%\%path1%%wadname%" "temp\%wadname%">nul
|
|
goto:DownloadURL
|
|
|
|
|
|
:NusdApp2
|
|
|
|
if exist temp\%wadname% goto:AlreadyinTemp
|
|
::echo If you encounter long periods of inactivity, type "C" while holding "Ctrl",
|
|
::echo then type "N", then "Enter" (i.e. Ctrl+C, N, Enter)
|
|
::echo.
|
|
::support\sharpii.exe nusd -id %code1%%code2% -v %version% -o temp\%wadname% -s %dlname:~0,8%
|
|
::if exist "temp\%wadname:~0,-4%" rd /s /q "temp\%wadname:~0,-4%"
|
|
|
|
%WiiPy% nus content -v %version% -o "temp\%wadname%" -d %code1%%code2% %dlname:~0,8%
|
|
|
|
::patch only for vwii system menus
|
|
if /i "%code1%%code2%" NEQ "0000000700000002" goto:AlreadyinTemp
|
|
|
|
echo.
|
|
echo Fixing vWii aspect ratio for Everybody Votes and Check Mii Out channels...
|
|
%WiiPy% u8 unpack "temp\%wadname%" "temp\%wadname:~0,-4%">nul
|
|
|
|
::fixes aspect ratio on vWii for Everybody Votes and Check Mii Out channels
|
|
::use partcopy and partcopy +append to remove 8 bytes from 0x10-0x17 [48 41 4A 00 48 41 50 00], and also change 0x82 to 0x80 at offset 0xB
|
|
support\sfk partcopy "temp\%wadname:~0,-4%\titlelist\wwdb.bin" -fromto 0x0 0x10 "temp\wwdb.bin" -yes +sfk partcopy "temp\%wadname:~0,-4%\titlelist\wwdb.bin" -allfrom 0x18 "temp\wwdb.bin" -yes -append>nul
|
|
support\sfk setbytes "temp\wwdb.bin" 0xB 0x80 -yes>nul
|
|
if exist "temp\wwdb.bin" move /y "temp\wwdb.bin" "temp\%wadname:~0,-4%\titlelist\wwdb.bin">nul
|
|
%WiiPy% u8 pack "temp\%wadname:~0,-4%" "temp\%wadname%"
|
|
if exist "temp\%wadname:~0,-4%" rd /s /q "temp\%wadname:~0,-4%"
|
|
|
|
|
|
:AlreadyinTemp
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
copy /Y "temp\%wadname%" "%Drive%\%path1%%wadname%">nul
|
|
goto:URLverifyretry
|
|
|
|
|
|
|
|
::-------------------------Download from URLs------------------------------
|
|
:DownloadURL
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if not exist "%Drive%\%path1%%filename%" goto:nocheckexisting
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%\%path1%%filename%"
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
del "%Drive%\%path1%%filename%">nul
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
support\sfk echo [%greentext%]This file already exists and has been verified, Skipping download
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
goto:next
|
|
:nocheckexisting
|
|
|
|
if /i "%category%" EQU "NusdApp" goto:NusdApp2
|
|
|
|
:DownloadURL2
|
|
if not exist temp\%wadname% support\wget --no-check-certificate %code2% -q --show-progress
|
|
if exist %dlname% move /y %dlname% temp\%wadname% >nul
|
|
support\7za e -aoa temp\%wadname% -o"%Drive%"\%path1% *.%version% -r
|
|
|
|
::save identifier for bannerbombs
|
|
if /i "%dlname%" EQU "aad1f_v108.zip" echo Bannerbombv1 >"%Drive%\%path1%Bannerbomb_v1.txt"
|
|
if /i "%dlname%" EQU "abd6a_v200.zip" echo Bannerbombv2 >"%Drive%\%path1%Bannerbomb_v2.txt"
|
|
|
|
:URLverifyretry
|
|
if "%DRIVErestore%"=="" set "DRIVErestore=%Drive%"
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
|
|
if exist "%Drive%\%path1%%filename%" goto:checkexisting
|
|
|
|
:missing
|
|
:missingauto
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
set "DRIVE=%DRIVErestore%"
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
set "DRIVE=%DRIVErestore%"
|
|
if /i "%category%" EQU "auto" goto:DOWNLOADSTART2
|
|
if exist "temp\%wadname%" del "temp\%wadname%">nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:checkexisting
|
|
if /i "%category%" EQU "auto" goto:autopass
|
|
set md5check=
|
|
|
|
::if "%md5:~32,1%"=="" (echo md5) else (echo sha1)
|
|
if "%md5%"=="" goto:autopass
|
|
if "%md5:~32,1%"=="" goto:checkmd5
|
|
::sha1
|
|
certutil -hashfile "%Drive%\%path1%%filename%" SHA1>"temp\sha1.txt"
|
|
findStr /I /B /C:"%md5%" "temp\sha1.txt" >nul
|
|
IF ERRORLEVEL 1 (set md5check=fail) & (goto:fail)
|
|
set md5check=pass
|
|
goto:pass
|
|
|
|
|
|
:checkmd5
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%\%path1%%filename%"
|
|
if errorlevel 1 set md5check=fail
|
|
|
|
if /i "%wadname%" NEQ "bootmii_sd_files.zip" goto:notbootmiisd
|
|
set md5check=fail
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%\%path1%%filename%"
|
|
if not errorlevel 1 set md5check=pass
|
|
support\sfk md5 -quiet -verify %md5alt% "%Drive%\%path1%%filename%"
|
|
if not errorlevel 1 set md5check=pass
|
|
set md5alt=
|
|
:notbootmiisd
|
|
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
|
|
:fail
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del "%Drive%\%path1%%filename%">nul
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
set "DRIVE=%DRIVErestore%"
|
|
goto:DOWNLOADSTART2
|
|
|
|
:multiplefail
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
set "DRIVE=%DRIVErestore%"
|
|
set multiplefail=Y
|
|
|
|
if /i "%KeepInvalidOverride%" NEQ "Y" (if exist "%Drive%\%path1%%filename%" del "%Drive%\%path1%%filename%">nul)
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Invalid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:autopass
|
|
echo.
|
|
if exist "temp\%wadname%" (support\sfk echo [%greentext%]Download Successful) else (support\sfk echo [%redtext%]Download Failed [%yellowtext%]but Already Exists on Drive)
|
|
echo.
|
|
set "DRIVE=%DRIVErestore%"
|
|
if exist "temp\%wadname%" (echo "echo %name%: Found">>temp\ModMii_Log.bat) else (echo "support\sfk echo %name%: [%yellowtext%]Found [%redtext%]but not updated">>temp\ModMii_Log.bat)
|
|
goto:next
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
set "DRIVE=%DRIVErestore%"
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
goto:next
|
|
|
|
|
|
|
|
::----------------------------------------
|
|
:OSCprocess
|
|
|
|
call support\subscripts\OSC.bat
|
|
|
|
|
|
|
|
if /i "%code1%" EQU "all" goto:NEXT
|
|
|
|
|
|
::save YAWM's elf and dol to root when applicable
|
|
:rootYAWMcheck
|
|
if /i "%wadname%" NEQ "yawmME.zip" goto:next
|
|
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:rootYAWM
|
|
if /i "%MENU1%" EQU "H" goto:rootYAWM
|
|
if /i "%virgin%" EQU "N" goto:next
|
|
If /i "%FIRMSTART%" EQU "4.3" goto:next
|
|
if /i "%REGION%" EQU "K" goto:rootYAWM
|
|
goto:next
|
|
|
|
::-----Bannerbomb yawmME instead of HackMii installer------
|
|
:rootYAWM
|
|
if exist "%Drive%"\apps\yawmME\yawmME_boot.elf copy /Y "%Drive%"\apps\yawmME\yawmME_boot.elf "%Drive%"\boot.elf >nul
|
|
if exist "%Drive%"\apps\yawmME\boot.dol copy /Y "%Drive%"\apps\yawmME\boot.dol "%Drive%"\boot.dol >nul
|
|
if /i "%AbstinenceWiz%" EQU "Y" copy /Y "Support\ExploitAppSelector.bat" "%Drive%\ExploitAppSelector.bat" >nul
|
|
|
|
|
|
goto:NEXT
|
|
|
|
|
|
|
|
::----------------------------------------
|
|
:HBASprocess
|
|
|
|
call support\subscripts\HBAS.bat
|
|
goto:NEXT
|
|
|
|
|
|
::----------------------------------------
|
|
|
|
|
|
:fullextract
|
|
|
|
::always make sure this is deleted for Wii Link Patcher style downloads
|
|
if exist temp\latest.json del temp\latest.json>nul
|
|
|
|
set "DRIVErestore=%Drive%"
|
|
|
|
if /i "%wadname%" EQU "WiiBackupManager.zip" goto:doit
|
|
if /i "%name%" EQU "ShowMiiWads" goto:doit
|
|
if /i "%filename%" EQU "CustomizeMii.exe" goto:doit
|
|
if /i "%path1%" EQU "Program Files\WiiGSC\" goto:doit
|
|
if /i "%path1%" EQU "Program Files\UWUVCI AIO\" goto:doit
|
|
if /i "%CODE1%" EQU "PC" goto:doit
|
|
|
|
goto:skip
|
|
:doit
|
|
if /i "%PCSAVE%" EQU "Local" set "DRIVE=%cd%"
|
|
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" EQU "%ModMiiDrive%" set "DRIVE=%cd%"
|
|
:skip
|
|
|
|
if not exist "%Drive%" mkdir "%Drive%"
|
|
|
|
|
|
::no md5 check for dml
|
|
::if /i "%name%" NEQ "%CurrentDMLRev%" goto:notdios
|
|
::if exist "temp\DML\%wadname%" (goto:FullExtractZipAlreadyExists) else (goto:nocheckexisting)
|
|
:::notdios
|
|
|
|
|
|
::---------no md5 check for AUTO category------------------
|
|
if /i "%category%" NEQ "auto" goto:notauto
|
|
|
|
if /i "%attempt%" NEQ "1" support\wget --no-check-certificate %code2% -O "%dlname%" -q --show-progress
|
|
if /i "%attempt%" NEQ "1" goto:skip
|
|
|
|
if /i "%AUSKIP%" EQU "OFF" support\wget --no-check-certificate %code2% -O "%dlname%" -q --show-progress
|
|
if /i "%AUSKIP%" EQU "OFF" goto:skip
|
|
|
|
::Auto-Updating downloads will skip update check if cached on first attempt only
|
|
if exist "temp\%wadname%" goto:fullextract2
|
|
support\wget --no-check-certificate %code2% -O "%dlname%" -q --show-progress
|
|
:skip
|
|
|
|
::delete if file is empty (if empty)
|
|
if exist "%dlname%" >nul findstr "^" "%dlname%" || del "%dlname%"
|
|
|
|
if exist "%dlname%" (move /y "%dlname%" "temp\%wadname%">nul) & (goto:fullextract2)
|
|
if /i "%attempt%" EQU "1" goto:missingauto
|
|
if exist "temp\%wadname%" goto:fullextract2
|
|
goto:URLverifyretry
|
|
:notauto
|
|
|
|
|
|
::skip checks for Twilight beta1 and beta2
|
|
if /i "%wadname%" EQU "twilight_hack_v0.1_beta1.zip" goto:fullextract2
|
|
if /i "%wadname%" EQU "Twilight-hack-v0.1-beta2.zip" goto:fullextract2
|
|
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
if not exist "%Drive%\%path1%%filename%" goto:nocheckexisting
|
|
|
|
set md5check=
|
|
|
|
::if "%md5:~32,1%"=="" (echo md5) else (echo sha1)
|
|
if "%md5%"=="" goto:nocheckexisting
|
|
if "%md5:~32,1%"=="" goto:checkmd5
|
|
::sha1
|
|
certutil -hashfile "%Drive%\%path1%%filename%" SHA1>"temp\sha1.txt"
|
|
findStr /I /B /C:"%md5%" "temp\sha1.txt" >nul
|
|
IF ERRORLEVEL 1 (set md5check=fail) else (set md5check=pass)
|
|
goto:notbootmiisd
|
|
|
|
|
|
:checkmd5
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%\%path1%%filename%"
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
del "%Drive%\%path1%%filename%">nul
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
set "DRIVE=%DRIVErestore%"
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
support\sfk echo [%greentext%]This file already exists and has been verified, Skipping download
|
|
echo.
|
|
set "DRIVE=%DRIVErestore%"
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
:nocheckexisting
|
|
|
|
|
|
:fullextract2
|
|
|
|
if not exist "temp\%wadname%" support\wget --no-check-certificate %code2% -O "temp\%wadname%" -q --show-progress
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\%wadname%" || del "temp\%wadname%"
|
|
if not exist "temp\%wadname%" goto:missing
|
|
:FullExtractZipAlreadyExists
|
|
::extract selected apps differently...
|
|
|
|
if /i "%name%" EQU "Cemu" goto:CemuStuff
|
|
if /i "%wadname%" EQU "latest.json" goto:latestjson
|
|
if /i "%CODE1%" EQU "PC" goto:PC
|
|
|
|
|
|
if /i "%name%" EQU "Tiramisu" support\7za X -aoa "temp\%wadname%" -o"%Drive%" -x!versions.json
|
|
if /i "%name%" EQU "Tiramisu" goto:skipnormalextraction
|
|
|
|
if /i "%wadname%" EQU "USBLoader(s)-ahbprot58-SD-USB-v14-IDCL-(Wii+vWii).zip" support\7za x -aoa temp\%dlname% -o"%Drive%" *.%version% -r
|
|
if /i "%wadname%" EQU "USBLoader(s)-ahbprot58-SD-USB-v14-IDCL-(Wii+vWii).zip" goto:skipnormalextraction
|
|
|
|
if /i "%wadname%" EQU "indiana-pwns.zip" (support\7za X -aoa "temp\%wadname%" -o"%Drive%" private -r) & (goto:skipnormalextraction)
|
|
|
|
if /i "%wadname%" EQU "bathaxx.zip" support\7za X -aoa "temp\%wadname%" -o"%Drive%" private -r
|
|
if /i "%wadname%" EQU "bathaxx.zip" goto:skipnormalextraction
|
|
|
|
if /i "%wadname%" EQU "return-jodi.zip" support\7za X -aoa "temp\%wadname%" -o"%Drive%" private -r
|
|
if /i "%wadname%" EQU "return-jodi.zip" goto:skipnormalextraction
|
|
|
|
if /i "%wadname%" EQU "EriHaKawai-USA+PAL.zip" support\7za X -aoa "temp\%wadname%" -o"%Drive%" private -r
|
|
if /i "%wadname%" EQU "EriHaKawai-USA+PAL.zip" goto:skipnormalextraction
|
|
|
|
|
|
::if /i "%name%" EQU "Neogamma Backup Disc Loader" (support\7za X -aoa "temp\%wadname%" -o"%Drive%" apps -r) & (support\7za X -aoa "temp\%wadname%" -o"%Drive%" NeoGamma -r) & (goto:skipnormalextraction)
|
|
|
|
|
|
if /i "%path1%" EQU "apps\SIP\" (support\7za X -aoa "temp\%wadname%" -o"%Drive%" apps -r) & (goto:skipnormalextraction)
|
|
|
|
|
|
if /i "%name%" NEQ "WiiFlow Forwarder Channel\dol" goto:skipFLOWF
|
|
::if /i "%MENU1%" EQU "S" support\7za e -aoa temp\%dlname% -o"%Drive%"/ *.wad *.dol -r
|
|
support\7za X -aoa temp\%dlname% -o"%Drive%" -r
|
|
goto:skipnormalextraction
|
|
:skipFLOWF
|
|
|
|
|
|
if /i "%name%" NEQ "switch2uneek" goto:skipS2U
|
|
if /i "%MENU1%" EQU "S" support\7za e -aoa temp\%wadname% -o"%Drive%/WAD"/ %filename% -r
|
|
if /i "%MENU1%" EQU "S" goto:skipnormalextraction
|
|
::for when MENU1 not equal to "S"
|
|
support\7za x -aoa temp\%dlname% -o"%Drive%" -r -x!switch2uneek-4EMUNand-v12-S2RL.wad
|
|
|
|
if not exist "%DRIVEU%" mkdir "%DRIVEU%"
|
|
if not exist "%DRIVEU%"\nandpath.txt echo NOFILE>"%DRIVEU%"\nandpath.txt
|
|
if exist "%DRIVEU%"\nandslot.bin goto:skipnormalextraction
|
|
support\sfk echo 00000000 +hextobin "%DRIVEU%"\nandslot.bin>nul
|
|
|
|
goto:skipnormalextraction
|
|
:skipS2U
|
|
|
|
|
|
if /i "%name%" NEQ "Casper" goto:skipcasper
|
|
if not exist "%Drive%\apps\Casper" mkdir "%Drive%\apps\Casper"
|
|
support\7za e -aoa "temp\%wadname%" -otemp *.* -r
|
|
support\7za e -aoa "temp\%wadname:~0,-3%" -o"%Drive%\apps\Casper" *.* -r
|
|
move /y "%Drive%\apps\Casper\casper_0.3.elf" "%Drive%\apps\Casper\boot.elf">nul
|
|
copy /y "%Drive%\apps\Casper\boot.elf" "%Drive%\boot.elf">nul
|
|
::erase boot.dol on root if exists as some cases will prioritize it over boot.elf
|
|
if exist "%Drive%\boot.dol" del "%Drive%\boot.dol"> nul
|
|
|
|
::abstinence wizard only - boot exploit-mmm instead of casper
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:skipnormalextraction
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:skipnormalextraction
|
|
if /i "%FIRMSTART%" EQU "4.2" goto:skipnormalextraction
|
|
if exist "%Drive%"\apps\yawmME\yawmME_boot.elf copy /Y "%Drive%"\apps\yawmME\yawmME_boot.elf "%Drive%"\boot.elf >nul
|
|
if exist "%Drive%"\apps\yawmME\boot.dol copy /Y "%Drive%"\apps\yawmME\boot.dol "%Drive%"\boot.dol >nul
|
|
::copy /Y "Support\ExploitAppSelector.bat" "%Drive%\ExploitAppSelector.bat" >nul
|
|
goto:skipnormalextraction
|
|
:skipcasper
|
|
|
|
|
|
if /i "%name%" NEQ "Wilbrand" goto:skipWilbrand
|
|
|
|
|
|
echo Wilbrand by giantpune
|
|
echo.
|
|
echo MAC:%macaddress%
|
|
echo 4.3%REGION%
|
|
echo.
|
|
|
|
::get yesterday's date
|
|
|
|
FOR /F "tokens=*" %%g IN ('support\sfk date') do (SET CurDate=%%g)
|
|
::echo %CurDate%
|
|
|
|
Set Year=%CurDate:~0,4%
|
|
Set Month=%CurDate:~4,2%
|
|
Set Day=%CurDate:~-2%
|
|
::echo %Year%%Month%%Day%
|
|
|
|
::if exist date.vbs del /f /q date.vbs
|
|
::>date.vbs echo wscript.echo Right(String(2,"0") ^& Month(date), 2) ^& "/" ^& Right(String(2,"0") ^& Day(date), 2) ^& "/" ^& Year(date)
|
|
::for /f "tokens=*" %%a in ('cscript//nologo date.vbs') do set CurDate=%%a
|
|
::if exist date.vbs del /f /q date.vbs
|
|
::Set Day=%CurDate:~3,2%
|
|
::Set Month=%CurDate:~0,2%
|
|
::Set Year=%CurDate:~-4%
|
|
|
|
if /i "%day%" NEQ "01" (set /a day=%day%-1) & (goto:yesterday)
|
|
|
|
::jan to dec
|
|
if /i "%month%" EQU "01" (set /a year=%year%-1) & (set day=31) & (set month=12) & (goto:yesterday)
|
|
|
|
set /a month=%month%-1
|
|
|
|
if "%month:~1%"=="" set month=0%month%
|
|
|
|
if /i "%month%" EQU "01" set day=31
|
|
if /i "%month%" EQU "02" set day=28
|
|
if /i "%month%" EQU "03" set day=31
|
|
if /i "%month%" EQU "04" set day=30
|
|
if /i "%month%" EQU "05" set day=31
|
|
if /i "%month%" EQU "06" set day=30
|
|
if /i "%month%" EQU "07" set day=31
|
|
if /i "%month%" EQU "08" set day=31
|
|
if /i "%month%" EQU "09" set day=30
|
|
if /i "%month%" EQU "10" set day=31
|
|
if /i "%month%" EQU "11" set day=30
|
|
::if /i "%month%" EQU "12" set day=31
|
|
|
|
:yesterday
|
|
|
|
::echo yesterday
|
|
::echo mm/dd/yyyy
|
|
::echo %Month%/%day%/%year%
|
|
|
|
if exist temp\temp.txt del temp\temp.txt>nul
|
|
|
|
temp\wilbrand.exe %macaddress% %Month%/%day%/%year% 4.3%REGION% "%Drive%">temp\temp.txt
|
|
|
|
findStr /I /C:"Wrote to:" "temp\temp.txt" >nul
|
|
IF not ERRORLEVEL 1 (echo "echo %name% - 4.3%REGION% - MAC:%macaddress%: Valid">>temp\ModMii_Log.bat) & (echo.) & (support\sfk echo [%greentext%]Download Successful) & (echo.) & (goto:NEXT)
|
|
|
|
goto:skipnormalextraction
|
|
|
|
:skipWilbrand
|
|
|
|
|
|
if /i "%name%" NEQ "DML" goto:skipdios
|
|
::if not exist "temp\DML" mkdir "temp\DML"
|
|
if not exist "%Drive%\WAD" mkdir "%Drive%\WAD"
|
|
::if exist "temp\%wadname%" move /y "temp\%wadname%" "temp\DML\%wadname%" >nul
|
|
copy /y "temp\%wadname%" "%Drive%\WAD\%wadname%" >nul
|
|
goto:simpleDMLcheck
|
|
:skipdios
|
|
|
|
if /i "%name%" NEQ "DIOS MIOS" goto:skipdios
|
|
if not exist "%Drive%\WAD" mkdir "%Drive%\WAD"
|
|
copy /y "temp\%wadname%" "%Drive%\WAD\%wadname%" >nul
|
|
goto:simpleDMLcheck
|
|
:skipdios
|
|
|
|
if /i "%wadname:~-4%" NEQ ".wad" goto:skipwadcopy
|
|
if not exist "%Drive%\WAD" mkdir "%Drive%\WAD"
|
|
copy /y "temp\%wadname%" "%Drive%\WAD\%wadname%" >nul
|
|
goto:skipnormalextraction
|
|
:skipwadcopy
|
|
|
|
|
|
if /i "%wadname%" NEQ "WiiBackupManager.zip" goto:notWBM
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
::support\7za x -aoa temp\%wadname% -o"%Drive%\WiiBackupManager" -r
|
|
support\7za x -aoa "temp\%wadname%" -o"%Drive%\%path1%" -r
|
|
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
:createshortcuts
|
|
if exist "%homedrive%\Program Files (x86)" (set OSbit=64) else (set OSbit=32)
|
|
|
|
if not exist "%Drive%\%path1%WiiBackupManager_Win%OSbit%.exe" goto:skip
|
|
support\nircmd.exe shortcut "%Drive%\%path1%WiiBackupManager_Win%OSbit%.exe" "~$folder.desktop$" "WiiBackupManager"
|
|
support\nircmd.exe shortcut "%Drive%\%path1%WiiBackupManager_Win%OSbit%.exe" "~$folder.programs$\ModMii" "WiiBackupManager"
|
|
:skip
|
|
goto:skipnormalextraction
|
|
:notWBM
|
|
|
|
|
|
if /i "%path1%" NEQ "Program Files\UWUVCI AIO\" goto:notUWUVCI
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if exist "%userprofile%\Desktop\UWUVCI AIO.lnk" (set KeepDesk=y) else (set KeepDesk=n)
|
|
|
|
start /wait temp\%wadname% /DIR="%Drive%\%path1%" /VERYSILENT
|
|
|
|
::if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
::support\7za x -aoa "temp\%wadname%" -o"%Drive%\%path1%" -r
|
|
|
|
if exist "%appdata%\Microsoft\Windows\Start Menu\Programs\UWUVCI AIO.lnk" del "%appdata%\Microsoft\Windows\Start Menu\Programs\UWUVCI AIO.lnk">nul
|
|
if /i "%KeepDesk%" EQU "n" if exist "%userprofile%\Desktop\UWUVCI AIO.lnk" del "%userprofile%\Desktop\UWUVCI AIO.lnk">nul
|
|
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
:createshortcuts
|
|
if not exist "%Drive%\%path1%%filename%" goto:skip
|
|
support\nircmd.exe shortcut "%Drive%\%path1%%filename%" "~$folder.desktop$" "UWUVCI AIO"
|
|
support\nircmd.exe shortcut "%Drive%\%path1%%filename%" "~$folder.programs$\ModMii" "UWUVCI AIO"
|
|
:skip
|
|
goto:skipnormalextraction
|
|
:notUWUVCI
|
|
|
|
|
|
if /i "%name%" NEQ "ShowMiiWads" goto:notSMW
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
|
|
support\7za x -aoa "temp\%wadname%" -o"%Drive%\%path1%" -r
|
|
|
|
::silently build common-key.bin
|
|
if not exist "support\common-key.bin" support\sfk echo EBE42A225E8593E448D9C5457381AAF7 +hextobin "support\common-key.bin">nul
|
|
|
|
|
|
copy /y support\common-key.bin "%Drive%\%path1%common-key.bin">nul
|
|
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
|
|
:createshortcuts
|
|
if exist "%homedrive%\Program Files (x86)" (set OSbit=64) else (set OSbit=32)
|
|
if not exist "%Drive%\%path1%ShowMiiWads_Win%OSbit%.exe" goto:skip
|
|
support\nircmd.exe shortcut "%Drive%\%path1%ShowMiiWads_Win%OSbit%.exe" "~$folder.desktop$" "ShowMiiWads"
|
|
support\nircmd.exe shortcut "%Drive%\%path1%ShowMiiWads_Win%OSbit%.exe" "~$folder.programs$\ModMii" "ShowMiiWads"
|
|
:skip
|
|
goto:skipnormalextraction
|
|
:notSMW
|
|
|
|
|
|
if /i "%filename%" NEQ "CustomizeMii.exe" goto:notCM
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
|
|
call Support\subscripts\dependency.bat UnRAR
|
|
|
|
temp\unrar.exe x -y "temp\%wadname%" "%Drive%\%path1%"
|
|
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
:createshortcuts
|
|
if not exist "%Drive%\%path1%CustomizeMii.exe" goto:skip
|
|
support\nircmd.exe shortcut "%Drive%\%path1%CustomizeMii.exe" "~$folder.desktop$" "CustomizeMii"
|
|
support\nircmd.exe shortcut "%Drive%\%path1%CustomizeMii.exe" "~$folder.programs$\ModMii" "CustomizeMii"
|
|
:skip
|
|
goto:skipnormalextraction
|
|
:notCM
|
|
|
|
|
|
if /i "%path1%" NEQ "Program Files\WiiGSC\" goto:notWiiGSC
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
support\7za x -aoa "temp\%wadname%" -o"%Drive%\%path1%" -r
|
|
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
:createshortcuts
|
|
|
|
if exist "%Drive%\%path1%WiiGSC.exe" support\nircmd.exe shortcut "%Drive%\%path1%WiiGSC.exe" "~$folder.desktop$" "Wii Game Shortcut Creator"
|
|
if exist "%Drive%\%path1%WiiGSC.exe" support\nircmd.exe shortcut "%Drive%\%path1%WiiGSC.exe" "~$folder.programs$\ModMii" "Wii Game Shortcut Creator"
|
|
if exist "%Drive%\%path1%CrazyInstaller.exe" support\nircmd.exe shortcut "%Drive%\%path1%CrazyInstaller.exe" "~$folder.programs$\ModMii" "Crazy Installer"
|
|
::if exist "%Drive%\%path1%KeyStego.exe" support\nircmd.exe shortcut "%Drive%\%path1%KeyStego.exe" "~$folder.programs$\ModMii" "KeyStego"
|
|
|
|
:skip
|
|
goto:skipnormalextraction
|
|
:notWiiGSC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::Cemu ("latest.json" + zip)
|
|
if /i "%name%" NEQ "Cemu" goto:notCemuStuff
|
|
:CemuStuff
|
|
|
|
set fullzipname=
|
|
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\%wadname%" || del "temp\%wadname%"
|
|
|
|
::no wifi? check for cached download
|
|
if not exist "temp\%wadname%" goto:extractzip
|
|
|
|
::set version=*
|
|
::support\sfk filter -spat "temp\%wadname%" -+"\x22tag\x5fname\x22: \x22" -rep _"*\x22tag\x5fname\x22: \x22"__ -rep _\x22*__ > temp\latest2.json
|
|
::set /p version= <"temp\latest2.json"
|
|
::if "%version%"=="" set version=*
|
|
::echo version:"%version%"
|
|
|
|
if exist "temp\latest2.json" del "temp\latest2.json">nul
|
|
|
|
support\sfk filter "temp\%wadname%" -+"browser_download_url" +filter -spat -le+"%zipname:~-15%\x22" -rep _*http_http_ -rep _\x22__ > temp\latest2.json
|
|
set /p code3= <"temp\latest2.json"
|
|
::echo code3:"%code3%"
|
|
|
|
if exist "temp\%wadname%" del "temp\%wadname%">nul
|
|
|
|
support\sfk filter -write -yes "temp\latest2.json" -rep _*/__ >nul
|
|
set /p fullzipname= <"temp\latest2.json"
|
|
::echo fullzipname:"%fullzipname%"
|
|
|
|
if exist "temp\latest2.json" del "temp\latest2.json">nul
|
|
|
|
::latest version always saved to temp\%zipname% for offline caching, 40mb cost
|
|
if not exist "temp\%fullzipname%" (support\wget --no-check-certificate -t 3 "%code3%" -O "temp\%fullzipname%" -q --show-progress) & (if exist "temp\%fullzipname%" copy /y "temp\%fullzipname%" "temp\%zipname%" >nul)
|
|
|
|
|
|
:extractzip
|
|
if not exist "temp\%zipname%" goto:skipnormalextraction
|
|
if exist "temp\%name%" rd /s /q "temp\%name%"
|
|
mkdir "temp\%name%"
|
|
support\7za x -aoa "temp\%zipname%" -o"temp\%name%"
|
|
move /y "temp\%name%\%name:~0,1%*" "temp\%name%\%name%">nul
|
|
::move command gives "Access denied", remove trailing \ from path1 for robocopy to work
|
|
robocopy "temp\%name%\%name%" "%Drive%\%path1:~0,-1%" /E /MOVE>nul
|
|
if exist "temp\%name%" rd /s /q "temp\%name%"
|
|
if not exist "%Drive%\%path1%%filename%" goto:skipnormalextraction
|
|
::goto:latestshortcut
|
|
|
|
:latestshortcut
|
|
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
|
|
:createshortcuts
|
|
if not exist "%Drive%\%path1%%filename%" goto:skipnormalextraction
|
|
support\nircmd.exe shortcut "%Drive%\%path1%%filename%" "~$folder.desktop$" "%name%"
|
|
support\nircmd.exe shortcut "%Drive%\%path1%%filename%" "~$folder.programs$\ModMii" "%name%"
|
|
|
|
:skip
|
|
if not exist "%Drive%\%path1%%filename%" goto:skipnormalextraction
|
|
echo.
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
set "DRIVE=%DRIVErestore%"
|
|
echo "echo %name%: Found">>temp\ModMii_Log.bat
|
|
goto:next
|
|
:notCemuStuff
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::WiiLink Patcher stuff (or anything using "latest.json")
|
|
if /i "%wadname%" NEQ "latest.json" goto:notlatestjson
|
|
:latestjson
|
|
|
|
set fullfilename=
|
|
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\%wadname%" || del "temp\%wadname%"
|
|
|
|
if exist "temp\%wadname%" goto:continue
|
|
::no wifi? check for cached download
|
|
if not exist "temp\%filename%" goto:skipnormalextraction
|
|
::sfk copy only if newer, -mirror arg will overwrite even if older
|
|
support\sfk copy "temp\%filename%" "%Drive%\%path1%%filename%" -yes
|
|
goto:latestshortcut
|
|
:continue
|
|
|
|
support\sfk filter "temp\%wadname%" -+"browser_download_url" +filter -spat -le+"%filename:~-4%\x22" -rep _*http_http_ -rep _\x22__ > temp\latest2.json
|
|
set /p code3= <"temp\latest2.json"
|
|
::echo code3:"%code3%"
|
|
|
|
if exist "temp\%wadname%" del "temp\%wadname%">nul
|
|
|
|
support\sfk filter -write -yes "temp\latest2.json" -rep _*/__ >nul
|
|
set /p fullfilename= <"temp\latest2.json"
|
|
::echo fullfilename:"%fullfilename%"
|
|
|
|
if exist "temp\latest2.json" del "temp\latest2.json">nul
|
|
|
|
::latest version always saved to temp\%filename% for offline caching, 20mb cost
|
|
if not exist "temp\%fullfilename%" (support\wget --no-check-certificate -t 3 "%code3%" -O "temp\%fullfilename%" -q --show-progress) & (if exist "temp\%fullfilename%" copy /y "temp\%fullfilename%" "temp\%filename%" >nul)
|
|
|
|
if exist "temp\%fullfilename%" goto:continue
|
|
if not exist "temp\%filename%" goto:skipnormalextraction
|
|
::sfk copy only if newer, -mirror arg will overwrite even if older
|
|
support\sfk copy "temp\%filename%" "%Drive%\%path1%%filename%" -yes
|
|
goto:latestshortcut
|
|
:continue
|
|
|
|
|
|
if /i "%Drive%" NEQ "temp" copy /y "temp\%fullfilename%" "%Drive%\%path1%%filename%" >nul
|
|
::goto:latestshortcut
|
|
|
|
:latestshortcut
|
|
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
|
|
:createshortcuts
|
|
if not exist "%Drive%\%path1%%filename%" goto:skipnormalextraction
|
|
|
|
::build launcher script to open (and rename) latest exe to compensate for wiilink's inability to properly update itself
|
|
|
|
SET AppFileName=
|
|
echo @echo off>"%Drive%\%path1%%filename:~0,-4%.bat"
|
|
echo FOR /F "tokens=*" %%%%g IN ('dir /b /T:C /Od "%filename:~0,-4%*%filename:~-4%"') do (SET AppFileName=%%%%g)>>"%Drive%\%path1%%filename:~0,-4%.bat"
|
|
echo if "%%AppFileName%%" NEQ "%filename%" move /y "%%AppFileName%%" %filename%^>nul>>"%Drive%\%path1%%filename:~0,-4%.bat"
|
|
echo call %filename%>>"%Drive%\%path1%%filename:~0,-4%.bat"
|
|
|
|
::override icon
|
|
support\nircmd.exe shortcut "%Drive%\%path1%%filename:~0,-4%.bat" "~$folder.desktop$" "%name%" icon "%Drive%\%path1%%filename%"
|
|
support\nircmd.exe shortcut "%Drive%\%path1%%filename:~0,-4%.bat" "~$folder.programs$\ModMii" "%name%" icon "%Drive%\%path1%%filename%"
|
|
|
|
:skip
|
|
if not exist "%Drive%\%path1%%filename%" goto:skipnormalextraction
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
set "DRIVE=%DRIVErestore%"
|
|
echo "echo %name%: Found">>temp\ModMii_Log.bat
|
|
goto:next
|
|
:notlatestjson
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if /i "%CODE1%" NEQ "PC" goto:notPC
|
|
:PC
|
|
if exist "%Drive%\%path1%%filename%" (set shortcuts=n) else (set shortcuts=y)
|
|
if not exist "%Drive%\%path1%" mkdir "%Drive%\%path1%"
|
|
|
|
if /i "%wadname:~-4%" EQU ".zip" goto:archive
|
|
if /i "%wadname:~-3%" EQU ".7z" goto:archive
|
|
|
|
if /i "%Drive%" NEQ "temp" copy /y "temp\%wadname%" "%Drive%\%path1%%wadname%">nul
|
|
goto:afterarchive
|
|
|
|
:archive
|
|
if /i "%version%" NEQ "2" support\7za x -aoa "temp\%wadname%" -o"%Drive%\%path1%" -r
|
|
if /i "%version%" EQU "2" support\7za x -aoa "temp\%wadname%" -o"%Drive%\Program Files\" -r
|
|
::create portable.txt for Dolphin
|
|
if /i "%name%" EQU "Dolphin" echo Having portable.txt where Dolphin.exe is saved changes its app data location from the User Documents folder to where Dolphin is saved>"%Drive%\%path1%portable.txt"
|
|
::also save HashMyFiles for drag and drop
|
|
if /i "%name%" EQU "HashMyFiles" support\7za x -aoa "temp\%wadname%" -o"temp\%dlname:~0,-4%" -r
|
|
:afterarchive
|
|
if /i "%shortcuts%" EQU "n" goto:skip
|
|
if /i "%PCSAVE%" EQU "Local" goto:createshortcuts
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%ModMiiDrive%" goto:skip
|
|
:createshortcuts
|
|
if exist "%Drive%\%path1%%filename%" support\nircmd.exe shortcut "%Drive%\%path1%%filename%" "~$folder.desktop$" "%name%"
|
|
if exist "%Drive%\%path1%%filename%" support\nircmd.exe shortcut "%Drive%\%path1%%filename%" "~$folder.programs$\ModMii" "%name%"
|
|
:skip
|
|
goto:skipnormalextraction
|
|
:notPC
|
|
|
|
|
|
|
|
if /i "%wadname%" NEQ "twilight_hack_v0.1_beta1.zip" goto:skipTWI
|
|
::add logic for 2nd private folder if v2 detected
|
|
|
|
::TWILIGHT2 USA
|
|
if exist "%DRIVE%\private\wii\title\rzde_twilight_beta2\data.bin" goto:skip
|
|
if not exist "%DRIVE%\private\wii\title\rzde\data.bin" goto:skip
|
|
support\sfk md5 -quiet -verify 225c218815eda839b2fa03729ebe067b "%DRIVE%\private\wii\title\rzde\data.bin"
|
|
if not errorlevel 1 move /y "%DRIVE%\private\wii\title\rzde" "%DRIVE%\private\wii\title\rzde_twilight_beta2"> nul
|
|
:skip
|
|
|
|
::TWILIGHT2 JPN
|
|
if exist "%DRIVE%\private\wii\title\rzdj_twilight_beta2\data.bin" goto:skip
|
|
if not exist "%DRIVE%\private\wii\title\rzdj\data.bin" goto:skip
|
|
support\sfk md5 -quiet -verify abae916201ba444c0da951627e3071ce "%DRIVE%\private\wii\title\rzdj\data.bin"
|
|
if not errorlevel 1 move /y "%DRIVE%\private\wii\title\rzdj" "%DRIVE%\private\wii\title\rzdj_twilight_beta2"> nul
|
|
:skip
|
|
|
|
::TWILIGHT2 EURO
|
|
if exist "%DRIVE%\private\wii\title\rzdp_twilight_beta2\data.bin" goto:skip
|
|
if not exist "%DRIVE%\private\wii\title\rzdp\data.bin" goto:skip
|
|
support\sfk md5 -quiet -verify 7d0ac865218738364da4c67466ed59fb "%DRIVE%\private\wii\title\rzdp\data.bin"
|
|
if not errorlevel 1 move /y "%DRIVE%\private\wii\title\rzdp" "%DRIVE%\private\wii\title\rzdp_twilight_beta2"> nul
|
|
:skip
|
|
|
|
support\7za X -aoa temp\%wadname% -o"%Drive%" private -r
|
|
if exist "%DRIVE%\private\wii\title\rzde_twilight_beta1" rd /s /q "%DRIVE%\private\wii\title\rzde_twilight_beta1"
|
|
if exist "%DRIVE%\private\wii\title\rzdj_twilight_beta1" rd /s /q "%DRIVE%\private\wii\title\rzdj_twilight_beta1"
|
|
if exist "%DRIVE%\private\wii\title\rzdp_twilight_beta1" rd /s /q "%DRIVE%\private\wii\title\rzdp_twilight_beta1"
|
|
goto:skipnormalextraction
|
|
:skipTWI
|
|
|
|
|
|
|
|
|
|
if /i "%wadname%" NEQ "Twilight-hack-v0.1-beta2.zip" goto:skipTWI2
|
|
::add logic for 2nd private folder if v1 detected
|
|
|
|
::TWILIGHT USA
|
|
if exist "%DRIVE%\private\wii\title\rzde_twilight_beta1\data.bin" goto:skip
|
|
if not exist "%DRIVE%\private\wii\title\rzde\data.bin" goto:skip
|
|
support\sfk md5 -quiet -verify 02639bd145730269a98f69a4fd466225 "%DRIVE%\private\wii\title\rzde\data.bin"
|
|
if not errorlevel 1 move /y "%DRIVE%\private\wii\title\rzde" "%DRIVE%\private\wii\title\rzde_twilight_beta1"> nul
|
|
:skip
|
|
|
|
::TWILIGHT JPN
|
|
if exist "%DRIVE%\private\wii\title\rzdj_twilight_beta1\data.bin" goto:skip
|
|
if not exist "%DRIVE%\private\wii\title\rzdj\data.bin" goto:skip
|
|
support\sfk md5 -quiet -verify b51cd6a64bc911cc5c8e41ed5d9fd8ae "%DRIVE%\private\wii\title\rzdj\data.bin"
|
|
if not errorlevel 1 move /y "%DRIVE%\private\wii\title\rzdj" "%DRIVE%\private\wii\title\rzdj_twilight_beta1"> nul
|
|
:skip
|
|
|
|
::TWILIGHT EURO
|
|
if exist "%DRIVE%\private\wii\title\rzdp_twilight_beta1\data.bin" goto:skip
|
|
if not exist "%DRIVE%\private\wii\title\rzdp\data.bin" goto:skip
|
|
support\sfk md5 -quiet -verify 704bd625ea5b42d7ac06fc937af74d38 "%DRIVE%\private\wii\title\rzdp\data.bin"
|
|
if not errorlevel 1 move /y "%DRIVE%\private\wii\title\rzdp" "%DRIVE%\private\wii\title\rzdp_twilight_beta1"> nul
|
|
:skip
|
|
|
|
support\7za X -aoa temp\%wadname% -o"%Drive%" private -r
|
|
if exist "%DRIVE%\private\wii\title\rzde_twilight_beta2" rd /s /q "%DRIVE%\private\wii\title\rzde_twilight_beta2"
|
|
if exist "%DRIVE%\private\wii\title\rzdj_twilight_beta2" rd /s /q "%DRIVE%\private\wii\title\rzdj_twilight_beta2"
|
|
if exist "%DRIVE%\private\wii\title\rzdp_twilight_beta2" rd /s /q "%DRIVE%\private\wii\title\rzdp_twilight_beta2"
|
|
goto:skipnormalextraction
|
|
:skipTWI2
|
|
|
|
|
|
if /i "%wadname%" EQU "YU-GI-OWNED-ALL.zip" support\7za X -aoa temp\%wadname% -o"%Drive%" private -r
|
|
if /i "%wadname%" EQU "YU-GI-OWNED-ALL.zip" goto:skipnormalextraction
|
|
|
|
|
|
if exist temp\%wadname% support\7za x -aoa temp\%wadname% -o"%Drive%" -x!README
|
|
|
|
if /i "%name%" NEQ "Aroma" goto:skipnormalextraction
|
|
|
|
if exist "%DRIVE%\wiiu\environments\aroma\splash.png" goto:skipnormalextraction
|
|
if exist "%DRIVE%\wiiu\environments\aroma\splash.tga" goto:skipnormalextraction
|
|
if exist "%DRIVE%\wiiu\environments\aroma\splashes\*.png" goto:skipnormalextraction
|
|
if exist "%DRIVE%\wiiu\environments\aroma\splashes\*.tga" goto:skipnormalextraction
|
|
|
|
copy /y "%splash.png%" "%DRIVE%\wiiu\environments\aroma\splash.png">nul
|
|
|
|
:skipnormalextraction
|
|
goto:URLverifyretry
|
|
::DONE (will retry if necessary)
|
|
|
|
|
|
|
|
::---------------CustomDL--------------------------
|
|
:CUSTOMDL
|
|
echo Note that custom downloads are not verified, and are not necessarily safe.
|
|
echo Make sure you know what you're doing! Use at your own risk!
|
|
echo.
|
|
|
|
|
|
if /i "%DEC%" EQU "SM" set HEX=00000002
|
|
if /i "%DEC%" EQU "MIOS" set HEX=00000101
|
|
if /i "%DEC%" EQU "SM" goto:skiphexcalc
|
|
if /i "%DEC%" EQU "MIOS" goto:skiphexcalc
|
|
|
|
support\sfk hex %DEC% -digits=8 >hex.txt
|
|
|
|
|
|
::Loop through the following once for EACH line in whatever.txt
|
|
for /F "tokens=*" %%A in (hex.txt) do call :processhexx %%A
|
|
goto:skiphexcalc
|
|
|
|
:processhexx
|
|
::this is repeated for each line of the txt.file
|
|
::"%*" (no quotes) is the variable for each line as it passes through the loop
|
|
set hex=%*
|
|
goto:EOF
|
|
|
|
|
|
:skiphexcalc
|
|
|
|
if exist hex.txt del hex.txt>nul
|
|
|
|
if not exist "%DRIVE%"\WAD mkdir "%DRIVE%"\WAD
|
|
|
|
::echo If you encounter long periods of inactivity, type "C" while holding "Ctrl",
|
|
::echo then type "N", then "Enter" (i.e. Ctrl+C, N, Enter)
|
|
::echo.
|
|
|
|
if /i "%vWiiIOS%" EQU "Y" (set codeA=00000007) else (set codeA=00000001)
|
|
if /i "%vWiiIOS%" EQU "Y" (set "vWiiName=-vWii") else (set vWiiName=)
|
|
|
|
::cd temp
|
|
::..\support\nusd.exe %codeA%%HEX% "%VER%"
|
|
::cd..
|
|
|
|
|
|
|
|
set "wadname=IOS%DEC%-64-v%VERFINAL%%patchname%%slotname%%versionname%%vWiiName%.wad"
|
|
if /i "%DEC%" EQU "SM" set "wadname=SystemMenu-NUS-v%VERFINAL%.wad"
|
|
if /i "%DEC%" EQU "MIOS" set "wadname=RVL-mios-v%VERFINAL%.wad"
|
|
|
|
if /i "%ROOTSAVE%" EQU "OFF" (set wadfolder=WAD\) else (set wadfolder=)
|
|
|
|
::wiipy.exe
|
|
if exist "%Drive%\%wadfolder%%wadname%" del "%Drive%\%wadfolder%%wadname%">nul
|
|
if /i "%verfinal%" NEQ "NEW" %WiiPy% nus title %codeA%%HEX% -v %VER% --wad "%Drive%\%wadfolder%%wadname%"
|
|
if /i "%verfinal%" EQU "NEW" %WiiPy% nus title %codeA%%HEX% --wad "%Drive%\%wadfolder%%wadname%"
|
|
|
|
if /i "%codeA%" EQU "00000007" %WiiPy% wad convert -r -o "%Drive%\%wadfolder%%wadname%" "%Drive%\%wadfolder%%wadname%"
|
|
if /i "%codeA%" EQU "00070008" %WiiPy% wad convert -r -o "%Drive%\%wadfolder%%wadname%" "%Drive%\%wadfolder%%wadname%"
|
|
|
|
|
|
::get version # if * is entered
|
|
if /i "%verfinal%" NEQ "NEW" goto:SkipGettingV
|
|
|
|
|
|
if exist temp\hexdump.txt del temp\hexdump.txt>nul
|
|
support\sfk hexdump -pure -nofile -offlen 0xEDC 0x02 "%Drive%\%wadfolder%%wadname%">temp\hexdump.txt
|
|
set /p verfinal= <temp\hexdump.txt
|
|
support\sfk dec %verfinal%>temp\hexdump.txt
|
|
set /p verfinal= <temp\hexdump.txt
|
|
set verfinal=%verfinal:~0,-1%
|
|
|
|
set "wadname2=%wadname%"
|
|
set "wadname=IOS%DEC%-64-v%VERFINAL%%patchname%%slotname%%versionname%%vWiiName%.wad"
|
|
if /i "%DEC%" EQU "SM" set "wadname=SystemMenu-NUS-v%VERFINAL%.wad"
|
|
if /i "%DEC%" EQU "MIOS" set "wadname=RVL-mios-v%VERFINAL%.wad"
|
|
|
|
if exist "%Drive%\%wadfolder%%wadname%" del "%Drive%\%wadfolder%%wadname%">nul
|
|
if exist "%Drive%\%wadfolder%%wadname2%" move /y "%Drive%\%wadfolder%%wadname2%" "%Drive%\%wadfolder%%wadname%">nul
|
|
|
|
::dir /b "temp\titles\%codeA%%HEX%">"%temp%\ver.txt"
|
|
::set /p VER= <"%temp%\ver.txt"
|
|
::set VERFINAL=%VER%
|
|
::::echo %VER%
|
|
:SkipGettingV
|
|
|
|
::if not exist 00000001%HEX%\00000001%HEX%.wad goto:missing
|
|
|
|
|
|
|
|
if /i "%DEC%" EQU "SM" goto:SYSMENU
|
|
if /i "%DEC%" EQU "MIOS" goto:MIOS2
|
|
|
|
|
|
|
|
::IOS
|
|
|
|
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
|
|
if /i "%wadname%" EQU "IOS%DEC%-64-v%VERFINAL%%vWiiName%.wad" goto:nopatching
|
|
|
|
echo.
|
|
|
|
::cd support
|
|
::if /i "%DRIVE:~1,1%" EQU ":" (set "DRIVEadj=%DRIVE%") else (set "DRIVEadj=..\%DRIVE%")
|
|
::::fakesign! fakesign it with %WiiPy% fakesign too!
|
|
::if exist "%Driveadj%\%wadfolder%%wadname%" (patchios "%Driveadj%\%wadfolder%%wadname%"%PATCHCODE%%slotcode%%versioncode%) & (wiipy.exe fakesign "%Driveadj%\%wadfolder%%wadname%">nul) & (echo.) & (echo Note: Patches are not always successful, read the PatchIOS log above for details) & (@ping 127.0.0.1 -n 2 -w 1000> nul)
|
|
::cd..
|
|
|
|
::convert %SLOTCODE% from legacy patchios format " -slot ###" to " -s ###" for wiipy
|
|
if not "%SLOTCODE%"=="" set "SLOTCODE= -s %SLOTCODE:~7%"
|
|
|
|
::convert %PATCHCODE% from legacy patchios format to wiipy format
|
|
if "%PATCHCODE%"=="" goto:tinyskip
|
|
echo %PATCHCODE%>temp\patchcode.txt
|
|
support\sfk filter -quiet "temp\patchcode.txt" -rep _-FS_-fs_ -rep _-ES_-ei_ -rep _-NP_-na_ -rep _-VP_-vd_ -write -yes
|
|
set /p PATCHCODE= <temp\patchcode.txt
|
|
:tinyskip
|
|
|
|
|
|
if not exist "%Drive%\%wadfolder%%wadname%" goto:nopatching
|
|
%WiiPy% iospatch%PATCHCODE%%slotcode%%versioncode% "%Drive%\%wadfolder%%wadname%"
|
|
|
|
echo.
|
|
echo Double checking applied patches...
|
|
::check if patches applied successfully
|
|
set "WadInput=%Drive%\%wadfolder%%wadname%"
|
|
call "Support\subscripts\CollectWadInfo.bat"
|
|
|
|
if not "%slotcode%"=="" if /i "%iosslot%" NEQ "%slotcode:~4%" support\sfk echo [%yellowtext%]Warning: Slot # was not changed properly
|
|
if not "%versioncode%"=="" if /i "%iosversion%" NEQ "%versioncode:~4%" support\sfk echo [%yellowtext%]Warning: Version # was not changed properly
|
|
|
|
set "patchname2=["
|
|
if /i "%FSpatch%" EQU "Y" set "patchname2=%patchname2%FS"
|
|
if /i "%ESpatch%" EQU "Y" set "patchname2=%patchname2%-ES"
|
|
if /i "%NPpatch%" EQU "Y" set "patchname2=%patchname2%-NP"
|
|
if /i "%VPpatch%" EQU "Y" set "patchname2=%patchname2%-VP"
|
|
if /i "%patchname2:~0,2%" EQU "[-" set "patchname2=[%patchname2:~2%"
|
|
set "patchname2=%patchname2%]"
|
|
if /i "%patchname2%" EQU "[]" set patchname2=
|
|
|
|
if /i "%wadname%" EQU "IOS%DEC%-64-v%VERFINAL%%patchname2%%slotname%%versionname%%vWiiName%.wad" echo Everything looks good!
|
|
if /i "%wadname%" EQU "IOS%DEC%-64-v%VERFINAL%%patchname2%%slotname%%versionname%%vWiiName%.wad" goto:nopatching
|
|
echo Renaming file to align with applied patches as follows:
|
|
support\sfk.exe echo [%bluetext%]"IOS%DEC%-64-v%VERFINAL%[%redtext%]%patchname2%[%bluetext%]%slotname%%versionname%%vWiiName%.wad"
|
|
echo.
|
|
move /y "%Drive%\%wadfolder%%wadname%" "%Drive%\%wadfolder%IOS%DEC%-64-v%VERFINAL%%patchname2%%slotname%%versionname%%vWiiName%.wad">nul
|
|
set "wadname=IOS%DEC%-64-v%VERFINAL%%patchname2%%slotname%%versionname%%vWiiName%.wad"
|
|
:nopatching
|
|
|
|
|
|
if exist "%Drive%\%wadfolder%%wadname%" (goto:there) else (goto:missing)
|
|
|
|
|
|
|
|
:SYSMENU
|
|
::if exist "temp\titles\00000001%HEX%\%VER%\00000001%HEX%-NUS-v%VER%.wad" move /Y "temp\titles\00000001%HEX%\%VER%\00000001%HEX%-NUS-v%VER%.wad" "%Drive%"\%wadfolder%SystemMenu-NUS-v%VERFINAL%.wad>nul
|
|
|
|
::if /i "%verfinal%" EQU "NEW" goto:option1notNUS
|
|
|
|
::option1 disabled
|
|
goto:option1notNUS
|
|
|
|
if /i "%OPTION1%" EQU "ON" goto:option1on
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1on) else (goto:option1noton)
|
|
:option1on
|
|
if not exist "%Drive%"\00000001\%HEX%\v%verfinal% mkdir "%Drive%"\00000001\%HEX%\v%verfinal%
|
|
if exist "temp\titles\00000001%HEX%\%VER%" copy /Y "temp\titles\00000001%HEX%\%VER%" "%Drive%"\00000001\%HEX%\v%verfinal% >nul
|
|
|
|
:option1noton
|
|
|
|
if /i "%OPTION1%" EQU "NUS" goto:option1NUS
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1NUS) else (goto:option1notNUS)
|
|
:option1NUS
|
|
if not exist "%Drive%"\NUS\00000001%HEX%v%verfinal% mkdir "%Drive%"\NUS\00000001%HEX%v%verfinal%
|
|
copy /y "temp\titles\00000001%HEX%\%VER%" "%Drive%"\NUS\00000001%HEX%v%verfinal% >nul
|
|
:option1notNUS
|
|
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
|
|
if exist "%Drive%\%wadfolder%%wadname%" (goto:there) else (goto:missing)
|
|
|
|
|
|
|
|
|
|
:MIOS2
|
|
::if /i "%ROOTSAVE%" EQU "OFF" (set wadfolder=WAD\) else (set wadfolder=)
|
|
::if exist "temp\titles\00000001%HEX%\%VER%\00000001%HEX%-NUS-v%VER%.wad" move /Y "temp\titles\00000001%HEX%\%VER%\00000001%HEX%-NUS-v%VER%.wad" "%Drive%"\%wadfolder%RVL-mios-v%VERFINAL%.wad>nul
|
|
|
|
::if /i "%verfinal%" EQU "NEW" goto:option1notNUS
|
|
|
|
::option1 disabled
|
|
goto:option1notNUS
|
|
|
|
if /i "%OPTION1%" EQU "ON" goto:option1on
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1on) else (goto:option1noton)
|
|
:option1on
|
|
if not exist "%Drive%"\00000001\%HEX%\v%verfinal% mkdir "%Drive%"\00000001\%HEX%\v%verfinal%
|
|
if exist "temp\titles\00000001%HEX%\%VER%" copy /Y "temp\titles\00000001%HEX%\%VER%" "%Drive%"\00000001\%HEX%\v%verfinal% >nul
|
|
:option1noton
|
|
|
|
if /i "%OPTION1%" EQU "NUS" goto:option1NUS
|
|
if /i "%OPTION1%" EQU "ALL" (goto:option1NUS) else (goto:option1notNUS)
|
|
:option1NUS
|
|
if not exist "%Drive%"\NUS\00000001%HEX%v%verfinal% mkdir "%Drive%"\NUS\00000001%HEX%v%verfinal%
|
|
copy /y "temp\titles\00000001%HEX%\%VER%" "%Drive%"\NUS\00000001%HEX%v%verfinal% >nul
|
|
:option1notNUS
|
|
|
|
::if exist temp\titles rd /s /q temp\titles
|
|
|
|
if exist "%Drive%\%wadfolder%%wadname%" (goto:there) else (goto:missing)
|
|
|
|
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%magentatext%] Most likely reason is that the file does not exist.
|
|
support\sfk echo -spat \x20 \x20 \x20 [%magentatext%] Double check your custom values.
|
|
echo.
|
|
|
|
::if /i "%DEC%" EQU "SM" (echo "support\sfk echo SystemMenu-NUS-v%VERFINAL%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat) & (goto:NEXT)
|
|
::if /i "%DEC%" EQU "MIOS" (echo "support\sfk echo %RVL-mios-v%VERFINAL%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat) & (goto:NEXT)
|
|
echo "support\sfk echo %wadname%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
::if exist temp\%wadname% del temp\%wadname%>nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:there
|
|
echo.
|
|
support\sfk echo [%greentext%]Advanced Download Successful
|
|
|
|
::if /i "%DEC%" EQU "SM" (echo "echo SystemMenu-NUS-v%VERFINAL%.wad: Found">>temp\ModMii_Log.bat) & (goto:NEXT)
|
|
::if /i "%DEC%" EQU "MIOS" (echo "echo RVL-mios-v%VERFINAL%.wad: Found">>temp\ModMii_Log.bat) & (goto:NEXT)
|
|
echo "echo %wadname%: Found">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
|
|
|
|
::---------------HackMii Installer support\wget --no-check-certificate Download CODE-----------------------
|
|
:wget
|
|
|
|
::----if exist and fails md5 check, delete and redownload----
|
|
|
|
if not exist "%Drive%\%path1%%filename%" goto:nocheckexisting
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%\%path1%%filename%"
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del "%Drive%\%path1%%filename%">nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:pass
|
|
support\sfk echo [%greentext%]This file already exists and has been verified, Skipping download
|
|
echo.
|
|
COPY /Y "%Drive%\%path1%%filename%" "%Drive%"\boot.elf> nul
|
|
::erase boot.dol on root if exists as some cases will prioritize it over boot.elf
|
|
if exist "%Drive%\boot.dol" del "%Drive%\boot.dol"> nul
|
|
COPY /Y "%Drive%"\%path1%bootmini.elf "%Drive%"\bootmini.elf> nul
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
goto:alreadyhavehackmii
|
|
:nocheckexisting
|
|
|
|
if exist index.html del index.html>nul
|
|
|
|
::if not exist temp\%wadname% support\wget --no-check-certificate -c -l1 -r -nd --retr-symlinks -t2 -T30 --random-wait --reject "*.html" --reject "index.html.tmp" --reject "%2A" --reject "get.php@file=hackmii_installer_v1.0*" %code2% -q --show-progress
|
|
|
|
if not exist temp\%wadname% support\wget --no-check-certificate -t 3 %code2% -O temp\%wadname% -q --show-progress
|
|
if not exist "%Drive%"\%path1% mkdir "%Drive%"\%path1%
|
|
if exist temp\%wadname% support\7za e -aoa temp\%wadname% -o"%Drive%"\%path1% *.%version% *.txt -r
|
|
if exist temp\%wadname% support\7za e -aoa temp\%wadname% -o"%Drive%" *.%version% -r
|
|
::disabled extracting outdated wiiload.exe
|
|
::support\7za e -aoa temp\%wadname% -o"temp" wiiload.exe -r
|
|
|
|
::get custom icon and meta.xml
|
|
|
|
|
|
if not exist "temp\%zipname%" support\wget --no-check-certificate %code3% -O temp\%zipname% -q --show-progress
|
|
if exist "temp\%zipname%" support\7za e -aoa "temp\%zipname%" -o"%Drive%"\%path1% * -r
|
|
|
|
if /i "%name%" NEQ "Hackmii Installer v1.0" goto:skip
|
|
if exist "%Drive%\%path1%meta.xml" support\sfk filter -quiet "%Drive%\%path1%meta.xml" -rep _"1.2"_"1.0"_ -rep _"HackMii Installer"_"HackMii Installer v1.0"_ -rep _"20121208140126"_"20120227000000"_ -write -yes
|
|
:skip
|
|
|
|
|
|
::----check after downloading - if md5 check fails, delete and redownload----
|
|
if exist "%Drive%\%path1%%filename%" goto:checkexisting
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
goto:DOWNLOADSTART2
|
|
|
|
:checkexisting
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% "%Drive%\%path1%%filename%"
|
|
if errorlevel 1 set md5check=fail
|
|
IF "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:pass
|
|
|
|
:fail
|
|
if /i "%attempt%" NEQ "1" goto:multiplefail
|
|
echo.
|
|
support\sfk echo [%yellowtext%] This file already exists but it failed MD5 verification.
|
|
support\sfk echo [%yellowtext%] The current version of the file will be deleted and the file will be re-downloaded.
|
|
echo.
|
|
del "%Drive%\%path1%%filename%">nul
|
|
if exist temp\%wadname% del temp\%wadname%>nul
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:multiplefail
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
set multiplefail=Y
|
|
|
|
if /i "%KeepInvalidOverride%" NEQ "Y" (if exist "%Drive%\%path1%%filename%" del "%Drive%\%path1%%filename%">nul)
|
|
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "support\sfk echo %name%: [%redtext%]Invalid">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:pass
|
|
echo.
|
|
support\sfk echo [%greentext%]Download Successful
|
|
echo.
|
|
if /i "%AdvancedDownload%" NEQ "Y" echo "echo %name%: Valid">>temp\ModMii_Log.bat
|
|
::goto:NEXT
|
|
|
|
|
|
:alreadyhavehackmii
|
|
if /i "%MENU1%" EQU "H" goto:RenameBootToHackMii
|
|
if /i "%virgin%" EQU "N" goto:next
|
|
If /i "%FIRMSTART%" EQU "4.3" goto:next
|
|
if /i "%REGION%" EQU "K" goto:RenameBootToHackMii
|
|
goto:next
|
|
|
|
|
|
::-----Bannerbomb yawmME instead of HackMii installer------
|
|
:RenameBootToHackMii
|
|
if exist "%Drive%"\apps\yawmME\yawmME_boot.elf copy /Y "%Drive%"\apps\yawmME\yawmME_boot.elf "%Drive%"\boot.elf >nul
|
|
if exist "%Drive%"\apps\yawmME\boot.dol copy /Y "%Drive%"\apps\yawmME\boot.dol "%Drive%"\boot.dol >nul
|
|
::copy /Y "Support\ExploitAppSelector.bat" "%Drive%\ExploitAppSelector.bat" >nul
|
|
goto:next
|
|
|
|
|
|
::----------------------FORWARDER------------------
|
|
:FORWARDER
|
|
|
|
if not exist "%Drive%\DOLS" mkdir "%Drive%\DOLS"
|
|
|
|
if /i "%FORWARDERTYPE%" EQU "1" copy /y support\DOLS\SDUSBFORWARDER_v14.dol "%Drive%\DOLS\%wadname%.dol">nul
|
|
if /i "%FORWARDERTYPE%" EQU "1b" copy /y support\DOLS\SDUSBFORWARDER_v12.dol "%Drive%\DOLS\%wadname%.dol">nul
|
|
if /i "%FORWARDERTYPE%" EQU "2" copy /y support\DOLS\INTERNETFORWARDER.dol "%Drive%\DOLS\%wadname%.dol">nul
|
|
if /i "%FORWARDERTYPE%" EQU "3" copy /y support\DOLS\CHANNELFORWARDER.dol "%Drive%\DOLS\%wadname%.dol">nul
|
|
|
|
::%s:/ = 0x25,0x73,0x3a,0x2f
|
|
|
|
if "%path-1%"=="" goto:nopath-1
|
|
echo Patching %wadname%.dol with path #1: %path-1%
|
|
set var=%path-1:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7F979=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77426=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-1:~204,1%" EQU "" (echo.) & (goto:nopath-1)
|
|
set var=%path-1:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FA46=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x774F6=%hex%
|
|
echo.
|
|
:nopath-1
|
|
|
|
if "%path-2%"=="" goto:nopath-2
|
|
echo Patching %wadname%.dol with path #2: %path-2%
|
|
set var=%path-2:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FA79=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7752d=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-2:~204,1%" EQU "" (echo.) & (goto:nopath-2)
|
|
set var=%path-2:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FB46=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x775FD=%hex%
|
|
echo.
|
|
:nopath-2
|
|
|
|
if "%path-3%"=="" goto:nopath-3
|
|
echo Patching %wadname%.dol with path #3: %path-3%
|
|
set var=%path-3:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FB79=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77631=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-3:~204,1%" EQU "" (echo.) & (goto:nopath-3)
|
|
set var=%path-3:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FC46=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77701=%hex%
|
|
echo.
|
|
:nopath-3
|
|
|
|
if "%path-4%"=="" goto:nopath-4
|
|
echo Patching %wadname%.dol with path #4: %path-4%
|
|
set var=%path-4:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FC79=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77735=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-4:~204,1%" EQU "" (echo.) & (goto:nopath-4)
|
|
set var=%path-4:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FD46=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77805=%hex%
|
|
echo.
|
|
:nopath-4
|
|
|
|
if "%path-5%"=="" goto:nopath-5
|
|
echo Patching %wadname%.dol with path #5: %path-5%
|
|
set var=%path-5:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FD79=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77839=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-5:~204,1%" EQU "" (echo.) & (goto:nopath-5)
|
|
set var=%path-5:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FE46=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77909=%hex%
|
|
echo.
|
|
:nopath-5
|
|
|
|
if "%path-6%"=="" goto:nopath-6
|
|
echo Patching %wadname%.dol with path #6: %path-6%
|
|
set var=%path-6:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FE79=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7793d=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-6:~204,1%" EQU "" (echo.) & (goto:nopath-6)
|
|
set var=%path-6:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FF46=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77A0D=%hex%
|
|
echo.
|
|
:nopath-6
|
|
|
|
if "%path-7%"=="" goto:nopath-7
|
|
echo Patching %wadname%.dol with path #7: %path-7%
|
|
set var=%path-7:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x7FF79=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77a41=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-7:~204,1%" EQU "" (echo.) & (goto:nopath-7)
|
|
set var=%path-7:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x80046=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77B11=%hex%
|
|
echo.
|
|
:nopath-7
|
|
|
|
if "%path-8%"=="" goto:nopath-8
|
|
echo Patching %wadname%.dol with path #8: %path-8%
|
|
set var=%path-8:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x80079=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77b45=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-8:~204,1%" EQU "" (echo.) & (goto:nopath-8)
|
|
set var=%path-8:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x80146=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77C15=%hex%
|
|
echo.
|
|
:nopath-8
|
|
|
|
if "%path-9%"=="" goto:nopath-9
|
|
echo Patching %wadname%.dol with path #9: %path-9%
|
|
set var=%path-9:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x80179=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77c49=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-9:~204,1%" EQU "" (echo.) & (goto:nopath-9)
|
|
set var=%path-9:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x80246=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77D19=%hex%
|
|
echo.
|
|
:nopath-9
|
|
|
|
if "%path-10%"=="" goto:nopath-10
|
|
echo Patching %wadname%.dol with path #10: %path-10%
|
|
set var=%path-10:~0,204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x80279=0x2f,%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77d4d=0x25,0x73,0x3a,0x2f,%hex%
|
|
|
|
if /i "%path-10:~204,1%" EQU "" (echo.) & (goto:nopath-10)
|
|
set var=%path-10:~204%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
if /i "%FORWARDERTYPE%" EQU "1" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x80346=%hex%
|
|
if /i "%FORWARDERTYPE%" EQU "1b" support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x77E1D=%hex%
|
|
echo.
|
|
:nopath-10
|
|
|
|
if "%URLPATH%"=="" goto:noURLPATH
|
|
echo Converting %URLPATH% to hex
|
|
set var=%URLPATH%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
echo Patching %wadname%.dol with %URLPATH%
|
|
support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x1f3a4=%hex%
|
|
echo.
|
|
:noURLPATH
|
|
|
|
|
|
if "%FORWARDERTITLEID%"=="" goto:noFORWARDERTITLEID
|
|
if /i "%FORWARDERTYPE%" NEQ "3" goto:noFORWARDERTITLEID
|
|
|
|
|
|
::if more than 4 chars it's already hex and skip conversion
|
|
if not "%FORWARDERTITLEID:~4%"=="" (echo %FORWARDERTITLEID%, >temphex.txt) & (goto:quickskip)
|
|
|
|
echo Converting %FORWARDERTITLEID% to hex
|
|
set var=%FORWARDERTITLEID%
|
|
call support\subscripts\Ascii2hex.bat
|
|
::setlocal DISABLEDELAYEDEXPANSION
|
|
:quickskip
|
|
|
|
|
|
support\sfk filter -quiet "temphex.txt" -rep _,_,0x_ -write -yes
|
|
set /p hex= <temphex.txt
|
|
del /f /q temphex.txt
|
|
set hex=0x%hex:~0,-4%
|
|
echo Patching %wadname%.dol with %FORWARDERTITLEID%
|
|
support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x2ee6=%hex:~0,9%
|
|
support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x2eee=%hex:~10%
|
|
|
|
if "%hex%"=="0x48,0x41,0x41,0x41" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x42,0x41" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x43,0x41" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x46,0x41" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x46,0x45" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x46,0x4A" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x46,0x50" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x47,0x41" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x47,0x45" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x47,0x4A" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x47,0x50" set bigt=02
|
|
if "%hex%"=="0x48,0x41,0x59,0x41" set bigt=02
|
|
|
|
if /i "%bigt%" NEQ "1" (echo.) & (echo Patching Channel Type: 000100%bigt%) & (support\hexalter.exe "%Drive%\DOLS\%wadname%.dol" 0x2eeb=0x0%bigt%)
|
|
echo.
|
|
:noFORWARDERTITLEID
|
|
|
|
|
|
|
|
|
|
if exist "%Drive%\DOLS\%wadname%.dol" goto:there
|
|
|
|
::----check after downloading----
|
|
|
|
:missingstuff
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
::if exist temp\%wadname% del temp\%wadname%
|
|
goto:DOWNLOADSTART2
|
|
|
|
:there
|
|
if /i "%name:~-3%" EQU "WAD" goto:HiddenChannelBuildCode
|
|
if /i "%FORWARDERDOLorISO%" NEQ "1" goto:FORWARDERISO
|
|
echo "echo %name%: Found">>temp\ModMii_Log.bat
|
|
echo.
|
|
support\sfk echo [%greentext%]Advanced Download Successful
|
|
goto:NEXT
|
|
|
|
|
|
:HiddenChannelBuildCode
|
|
echo Creating Hidden Channel WAD...
|
|
echo.
|
|
::apply ODB to dol, save copy of hidden-base.wxd, inject new dol into content 1 and change title ID
|
|
call Support\subscripts\dependency.bat ODB
|
|
if /i "%dependency%" EQU "F" goto:missingstuff
|
|
|
|
if exist "temp\ODBforwarder.app" del "temp\ODBforwarder.app">nul
|
|
temp\OpenDolBoot.exe "%Drive%\DOLS\%wadname%.dol" -f "temp\ODBforwarder.app">nul
|
|
if not errorlevel 0 goto:missingstuff
|
|
if not exist "temp\ODBforwarder.app" goto:missingstuff
|
|
|
|
copy Support\hidden-base.wxd "%Drive%\WAD\%wadname%.wad">nul
|
|
|
|
%WiiPy% wad set -i 1 "%Drive%\WAD\%wadname%.wad" "temp\ODBforwarder.app"
|
|
if not errorlevel 0 (del "%Drive%\WAD\%wadname%.wad">nul) & (goto:missingstuff)
|
|
|
|
del "temp\ODBforwarder.app">nul
|
|
|
|
%WiiPy% wad edit --tid "%FORWARDERTITLEID%" "%Drive%\WAD\%wadname%.wad"
|
|
if not errorlevel 0 (del "%Drive%\WAD\%wadname%.wad">nul) & (goto:missingstuff)
|
|
|
|
|
|
:there
|
|
if /i "%FORWARDERDOLorISO%" NEQ "1" goto:FORWARDERISO
|
|
echo "echo %name%: Found">>temp\ModMii_Log.bat
|
|
echo.
|
|
support\sfk echo [%greentext%]Advanced Download Successful
|
|
goto:NEXT
|
|
|
|
|
|
|
|
|
|
:FORWARDERISO
|
|
echo.
|
|
echo Creating Forwarder ISO...
|
|
echo.
|
|
|
|
call Support\subscripts\dependency.bat wit
|
|
if /i "%dependency%" EQU "F" (@ping 127.0.0.1 -n 3 -w 1000> nul) & (goto:missing)
|
|
|
|
if /i "%FORWARDERDOLorISO%" EQU "2" move /y "%Drive%\DOLS\%FORWARDERNAME%.dol" "support\disc-template\sys\main.dol">nul
|
|
if /i "%FORWARDERDOLorISO%" NEQ "2" copy /v /y "%Drive%\DOLS\%FORWARDERNAME%.dol" "support\disc-template\sys\main.dol">nul
|
|
|
|
::make WBFS folder for forwarder ISO
|
|
if not exist "%Drive%\WBFS\%FORWARDERNAME% [%discid%]" mkdir "%Drive%\WBFS\%FORWARDERNAME% [%discid%]"
|
|
if exist "%Drive%\WBFS\%FORWARDERNAME% [%discid%]\%discid%.iso" del "%Drive%\WBFS\%FORWARDERNAME% [%discid%]\%discid%.iso" >nul
|
|
|
|
%wit% copy -s ./Support/disc-template/ -d "%Drive%/WBFS/%FORWARDERNAME% [%discid%]/%discid%.iso" --id %discid% --name "%FORWARDERNAME%" -q -C
|
|
|
|
del "support\disc-template\sys\main.dol">nul
|
|
|
|
|
|
if exist "%Drive%\WBFS\%FORWARDERNAME% [%discid%]\%discid%.iso" echo Forwarder ISO Created
|
|
|
|
if exist "%Drive%\WBFS\%FORWARDERNAME% [%discid%]\%discid%.iso" (goto:there) else (goto:missing)
|
|
|
|
::----check after downloading----
|
|
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
if /i "%FORWARDERDOLorISO%" EQU "2" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
if /i "%FORWARDERDOLorISO%" EQU "3" echo "support\sfk echo %name%: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:NEXT
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:there
|
|
if /i "%FORWARDERDOLorISO%" EQU "2" echo "echo %name%: Found">>temp\ModMii_Log.bat
|
|
if /i "%FORWARDERDOLorISO%" EQU "3" echo "echo %name%: Found">>temp\ModMii_Log.bat
|
|
echo.
|
|
support\sfk echo [%greentext%]Advanced Download Successful
|
|
goto:NEXT
|
|
|
|
|
|
|
|
|
|
|
|
::----------------------NEXT----------------------
|
|
:NEXT
|
|
|
|
::-----ROOT SAVE OPTION for IOSs (does not apply to wizard)-----
|
|
if /i "%MENU1%" EQU "W" goto:miniskip
|
|
if /i "%MENU1%" EQU "RC" goto:miniskip
|
|
if /i "%MENU1%" EQU "SU" goto:miniskip
|
|
if /i "%MENU1%" EQU "H" goto:miniskip
|
|
if /i "%category%" EQU "ios" goto:noskip
|
|
if /i "%category%" EQU "patchios" (goto:noskip) else (goto:miniskip)
|
|
:noskip
|
|
if "%wadname:~-4%" NEQ ".wad" (set movename="%wadname%.wad") else (set movename="%wadname%")
|
|
if /i "%ROOTSAVE%" EQU "ON" move /Y "%Drive%"\WAD\%movename% "%DRIVE%"\%movename% >nul
|
|
:miniskip
|
|
|
|
|
|
::-----------Exceptions for DL Wizard and syscheck updater----------
|
|
if /i "%name%" NEQ "IOS36" goto:skipwizardexceptions
|
|
if /i "%MENU1%" EQU "W" goto:exception
|
|
if /i "%MENU1%" NEQ "SU" goto:skipwizardexceptions
|
|
:exception
|
|
if "%wadname:~-4%" NEQ ".wad" (set movename="%wadname%.wad") else (set movename="%wadname%")
|
|
move /Y "%Drive%"\WAD\%movename% "%DRIVE%"\%movename% >nul
|
|
:skipwizardexceptions
|
|
::----------------------------
|
|
|
|
|
|
if /i "%category%" EQU "userdefined" goto:quickskip
|
|
if /i "%category%" EQU "FORWARDER" goto:quickskip
|
|
if /i "%AdvancedDownload%" EQU "Y" goto:customcopyandpatch
|
|
:quickskip
|
|
support\sfk filter -quiet "temp\DLgotos.txt" -le!"%CurrentDLNAME%" -write -yes
|
|
|
|
goto:DLSETTINGS3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::-----------------------------------------CUSTOM COPY AND PATCH (only for advanced downloads)--------------------------------
|
|
:customcopyandpatch
|
|
|
|
if /i "%loadorgo%" EQU "load" goto:ADVPAGE2
|
|
|
|
if "%wadname:~-4%" EQU ".wad" set wadname=%wadname:~0,-4%
|
|
|
|
if /i "%ROOTSAVE%" EQU "OFF" (set wadfolder=WAD\) else (set wadfolder=)
|
|
|
|
::move from WAD folder
|
|
if "%alreadyexists%" EQU "yes" goto:makeacopy
|
|
if exist "%DRIVE%"\WAD\%wadname%.wad move /Y "%DRIVE%"\WAD\%wadname%.wad "%DRIVE%"\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad>nul
|
|
goto:nocopy
|
|
|
|
:makeacopy
|
|
if exist "%DRIVE%"\WAD\%wadname%.wad copy /Y "%DRIVE%"\WAD\%wadname%.wad "%DRIVE%"\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad>nul
|
|
:nocopy
|
|
|
|
if exist "%DRIVE%"\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad goto:copyisthere
|
|
|
|
if not exist "%DRIVE%"\WAD mkdir "%DRIVE%"\WAD >nul
|
|
|
|
::move from root
|
|
if "%alreadyexists%" EQU "yes" goto:makeacopy
|
|
if exist "%DRIVE%"\%wadname%.wad move /Y "%DRIVE%"\%wadname%.wad "%DRIVE%"\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad>nul
|
|
goto:nocopy
|
|
|
|
:makeacopy
|
|
if exist "%DRIVE%"\%wadname%.wad copy /Y "%DRIVE%"\%wadname%.wad "%DRIVE%"\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad>nul
|
|
:nocopy
|
|
|
|
if exist "%DRIVE%\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad" (goto:copyisthere) else (goto:missing)
|
|
|
|
:copyisthere
|
|
echo.
|
|
::cd support
|
|
::if /i "%DRIVE:~1,1%" EQU ":" (set "DRIVEadj=%DRIVE%") else (set "DRIVEadj=..\%DRIVE%")
|
|
::patchios "%DRIVEadj%"\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad%PATCHCODE%%slotcode%%versioncode%
|
|
::cd..
|
|
::::fakesign!
|
|
::%WiiPy% fakesign "%DRIVE%\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad">nul
|
|
|
|
::convert %SLOTCODE% from legacy patchios format " -slot ###" to " -s ###" for wiipy
|
|
if not "%SLOTCODE%"=="" set "SLOTCODE= -s %SLOTCODE:~7%"
|
|
|
|
::convert %PATCHCODE% from legacy patchios format to wiipy format
|
|
if "%PATCHCODE%"=="" goto:tinyskip
|
|
echo %PATCHCODE%>temp\patchcode.txt
|
|
support\sfk filter -quiet "temp\patchcode.txt" -rep _-FS_-fs_ -rep _-ES_-ei_ -rep _-NP_-na_ -rep _-VP_-vd_ -write -yes
|
|
set /p PATCHCODE= <temp\patchcode.txt
|
|
:tinyskip
|
|
|
|
%WiiPy% iospatch%PATCHCODE%%slotcode%%versioncode% "%DRIVE%\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad"
|
|
if not errorlevel 0 if /i "%wadname:~0,4%" EQU "cIOS" support\sfk echo [%yellowtext%]Warning: Slot # or Version # was not changed properly
|
|
if /i "%wadname:~0,4%" EQU "cIOS" goto:nopatching
|
|
|
|
::if not exist "%Drive%\%wadfolder%%wadname%" goto:nopatching
|
|
::%WiiPy% iospatch%PATCHCODE%%slotcode%%versioncode% "%Drive%\%wadfolder%%wadname%"
|
|
|
|
|
|
echo.
|
|
echo Double checking applied patches...
|
|
|
|
::check if patches applied successfully
|
|
set "WadInput=%DRIVE%\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad"
|
|
call "Support\subscripts\CollectWadInfo.bat"
|
|
|
|
if not "%slotcode%"=="" if /i "%iosslot%" NEQ "%slotcode:~4%" support\sfk echo [%yellowtext%]Warning: Slot # was not changed properly
|
|
if not "%versioncode%"=="" if /i "%iosversion%" NEQ "%versioncode:~4%" support\sfk echo [%yellowtext%]Warning: Version # was not changed properly
|
|
|
|
|
|
|
|
set "patchname2=["
|
|
if /i "%FSpatch%" EQU "Y" set "patchname2=%patchname2%FS"
|
|
if /i "%ESpatch%" EQU "Y" set "patchname2=%patchname2%-ES"
|
|
if /i "%NPpatch%" EQU "Y" set "patchname2=%patchname2%-NP"
|
|
if /i "%VPpatch%" EQU "Y" set "patchname2=%patchname2%-VP"
|
|
if /i "%patchname2:~0,2%" EQU "[-" set "patchname2=[%patchname2:~2%"
|
|
set "patchname2=%patchname2%]"
|
|
if /i "%patchname2%" EQU "[]" set patchname2=
|
|
|
|
if /i "%wadnameless%%patchname%%slotname%%versionname%.wad" EQU "%wadnameless%%patchname2%%slotname%%versionname%.wad" echo Everything looks good!
|
|
if /i "%wadnameless%%patchname%%slotname%%versionname%.wad" EQU "%wadnameless%%patchname2%%slotname%%versionname%.wad" goto:nopatching
|
|
echo Renaming file to align with applied patches as follows:
|
|
support\sfk.exe echo [%bluetext%]"%wadnameless%[%redtext%]%patchname2%[%bluetext%]%slotname%%versionname%.wad"
|
|
echo.
|
|
move /y "%DRIVE%\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad" "%DRIVE%\%wadfolder%%wadnameless%%patchname2%%slotname%%versionname%.wad">nul
|
|
set "patchname=%patchname2%"
|
|
:nopatching
|
|
|
|
|
|
if exist "%DRIVE%"\%wadfolder%%wadnameless%%patchname%%slotname%%versionname%.wad goto:there
|
|
|
|
::----check after Advanced downloading----
|
|
:missing
|
|
if /i "%attempt%" EQU "1" goto:missingretry
|
|
echo.
|
|
support\sfk echo [%magentatext%] This file has failed to download properly multiple times, Skipping download.
|
|
echo.
|
|
support\sfk filter -quiet "temp\DLgotos.txt" -ls!"%CurrentDLNAME%" -write -yes
|
|
echo "support\sfk echo %wadnameless%%patchname%%slotname%%versionname%.wad: [%redtext%]Missing">>temp\ModMii_Log.bat
|
|
goto:DLSETTINGS3
|
|
|
|
:missingretry
|
|
echo.
|
|
support\sfk echo [%yellowtext%] The file is missing, retrying download.
|
|
echo.
|
|
SET /a retry=%retry%+1
|
|
SET /a attempt=%attempt%+1
|
|
goto:DOWNLOADSTART2
|
|
|
|
:there
|
|
|
|
if /i "%multiplefail%" EQU "Y" (support\sfk echo [%magentatext%] Base wad failed hash check multiple times, Advanced download probably corrupted) else (support\sfk echo [%greentext%]Advanced Download Successful)
|
|
echo.
|
|
|
|
if /i "%multiplefail%" EQU "Y" (echo "support\sfk echo %wadnameless%%patchname%%slotname%%versionname%.wad: Found but potentially corrupt">>temp\ModMii_Log.bat) else (echo "echo %wadnameless%%patchname%%slotname%%versionname%.wad: Found">>temp\ModMii_Log.bat)
|
|
:miniskip
|
|
|
|
|
|
support\sfk filter -quiet "temp\DLgotos.txt" -ls!"%CurrentDLNAME%" -write -yes
|
|
goto:DLSETTINGS3
|
|
|
|
::---------------------------------------SNEEKINSTALLER----------------------------------
|
|
:SNEEKINSTALLER
|
|
cls
|
|
if not exist "%DRIVE%" mkdir "%DRIVE%"
|
|
if /i "%SNEEKTYPE%" EQU "UD" goto:checkdriveU
|
|
if /i "%SNEEKTYPE%" EQU "U" (goto:checkdriveU) else (goto:skip)
|
|
:checkdriveU
|
|
if not exist "%DRIVEU%" mkdir "%DRIVEU%"
|
|
:skip
|
|
|
|
|
|
|
|
|
|
::if running uneek or uneek+di, check for sneek installations on SD, replace is default
|
|
set SNEEKreplace=R
|
|
if /i "%SNEEKTYPE:~0,1%" NEQ "U" goto:skipcheck
|
|
|
|
if not exist "%DRIVE%\sneek\kernel.bin" goto:skipcheck
|
|
if not exist "%DRIVE%\sneek\rev.txt" goto:prompt
|
|
|
|
::prompt if SNEEK found, otherwise skipcheck and overwrite\update
|
|
findStr /I "SNEEK" "%DRIVE%\sneek\rev.txt" >nul
|
|
IF ERRORLEVEL 1 goto:skipcheck
|
|
|
|
:prompt
|
|
if exist "%DRIVE%\sneek\rev.txt" support\sfk echo [%redtext%]SNEEK (SD Version) detected[def] in "%DRIVE%\sneek"
|
|
if not exist "%DRIVE%\sneek\rev.txt" support\sfk echo [%redtext%]SD:\sneek\ folder detected[def], but unable to determine what version
|
|
|
|
echo If you want to launch UNEEK using Bootmii or Switch2Uneek,
|
|
echo you need to replace SD:\sneek\kernel.bin with UNEEK's kernel.bin (USB version).
|
|
echo.
|
|
echo If you launch UNEEK using USB-Loader GX or nswitch, it loads USB:\sneek\ directly
|
|
echo so you can skip it to keep SNEEK (SD version) on your SD card.
|
|
echo.
|
|
if not exist "%DRIVE%\sneek\rev.txt" echo Note: If you know that the detected folder is for UNEEK or UNEEK+DI, then you should choose to replace.
|
|
if not exist "%DRIVE%\sneek\rev.txt" echo.
|
|
echo Replace or Skip? R/S
|
|
echo.
|
|
|
|
:SNEEKreplace
|
|
set SNEEKreplace="
|
|
set /p SNEEKreplace=Enter Selection Here:
|
|
set "SNEEKreplace=%SNEEKreplace:"=%"
|
|
echo.
|
|
if /i "%SNEEKreplace%" EQU "S" goto:skipcheck
|
|
|
|
if /i "%SNEEKreplace%" NEQ "R" goto:notreplace
|
|
::check for and delete di.bin (kernel.bin will be overwritten even if only building neek without di)
|
|
if exist "%DRIVE%\sneek\di.bin" del "%DRIVE%\sneek\di.bin">nul
|
|
::if exist "%DRIVE%\sneek\font.bin" del "%DRIVE%\sneek\font.bin">nul
|
|
goto:skipcheck
|
|
:notreplace
|
|
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
goto:SNEEKreplace
|
|
|
|
:skipcheck
|
|
|
|
|
|
|
|
|
|
|
|
::if running sneek or sneek+di, check for uneek installations on SD, replace is default
|
|
set UNEEKreplace=R
|
|
if /i "%SNEEKTYPE:~0,1%" NEQ "S" goto:skipcheck
|
|
if not exist "%DRIVE%\sneek\kernel.bin" goto:skipcheck
|
|
::if di.bin found then this install is for SNEEK+DI and we will overwrite it
|
|
if exist "%DRIVE%\sneek\di.bin" goto:skipcheck
|
|
if not exist "%DRIVE%\sneek\rev.txt" goto:prompt
|
|
|
|
::prompt if UNEEK found, otherwise skipcheck and overwrite\update
|
|
findStr /I "UNEEK" "%DRIVE%\sneek\rev.txt" >nul
|
|
IF ERRORLEVEL 1 goto:skipcheck
|
|
|
|
:prompt
|
|
if exist "%DRIVE%\sneek\rev.txt" support\sfk echo [%redtext%]UNEEK (USB version) detected[def] in "%DRIVE%\sneek"
|
|
if not exist "%DRIVE%\sneek\rev.txt" support\sfk echo [%redtext%]SD:\sneek\ folder detected[def], but unable to determine what version
|
|
|
|
echo If you want to launch UNEEK using Bootmii, Nswitch or Switch2Uneek,
|
|
echo SD:\sneek\kernel.bin with UNEEK's kernel.bin (USB version) is needed.
|
|
echo.
|
|
echo If you launch UNEEK using USB-Loader GX or nswitch, it loads USB:\sneek\ directly
|
|
echo so you can skip it to keep SNEEK (SD version) on your SD card.
|
|
echo.
|
|
if not exist "%DRIVE%\sneek\rev.txt" echo Note: If you know that the detected folder is for SNEEK or SNEEK+DI, then you should choose to replace.
|
|
if not exist "%DRIVE%\sneek\rev.txt" echo.
|
|
echo Replace or Abort? R/A
|
|
echo.
|
|
|
|
:UNEEKreplace
|
|
set UNEEKreplace="
|
|
set /p UNEEKreplace=Enter Selection Here:
|
|
set "UNEEKreplace=%UNEEKreplace:"=%"
|
|
|
|
echo.
|
|
|
|
if /i "%UNEEKreplace%" NEQ "A" goto:notabort
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:MENU
|
|
|
|
echo User aborted %neekname% installation due to conflict with UNEEK >temp\ModMii_CMD_LINE_NEEK_Errors.txt
|
|
if /i "%SKINmode%" NEQ "Y" start notepad "temp\ModMii_CMD_LINE_NEEK_Errors.txt"
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:SNKNANDBUILDER
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
if /i "%SKINmode%" EQU "Y" start support\wizapp PB CLOSE
|
|
exit
|
|
|
|
:notabort
|
|
|
|
|
|
if /i "%UNEEKreplace%" NEQ "R" goto:notreplace
|
|
::check for and delete di.bin (kernel.bin will be overwritten even if only building neek without di)
|
|
if exist "%DRIVE%\sneek\di.bin" del "%DRIVE%\sneek\di.bin">nul
|
|
::if exist "%DRIVE%\sneek\font.bin" del "%DRIVE%\sneek\font.bin"
|
|
|
|
goto:skipcheck
|
|
:notreplace
|
|
|
|
echo You Have Entered an Incorrect Key
|
|
goto:UNEEKreplace
|
|
|
|
:skipcheck
|
|
|
|
|
|
|
|
|
|
::delete DI files from USB if detected if building UNEEK (kernel will be replaced)
|
|
if /i "%SNEEKTYPE%" NEQ "U" goto:skip
|
|
::if exist "%DRIVEU%"\SNEEK\kernel.bin del "%DRIVEU%"\SNEEK\kernel.bin>nul
|
|
if exist "%DRIVEU%"\SNEEK\di.bin del "%DRIVEU%"\SNEEK\di.bin>nul
|
|
::if exist "%DRIVEU%"\SNEEK\font.bin del "%DRIVEU%"\SNEEK\font.bin>nul
|
|
:skip
|
|
|
|
|
|
::delete DI files from SD if detected if building SNEEK (kernel will be replaced)
|
|
if /i "%SNEEKTYPE%" NEQ "S" goto:skip
|
|
::if exist "%DRIVE%"\SNEEK\kernel.bin del "%DRIVE%"\SNEEK\kernel.bin>nul
|
|
if exist "%DRIVE%"\SNEEK\di.bin del "%DRIVE%"\SNEEK\di.bin>nul
|
|
::if exist "%DRIVE%"\SNEEK\font.bin del "%DRIVE%"\SNEEK\font.bin>nul
|
|
:skip
|
|
|
|
|
|
|
|
::Special handling of bootmii\armboot.bin to avoid deleting Bootmii-SD Files
|
|
if not exist "%DRIVE%"\bootmii\armboot.bin goto:skip
|
|
|
|
::No Bootmii-SD Files
|
|
if not exist "%DRIVE%"\bootmii\ppcboot.elf del "%DRIVE%"\bootmii\armboot.bin>nul
|
|
if not exist "%DRIVE%"\bootmii\ppcboot.elf goto:skip
|
|
|
|
|
|
::RENAME Bootmii Booter Folder
|
|
set countbootmii=0
|
|
:renamebootmii
|
|
SET /a countbootmii=%countbootmii%+1
|
|
if exist "%DRIVE%"\bootmii_SDBooter%countbootmii% goto:renamebootmii
|
|
rename "%DRIVE%"\bootmii bootmii_SDBooter%countbootmii% >nul
|
|
:skip
|
|
|
|
|
|
if /i "%neek2o%" EQU "on" goto:neek2obuild
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo Building SNEEK+DI rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo Building UNEEK+DI rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo Building UNEEK rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo Building SNEEK rev%CurrentRev%
|
|
goto:skipneek2obuild
|
|
:neek2obuild
|
|
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo Building SNEEK+DI neek2o rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo Building UNEEK+DI neek2o rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo Building UNEEK neek2o rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo Building SNEEK neek2o rev%CurrentRev%
|
|
|
|
:skipneek2obuild
|
|
echo.
|
|
if /i "%neek2o%" EQU "on" echo neek2o Enabled (can be changed in options)
|
|
if /i "%neek2o%" NEQ "on" echo neek2o Disabled (can be changed in options)
|
|
echo.
|
|
if /i "%SSD%" EQU "on" echo SNEEK and SNEEK+DI SD Access Enabled (can be changed in options)
|
|
if /i "%SSD%" NEQ "on" echo SNEEK and SNEEK+DI SD Access Disabled (can be changed in options)
|
|
|
|
|
|
call Support\subscripts\dependency.bat UnRAR
|
|
|
|
|
|
if /i "%neek2o%" EQU "on" set NewInstallerRev=70
|
|
if /i "%neek2o%" NEQ "on" set NewInstallerRev=186
|
|
|
|
if %CurrentRev% GEQ %NewInstallerRev% goto:newinstaller
|
|
|
|
::old installer
|
|
set wadname=SNEEKInstallerv0.6c-cred.rar
|
|
set md5=bcdd0ddb85dc63c1ad7fad0007b6b606
|
|
goto:skipnew
|
|
|
|
:newinstaller
|
|
set wadname=SNEEKInstallerv0.7a-cred.rar
|
|
set md5=e1c094efd57d19e9a3726bcb8f543660
|
|
:skipnew
|
|
|
|
::if exist "temp\DBUPDATE%currentversion%.bat" call "temp\DBUPDATE%currentversion%.bat"
|
|
|
|
echo.
|
|
echo Downloading Official Sneek Installer (%wadname:~14,5%)
|
|
|
|
if not exist temp\%wadname:~0,-4%\SNEEKInstaller.exe goto:nocheck
|
|
|
|
set md5check=
|
|
support\sfk md5 -quiet -verify %md5% temp\%wadname:~0,-4%\SneekInstaller.exe
|
|
|
|
if errorlevel 1 set md5check=fail
|
|
if "%md5check%"=="" set md5check=pass
|
|
if /i "%md5check%" NEQ "fail" goto:AlreadyinTemp
|
|
|
|
:nocheck
|
|
if exist temp\%wadname:~0,-4% rd /s /q temp\%wadname:~0,-4%
|
|
mkdir temp\%wadname:~0,-4%
|
|
|
|
support\wget --no-check-certificate -t 3 https://master.dl.sourceforge.net/project/sneek-modmii/%wadname% -q --show-progress
|
|
|
|
if exist %wadname% temp\unrar.exe x -y %wadname% temp\%wadname:~0,-4%
|
|
|
|
if exist %wadname% del %wadname%>nul
|
|
|
|
:AlreadyinTemp
|
|
if not exist temp\%wadname:~0,-4%\SNEEKInstaller.exe goto:sneekwarning
|
|
|
|
::create empty sneek installer config file
|
|
type NUL > temp\%wadname:~0,-4%\sinst.ini
|
|
echo.
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 15
|
|
|
|
|
|
|
|
echo Downloading Autoit
|
|
if exist temp\autoit3.exe goto:AlreadyinTemp
|
|
if not exist autoit-v3.zip support\wget --content-disposition --no-check-certificate -t 3 https://www.autoitscript.com/autoit3/files/archive/autoit/autoit-v3.3.16.0.zip -O autoit-v3.zip -q --show-progress
|
|
|
|
if exist autoit-v3.zip support\7za e -aoa autoit-v3.zip -otemp autoit3.exe -r
|
|
if exist autoit-v3.zip del autoit-v3.zip>nul
|
|
if not exist temp\autoit3.exe goto:sneekwarning
|
|
:AlreadyinTemp
|
|
echo.
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 30
|
|
|
|
|
|
echo Downloading 0000000e_IOS80.app from IOS80 v6943
|
|
|
|
set CurrentDLNAME=NUSGRABBER0e
|
|
call "Support\subscripts\DB.bat"
|
|
|
|
::check md5 if exists already
|
|
if not exist "temp\%wadname%" goto:skip
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if not errorlevel 1 (echo %wadname% already downloaded and verified, continuing...) & (goto:AlreadyinTemp)
|
|
support\sfk.exe echo [%redtext%]%wadname% already exists but failed MD5 verification, redownloading...
|
|
del "temp\%wadname%">nul
|
|
:skip
|
|
|
|
%WiiPy% nus content -v %version% -o "temp\%dlname%" -d %code1%%code2% %dlname:~0,8%
|
|
|
|
if not exist "temp\%dlname%" goto:sneekwarning
|
|
move /Y "temp\%dlname%" "temp\%wadname%">nul
|
|
|
|
::check md5
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if errorlevel 1 (del "temp\%wadname%">nul) & (goto:sneekwarning)
|
|
|
|
|
|
|
|
:AlreadyinTemp
|
|
if exist temp\0000000e.app del temp\0000000e.app>nul
|
|
copy /Y temp\%wadname% temp\0000000e.app>nul
|
|
if not exist temp\0000000e.app goto:sneekwarning
|
|
echo.
|
|
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 45
|
|
|
|
if %CurrentRev% GEQ %NewInstallerRev% (set wadname=SNEEKInstallerv0.7a-cred.rar) else (set wadname=SNEEKInstallerv0.6c-cred.rar)
|
|
|
|
::only old installer uses 0x1.app for neek+di
|
|
if /i "%wadname%" NEQ "SNEEKInstallerv0.6c-cred.rar" goto:skipDL01
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" goto:DL01
|
|
if /i "%SNEEKTYPE%" EQU "UD" goto:DL01
|
|
goto:skipDL01
|
|
:DL01
|
|
echo Downloading 00000001_IOS60.app from IOS60 v6174
|
|
|
|
set CurrentDLNAME=NUSGRABBER01_60
|
|
call "Support\subscripts\DB.bat"
|
|
|
|
::check md5 if exists already
|
|
if not exist "temp\%wadname%" goto:skip
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if not errorlevel 1 (echo %wadname% already downloaded and verified, continuing...) & (goto:AlreadyinTemp)
|
|
support\sfk.exe echo [%redtext%]%wadname% already exists but failed MD5 verification, redownloading...
|
|
del "temp\%wadname%">nul
|
|
:skip
|
|
|
|
%WiiPy% nus content -v %version% -o "temp\%dlname%" -d %code1%%code2% %dlname:~0,8%
|
|
|
|
if not exist "temp\%dlname%" goto:sneekwarning
|
|
move /Y "temp\%dlname%" "temp\%wadname%">nul
|
|
|
|
::check md5
|
|
support\sfk md5 -quiet -verify %md5% "temp\%wadname%"
|
|
if errorlevel 1 (del "temp\%wadname%">nul) & (goto:sneekwarning)
|
|
|
|
|
|
|
|
:AlreadyinTemp
|
|
if exist "temp\00000001.app" del "temp\00000001.app">nul
|
|
copy /Y temp\%wadname% temp\00000001.app>nul
|
|
if not exist temp\00000001.app goto:sneekwarning
|
|
echo.
|
|
:skipDL01
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 60
|
|
|
|
|
|
|
|
::FONT.BIN
|
|
if /i "%SNKFONT%" EQU "B" echo Downloading Black font.bin (this can be changed in Options)
|
|
if /i "%SNKFONT%" EQU "R" echo Downloading Red font.bin (this can be changed in Options)
|
|
if /i "%SNKFONT%" EQU "W" echo Downloading White font.bin (this can be changed in Options)
|
|
|
|
if /i "%SNKFONT%" EQU "B" set fonturl=raw.githubusercontent.com/modmii/modmii.github.io/master/temp/fontb.bin
|
|
if /i "%SNKFONT%" EQU "W" set fonturl=raw.githubusercontent.com/modmii/modmii.github.io/master/temp/fontw.bin
|
|
if /i "%SNKFONT%" EQU "R" set fonturl=raw.githubusercontent.com/modmii/modmii.github.io/master/temp/fontr.bin
|
|
|
|
if not exist temp\font%SNKFONT%.bin support\wget --no-check-certificate -t 3 %fonturl% -q --show-progress
|
|
|
|
if exist font%SNKFONT%.bin move /Y font%SNKFONT%.bin temp\font%SNKFONT%.bin>nul
|
|
:skip
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" NEQ "S" goto:skip
|
|
if not exist "%DRIVE%"\SNEEK mkdir "%DRIVE%"\SNEEK
|
|
if exist temp\font%SNKFONT%.bin copy /Y temp\font%SNKFONT%.bin "%DRIVE%"\SNEEK\font.bin>nul
|
|
if not exist "%DRIVE%"\SNEEK\font.bin goto:sneekwarning
|
|
:skip
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" NEQ "U" goto:skip
|
|
if not exist "%DRIVEU%"\SNEEK mkdir "%DRIVEU%"\SNEEK
|
|
if exist temp\font%SNKFONT%.bin copy /Y temp\font%SNKFONT%.bin "%DRIVEU%"\SNEEK\font.bin>nul
|
|
if not exist "%DRIVEU%"\SNEEK\font.bin goto:sneekwarning
|
|
:skip
|
|
|
|
|
|
|
|
echo.
|
|
echo Grabbing Modules for %neekname% Rev%CurrentRev%
|
|
echo.
|
|
if exist "temp\%neekname%\%neekname%-rev%CurrentRev%.zip" goto:Extract
|
|
|
|
support\wget --no-check-certificate -t 3 "https://master.dl.sourceforge.net/project/%googlecode%/%neekname%-rev%CurrentRev%.zip" -q --show-progress
|
|
if not exist "%neekname%-rev%CurrentRev%.zip" goto:sneekwarning
|
|
|
|
if not exist "temp\%neekname%" mkdir "temp\%neekname%"
|
|
move /y "%neekname%-rev%CurrentRev%.zip" "temp\%neekname%\%neekname%-rev%CurrentRev%.zip">nul
|
|
|
|
if exist "temp\dimodule-sd.elf" del "temp\dimodule-sd.elf">nul
|
|
if exist "temp\dimodule-usb.elf" del "temp\dimodule-usb.elf">nul
|
|
|
|
:EXTRACT
|
|
support\7za e -aoa "temp\%neekname%\%neekname%-rev%CurrentRev%.zip" -o"temp" *.* -r>temp\7zalog.txt
|
|
findStr /I /C:"Everything is Ok" "temp\7zalog.txt" >nul
|
|
IF ERRORLEVEL 1 (Corrupted archive detected and deleted, please try again..) & (del temp\7zalog.txt>nul) & (del "temp\%neekname%\%neekname%-rev%CurrentRev%.zip">nul) & (goto:sneekwarning)
|
|
del temp\7zalog.txt>nul
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 75
|
|
|
|
::Sneek SD Card Access
|
|
if /i "%SSD%" EQU "on" move /y "temp\esmodule-sdon.elf" "temp\esmodule.elf">nul
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" NEQ "S" goto:noSDdi
|
|
if exist "temp\dimodule-sd.elf" move /y "temp\dimodule-sd.elf" "temp\dimodule.elf">nul
|
|
:noSDdi
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" NEQ "U" goto:noUSBdi
|
|
if exist "temp\dimodule-usb.elf" move /y "temp\dimodule-usb.elf" "temp\dimodule.elf">nul
|
|
:noUSBdi
|
|
|
|
|
|
|
|
|
|
echo Building...
|
|
echo.
|
|
|
|
::create autoit script
|
|
|
|
echo WinWait ("SNEEK Installer","install SNEEK")>custom.au3
|
|
echo WinActivate ("SNEEK Installer","install SNEEK")>>custom.au3
|
|
|
|
|
|
if /i "%SNEEKTYPE%" EQU "S" echo ControlClick ("SNEEK Installer","SNEEK setup","SNEEK")>>custom.au3
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo ControlClick ("SNEEK Installer","SNEEK setup","SNEEK+DI")>>custom.au3
|
|
if /i "%SNEEKTYPE%" EQU "U" echo ControlClick ("SNEEK Installer","SNEEK setup","UNEEK")>>custom.au3
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo ControlClick ("SNEEK Installer","SNEEK setup","UNEEK+DI")>>custom.au3
|
|
|
|
if /i "%sneekverbose%" EQU "on" echo ControlClick ("SNEEK Installer","SNEEK setup","Verbose output")>>custom.au3
|
|
|
|
|
|
::ControlSetText vs ControlSend
|
|
|
|
::support for unicode (only if on windows 10, as it may not work on older versions), restored back to 437 later
|
|
ver>temp\temp.txt
|
|
support\sfk filter -quiet "temp\temp.txt" -rep _*" "__ -rep _"."*__ -rep _"]"__ -write -yes
|
|
support\sfk filter -quiet "temp\temp.txt" -no-empty-lines -no-blank-lines -write -yes
|
|
set /p winver= <temp\temp.txt
|
|
::echo %winver%
|
|
if /i %winver% GEQ 10 chcp 65001>nul
|
|
::old simple method:: ver | findstr "10.0">NUL && chcp 65001>nul
|
|
|
|
|
|
|
|
|
|
|
|
echo ControlSetText("SNEEK Installer","","[CLASS:Edit; INSTANCE:2]","%cd%\temp")>>custom.au3
|
|
echo ControlSetText("SNEEK Installer","","[CLASS:Edit; INSTANCE:3]","%cd%\temp")>>custom.au3
|
|
|
|
|
|
set "DRIVEabsolute=%cd%\%DRIVE%"
|
|
if /i "%DRIVE:~1,1%" EQU ":" set "DRIVEabsolute=%DRIVE%"
|
|
|
|
::SNEEKreplace "S" skip requires override
|
|
if /i "%SNEEKreplace%" NEQ "S" goto:next
|
|
if not exist temp\neektemp mkdir temp\neektemp
|
|
set "DRIVEabsolute=%cd%\temp\neektemp"
|
|
:next
|
|
|
|
echo ControlSetText("SNEEK Installer","","[CLASS:Edit; INSTANCE:1]","%DRIVEabsolute%")>>custom.au3
|
|
|
|
|
|
|
|
:afteroverride
|
|
|
|
::how to only change field if empty
|
|
::echo $a = ControlGetText ("SNEEK Installer","","[CLASS:Edit; INSTANCE:1]")>>custom.au3
|
|
::echo if $a = "" Then ControlSetText("SNEEK Installer","","[CLASS:Edit; INSTANCE:1]","%DRIVE%")>>custom.au3
|
|
|
|
if /i "%SNEEKTYPE%" EQU "S" goto:skip
|
|
if /i "%SNEEKTYPE%" EQU "SD" goto:skip
|
|
|
|
set "DRIVEUabsolute=%cd%\%DRIVEU%"
|
|
if /i "%DRIVEU:~1,1%" EQU ":" set "DRIVEUabsolute=%DRIVEU%"
|
|
|
|
|
|
echo ControlSetText("SNEEK Installer","","[CLASS:Edit; INSTANCE:4]","%DRIVEUabsolute%")>>custom.au3
|
|
:skip
|
|
|
|
echo ControlClick ("SNEEK Installer","SNEEK setup","install SNEEK")>>custom.au3
|
|
|
|
|
|
if %CurrentRev% GEQ %NewInstallerRev% (set wadname=SNEEKInstallerv0.7a-cred.rar) else (set wadname=SNEEKInstallerv0.6c-cred.rar)
|
|
|
|
cd temp\%wadname:~0,-4%
|
|
start /I /min SneekInstaller.exe
|
|
cd..
|
|
cd..
|
|
|
|
echo start /wait temp\AutoIt3.exe custom.au3>run.bat
|
|
call run.bat
|
|
del run.bat>nul
|
|
|
|
::restore 437 codepage
|
|
chcp 437>nul
|
|
|
|
@ping 127.0.0.1 -n 3 -w 1000> nul
|
|
taskkill /im SneekInstaller.exe /f >nul
|
|
del custom.au3>nul
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 100
|
|
|
|
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" copy /y "%DRIVE%\bootmii\armboot.bin" "%DRIVE%\bootmii_ios.bin">nul
|
|
::if /i "%AbstinenceWiz%" EQU "Y" rd /s /q "%DRIVE%\bootmii"
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:norename
|
|
|
|
|
|
if /i "%SNKS2U%" NEQ "Y" goto:noswitch2uneek
|
|
if exist "%DRIVE%\bootmiiuneek" rd /s /q "%DRIVE%\bootmiiuneek"
|
|
rename "%DRIVE%\bootmii" "bootmiiuneek"
|
|
:noswitch2uneek
|
|
|
|
::if /i "%neek2o%" EQU "off" goto:norename
|
|
if exist "%DRIVE%\bootmiineek" rd /s /q "%DRIVE%\bootmiineek"
|
|
rename "%DRIVE%\bootmii" "bootmiineek"
|
|
:norename
|
|
|
|
::save rev information
|
|
|
|
if /i "%neek2o%" EQU "on" goto:neek2orevinfo
|
|
|
|
if /i "%sneekverbose%" EQU "on" goto:sneekverbose
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SSD%" EQU "off" goto:miniskip
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI (with SD Access On) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK (with SD Access On) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
:miniskip
|
|
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
goto:skipsneekverbose
|
|
|
|
:sneekverbose
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI (verbose) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK (verbose) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SSD%" EQU "off" goto:miniskip
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI (verbose and SD Access On) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK (verbose and SD Access On) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
:miniskip
|
|
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI (verbose) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI (verbose) rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK (verbose) rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK (verbose) rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
:skipsneekverbose
|
|
goto:skipneek2orevinfo
|
|
|
|
|
|
:neek2orevinfo
|
|
|
|
if /i "%sneekverbose%" EQU "on" goto:sneekverbose
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
|
|
|
|
if /i "%SSD%" EQU "off" goto:miniskip
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI (with SD Access On) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK (with SD Access On) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
:miniskip
|
|
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI neek2o rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK neek2o rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
goto:skipsneekverbose
|
|
|
|
:sneekverbose
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI (verbose) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK (verbose) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
|
|
::neek2o sd access temporarily always disabled
|
|
goto:miniskip
|
|
|
|
if /i "%SSD%" EQU "off" goto:miniskip
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo SNEEK+DI (verbose and SD Access On) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "S" echo SNEEK (verbose and SD Access On) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
:miniskip
|
|
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI (verbose) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo UNEEK+DI (verbose) neek2o rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK (verbose) neek2o rev%CurrentRev% >"%DRIVEabsolute%"\sneek\rev.txt
|
|
if /i "%SNEEKTYPE%" EQU "U" echo UNEEK (verbose) neek2o rev%CurrentRev% >"%DRIVEUabsolute%"\sneek\rev.txt
|
|
:skipsneekverbose
|
|
|
|
|
|
:skipneek2orevinfo
|
|
|
|
|
|
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:SNKNANDBUILDER
|
|
goto:finishsneekinstall3
|
|
|
|
|
|
|
|
|
|
:sneekwarning
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:notcmdfinish
|
|
|
|
echo Some files required for %neekname% installation >temp\ModMii_CMD_LINE_NEEK_Errors.txt
|
|
echo are missing. Aborting %neekname% installation, >>temp\ModMii_CMD_LINE_NEEK_Errors.txt
|
|
echo check your internet connection then try again. >>temp\ModMii_CMD_LINE_NEEK_Errors.txt
|
|
|
|
if /i "%SKINmode%" NEQ "Y" start notepad "temp\ModMii_CMD_LINE_NEEK_Errors.txt"
|
|
|
|
if /i "%SNEEKSELECT%" EQU "3" goto:SNKNANDBUILDER
|
|
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
if /i "%SKINmode%" EQU "Y" start support\wizapp PB CLOSE
|
|
exit
|
|
:notcmdfinish
|
|
|
|
echo.
|
|
support\sfk echo -spat \x20 [%yellowtext%] WARNING: Some files Required for the %neekname% install are missing.
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%yellowtext%] Aborting %neekname% Installation, check your internet connection
|
|
support\sfk echo -spat \x20 \x20 \x20 \x20 [%yellowtext%] Then repeat the Installation to try again.
|
|
echo.
|
|
|
|
if /i "%SKINmode%" EQU "Y" goto:noaudio
|
|
if /i "%AudioOption%" NEQ "on" goto:noaudio
|
|
start support\nircmd.exe mediaplay 3000 "%Fail.mp3%"
|
|
:noaudio
|
|
|
|
echo Press any key to return to the Main Menu.
|
|
pause>nul
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
|
|
::------------------------wad2nand-install wads from temp\wad to emu nand--------------------
|
|
:wad2nand
|
|
|
|
cls
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:tinyskip
|
|
if /i "%emuwadcount%" EQU "0" goto:skipSMWall
|
|
:tinyskip
|
|
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 10
|
|
|
|
if not "%addwadfolder%"=="" goto:forceSMW
|
|
if not exist temp\WAD\*.wad goto:skipSMWall
|
|
|
|
:forceSMW
|
|
|
|
if exist temp\WAD\*.wad echo Installing wads from "temp\WAD\"
|
|
if exist temp\WAD\*.wad echo to emulated nand: "%nandpath%\"
|
|
if exist temp\WAD\*.wad echo.
|
|
if exist temp\WAD\*.wad %WiiPy% emunand title --install "temp\WAD" --skip-hash "%nandpath%"
|
|
if exist temp\WAD\*.wad echo.
|
|
|
|
if not "%addwadfolder%"=="" echo Installing wads from "%addwadfolder%"
|
|
if not "%addwadfolder%"=="" echo to emulated nand: "%nandpath%\"
|
|
if not "%addwadfolder%"=="" echo.
|
|
if not "%addwadfolder%"=="" %WiiPy% emunand title --install "%addwadfolder%" --skip-hash "%nandpath%"
|
|
if not "%addwadfolder%"=="" echo.
|
|
:skipSMWall
|
|
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 50
|
|
|
|
|
|
::---delete non-temp files---
|
|
if exist "temp\WAD\WiiFlow-FIX94v14-forwarder-BWFA-Wii+vWii.wad" del "temp\WAD\WiiFlow-FIX94v14-forwarder-BWFA-Wii+vWii.wad">nul
|
|
if exist temp\WAD\switch2uneek-4EMUNand-v12-S2RL.wad del temp\WAD\switch2uneek-4EMUNand-v12-S2RL.wad>nul
|
|
if exist temp\WAD\cIOS249-v14.wad del temp\WAD\cIOS249-v14.wad>nul
|
|
if exist temp\WAD\cBC-NMMv0.2a.wad del temp\WAD\cBC-NMMv0.2a.wad>nul
|
|
::if exist temp\WAD\cBC-DML.wad del temp\WAD\cBC-DML.wad>nul
|
|
|
|
if exist "temp\WAD\IOS60v65535(ModMii-IOS60-v6174).wad" del "temp\WAD\IOS60v65535(ModMii-IOS60-v6174).wad">nul
|
|
if exist "temp\WAD\IOS70v65535(ModMii-IOS60-v6174).wad" del "temp\WAD\IOS70v65535(ModMii-IOS60-v6174).wad">nul
|
|
if exist "temp\WAD\IOS80v65535(ModMii-IOS60-v6174).wad" del "temp\WAD\IOS80v65535(ModMii-IOS60-v6174).wad">nul
|
|
if exist "temp\WAD\vIOS80v7200[FS-ES-NP-VP]-vWii.wad" del "temp\WAD\vIOS80v7200[FS-ES-NP-VP]-vWii.wad">nul
|
|
|
|
if exist temp\WAD\*.wad move temp\WAD\*.wad temp\>nul
|
|
|
|
::restore setting.txt if applicable
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:skipSMW
|
|
if not exist "%nandpath%\title\00000001\00000002\data" mkdir "%nandpath%\title\00000001\00000002\data"
|
|
if /i "%SNKSERIAL%" EQU "current" move /y "%nandpath%"\setting.txt "%nandpath%"\title\00000001\00000002\data\setting.txt>nul
|
|
:skipSMW
|
|
|
|
if exist support\ShowMiiWads.cfg del support\ShowMiiWads.cfg>nul
|
|
|
|
|
|
|
|
::NANDINFO.TXT
|
|
if /i "%SNEEKSELECT%" EQU "2" goto:newnand
|
|
if /i "%SNEEKSELECT%" EQU "3" (goto:newnand) else (goto:nonewnand)
|
|
:newnand
|
|
if exist "%nandpath%\sneek\nandcfg.bin" del "%nandpath%\sneek\nandcfg.bin" >nul
|
|
echo ================================================== >"%nandpath%\nandinfo.txt"
|
|
if /i "%SNKVERSION%" NEQ "V" echo %SNKVERSION%%SNKREGION% Emulated NAND created by ModMii on %DATE% >>"%nandpath%\nandinfo.txt"
|
|
if /i "%SNKVERSION%" EQU "V" echo vWii 4.3%SNKREGION% Emulated NAND created by ModMii on %DATE% >>"%nandpath%\nandinfo.txt"
|
|
echo -------------------------------------------------- >>"%nandpath%\nandinfo.txt"
|
|
:nonewnand
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:nomoddednand
|
|
echo ============================================== >>"%nandpath%\nandinfo.txt"
|
|
echo Emulated NAND Modified by ModMii on %DATE% >>"%nandpath%\nandinfo.txt"
|
|
echo ---------------------------------------------- >>"%nandpath%\nandinfo.txt"
|
|
:nomoddednand
|
|
|
|
|
|
::if /i "%SNEEKSELECT%" EQU "5" goto:skip
|
|
|
|
::Build setting.txt
|
|
if /i "%SNKSERIAL%" EQU "current" goto:skip
|
|
|
|
echo.
|
|
echo Building setting.txt using serial number: %SNKSERIAL%
|
|
|
|
if /i "%SNKREGION%" EQU "K" %WiiPy% setting gen %SNKSERIAL% KOR
|
|
if /i "%SNKREGION%" EQU "U" %WiiPy% setting gen %SNKSERIAL% USA
|
|
if /i "%SNKREGION%" EQU "E" %WiiPy% setting gen %SNKSERIAL% EUR
|
|
if /i "%SNKREGION%" EQU "J" %WiiPy% setting gen %SNKSERIAL% JPN
|
|
|
|
move /y setting.txt "%nandpath%"\title\00000001\00000002\data\setting.txt >nul
|
|
|
|
if exist "%nandpath%"\title\00000001\00000002\data\setting.txt (echo setting.txt built using this serial: %SNKSERIAL% >>"%nandpath%\nandinfo.txt") else (echo setting.txt failed to build properly >>"%nandpath%\nandinfo.txt")
|
|
|
|
:skip
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 60
|
|
|
|
|
|
if "%ThemeSelection%"=="" goto:quickskip2
|
|
if /i "%ThemeSelection%" EQU "N" goto:quickskip
|
|
if /i "%ThemeSelection%" EQU "D" goto:quickskip
|
|
if /i "%ThemeSelection:~1,1%" EQU ":" goto:quickskip
|
|
|
|
echo.
|
|
echo Copying over Custom Theme
|
|
|
|
if /i "%ThemeSelection%" EQU "R" set themecolour=Red
|
|
if /i "%ThemeSelection%" EQU "G" set themecolour=Green
|
|
if /i "%ThemeSelection%" EQU "BL" set themecolour=Blue
|
|
if /i "%ThemeSelection%" EQU "O" set themecolour=Orange
|
|
|
|
if /i "%SNKVERSION%" EQU "v" (set SNKVERSION2=vWii) else (set SNKVERSION2=%SNKVERSION%)
|
|
|
|
if exist "temp\themes\DarkWii_%themecolour%_%effect%_%SNKVERSION2%%SNKREGION%.csm" (echo Custom System Menu Theme Installed - Dark Wii %themecolour% >>"%nandpath%\nandinfo.txt") else (echo Custom System Menu Theme Failed to Install Properly >>"%nandpath%\nandinfo.txt")
|
|
|
|
move /y "temp\themes\DarkWii_%themecolour%_%effect%_%SNKVERSION2%%SNKREGION%.csm" "%nandpath%"\title\00000001\00000002\content\%SMTHEMEAPP%.app>nul
|
|
|
|
goto:quickskip2
|
|
:quickskip
|
|
|
|
|
|
if /i "%ThemeSelection%" NEQ "D" goto:quickskip
|
|
echo.
|
|
echo Restoring Original Theme
|
|
|
|
::set dlname=00000022_4.3E_vWii.app
|
|
::set dlname=0000007b_4.1U.app
|
|
|
|
if /i "%SNKVERSION%" EQU "V" (set SNKVERSION2=4.3) else (set SNKVERSION2=%SNKVERSION%)
|
|
if /i "%SNKVERSION%" EQU "V" (set SNKREGION2=%SNKREGION%_vWii) else (set SNKREGION2=%SNKREGION%)
|
|
|
|
if exist "temp\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app" (echo Original System Menu Theme Applied >>"%nandpath%\nandinfo.txt") else (echo Failed to Restore Original System Menu Theme >>"%nandpath%\nandinfo.txt")
|
|
|
|
move /y "temp\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app" "%nandpath%"\title\00000001\00000002\content\%SMTHEMEAPP%.app>nul
|
|
goto:quickskip2
|
|
:quickskip
|
|
|
|
|
|
|
|
if /i "%ThemeSelection:~-4%" NEQ ".csm" goto:quickskip
|
|
echo.
|
|
echo Copying theme: "%ThemeSelection%"
|
|
|
|
copy /y "%ThemeSelection%" "%nandpath%"\title\00000001\00000002\content\%SMTHEMEAPP%.app>nul
|
|
IF %ERRORLEVEL% EQU 0 echo Copied theme: "%ThemeSelection%" >>"%nandpath%\nandinfo.txt"
|
|
IF %ERRORLEVEL% NEQ 0 echo Failed to copy theme: "%ThemeSelection%" >>"%nandpath%\nandinfo.txt"
|
|
goto:quickskip2
|
|
:quickskip
|
|
|
|
|
|
|
|
|
|
if /i "%ThemeSelection:~-4%" NEQ ".mym" goto:quickskip2
|
|
|
|
if /i "%SNKVERSION%" EQU "V" (set SNKVERSION2=4.3) else (set SNKVERSION2=%SNKVERSION%)
|
|
if /i "%SNKVERSION%" EQU "V" (set SNKREGION2=%SNKREGION%_vWii) else (set SNKREGION2=%SNKREGION%)
|
|
::set dlname=00000022_4.3E_vWii.app
|
|
::set dlname=0000007b_4.1U.app
|
|
|
|
echo.
|
|
echo Building %SNKVERSION2%%SNKREGION2% csm from: "%ThemeSelection%"
|
|
|
|
if not exist "temp\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app" echo Failed to download %SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app to build theme >>"%nandpath%\nandinfo.txt"
|
|
if not exist "temp\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app" (echo Failed to download %SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app to build theme) & (goto:quickskip2)
|
|
|
|
call Support\subscripts\dependency.bat themewii
|
|
if /i "%dependency%" EQU "F" echo Failed to download themewii.exe to build %SNKVERSION2%%SNKREGION2% theme: "%ThemeSelection%" >>"%nandpath%\nandinfo.txt"
|
|
if /i "%dependency%" EQU "F" goto:quickskip2
|
|
|
|
call Support\subscripts\dependency.bat spin
|
|
if /i "%dependency%" EQU "F" echo Failed to download spin effect mym to build %SNKVERSION2%%SNKREGION2% theme: "%ThemeSelection%" >>"%nandpath%\nandinfo.txt"
|
|
if /i "%dependency%" EQU "F" goto:quickskip2
|
|
|
|
if /i "%effect%" EQU "No-Spin" set mym2=optional_non_spinning_outline.mym
|
|
if /i "%effect%" EQU "Spin" set mym2=optional_spinning_outline_.mym
|
|
if /i "%effect%" EQU "Fast-Spin" set mym2=optional_fast_spinning_outline.mym
|
|
|
|
cd /d temp\themewii
|
|
themewii.exe "%ThemeSelection%" "..\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app" "..\temp1.csm"
|
|
themewii.exe "..\%mym2%" "..\temp1.csm" "..\temp.csm"
|
|
cd ..\..
|
|
echo.
|
|
::%WiiPy% theme mym "%ThemeSelection%" "temp\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app" "temp\temp1.csm"
|
|
::%WiiPy% theme mym "temp\%mym2%" "temp\temp1.csm" "temp\temp.csm"
|
|
::if /i "%errorlevel%" NEQ "0" if exist "temp\temp.csm" del "temp\temp.csm">nul
|
|
|
|
if exist "temp\temp1.csm" del "temp\temp1.csm">nul
|
|
if exist "temp\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app" del "temp\themes\%SMTHEMEAPP%_%SNKVERSION2%%SNKREGION2%.app">nul
|
|
|
|
if not exist "temp\temp.csm" echo Failed to build %SNKVERSION2%%SNKREGION2% csm
|
|
if not exist "temp\temp.csm" echo Failed to build %SNKVERSION2%%SNKREGION2% csm from: "%ThemeSelection%" >>"%nandpath%\nandinfo.txt"
|
|
if not exist "temp\temp.csm" goto:quickskip2
|
|
|
|
move /y "temp\temp.csm" "%nandpath%"\title\00000001\00000002\content\%SMTHEMEAPP%.app>nul
|
|
IF %ERRORLEVEL% EQU 0 echo Applied %SNKVERSION2%%SNKREGION2% theme with %effect% effect from: "%ThemeSelection%" >>"%nandpath%\nandinfo.txt"
|
|
IF %ERRORLEVEL% NEQ 0 echo Failed to apply %SNKVERSION2%%SNKREGION2% theme: "%ThemeSelection%" >>"%nandpath%\nandinfo.txt"
|
|
::goto:quickskip2
|
|
:::quickskip
|
|
|
|
:quickskip2
|
|
|
|
|
|
|
|
if exist temp\themes rd /s /q temp\themes
|
|
if exist temp\WAD rd /s /q temp\WAD
|
|
|
|
|
|
::disable wbfs and games folder creation for now
|
|
goto:notDI
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:skip
|
|
::---------if building uneek+di or sneek+di add games\wbfs folder to usb---------
|
|
if /i "%SNEEKTYPE:~1,1%" NEQ "D" goto:notDI
|
|
if not exist "%DRIVEU%\games" mkdir "%DRIVEU%\games" >nul
|
|
if /i "%neek2o%" EQU "off" goto:notDI
|
|
if not exist "%DRIVEU%\WBFS" mkdir "%DRIVEU%\WBFS" >nul
|
|
:notDI
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 70
|
|
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" goto:skip
|
|
::---------building cdf.vff----------
|
|
echo.
|
|
echo Building cdb.vff to speed up the time required to launch s\uneek the first time
|
|
|
|
if exist temp\cdb.vff goto:nobuild
|
|
fsutil file createnew temp\cdb.vff 20971520>nul
|
|
support\sfk setbytes "temp\cdb.vff" 0x0 0x56464620FEFF0100014000000020 -yes>nul
|
|
support\sfk setbytes "temp\cdb.vff" 0x20 0xF0FFFFFF -yes>nul
|
|
support\sfk setbytes "temp\cdb.vff" 0x14020 0xF0FFFFFF -yes>nul
|
|
:nobuild
|
|
|
|
if exist temp\cdb.vff copy /y temp\cdb.vff "%nandpath%"\title\00000001\00000002\data\cdb.vff>nul
|
|
|
|
:skip
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 80
|
|
|
|
|
|
if /i "%PRIIFOUND%" EQU "Yes" goto:skipSNKpri
|
|
if /i "%SNKPRI%" NEQ "Y" goto:skipSNKpri
|
|
echo.
|
|
echo Downloading Priiloader for Emulated NANDs
|
|
echo.
|
|
|
|
if /i "%AUSKIP%" EQU "OFF" support\wget --no-check-certificate -t 3 "https://raw.githubusercontent.com/modmii/modmii.github.io/master/temp/EmuPriiloader.zip" -q --show-progress
|
|
if /i "%AUSKIP%" EQU "OFF" goto:skip
|
|
|
|
if not exist temp\EmuPriiloader.zip support\wget --no-check-certificate -t 3 "https://raw.githubusercontent.com/modmii/modmii.github.io/master/temp/EmuPriiloader.zip" -q --show-progress
|
|
::Priiloader-v0.7neek.app is a mirror of: https://sourceforge.net/projects/neek2o/files/priiloader.app/download?use_mirror=master&download=&failedmirror=master.dl.sourceforge.net
|
|
:skip
|
|
|
|
if exist EmuPriiloader.zip move /Y EmuPriiloader.zip temp\EmuPriiloader.zip>nul
|
|
|
|
if not exist temp\EmuPriiloader.zip (echo Failed to Install Priiloader >>"%nandpath%\nandinfo.txt") & (goto:skipSNKpri)
|
|
|
|
echo Priiloader Installed >>"%nandpath%\nandinfo.txt"
|
|
|
|
support\7za x -aoa "temp\EmuPriiloader.zip" -o"%nandpath%" -r
|
|
|
|
move /y "%nandpath%\title\00000001\00000002\content\%SMAPP%.app" "%nandpath%\title\00000001\00000002\content\1%SMAPP:~1%.app" >nul
|
|
move /Y "%nandpath%\title\00000001\00000002\content\000000Priiloader.app" "%nandpath%\title\00000001\00000002\content\%SMAPP%.app" >nul
|
|
|
|
::if not exist "%nandpath%"\title\00000001\00000002\data mkdir "%nandpath%"\title\00000001\00000002\data >nul
|
|
::move /Y temp\hacks.ini "%nandpath%"\title\00000001\00000002\data\hacks.ini >nul
|
|
::move /Y temp\hacks_hash.ini "%nandpath%"\title\00000001\00000002\data\hackshas.ini >nul
|
|
|
|
if /i "%SNKFLOW%" NEQ "Y" goto:skipSNKpri
|
|
|
|
echo Adding WiiFlow forwarder dol to Priiloader's installed file.
|
|
echo.
|
|
|
|
if exist temp\Priiloader-Forwader-Loader-BWFA.dol move /y temp\Priiloader-Forwader-Loader-BWFA.dol "%nandpath%"\title\00000001\00000002\data\main.bin>nul
|
|
|
|
:skipSNKpri
|
|
|
|
if /i "%SNKFLOW%" EQU "Y" echo WiiFlow Forwarder Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
|
|
|
|
if /i "%uninstallprii%" NEQ "yes" goto:skippriiuninstall
|
|
echo.
|
|
echo Removing Priiloader from emulated NAND
|
|
echo.
|
|
move /y "%nandpath%\title\00000001\00000002\content\1%SMAPP:~1%.app" "%nandpath%\title\00000001\00000002\content\%SMAPP%.app" >nul
|
|
if exist "%nandpath%"\title\00000001\00000002\data\hacks.ini del "%nandpath%"\title\00000001\00000002\data\hacks.ini >nul
|
|
if exist "%nandpath%"\title\00000001\00000002\data\hackshas.ini del "%nandpath%"\title\00000001\00000002\data\hackshas.ini >nul
|
|
if exist "%nandpath%"\title\00000001\00000002\data\main.bin del "%nandpath%"\title\00000001\00000002\data\main.bin >nul
|
|
|
|
echo Priiloader Uninstalled >>"%nandpath%\nandinfo.txt"
|
|
|
|
:skippriiuninstall
|
|
|
|
|
|
::add extra info to "%nandpath%\nandinfo.txt"
|
|
|
|
::if not exist "%nandpath%\title\00010001\4e4b324f\content\00000001.app" goto:skip
|
|
if /i "%SNKnswitch%" EQU "Y" echo nSwitch Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
:::skip
|
|
if /i "%SNKOHBC%" EQU "Y" echo Homebrew Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%SNKPLC%" EQU "Y" echo postLoader Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%SNKCIOS%" EQU "Y" echo cIOS249 rev14 Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%SNKS2U%" EQU "Y" echo Switch2Uneek Forwarder Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%PIC%" EQU "Y" echo Photo Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%NET%" EQU "Y" echo Internet Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%WEATHER%" EQU "Y" echo Weather Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%NEWS%" EQU "Y" echo News Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%MIIQ%" EQU "Y" echo Mii Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%Shop%" EQU "Y" echo Shopping Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
if /i "%Speak%" EQU "Y" echo Wii Speak Channel Installed >>"%nandpath%\nandinfo.txt"
|
|
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "5" goto:skipthis
|
|
if /i "%BCtype%" EQU "BC" goto:skipthis
|
|
if /i "%BCtype%" EQU "NONE" goto:skipthis
|
|
|
|
::Old DML is uninstalled when detected
|
|
if /i "%SNKcBC%" NEQ "DML" goto:continue
|
|
if /i "%BCtype%" EQU "DML" echo Outdated DML uninstalled from Emulated NAND >>"%nandpath%\nandinfo.txt"
|
|
if /i "%BCtype%" EQU "DML" goto:skipthis
|
|
|
|
:continue
|
|
if /i "%BCtype%" EQU "%SNKcBC%" goto:skipthis
|
|
|
|
echo %BCTYPE% Uninstalled >>"%nandpath%\nandinfo.txt"
|
|
:skipthis
|
|
|
|
if /i "%BCtype%" EQU "NMM" goto:noNMM
|
|
if /i "%SNKcBC%" EQU "NMM" echo NMM (No More Memory-Cards) Installed >>"%nandpath%\nandinfo.txt"
|
|
:noNMM
|
|
|
|
if /i "%BCtype%" EQU "DML" goto:noDML
|
|
if /i "%SNKcBC%" EQU "DML" echo DML WAD (install to real NAND) >>"%nandpath%\nandinfo.txt"
|
|
:noDML
|
|
|
|
|
|
IF not "%addwadfolder%"=="" echo Custom Folder of WADs Installed: "%addwadfolder%" >>"%nandpath%\nandinfo.txt"
|
|
|
|
|
|
if exist temp\Priiloader-Forwader-Loader-BWFA.dol del temp\Priiloader-Forwader-Loader-BWFA.dol>nul
|
|
|
|
copy /y temp\ModMii_Log.bat temp\ModMii_Log_SNK.bat>nul
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 100
|
|
|
|
::small pause
|
|
::@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
|
|
goto:finishsneekinstall
|
|
|
|
|
|
|
|
|
|
::----------------------------------SNEEK INSTALL FINISH------------------------------------
|
|
:finishsneekinstall
|
|
|
|
|
|
::RESTORE DRIVE SETTINGS
|
|
set "DRIVE=%REALDRIVE%"
|
|
|
|
::if /i "%SNEEKSELECT%" EQU "1" goto:finishsneekinstall3
|
|
|
|
::clear download queue
|
|
set MENUREAL=S
|
|
goto:CLEAR
|
|
|
|
:finishsneekinstall2
|
|
set MENU1=1
|
|
|
|
::queue up files that need to TRULY be saved to %Drive%
|
|
|
|
if /i "%SNKnswitch%" EQU "Y" (set nSwitch=*) & (set yawm=*)
|
|
::if /i "%SNKS2U%" NEQ "Y" (set nSwitch=*) & (set yawm=*)
|
|
::if /i "%nswitchFound%" EQU "Yes" (set nSwitch=) & (set yawm=)
|
|
|
|
if /i "%SNKS2U%" EQU "Y" (set S2U=*) & (set yawm=*)
|
|
if /i "%SNKcBC%" EQU "DML" (set DML=*) & (set yawm=*)
|
|
|
|
if /i "%SNKFLOW%" EQU "Y" set FLOW=*
|
|
if /i "%SNKPLC%" EQU "Y" set PL=*
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" (set nSwitch=) & (set yawm=) & (goto:Download)
|
|
|
|
::only go to DLCOUNT if there are more downloads
|
|
if /i "%yawm%" EQU "*" goto:DLCOUNT
|
|
if /i "%FLOW%" EQU "*" goto:DLCOUNT
|
|
if /i "%PL%" EQU "*" goto:DLCOUNT
|
|
|
|
|
|
:finishsneekinstall3
|
|
|
|
::check for errors - do not do if ONLY installing sneek
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:nocheck
|
|
|
|
if exist temp\ModMii_Log_SNK.bat del temp\ModMii_Log_SNK.bat>nul
|
|
|
|
if not exist "temp\ModMii_Log.bat" (set problematicDLs=0) & (goto:nocounting)
|
|
|
|
support\sfk -spat filter -quiet "temp\ModMii_Log.bat" -rep _\x22__ -write -yes
|
|
|
|
::count # of problematic downloads
|
|
support\sfk filter -quiet "temp\ModMii_Log.bat" -+"[%redtext%]" -write -yes
|
|
set problematicDLs=0
|
|
for /f %%a in (temp\ModMii_Log.bat) do set /a problematicDLs+=1
|
|
:nocounting
|
|
|
|
if /i "%problematicDLs%" EQU "0" (set snksuccess=Successfully) else (set snksuccess=)
|
|
|
|
if /i "%problematicDLs%" EQU "0" (set snkfailure=) else (set snkfailure= but with errors)
|
|
|
|
if /i "%SKINmode%" EQU "Y" goto:noaudio
|
|
if /i "%AudioOption%" NEQ "on" goto:noaudio
|
|
if /i "%problematicDLs%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
:noaudio
|
|
|
|
:nocheck
|
|
|
|
if /i "%SKINmode%" EQU "Y" goto:noaudio
|
|
if /i "%SNEEKSELECT%" NEQ "1" goto:noaudio
|
|
if /i "%AudioOption%" NEQ "on" goto:noaudio
|
|
start support\nircmd.exe mediaplay 3000 "%Success.mp3%"
|
|
:noaudio
|
|
|
|
if /i "%cmdlinemode%" EQU "Y" goto:problemlog
|
|
|
|
set MENUREAL=
|
|
|
|
cls
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:notabstinence
|
|
if /i "%FIRMSTART%" NEQ "o" echo Abstinence Wizard for %FIRMSTART%%REGION%
|
|
if /i "%FIRMSTART%" EQU "o" echo Abstinence Wizard for ^<2.2%REGION%
|
|
echo.
|
|
:notabstinence
|
|
|
|
::both sneek install and nand build
|
|
if /i "%SNEEKSELECT%" NEQ "3" goto:skip
|
|
if /i "%neek2o%" EQU "on" goto:neek2o3report
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo %snksuccess% installed SNEEK+DI rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo %snksuccess% installed UNEEK+DI rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo %snksuccess% installed SNEEK rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo %snksuccess% installed UNEEK rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
goto:skip
|
|
|
|
:neek2o3report
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo %snksuccess% installed SNEEK+DI neek2o rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo %snksuccess% installed UNEEK+DI neek2o rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo %snksuccess% installed SNEEK neek2o rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo %snksuccess% installed UNEEK neek2o rev%CurrentRev% and built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
:skip
|
|
|
|
::only install sneek
|
|
if /i "%SNEEKSELECT%" NEQ "1" goto:skip
|
|
if /i "%neek2o%" EQU "on" goto:neek2o1report
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo Successfully installed SNEEK+DI rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo Successfully installed UNEEK+DI rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo Successfully installed UNEEK rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo Successfully installed SNEEK rev%CurrentRev%
|
|
goto:skip
|
|
|
|
:neek2o1report
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo Successfully installed SNEEK+DI neek2o rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo Successfully installed UNEEK+DI neek2o rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo Successfully installed UNEEK neek2o rev%CurrentRev%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo Successfully installed SNEEK neek2o rev%CurrentRev%
|
|
|
|
:skip
|
|
|
|
|
|
|
|
|
|
|
|
::only build nand
|
|
if /i "%SNEEKSELECT%" NEQ "2" goto:skip
|
|
if /i "%SNEEKTYPE%" EQU "SD" echo %snksuccess% Built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "UD" echo %snksuccess% Built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "U" echo %snksuccess% Built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
if /i "%SNEEKTYPE%" EQU "S" echo %snksuccess% Built a %SNKVERSION%%SNKREGION% Emulated Nand%snkfailure%
|
|
:skip
|
|
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" echo Emulated Nand has been modified %snkfailure%
|
|
|
|
|
|
:problemlog
|
|
::list problematic Download
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:noproblems
|
|
if /i "%problematicDLs%" EQU "0" goto:noproblems
|
|
|
|
if /i "%cmdlinemode%" NEQ "Y" echo.
|
|
if /i "%cmdlinemode%" NEQ "Y" echo The following file(s) failed to download properly:
|
|
if /i "%cmdlinemode%" NEQ "Y" call temp\ModMii_Log.bat
|
|
|
|
support\sfk filter -quiet "temp\ModMii_Log.bat" -rep _[%redtext%]__ -rep _[def]__ -rep _"support\sfk echo "__ -rep _"echo "__ >temp\ModMii_Log_temp.txt
|
|
|
|
echo ------ >>"%nandpath%\nandinfo.txt"
|
|
echo Errors >>"%nandpath%\nandinfo.txt"
|
|
echo ------ >>"%nandpath%\nandinfo.txt"
|
|
|
|
if exist "temp\nandinfo.txt" del "temp\nandinfo.txt">nul
|
|
copy "%nandpath%\nandinfo.txt"+"temp\ModMii_Log_temp.txt" "temp\nandinfo.txt">nul
|
|
move /y "temp\nandinfo.txt" "%nandpath%\nandinfo.txt">nul
|
|
:noproblems
|
|
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:notcmdfinish
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
|
|
|
|
if /i "%problematicDLs%" EQU "0" exit
|
|
support\sfk filter -quiet "temp\ModMii_Log.bat" -rep _"support\sfk echo "__ -rep _"echo "__ -rep _"[%redtext%]"__ -rep _"[%yellowtext%]"__ -write -yes
|
|
move /y "temp\ModMii_Log.bat" "temp\ModMii_CMD_LINE_Log_Errors.txt">nul
|
|
if /i "%SKINmode%" NEQ "Y" start notepad "temp\ModMii_CMD_LINE_Log_Errors.txt"
|
|
if /i "%SKINmode%" EQU "Y" start support\wizapp PB CLOSE
|
|
exit
|
|
:notcmdfinish
|
|
|
|
echo.
|
|
|
|
|
|
if /i "%SNEEKSELECT%" EQU "5" (echo Press any key to return to the Main Menu.) & (pause>nul) & (goto:MENU)
|
|
|
|
|
|
if /i "%SNEEKSELECT%" NEQ "2" goto:skip
|
|
if /i "%SNEEKTYPE%" EQU "U" goto:skipsdmsg
|
|
if /i "%SNEEKTYPE%" EQU "UD" goto:skipsdmsg
|
|
:skip
|
|
echo * Make sure the contents of "%DRIVE%" is saved to your FAT32 SD Card
|
|
:skipsdmsg
|
|
|
|
if /i "%SNEEKTYPE%" EQU "UD" goto:UDRIVEMSG
|
|
if /i "%SNEEKTYPE%" NEQ "U" goto:skipUDRIVEMSG
|
|
:UDRIVEMSG
|
|
echo * Make sure the contents of "%DRIVEU%" is saved to your FAT32 Hard Drive
|
|
:skipUDRIVEMSG
|
|
|
|
|
|
echo.
|
|
echo CUSTOMIZED NOTES FOR YOUR BUILD OF NEEK:
|
|
echo.
|
|
echo * When launching any form of SNEEK for the first time, it could take a long time
|
|
echo to load the System Menu, but it will be much quicker the second time around.
|
|
echo.
|
|
echo * If you experience issues make sure your device is formatted as FAT32,
|
|
echo MBR (not GPT) and the drive is set to primary (not logical).
|
|
echo ModMii's USB-Loader Setup Wizard can help with FAT32 and MBR.
|
|
echo.
|
|
echo * If you have problems loading your Emulated NAND, copy cert.sys
|
|
echo from an original nand dump to your emulated nand's sys folder.
|
|
echo.
|
|
echo * You can manually override Bootmii to launch neek by renaming
|
|
echo your BootmiiNeek folder to SD:\Bootmii and launching "Bootmii"
|
|
echo.
|
|
echo * You can launch uneek (or uneek+DI) without requiring an SD Card
|
|
echo using USB-Loader GX or nswitch. GX also has an option to copy
|
|
echo a console's SYSCONF into your current emuNAND (channel) path,
|
|
echo so if you add new controllers or a balance board to your NAND,
|
|
echo use the copy SYSCONF feature also add it to your EmuNAND.
|
|
echo.
|
|
echo * SD:\Bootmii is not required to launch neek from USB-Loader GX or nswitch.
|
|
echo If you use either of these, you can have both SNEEK and UNEEK at
|
|
echo the same time (with or without DI). ModMii will detect SNEEK when
|
|
echo installing UNEEK and vice versa and ask if you want to overwrite SD files.
|
|
echo For dual boot you will want only SNEEK files on SD and only UNEEK files on USB.
|
|
echo The version of NEEK that will GX will load is based on your EmuNAND
|
|
echo location in USB-Loader GX's settings: Sneek if on SD, and Uneek if on USB.
|
|
echo.
|
|
|
|
|
|
if /i "%SNKnswitch%" NEQ "Y" goto:quickskip
|
|
echo * Install the neek2o (nSwitch) WAD\channel then launch the channel in order to
|
|
echo start NEEK. You can also use this channel to return to your real NAND.
|
|
echo.
|
|
:quickskip
|
|
|
|
if /i "%SNKS2U%" NEQ "Y" goto:quickskip
|
|
echo * Access UNEEK/UNEEK+DI by launching switch2uneek from the HBC.
|
|
echo Alternatively, can use YAWM ModMii Edition to install the
|
|
echo switch2uneek forwarder channel that ModMii saved to your SD card.
|
|
echo.
|
|
:quickskip
|
|
|
|
if /i "%SNKcBC%" NEQ "DML" goto:skipDMLmsg
|
|
echo * Install the DML WAD using YAWM ModMii Edition to your REAL NAND
|
|
echo in order for your Emulated NAND to use DML. DML currently
|
|
echo requires SNEEK+DI r157 or higher and neek2o has yet to support DML.
|
|
echo.
|
|
:skipDMLmsg
|
|
|
|
|
|
|
|
if /i "%SNEEKTYPE%" EQU "S" goto:skipDIComments
|
|
if /i "%SNEEKTYPE%" EQU "U" goto:skipDIComments
|
|
|
|
if /i "%neek2o%" EQU "on" goto:skipDiscexWarning
|
|
echo * Warning: you have disabled ModMii's neek2o option and have built a DI
|
|
echo version of the original neek instead. At least 1 game must be saved to
|
|
echo your usb:/games folder in extracted neek format or DI freezes and
|
|
echo neek+di will not boot.
|
|
echo.
|
|
:skipDiscexWarning
|
|
|
|
echo * To add Games to the Game/DI Menu, you can use ModMii, WiiBackupManager
|
|
echo or wit.exe to extract Games in neek format to your FAT32 USB Hard Drive.
|
|
if /i "%neek2o%" EQU "on" echo neek2o is also able to load standard game file formats from USB:\WBFS.
|
|
echo.
|
|
|
|
|
|
echo * When using SNEEK+DI or UNEEK+DI, you can access the Game/DI Menu
|
|
echo by pressing "1" on the Wiimote. To access other settings
|
|
echo (including Region Options), you must press "+" from within the DI Menu.
|
|
echo.
|
|
|
|
:skipDIComments
|
|
echo * Access neek settings by pressing "2" on the Wiimote while in
|
|
echo the emulated system menu.
|
|
echo.
|
|
echo * Both ModMii and ShowMiiWads can be used to decrypt your real
|
|
echo Wii's Bootmii NAND dump (nand.bin) to use as an emulated NAND,
|
|
echo and they can add custom channels/WADs to an emulated NAND.
|
|
echo ShowMiiWads is available on ModMii Classic's Download Page 5.
|
|
echo.
|
|
echo * For more SNEEK info, like formatting a USB Hard Drive for SNEEK,
|
|
echo you can visit: tiny.cc/SNEEK-DI
|
|
echo.
|
|
|
|
|
|
|
|
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:notcmdfinish
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
echo After Reviewing Your Tips - Press Any Key to Exit
|
|
pause>nul
|
|
exit
|
|
:notcmdfinish
|
|
|
|
if /i "%SNEEKSELECT%" EQU "1" goto:miniskip
|
|
if /i "%SNEEKSELECT%" EQU "4" goto:miniskip
|
|
if exist "%nandpath%\nandinfo.txt" start notepad "%nandpath%\nandinfo.txt"
|
|
:miniskip
|
|
|
|
|
|
|
|
echo Press any key to return to the Main Menu.
|
|
pause>nul
|
|
echo.
|
|
echo Are you sure^? Make sure you have read or copied these notes^!
|
|
echo Press any key again to return to the Main Menu.
|
|
pause>nul
|
|
|
|
goto:MENU
|
|
|
|
|
|
|
|
|
|
|
|
::.........................................FINISH / Verify..................................
|
|
:FINISH
|
|
|
|
if exist temp\DLnames.txt del temp\DLnames.txt>nul
|
|
if exist temp\DLgotos.txt del temp\DLgotos.txt>nul
|
|
|
|
set played=
|
|
|
|
if /i "%MENU1%" EQU "S" goto:wad2nand
|
|
|
|
|
|
|
|
:FINISH2
|
|
|
|
if /i "%MENUREAL%" EQU "S" goto:finishsneekinstall3
|
|
|
|
|
|
if /i "%DB%" EQU "C" goto:donecounting
|
|
if not exist temp\ModMii_Log.bat goto:donecounting
|
|
support\sfk -spat filter -quiet "temp\ModMii_Log.bat" -rep _\x22__ -write -yes
|
|
|
|
::count # of problematic downloads
|
|
copy /y "temp\ModMii_Log.bat" "temp\ModMii_Log_Red.bat">nul
|
|
support\sfk filter -quiet "temp\ModMii_Log_Red.bat" -+"[%redtext%]" -write -yes
|
|
set problematicDLs=0
|
|
for /f %%a in (temp\ModMii_Log_Red.bat) do set /a problematicDLs+=1
|
|
del "temp\ModMii_Log_Red.bat">nul
|
|
:donecounting
|
|
|
|
|
|
|
|
::check ACTUAL drive letter
|
|
::SD
|
|
if /i "%DRIVE:~1,1%" NEQ ":" (set ActualDrive=%cd:~0,2%) else (set ActualDrive=%DRIVE:~0,2%)
|
|
if /i "%ActualDrive%" EQU "%cd:~0,2%" (set DrivesNeedingFreeSpace=%ActualDrive%) else (set DrivesNeedingFreeSpace=%ActualDrive% and %cd:~0,2%)
|
|
|
|
|
|
::USB
|
|
if /i "%USBCONFIG%" NEQ "USB" goto:skip
|
|
if /i "%DRIVEU:~1,1%" NEQ ":" (set ActualDriveU=%cd:~0,2%) else (set ActualDriveU=%DRIVEU:~0,2%)
|
|
if /i "%ActualDriveU%" EQU "%cd:~0,2%" goto:skip
|
|
if /i "%ActualDriveU%" EQU "%ActualDrive%" goto:skip
|
|
set DrivesNeedingFreeSpace=%DrivesNeedingFreeSpace% and %ActualDriveU%
|
|
:skip
|
|
|
|
if /i "%DB%" EQU "C" goto:noaudio
|
|
if /i "%SKINmode%" EQU "Y" goto:noaudio
|
|
if /i "%AudioOption%" NEQ "on" goto:noaudio
|
|
if /i "%played%" EQU "yes" goto:noaudio
|
|
if /i "%problematicDLs%" EQU "0" (start support\nircmd.exe mediaplay 3000 "%Success.mp3%") else (start support\nircmd.exe mediaplay 3000 "%Fail.mp3%")
|
|
set played=yes
|
|
:noaudio
|
|
|
|
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\" goto:skip
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii.lnk" support\nircmd.exe shortcut "%cd%\ModMii.exe" "~$folder.programs$\ModMii" "ModMii"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\ModMii Skin.lnk" support\nircmd.exe shortcut "%cd%\ModMiiSkin.exe" "~$folder.programs$\ModMii" "ModMii Skin"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Uninstall.lnk" support\nircmd.exe shortcut "%cd%\Uninstall.exe" "~$folder.programs$\ModMii" "Uninstall"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Website & Help.lnk" support\nircmd.exe shortcut "https://modmii.github.io" "~$folder.programs$\ModMii" "Website & Help"
|
|
if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\ModMii\Open ModMii Folder.lnk" support\nircmd.exe shortcut "%windir%\explorer.exe" "~$folder.programs$\ModMii" "Open ModMii Folder" "%cd%\"
|
|
:skip
|
|
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:notcmdfinish
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
|
|
if /i "%problematicDLs%" EQU "0" echo * %DLTOTAL% file(s) downloaded succcessfully>>temp\ModMii_Log.bat
|
|
if /i "%problematicDLs%" EQU "0" goto:noproblemscmd
|
|
echo * %problematicDLs% of %DLTOTAL% file(s) are Invalid, Missing or were Not Updated properly>>temp\ModMii_Log.bat
|
|
:noproblemscmd
|
|
|
|
support\sfk filter -quiet "temp\ModMii_Log.bat" -rep _"support\sfk echo "__ -rep _"echo "__ -rep _"[%redtext%]"__ -rep _"[%yellowtext%]"__ -write -yes
|
|
move /y "temp\ModMii_Log.bat" "temp\ModMii_CMD_LINE_Log.txt">nul
|
|
|
|
if /i "%SKINmode%" EQU "Y" (start support\wizapp PB CLOSE) & (exit)
|
|
if /i "%problematicDLs%" NEQ "0" start notepad "temp\ModMii_CMD_LINE_Log.txt"
|
|
exit
|
|
:notcmdfinish
|
|
|
|
|
|
|
|
cls
|
|
|
|
echo ModMii v%currentversion%
|
|
echo by XFlak
|
|
echo.
|
|
if /i "%DB%" EQU "N" echo DOWNLOAD LOG
|
|
if /i "%DB%" EQU "C" echo DOWNLOAD LOG - Custom Log
|
|
echo.
|
|
|
|
::disable md5 stuff
|
|
goto:SkipCustomCheck
|
|
If not exist Custom.md5 goto:SkipCustomCheck
|
|
if /i "%DB%" NEQ "C" goto:SkipCustomCheck
|
|
support\fvc -x -v Custom.md5
|
|
:SkipCustomCheck
|
|
|
|
if /i "%DB%" NEQ "N" goto:miniskip
|
|
if exist temp\ModMii_Log.bat (call temp\ModMii_Log.bat)
|
|
:miniskip
|
|
|
|
if /i "%DB%" EQU "C" goto:skipcopytoSDmsg
|
|
|
|
echo.
|
|
|
|
|
|
if /i "%problematicDLs%" NEQ "0" goto:problems
|
|
support\sfk echo -spat \x20 \x20[%greentext%]* %DLTOTAL% file\x28s\x29 downloaded succcessfully
|
|
|
|
if /i "%MENU1%" EQU "W" goto:showme
|
|
if /i "%MENU1%" EQU "H" goto:showme
|
|
if /i "%MENU1%" EQU "U" goto:showme
|
|
if /i "%MENU1%" EQU "SU" goto:showme
|
|
if /i "%MENU1%" EQU "RC" goto:showme
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:showme
|
|
goto:dontshow
|
|
|
|
:showme
|
|
support\sfk echo -spat \x20 \x20 [%greentext%] You should now follow your custom generated ModMii guide.
|
|
:dontshow
|
|
goto:noproblems
|
|
|
|
|
|
|
|
|
|
:problems
|
|
support\sfk echo -spat \x20 \x20[%redtext%]* %problematicDLs% of %DLTOTAL% file\x28s\x29 are Invalid, Missing or were Not Updated properly
|
|
echo.
|
|
echo * Make sure you have free space here: %DrivesNeedingFreeSpace%
|
|
echo Check internet connection (try disabling firewall/bypasing proxy if applicable)
|
|
support\sfk echo -spat \x20 \x20 [%redtext%] Enter \x22R\x22 to repeat download before proceeding with your ModMii guide.
|
|
goto:skipcopytoSDmsg
|
|
|
|
:noproblems
|
|
if /i "%USBCONFIG%" EQU "USB" goto:skipcopytoSDmsg
|
|
echo.
|
|
|
|
echo * Make sure the contents of "%DRIVE%" is saved to your FAT32 SD Card
|
|
echo.
|
|
echo * Most homebrew (except Bootmii ^& Sneek) also work if copied
|
|
echo to a FAT32 Hard Drive and plugged into USB Port0
|
|
echo.
|
|
echo * If you don't have an SD Card or a Hard Drive you can still load apps
|
|
echo (dol\elf files) or install WADs to your Wii via the internet by opening
|
|
echo them with ModMii or via drag and drop
|
|
:skipcopytoSDmsg
|
|
|
|
::Warning message for 2x Bannerbomb DLs
|
|
if /i "%BB1%" NEQ "*" goto:no2xBB
|
|
if /i "%BB2%" NEQ "*" goto:no2xBB
|
|
echo.
|
|
echo Note: Bannerbomb v1 saved to "private" folder and Bannerbomb v2 saved to
|
|
echo "private2" folder. To use Bannerbomb v2 instead of v1 swap the
|
|
echo private folder names.
|
|
:no2xBB
|
|
|
|
|
|
echo.
|
|
if exist "%DRIVE%" echo O = Open File Location "%Drive%"
|
|
|
|
if /i "%DB%" NEQ "C" goto:miniskip
|
|
if exist custom.md5 echo L = Log: View custom.md5 to see which files were checked
|
|
:miniskip
|
|
|
|
if /i "%DLTOTAL%" EQU "0" goto:dltotaliszero
|
|
echo.
|
|
echo R = Repeat Download
|
|
echo S = Save Download Queue
|
|
:dltotaliszero
|
|
|
|
echo.
|
|
|
|
if /i "%DB%" EQU "N" goto:miniskip
|
|
if exist temp\ModMii_Log.bat echo N = Verify NEW Downloads only
|
|
:miniskip
|
|
if /i "%DB%" EQU "C" goto:miniskip
|
|
if exist Custom.md5 echo C = Verify Files against Custom.md5
|
|
:miniskip
|
|
|
|
if exist CUSTOM_COPY_TO_SD goto:tinyskip
|
|
if exist CUSTOM_COPY_TO_USB (goto:tinyskip) else (goto:nocustoms)
|
|
:tinyskip
|
|
echo.
|
|
if exist CUSTOM_COPY_TO_SD echo CC = Copy Contents of CUSTOM_COPY_TO_SD to "%Drive%"
|
|
if exist CUSTOM_COPY_TO_USB echo CCU = Copy Contents of CUSTOM_COPY_TO_USB to "%DriveU%"
|
|
:nocustoms
|
|
|
|
|
|
echo.
|
|
echo M = Main Menu
|
|
echo E = Exit
|
|
echo.
|
|
|
|
|
|
::RESTORE DRIVE SETTINGS for FC only
|
|
if /i "%MENU1%" NEQ "FC" goto:skip
|
|
set "DRIVETEMP=%DRIVE%"
|
|
if not "%REALDRIVE%"=="" set "DRIVE=%REALDRIVE%"
|
|
:skip
|
|
|
|
set FINISH="
|
|
set /p FINISH=Enter Selection Here:
|
|
set "FINISH=%FINISH:"=%"
|
|
|
|
if "%FINISH%"=="" goto:badkey
|
|
|
|
|
|
::REVERT DRIVE SETTINGS for FC only
|
|
if /i "%MENU1%" EQU "FC" set "DRIVE=%DRIVETEMP%"
|
|
|
|
|
|
if /i "%FINISH%" NEQ "CC" goto:miniskip
|
|
if not exist CUSTOM_COPY_TO_SD goto:miniskip
|
|
if not exist "%DRIVE%" mkdir "%DRIVE%" >nul
|
|
xcopy /y /e "CUSTOM_COPY_TO_SD" "%DRIVE%"
|
|
goto:FINISH2
|
|
:miniskip
|
|
|
|
if /i "%FINISH%" NEQ "CCU" goto:miniskip
|
|
if not exist CUSTOM_COPY_TO_USB goto:miniskip
|
|
if not exist "%DRIVEU%" mkdir "%DRIVEU%" >nul
|
|
xcopy /y /e "CUSTOM_COPY_TO_USB" "%DRIVEU%"
|
|
goto:FINISH2
|
|
:miniskip
|
|
|
|
|
|
if /i "%FINISH%" EQU "M" goto:MENU
|
|
if /i "%FINISH%" EQU "E" EXIT
|
|
|
|
if not exist "%DRIVE%" goto:drivedoesnotexist2
|
|
if /i "%FINISH%" EQU "O" explorer "%DRIVE%"
|
|
if /i "%FINISH%" EQU "O" goto:Finish2
|
|
:drivedoesnotexist2
|
|
|
|
if /i "%DB%" NEQ "C" goto:nolog
|
|
if not exist "custom.md5" goto:nolog
|
|
if /i "%FINISH%" EQU "L" start notepad "custom.md5"
|
|
if /i "%FINISH%" EQU "L" goto:Finish2
|
|
:nolog
|
|
|
|
if not exist Custom.md5 goto:skip
|
|
if /i "%FINISH%" EQU "C" SET DB=C
|
|
if /i "%FINISH%" EQU "C" goto:Finish2
|
|
:skip
|
|
|
|
if not exist temp\ModMii_Log.bat goto:skip
|
|
if /i "%FINISH%" EQU "N" SET DB=N
|
|
if /i "%FINISH%" EQU "N" goto:FINISH2
|
|
:skip
|
|
|
|
if /i "%DLTOTAL%" EQU "0" goto:dltotaliszero2
|
|
|
|
|
|
if /i "%FINISH%" EQU "R" copy /y "temp\DLgotos-copy.txt" "temp\DLgotos.txt">nul
|
|
if /i "%FINISH%" EQU "R" goto:DLSettings2
|
|
if /i "%FINISH%" EQU "S" (set beforesave=FINISH) & (goto:SaveDownloadQueue)
|
|
:dltotaliszero2
|
|
|
|
:badkey
|
|
echo You Have Entered an Incorrect Key
|
|
@ping 127.0.0.1 -n 2 -w 1000> nul
|
|
goto:FINISH2
|
|
|
|
::..........................DOWNLOAD SETTINGS................................
|
|
:DLSETTINGS
|
|
cls
|
|
|
|
set "REALDRIVE=%DRIVE%"
|
|
|
|
if /i "%MENU1%" EQU "W" goto:guide
|
|
if /i "%MENU1%" EQU "H" goto:guide
|
|
|
|
if /i "%MENU1%" NEQ "U" goto:miniskip
|
|
if /i "%USBCONFIG%" EQU "USB" set "DRIVE=%DRIVEU%"
|
|
goto:guide
|
|
:miniskip
|
|
|
|
if /i "%MENU1%" EQU "SU" goto:guide
|
|
if /i "%MENU1%" EQU "RC" goto:guide
|
|
|
|
if /i "%secondrun%" EQU "Y" goto:DLSETTINGS2
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:guide
|
|
|
|
:DLSETTINGS2
|
|
cls
|
|
if exist temp\ModMii_Log_SNK.bat goto:donotdeletelog
|
|
if exist temp\ModMii_Log.bat del temp\ModMii_Log.bat>nul
|
|
:donotdeletelog
|
|
SET CURRENTDL=0
|
|
|
|
|
|
:DLSETTINGS3
|
|
::clear a bunch of stuff
|
|
set name=
|
|
set wadname=
|
|
set dlname=
|
|
set ciosslot=
|
|
set ciosversion=
|
|
set md5=
|
|
set md5alt=
|
|
set basewad=none
|
|
set basewadb=none
|
|
set md5base=
|
|
set md5basealt=
|
|
set code1=
|
|
set code2=
|
|
set version=
|
|
set md5baseb=
|
|
set md5basebalt=
|
|
set code1b=
|
|
set code2b=
|
|
set path1=
|
|
set versionb=
|
|
set basecios=
|
|
set diffpath=
|
|
set code2new=
|
|
set lastbasemodule=
|
|
set category=
|
|
set wadnameless=
|
|
set patchname=
|
|
set slotname=
|
|
set slotcode=
|
|
set versionname=
|
|
set versioncode=
|
|
set DEC=
|
|
set VERFINAL=
|
|
set HEX=
|
|
set VER=
|
|
set wadfolder=
|
|
set verfinal=
|
|
set PATCHCODE=
|
|
set alreadyexists=
|
|
set patch=
|
|
set multiplefail=
|
|
set AdvancedDownload=
|
|
|
|
::delete if file is empty (if empty)
|
|
>nul findstr "^" "temp\DLgotos.txt" || del "temp\DLgotos.txt"
|
|
|
|
if not exist temp\DLgotos.txt goto:FINISH
|
|
|
|
::Loop through the following once for EACH line in *.txt
|
|
::for /F "tokens=*" %%A in (temp\DLgotos.txt) do call :processDLnext %%A
|
|
::goto:Finish
|
|
|
|
:processDLnext
|
|
|
|
set /p CurrentDLNAME= <temp\DLgotos.txt
|
|
|
|
::set CurrentDLNAME=%*
|
|
|
|
::if /i "%name:~0,17%" EQU "Advanced Download" set AdvancedDownload=Y
|
|
|
|
if /i "%CurrentDLNAME:~-4%" EQU ".bat" set AdvancedDownload=Y
|
|
if /i "%CurrentDLNAME:~-4%" EQU ".bat" call "Support\subscripts\ClearDB.bat"
|
|
if /i "%CurrentDLNAME:~-4%" EQU ".bat" call "%CurrentDLNAME%"
|
|
if /i "%CurrentDLNAME:~-4%" EQU ".bat" goto:downloadstart
|
|
|
|
call "Support\subscripts\DB.bat"
|
|
|
|
|
|
::goto:EOF
|
|
|
|
::cls
|
|
goto:downloadstart
|
|
|
|
|
|
|
|
::---------------------------EXPLOITS GUIDES------------------------------
|
|
:EXPLOITS
|
|
|
|
|
|
::check if only 1 exploit (since str2hax is always a secondary option, only happens if str2hax explicity selected. Unless on 4.3 then we'll make LetterBomb Secondary
|
|
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:skip
|
|
if /i "%EXPLOIT%" EQU "X" (copy /y "%Drive%\%guidename%"+Support\Guide\str2hax.001 "%Drive%\%guidename%">nul) & (goto:%afterexploit%)
|
|
:skip
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" (echo You only need to perform ONE of the these exploits to complete this guide.^<br^>^<br^> >>"%Drive%\%guidename%") & (goto:skipthispart)
|
|
|
|
::title for multiple exploits
|
|
|
|
echo ^<font size^=^"5^"^>^<b^>Launch an Exploit^<^/b^>^<^/font^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
If /i "%MENU1%" EQU "H" goto:startYawmME
|
|
|
|
::not hackmii solutions
|
|
If /i "%REGION%" NEQ "K" goto:skip
|
|
If /i "%FIRMSTART%" NEQ "4.3" goto:startYawmME
|
|
::not hackmii solutions and not korean start
|
|
:skip
|
|
|
|
|
|
echo You only need to perform ONE of the these exploits to complete this guide.^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%FIRMSTART%" NEQ "v" echo Note that if you're missing an SD Card or your SD Card reader is broken, you can use the str2hax exploit to install the HBC and skip installing Bootmii and making a nand backup for now until you get an SD Card.^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
goto:skipthispart
|
|
|
|
::korean start and Hackmii solutions
|
|
:startYawmME
|
|
echo You only need to perform ONE of the these exploits to complete this guide.^<br^>^<br^>Note that if you're missing an SD Card or your SD Card reader is broken, you cannot readily use the str2hax exploit to launch YAWM ModMii Edition.^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
:skipthispart
|
|
|
|
echo ^<div style^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
::For 3.0-4.2 make Bannerbomb primary, str2hax & WilbrandWeb secondary, copy script, and goto after
|
|
if /i "%FIRMSTART%" EQU "3.x" (echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Bannerbomb v1'^)^"^>Bannerbomb v1^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'str2hax'^)^"^>str2hax^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Wilbrand'^)^"^>Wilbrand^<^/button^>>>"%Drive%\%guidename%") & (goto:afterbuttons)
|
|
if /i "%FIRMSTART%" EQU "4.0" (echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Bannerbomb v1'^)^"^>Bannerbomb v1^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'str2hax'^)^"^>str2hax^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Wilbrand'^)^"^>Wilbrand^<^/button^>>>"%Drive%\%guidename%") & (goto:afterbuttons)
|
|
if /i "%FIRMSTART%" EQU "4.1" (echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Bannerbomb v1'^)^"^>Bannerbomb v1^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'str2hax'^)^"^>str2hax^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Wilbrand'^)^"^>Wilbrand^<^/button^>>>"%Drive%\%guidename%") & (goto:afterbuttons)
|
|
if /i "%FIRMSTART%" EQU "4.2" (echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Bannerbomb v2'^)^"^>Bannerbomb v2^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'str2hax'^)^"^>str2hax^<^/button^>>>"%Drive%\%guidename%") & (echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Wilbrand'^)^"^>Wilbrand^<^/button^>>>"%Drive%\%guidename%") & (goto:afterbuttons)
|
|
|
|
|
|
|
|
|
|
::make whatever was selected the primary
|
|
|
|
if /i "%FIRMSTART%" NEQ "v" goto:skip
|
|
if /i "%EXPLOIT%" EQU "?" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Browser Exploit'^)^"^>Browser Exploit^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "S" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Smash Stack'^)^"^>Smash Stack^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%EXPLOIT%" NEQ "W" goto:skip
|
|
if /i "%Wilbrand%" NEQ "*" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'LetterBomb'^)^"^>LetterBomb^<^/button^>>>"%Drive%\%guidename%"
|
|
if /i "%Wilbrand%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Wilbrand'^)^"^>Wilbrand^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
|
|
if /i "%EXPLOIT%" EQU "L" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Indiana Pwns'^)^"^>Indiana Pwns^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%EXPLOIT%" EQU "Y" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Yu-Gi Owned'^)^"^>Yu-Gi Owned^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%EXPLOIT%" EQU "LB" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Bathaxx'^)^"^>Bathaxx^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%EXPLOIT%" EQU "LS" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Return of the Jodi'^)^"^>Return of the Jodi^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%EXPLOIT%" EQU "TOS" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Eri HaKawai'^)^"^>Eri HaKawai^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%EXPLOIT%" EQU "T" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Twilight Hack'^)^"^>Twilight Hack^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
::str2hax primary if "all" exploits selected, unless MAC addy actually entered for Wilbrand, then make that primary cuz that took effort
|
|
if /i "%EXPLOIT%" EQU "?" goto:stay
|
|
if /i "%EXPLOIT%" EQU "X" (goto:stay) else (goto:skip)
|
|
:stay
|
|
|
|
if /i "%Wilbrand%" NEQ "*" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'str2hax'^)^"^>str2hax^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%Wilbrand%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--primary^" id^=^"defaultOpen^" style^=^"font-size^: x-large^;^" onclick=^"openTab^('ExploitTab', 'Wilbrand'^)^"^>Wilbrand^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
::str2hax secondary if "all" selected but mac addy entered
|
|
if /i "%Wilbrand%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'str2hax'^)^"^>str2hax^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
|
|
|
|
|
|
::str2hax secondary if exploit is NOT "all" OR "X"
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
if /i "%EXPLOIT%" EQU "?" goto:skip
|
|
if /i "%EXPLOIT%" NEQ "X" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'str2hax'^)^"^>str2hax^<^/button^>>>"%Drive%\%guidename%"
|
|
|
|
:skip
|
|
|
|
::fill in secondaries
|
|
|
|
|
|
if /i "%FIRMSTART%" NEQ "v" goto:skip
|
|
if /i "%EXPLOIT%" NEQ "?" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Browser Exploit'^)^"^>Browser Exploit^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
|
|
::wilbrand is never a secondary, if it's secondary Letterbomb used instead
|
|
|
|
::fill in secondaries
|
|
if /i "%FIRMSTART%" NEQ "4.3" goto:skip
|
|
if /i "%Wilbrand%" EQU "*" goto:skip
|
|
if /i "%EXPLOIT%" NEQ "W" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'LetterBomb'^)^"^>LetterBomb^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
|
|
if /i "%EXPLOIT%" EQU "S" goto:skip
|
|
If /i "%SMASH%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Smash Stack'^)^"^>Smash Stack^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
|
|
if /i "%EXPLOIT%" EQU "L" goto:skip
|
|
If /i "%PWNS%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Indiana Pwns'^)^"^>Indiana Pwns^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "Y" goto:skip
|
|
If /i "%YUGI%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Yu-Gi Owned'^)^"^>Yu-Gi Owned^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "LB" goto:skip
|
|
If /i "%Bathaxx%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Bathaxx'^)^"^>Bathaxx^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "LS" goto:skip
|
|
If /i "%ROTJ%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Return of the Jodi'^)^"^>Return of the Jodi^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "TOS" goto:skip
|
|
If /i "%TOS%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Eri HaKawai'^)^"^>Eri HaKawai^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%EXPLOIT%" EQU "T" goto:skip
|
|
If /i "%TWI%" EQU "*" echo ^<button class^=^"tablinks btn btn--large btn--info^" style^=^"font-size^: x-large^;^" onclick^=^"openTab^('ExploitTab', 'Twilight Hack'^)^"^>Twilight Hack^<^/button^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
:afterbuttons
|
|
|
|
echo ^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
|
|
echo ^<div id^=^"str2hax^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\str2hax.001 "%Drive%\%guidename%">nul
|
|
echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
:skip
|
|
|
|
if /i "%Aroma%" NEQ "*" goto:skip
|
|
echo ^<div id^=^"Browser Exploit^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WiiUNandBackup.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\Payloader.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter "%Drive%\%guidename%" -!"Installing the Payload-Loader will let you access Aroma" -write -yes>nul
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"press <kbd>Y</kbd> to set this to your default environment, then "__ -write -yes>nul
|
|
support\sfk filter "%Drive%\%guidename%" -rep _" and updates will get blocked in a later step"__ -write -yes>nul
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"press <kbd>Y</kbd> to set this to your default autobooting option (or choose your preferred title to autoboot), then "__ -write -yes>nul
|
|
support\sfk filter "%Drive%\%guidename%" -cut "<b>Payload-Loader Installer Steps" to "Payload-Loader Steps above------------------------------>" -write -yes>nul
|
|
|
|
support\sfk echo -spat \x3cb\x3eInstall The Homebrew Channel (HBC) for vWii\x3c/b\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\CompatInstaller.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter "%Drive%\%guidename%" -!"<!--CompatBootAroma-->" -write -yes>nul
|
|
echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%BB1%" EQU "*" echo ^<div id^=^"Bannerbomb v1^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
if /i "%BB1%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\BBv1.001 "%Drive%\%guidename%">nul
|
|
if /i "%BB1%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%BB2%" EQU "*" echo ^<div id^=^"Bannerbomb v2^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
if /i "%BB2%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\BBv2.001 "%Drive%\%guidename%">nul
|
|
if /i "%BB2%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
if /i "%Wilbrand%" EQU "*" echo ^<div id^=^"Wilbrand^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
if /i "%Wilbrand%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\Wilbrand.001 "%Drive%\%guidename%">nul
|
|
if /i "%Wilbrand%" EQU "*" echo Note^: this exploit is console specific and has been created by ModMii for the ^<i^>4.3%region%^<^/i^> console with MAC address ^<i^>%macaddress:~0,-4%^*^*^*^*^<^/i^>. If you want to use this exploit on a different 4.3 console, use ModMii to build it again, or construct and download LetterBomb directly through your browser ^<a href^=^"https^:^/^/modmii.github.io^/LetterBomb.html^" target^=^"_blank^"^>here^<^/a^>.^<br^>>>"%Drive%\%guidename%"
|
|
if /i "%Wilbrand%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" NEQ "4.3" goto:skip
|
|
echo ^<div id^=^"LetterBomb^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\LetterBomb.001 "%Drive%\%guidename%">nul
|
|
|
|
if /i "%REGION%" NEQ "E" echo ^<li^>Input your Wii's MAC Address and ^set your System Menu Version to 4.3%REGION%.>>"%Drive%\%guidename%"
|
|
if /i "%REGION%" EQU "E" echo ^<li^>Input your Wii's MAC Address and confirm System Menu Version 4.3E is selected.>>"%Drive%\%guidename%"
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\LetterBomb2.001 "%Drive%\%guidename%">nul
|
|
echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "4.2" copy /y "%Drive%\%guidename%"+Support\Guide\WilbrandWeb.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "4.1" copy /y "%Drive%\%guidename%"+Support\Guide\WilbrandWeb.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "4.0" copy /y "%Drive%\%guidename%"+Support\Guide\WilbrandWeb.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "3.x" copy /y "%Drive%\%guidename%"+Support\Guide\WilbrandWeb.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
|
|
If /i "%SMASH%" EQU "*" echo ^<div id^=^"Smash Stack^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
If /i "%SMASH%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\SmashStack.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "v" copy /y "%Drive%\%guidename%"+Support\Guide\HBC2vWii.001 "%Drive%\%guidename%">nul
|
|
If /i "%SMASH%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
If /i "%PWNS%" EQU "*" echo ^<div id^=^"Indiana Pwns^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
If /i "%PWNS%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\PWNS.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "v" copy /y "%Drive%\%guidename%"+Support\Guide\HBC2vWii.001 "%Drive%\%guidename%">nul
|
|
If /i "%PWNS%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
If /i "%YUGI%" EQU "*" echo ^<div id^=^"Yu-Gi Owned^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
If /i "%YUGI%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\YUGI.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "v" copy /y "%Drive%\%guidename%"+Support\Guide\HBC2vWii.001 "%Drive%\%guidename%">nul
|
|
If /i "%YUGI%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
If /i "%Bathaxx%" EQU "*" echo ^<div id^=^"Bathaxx^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
If /i "%Bathaxx%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\Bathaxx.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "v" copy /y "%Drive%\%guidename%"+Support\Guide\HBC2vWii.001 "%Drive%\%guidename%">nul
|
|
If /i "%Bathaxx%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
If /i "%ROTJ%" EQU "*" echo ^<div id^=^"Return of the Jodi^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
If /i "%ROTJ%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\ROTJ.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "v" copy /y "%Drive%\%guidename%"+Support\Guide\HBC2vWii.001 "%Drive%\%guidename%">nul
|
|
If /i "%ROTJ%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
If /i "%TOS%" EQU "*" echo ^<div id^=^"Eri HaKawai^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
If /i "%TOS%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\EriHaKawai.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "v" copy /y "%Drive%\%guidename%"+Support\Guide\HBC2vWii.001 "%Drive%\%guidename%">nul
|
|
If /i "%TOS%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
If /i "%TWI%" EQU "*" echo ^<div id^=^"Twilight Hack^" class^=^"ExploitTab^"^>>>"%Drive%\%guidename%"
|
|
If /i "%TWI%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\Twilight.001 "%Drive%\%guidename%">nul
|
|
If /i "%TWI%" EQU "*" echo ^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\side_spoiler_script.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
goto:%afterexploit%
|
|
|
|
|
|
|
|
|
|
:guide
|
|
set installwads=
|
|
|
|
:guidestart
|
|
set guidename=ModMii_Wizard_Guide.html
|
|
set tabname=ModMii Wizard Guide
|
|
|
|
if /i "%MENU1%" EQU "H" (set guidename=ModMii_HackMii_Solutions_Guide.html) & (set tabname=ModMii HackMii Solutions Guide)
|
|
if /i "%MENU1%" EQU "U" (set guidename=ModMii_USBLoader_Setup_Guide.html) & (set tabname=ModMii USB-Loader Setup Guide)
|
|
if /i "%MENU1%" EQU "SU" (set guidename=ModMii_sysCheck_Updater_Guide.html) & (set tabname=ModMii SysCheck Updater Guide)
|
|
if /i "%MENU1%" EQU "RC" (set guidename=ModMii_Region_Change_Guide.html) & (set tabname=ModMii Region Change Guide)
|
|
if /i "%AbstinenceWiz%" EQU "Y" (set guidename=ModMii_Abstinence_Guide.html) & (set tabname=ModMii Abstinence Guide)
|
|
|
|
if exist "%temp%\format.txt" del "%temp%\format.txt">nul
|
|
if exist "%temp%\format2.txt" del "%temp%\format2.txt">nul
|
|
if exist "%temp%\Get-Disk.txt" del "%temp%\Get-Disk.txt">nul
|
|
|
|
SET COUNT7=1
|
|
cls
|
|
|
|
echo Generating Guide, it should pop up in a moment.
|
|
echo.
|
|
if /i "%SETTINGS%" EQU "G" echo Please read your guide carefully.
|
|
if /i "%SETTINGS%" NEQ "G" echo You can start to carefully read your guide while ModMii keeps working.
|
|
echo.
|
|
echo Your guide is being saved to:
|
|
if /i "%Drive:~1,1%" EQU ":" echo "%Drive%\%guidename%"
|
|
if /i "%Drive:~1,1%" NEQ ":" echo "%cd%\%Drive%\%guidename%"
|
|
if /i "%SETTINGS%" NEQ "G" @ping 127.0.0.1 -n 3 -w 1000> nul
|
|
|
|
|
|
::---------------SKIN MODE-------------
|
|
if /i "%SkinMode%" EQU "Y" start support\wizapp PB UPDATE 50
|
|
|
|
|
|
|
|
if not exist "%DRIVE%" mkdir "%DRIVE%" >nul
|
|
:Count6
|
|
if not exist "%Drive%\%guidename%" goto:norename
|
|
SET /a COUNT6=%COUNT6%+1
|
|
if exist "%DRIVE%"\%guidename:~0,-5%%COUNT6%.html goto:Count6
|
|
move /y "%Drive%\%guidename%" "%DRIVE%"\%guidename:~0,-5%%COUNT6%.html >nul
|
|
:norename
|
|
|
|
|
|
::HTML HEADER
|
|
|
|
::so this works instead... why was I bothering with sfk echo before? Answer: it doesn't work with exclamation marks!
|
|
::echo ^<html^>
|
|
support\sfk echo -spat \x3chtml\x3e >"%Drive%\%guidename%"
|
|
support\sfk echo -spat \x3chead\x3e >>"%Drive%\%guidename%"
|
|
support\sfk echo -spat \x3ctitle\x3e%tabname%\x3c/title\x3e >>"%Drive%\%guidename%"
|
|
support\sfk echo -spat \x3clink rel=\x22icon\x22 type=\x22image/ico\x22 href=\x22https\x3a\x2f\x2fraw.githubusercontent.com/modmii/modmii.github.io/master/Support/icon.ico\x22\x3e\x3c/link\x3e>>"%Drive%\%guidename%"
|
|
|
|
support\sfk echo -spat \x3cstyle type=\x22text/css\x22\x3e>>"%Drive%\%guidename%"
|
|
support\sfk echo -spat body { font-family: Calibri, Arial, Helvetica, \x22Century Gothic\x22, sans-serif; }>>"%Drive%\%guidename%"
|
|
|
|
echo ol ^> li^:^:marker ^{font^-weight^: bold^;^}>>"%Drive%\%guidename%"
|
|
|
|
support\sfk echo -spat \x3c/style\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
::UTF-8 fix just in case
|
|
echo ^<meta http-equiv^=^"Content-Type^" content^=^"text^/html^; charset^=UTF-8^"^> >>"%Drive%\%guidename%"
|
|
::so this works... why was I bothering with sfk echo before? Answer: it doesn't work with exclamation marks!
|
|
|
|
|
|
support\sfk echo -spat \x3c/head\x3e >>"%Drive%\%guidename%"
|
|
support\sfk echo -spat \x3cbody style=\x22margin:5px 5px 5px 35px;\x22\x3e >>"%Drive%\%guidename%"
|
|
support\sfk echo -spat %tabname%\x3cspan style\x3d\x22float\x3aright\x3b\x22\x3ev%currentversion%\x7c%DBversion% Generated on %DATE% - %TIME:~0,-6%\x3c\x2fspan\x3e\x3cbr\x3e\x3cbr\x3e >>"%Drive%\%guidename%"
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\sprint-paramstart.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
if /i "%MENU1%" NEQ "RC" goto:notRC
|
|
support\sfk echo -spat \x3cli\x3eDesired System Menu is %FIRM%%REGION%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "R" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Red Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "G" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Green Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "BL" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Blue Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "O" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Orange Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
goto:skipusb
|
|
:notRC
|
|
|
|
|
|
::------Abstinence parameters---------------
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:notAbstinenceWiz
|
|
if /i "%FIRMSTART%" NEQ "o" support\sfk echo -spat \x3cli\x3eCurrent System Menu is %FIRMSTART%%REGION%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "o" support\sfk echo -spat \x3cli\x3eCurrent System Menu is less than 2.2%REGION%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
support\sfk echo -spat \x3cli\x3eBuild %SNKVERSION%%SNKREGION% Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%SNEEKTYPE%" EQU "SD" support\sfk echo -spat \x3cli\x3eBuild SNEEK+DI Rev%CurrentRev%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNEEKTYPE%" EQU "UD" support\sfk echo -spat \x3cli\x3eBuild UNEEK+DI Rev%CurrentRev%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNEEKTYPE%" EQU "U" support\sfk echo -spat \x3cli\x3eBuild UNEEK Rev%CurrentRev%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNEEKTYPE%" EQU "S" support\sfk echo -spat \x3cli\x3eBuild SNEEK Rev%CurrentRev%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%neek2o%" EQU "on" support\sfk echo -spat \x3cli\x3eneek2o Enabled (can be changed in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%neek2o%" NEQ "on" support\sfk echo -spat \x3cli\x3eneek2o Disabled (can be changed in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "U" goto:miniskip
|
|
if /i "%SSD%" EQU "on" support\sfk echo -spat \x3cli\x3eSNEEK and SNEEK+DI SD Access Enabled (can be changed in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SSD%" NEQ "on" support\sfk echo -spat \x3cli\x3eSNEEK and SNEEK+DI SD Access Disabled (can be changed in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:miniskip
|
|
|
|
if /i "%SNKSERIAL%" NEQ "current" support\sfk echo -spat \x3cli\x3esetting.txt will be created using this serial number: %SNKSERIAL%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNKSERIAL%" EQU "current" support\sfk echo -spat \x3cli\x3eExisting setting.txt will be kept\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%SNKPRI%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Priiloader to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNKCIOS%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall cIOS249 rev14 to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNKOHBC%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Homebrew Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNKPLC%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall postLoader Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%SNKFLOW%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall WiiFlow Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%ThemeSelection%" EQU "R" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Red Theme to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "G" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Green Theme to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "BL" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Blue Theme to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "O" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Orange Theme to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%PIC%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Photo Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%NET%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Internet Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%WEATHER%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Weather Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%NEWS%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall News Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%MIIQ%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Mii Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%Shop%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Shopping Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%Speak%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Wii Speak Channel to Emulated NAND\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if not "%addwadfolder%"=="" support\sfk echo -spat \x3cli\x3eInstall wads to Emulated NAND from custom folder: %addwadfolder%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
goto:skipusb
|
|
|
|
:notAbstinenceWiz
|
|
|
|
|
|
|
|
if /i "%MENU1%" EQU "U" (set USBGUIDE=Y) & (goto:usbparam)
|
|
|
|
if /i "%FIRMSTART%" NEQ "U" goto:notWiiu
|
|
support\sfk echo -spat \x3cli\x3eInstall and\or update all recommended WiiU softmods\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
goto:skipusb
|
|
:notWiiu
|
|
|
|
if /i "%ctype%" NEQ "WiiU" goto:notWiiu2
|
|
if /i "%FIRMSTART%" EQU "U2" support\sfk echo -spat \x3cli\x3eInstall and\or update all recommended WiiU and vWii softmods\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "v" support\sfk echo -spat \x3cli\x3eInstall and\or update all recommended vWii softmods\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "R" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Red Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "G" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Green Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "BL" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Blue Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "O" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Orange Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "D" support\sfk echo -spat \x3cli\x3eInstall Default Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
support\sfk echo -spat \x3cli\x3eSystem Menu Region is %REGION%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
goto:ExploitList
|
|
:notWiiu2
|
|
|
|
|
|
|
|
|
|
if /i "%VIRGIN%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall and\or update all recommended Wii softmods\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%VIRGIN%" EQU "N" support\sfk echo -spat \x3cli\x3eInstall and\or update only user-selected Wii softmods\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%MENU1%" EQU "SU" goto:miniskip
|
|
if /i "%FIRMSTART%" NEQ "o" support\sfk echo -spat \x3cli\x3eCurrent System Menu is %FIRMSTART%%REGION%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "o" support\sfk echo -spat \x3cli\x3eCurrent System Menu is less than 2.2%REGION%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
:ExploitList
|
|
if /i "%EXPLOIT%" EQU "BE" support\sfk echo -spat \x3cli\x3eBrowser Exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "S" support\sfk echo -spat \x3cli\x3eSuper Smash Brothers Brawl exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "L" support\sfk echo -spat \x3cli\x3eLEGO Indiana Jones exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "Y" support\sfk echo -spat \x3cli\x3eYu-Gi-Oh! 5D's exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "LB" support\sfk echo -spat \x3cli\x3eLEGO Batman exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "LS" support\sfk echo -spat \x3cli\x3eLEGO Star Wars exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "TOS" support\sfk echo -spat \x3cli\x3eTales of Symphonia Dawn of the New World exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "T" support\sfk echo -spat \x3cli\x3eTwilight Princess: The Legend of Zelda exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "W" support\sfk echo -spat \x3cli\x3eWilbrand\LetterBomb exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "X" support\sfk echo -spat \x3cli\x3estr2hax exploit selected\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%EXPLOIT%" EQU "?" support\sfk echo -spat \x3cli\x3eDownload all available exploits\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%ctype%" EQU "WiiU" goto:usbparam
|
|
|
|
|
|
if /i "%MENU1%" EQU "H" goto:skipusb
|
|
|
|
|
|
support\sfk echo -spat \x3cli\x3eDesired System Menu is %FIRM%%REGION%\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
:miniskip
|
|
|
|
if /i "%VIRGIN%" EQU "Y" goto:skipvirginstandard
|
|
if /i "%HM%" EQU "*" support\sfk echo -spat \x3cli\x3eInstall and\or update the Homebrew Channel and Bootmii\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%RECCIOS%" NEQ "Y" goto:smallskip
|
|
if /i "%hermesOPTION%" EQU "on" (support\sfk echo -spat \x3cli\x3eInstall recommended cIOSs and cMIOS\x3c/li\x3e>>"%Drive%\%guidename%") else (support\sfk echo -spat \x3cli\x3eInstall recommended cIOSs\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
:smallskip
|
|
if /i "%PRIQ%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall and\or update Priiloader\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
:skipvirginstandard
|
|
|
|
if /i "%ThemeSelection%" EQU "R" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Red Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "G" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Green Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "BL" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Blue Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "O" support\sfk echo -spat \x3cli\x3eInstall Dark Wii Orange Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ThemeSelection%" EQU "D" support\sfk echo -spat \x3cli\x3eInstall Default Wii Theme\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ACTIVEIOS%" NEQ "ON" goto:skipupdatelog
|
|
if /i "%UpdatesIOSQ%" EQU "N" goto:skipupdatelog
|
|
support\sfk echo -spat \x3cli\x3eUpdate active IOSs (can be disabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
goto:skip
|
|
:skipupdatelog
|
|
support\sfk echo -spat \x3cli\x3eDo not update active IOSs (can be enabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%RECCIOS%" EQU "Y" goto:semiskip
|
|
if /i "%VIRGIN%" EQU "N" goto:tinyskip
|
|
if /i "%CMIOSOPTION%" EQU "on" support\sfk echo -spat \x3cli\x3eInstall a cMIOS (can be disabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:semiskip
|
|
if /i "%CMIOSOPTION%" EQU "off" support\sfk echo -spat \x3cli\x3eDo not install a cMIOS (can be enabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:tinyskip
|
|
|
|
if /i "%hermesOPTION%" EQU "off" support\sfk echo -spat \x3cli\x3eDo not install Hermes cIOSs (can be enabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%hermesOPTION%" EQU "on" support\sfk echo -spat \x3cli\x3eInstall Hermes cIOSs (can be disabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%MENU1%" EQU "SU" goto:skip
|
|
if /i "%FWDOPTION%" EQU "off" support\sfk echo -spat \x3cli\x3eDo not install a USB-Loader Forwarder Channel (can be enabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%FWDOPTION%" EQU "on" support\sfk echo -spat \x3cli\x3eInstall a USB-Loader Forwarder Channel (can be disabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
if /i "%ExtraProtectionOPTION%" EQU "off" support\sfk echo -spat \x3cli\x3eDo not install Extra Brick Protection (patched IOS60 in unused system menu IOS slots) (can be enabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%ExtraProtectionOPTION%" EQU "on" support\sfk echo -spat \x3cli\x3eInstall Extra Brick Protection (patched IOS60 in unused system menu IOS slots) (can be disabled in options)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%PIC%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Photo Channel\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%NET%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Internet Channel\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%WEATHER%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Weather Channel\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%NEWS%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall News Channel\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%MIIQ%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Mii Channel\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%Shop%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Shopping Channel (and IOS56)\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%Speak%" EQU "Y" support\sfk echo -spat \x3cli\x3eInstall Wii Speak Channel\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
|
|
::---------
|
|
if /i "%USBGUIDE%" NEQ "Y" goto:skipusb
|
|
:usbparam
|
|
|
|
|
|
if /i "%LOADER%" EQU "CFG" support\sfk echo -spat \x3cli\x3eDownload Configurable USB-Loader\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "GX" support\sfk echo -spat \x3cli\x3eDownload USB-Loader GX\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "FLOW" support\sfk echo -spat \x3cli\x3eDownload WiiFlow\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "ALL" support\sfk echo -spat \x3cli\x3eDownload USB-Loader GX, Configurable USB-Loader and WiiFlow\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%USBCONFIG%" EQU "USB" support\sfk echo -spat \x3cli\x3eUSB-Loader Settings and config files saved to USB Hard Drive\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
if /i "%USBCONFIG%" EQU "SD" support\sfk echo -spat \x3cli\x3eUSB-Loader Settings and config files saved to SD Card\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:skipusb
|
|
|
|
If /i "%MENU1%" NEQ "SU" goto:skip
|
|
if /i "%PRI%" NEQ "*" goto:skip
|
|
if /i "%UpdatePri%" EQU "Y" support\sfk echo -spat \x3cli\x3eUpdate existing Priiloader installation\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:skip
|
|
If /i "%MENU1%" EQU "SU" support\sfk echo -spat \x3cli\x3eGuide generated based on ModMii's analysis of the syscheck report contained in the spoiler below\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
::closing tag and linebreak: </ul><br>
|
|
support\sfk echo -spat \x3c/ul\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
::add syscheck spoiler for syscheck updater wizards
|
|
If /i "%MENU1%" NEQ "SU" goto:SkipSyscheckSpoiler
|
|
|
|
support\sfk echo -spat "<div style><div class=\x22spoilerfont\x22 style=\x22text-align:left;\x22><input value=\x22 Click to see Supplied SysCheck Report \x22 style=\x22margin: 0px; padding: 0px; font-size: x-large;\x22 onclick=\x22if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display \x21= '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Click to hide Supplied SysCheck Report '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Click to see Supplied SysCheck Report '; }\x22 type=\x22button\x22></div><div class=\x22alt2\x22 style=\x22border: 0px inset ; margin: 0px; padding: 6px;\x22><div style=\x22display: none;\x22>">>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
::copy /y "%Drive%\%guidename%"+"%sysCheckName%" "%Drive%\%guidename%">nul
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
::Loop through the syscheck line by line to insert bullets and breaks
|
|
|
|
if exist temp\syscheck.csv del temp\syscheck.csv>nul
|
|
|
|
copy /y "%sysCheckName%" temp\syscheck.csv>nul
|
|
|
|
for /F "tokens=*" %%A in (temp\syscheck.csv) do call :sysprocess %%A
|
|
goto:nextstep
|
|
|
|
:sysprocess
|
|
::this is repeated for each line of the txt.file
|
|
::"%*" (no quotes) is the variable for each line as it passes through the loop
|
|
set sysline=%*
|
|
if "%sysline%"=="" echo ^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
::hide Console ID
|
|
if /i "%sysline:~0,11%" EQU "Console ID:" set "sysline=%sysline:~0,17%****"
|
|
if /i "%sysline:~0,26%" EQU "Identifiant de la console:" set "sysline=%sysline:~0,32%****"
|
|
if /i "%sysline:~0,11%" EQU "ID console:" set "sysline=%sysline:~0,17%****"
|
|
if /i "%sysline:~0,14%" EQU "ID de consola:" set "sysline=%sysline:~0,20%****"
|
|
if /i "%sysline:~0,12%" EQU "Konsolen-ID:" set "sysline=%sysline:~0,18%****"
|
|
if not "%sysline%"=="" echo ^<li^>%sysline%>>"%Drive%\%guidename%"
|
|
goto:EOF
|
|
:nextstep
|
|
|
|
|
|
If /i "%MENU1%" EQU "SU" echo ^<^/ul^>^<^/div^>^<^/div^>^<^/div^>^<br^>>>"%Drive%\%guidename%"
|
|
:SkipSyscheckSpoiler
|
|
|
|
|
|
:Important notes title and bullet opening tag
|
|
|
|
echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Notes^"^>Important Notes^<^/a^>^<^/li^>^<^/font^>^<br^>^<ul style^=align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:skipAWnotes
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\AbstinenceNotes.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:skipAWnotes
|
|
if /i "%FIRMSTART%" EQU "4.2" goto:skipAWnotes
|
|
support\sfk echo -spat \x3cli\x3eSince you are on an older firmware, this guide will direct you to install IOS53. This is an original\unmodified IOS, but if you are not comfortable installing this, then you can update to the latest firmware from the Wii Settings menu and try this wizard again - or just accept the very minimal risk and softmod your wii using ModMii's main wizard instead!\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:skipAWnotes
|
|
|
|
if /i "%MENU1%" EQU "RC" copy /y "%Drive%\%guidename%"+Support\Guide\RegionChangenotes.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
if /i "%FIRMSTART%" NEQ "U" goto:skip
|
|
support\sfk echo -spat \x3cli\x3eThis guide requires an internet connection on your console and an SD Card.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
support\sfk echo -spat \x3cul style=align=\x22left\x22 type=\x22square\x22\x3e \x3cli\x3eA USB Hard Drive can later be used to store game backups, Virtual Console injects, etc, but not to store WiiU homebrew applications which are required to set everything up.\x3c/li\x3e \x3c/ul\x3e>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WiiUnotes.001 "%Drive%\%guidename%">nul
|
|
goto:skipnotes
|
|
:skip
|
|
|
|
if /i "%FIRMSTART%" NEQ "U2" goto:skip
|
|
support\sfk echo -spat \x3cli\x3eThis guide requires an internet connection on your console and an SD Card. Note that without internet you can still softmod vWii Only using an SD Card and one of six supported Wii games^\discs with exploits.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
support\sfk echo -spat \x3cul style=align=\x22left\x22 type=\x22square\x22\x3e \x3cli\x3eA USB Hard Drive can later be used to store game backups, Virtual Console injects, etc, but not to store WiiU homebrew applications which are required to set everything up.\x3c/li\x3e \x3c/ul\x3e>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WiiUnotes.001 "%Drive%\%guidename%">nul
|
|
goto:skipnotes
|
|
:skip
|
|
|
|
|
|
|
|
|
|
if /i "%FIRMSTART%" NEQ "v" goto:skip
|
|
|
|
if /i "%MENU1%" NEQ "SU" goto:notVsu
|
|
|
|
support\sfk echo -spat \x3cli\x3eThis guide does not require an internet connection on your vWii.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
echo ^<li^>Make sure the files ModMii downloaded are on your SD Card, and your SD Card is inserted in the console.^<^/li^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>If you don't have an SD Card, you can still complete this guide using a Hard Drive formatted as FAT32 in place of an SD Card.^<^/li^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>Use ModMii's USB-Loader Setup feature if you need help formatting your HDD as FAT32.^<^/li^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>Make sure to always plug your hard drive into USB port0 - the one on the back furthest from the edge of the WiiU.^<^/li^>>>"%Drive%\%guidename%"
|
|
echo ^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<li^>If you don't have an SD Card or Hard Drive, you can launch Wii^\vWii apps and install WADs over the internet to your Wii from your PC. Just open apps ^(boot.dol\elf files^) or WADs with ModMii.^<^/li^>>>"%Drive%\%guidename%"
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>Note that some apps may not work properly or support all features if they require an SD or HDD.^<^/li^>>>"%Drive%\%guidename%"
|
|
echo ^<^/ul^>>>"%Drive%\%guidename%"
|
|
echo ^<^/ul^>>>"%Drive%\%guidename%"
|
|
goto:smallskip
|
|
:notVsu
|
|
|
|
If /i "%EXPLOIT%" EQU "BE" support\sfk echo -spat \x3cli\x3eThis guide requires an internet connection on your console and an SD Card. Note that without internet you can still softmod vWii Only using an SD Card and one of six supported Wii games^\discs with exploits.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
If /i "%EXPLOIT%" NEQ "BE" support\sfk echo -spat \x3cli\x3eThis guide requires an SD Card and either an internet connection on your console or one of six supported Wii games^\discs with exploits.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
:smallskip
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WiiUnotes.001 "%Drive%\%guidename%">nul
|
|
goto:skipnotes
|
|
:skip
|
|
|
|
|
|
|
|
|
|
If /i "%EXPLOIT%" NEQ "X" support\sfk echo -spat \x3cli\x3eThis guide does not require an internet connection on your Wii.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
If /i "%EXPLOIT%" EQU "X" support\sfk echo -spat \x3cli\x3eThis guide only requires an internet connection on your Wii for the str2hax step.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
If /i "%MENU1%" EQU "SU" goto:notes4NoFAT32_SD
|
|
If /i "%MENU1%" EQU "RC" (goto:notes4NoFAT32_SD) else (goto:skip)
|
|
:notes4NoFAT32_SD
|
|
echo ^<li^>Make sure the files ModMii downloaded are on your SD Card, and your SD Card is inserted in the console.^<^/li^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>If you don't have an SD Card, you can still accomplish ^<u^>most^<^/u^> Wii softmods using a Hard Drive formatted as FAT32 in place of an SD Card ^(SD is notably required for Bootmii and NAND backup^).^<^/li^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>Use ModMii's USB-Loader Setup feature if you need help formatting your HDD as FAT32.^<^/li^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>Make sure to always plug your hard drive into USB port0 - the one nearest the edge of the Wii.^<^/li^>>>"%Drive%\%guidename%"
|
|
echo ^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
::RC should not be done over WiFi
|
|
If /i "%MENU1%" NEQ "RC" echo ^<li^>If you don't have an SD Card or Hard Drive, you can launch Wii^\vWii apps and install WADs over the internet to your Wii from your PC. Just open apps ^(boot.dol\elf files^) or WADs with ModMii.^<^/li^>>>"%Drive%\%guidename%"
|
|
If /i "%MENU1%" NEQ "RC" echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
If /i "%MENU1%" NEQ "RC" echo ^<li^>Note that some apps may not work properly or support all features if they require an SD or HDD.^<^/li^>>>"%Drive%\%guidename%"
|
|
If /i "%MENU1%" NEQ "RC" echo ^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
:skip
|
|
|
|
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:skipnotes
|
|
if /i "%MENU1%" NEQ "U" copy /y "%Drive%\%guidename%"+Support\Guide\softmodnotes.001 "%Drive%\%guidename%">nul
|
|
|
|
if /i "%MENU1%" EQU "H" support\sfk filter "%Drive%\%guidename%" -rep _"An SD Card is recommended, but not necessary*"_"An SD Card is required in order to complete this guide UNLESS you already have a working Homebrew Channel or forwarder channel; i.e. SD needed if launching yawmME with an exploit."_ -write -yes>nul
|
|
:skipnotes
|
|
|
|
|
|
::----USB-Loader Notes----
|
|
if /i "%USBGUIDE%" NEQ "Y" goto:skipall
|
|
if /i "%MENU1%" EQU "W" goto:skip
|
|
if /i "%cIOS249[56]-d2x-v10-beta52%" EQU "*" goto:skip
|
|
if /i "%cIOS249[56]-d2x-vWii%" EQU "*" goto:skip
|
|
support\sfk echo -spat \x3cli\x3ecIOS(s) required to use USB-Loaders, if you are missing cIOS(s) run the ModMii Wizard function to softmod your Wii^\vWii before setting up your USB-Loader and/or external Hard-Drive. If softmodding a Wii Mini follow ^<a href^=^"https^:^/^/wii.hacks.guide^" target^=^"_blank^"^>wii.hacks.guide^<^/a^>.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
:skip
|
|
|
|
support\sfk echo -spat \x3cli\x3eAfter completing this guide, you can launch your USB-Loader via the Homebrew Channel or a USB-Loader forwarder channel.\x3c/li\x3e>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\usbloadernotes.001 "%Drive%\%guidename%">nul
|
|
|
|
::already commented in WiiU guide
|
|
if /i "%FIRMSTART%" EQU "U2" support\sfk filter "%Drive%\%guidename%" -rep _"<!--WiiUredundant--"__ -rep _"--WiiUredundant-->"__ -write -yes>nul
|
|
if /i "%FIRMSTART%" EQU "v" support\sfk filter "%Drive%\%guidename%" -rep _"<!--WiiUredundant--"__ -rep _"--WiiUredundant-->"__ -rep _"<!--WiiUredundant2--"__ -rep _"--WiiUredundant2-->"__ -write -yes>nul
|
|
if /i "%ctype%" EQU "Wii" support\sfk filter "%Drive%\%guidename%" -rep _"<!--WiiUredundant--"__ -rep _"--WiiUredundant-->"__ -rep _"<!--WiiOnly--"__ -rep _"--WiiOnly-->"__ -write -yes>nul
|
|
|
|
:skipall
|
|
::-------------------------
|
|
|
|
|
|
::common important note, end bullet tag and line break
|
|
|
|
|
|
|
|
echo ^<li^>Detailed guides covering a broad range of related topics available at the ^<a href^=^"https://sites.google.com/site/completesg^" target^=^"_blank^"^>Complete Softmod Guide^<^/a^>, ^<a href^=^"https://wii.hacks.guide^" target^=^"_blank^"^>wii.hacks.guide^</a^> and ^<a href^=^"https://wiiu.hacks.guide^" target^=^"_blank^"^>wiiu.hacks.guide^</a^>^</li^> >>"%Drive%\%guidename%"
|
|
|
|
echo ^<li^>If you come across a term or abbreviation that you're not familar with you can reference the ^<a href^=^"https://wiibrew.org/wiki/Glossary^" target^=^"_blank^"^>WiiBrew Glossary^<^/a^> or the ^<a href^=^"https://sites.google.com/site/completesg/other-stuff/wii-glossary^" target^=^"_blank^"^>CSG Glossary^</a^>^</li^> >>"%Drive%\%guidename%"
|
|
|
|
echo ^<li^>If you need help, have questions, or just want to chat visit the ^<a href^=^"https://gbatemp.net/threads/modmii-for-windows-official-support-topic.207126/^" target=^"_blank^"^>official ModMii page on gbatemp^</a^> or the ^<a href^=^"https://discord.gg/cMnBRACQwQ^" target^=^"_blank^"^>ModMii Discord Server^</a^> and ask away^!^</li^>^</ul^>^<br^> >>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
::Start of AbstinenceWizGUIDE steps listings. This must be here for the guide
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:NotAbstinenceWiz
|
|
support\sfk echo -spat \x3cfont size=\x226\x22\x3e\x3cli\x3e\x3ca name=\x22Hacking\x22\x3eLaunch %neekname% Without Hacking Your Wii\x3c/a\x3e\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e\x3col\x3e>>"%Drive%\%guidename%"
|
|
goto:SDformat
|
|
::goto:CasperPickUp
|
|
:NotAbstinenceWiz
|
|
|
|
|
|
|
|
|
|
|
|
if /i "%MENU1%" EQU "U" goto:USBGUIDESTEP1
|
|
|
|
|
|
::Start of hacking steps listings ordered list. This must be here for all guides (AW and U done above)
|
|
|
|
if /i "%MENU1%" NEQ "W" goto:skip
|
|
if /i "%FIRMSTART%" EQU "U2" echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Hacking your WiiU^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "U2" copy /y "%Drive%\%guidename%"+Support\Guide\LegacyCFW.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\side_spoiler_script.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter -quiet "%Drive%\%guidename%" -rep _"////////document.getElementById"_"document.getElementById"_ -write -yes
|
|
if /i "%FIRMSTART%" EQU "U2" goto:skip
|
|
|
|
if /i "%FIRMSTART%" EQU "U" echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Hacking your WiiU^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "U" copy /y "%Drive%\%guidename%"+Support\Guide\LegacyCFW.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\side_spoiler_script.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter -quiet "%Drive%\%guidename%" -rep _"////////document.getElementById"_"document.getElementById"_ -write -yes
|
|
if /i "%FIRMSTART%" EQU "U" goto:skip
|
|
|
|
if /i "%FIRMSTART%" EQU "v" echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Hacking your vWii^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Hacking your Wii^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
|
|
if /i "%MENU1%" NEQ "SU" goto:skip
|
|
if /i "%FIRMSTART%" NEQ "v" echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Updating your Wii Hacks^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "v" echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Updating your vWii Hacks^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
if /i "%FIRMSTART%" EQU "v" goto:PRIIGUIDEvWii
|
|
:skip
|
|
|
|
if /i "%MENU1%" EQU "H" echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Resolving HackMii Installer Issues^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%MENU1%" EQU "RC" echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Region Changing your Wii^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%MENU1%" EQU "RC" copy /y "%Drive%\%guidename%"+Support\Guide\NANDBACKUP.001 "%Drive%\%guidename%">nul
|
|
|
|
::since yawmME can retain priloader, we can always install Priiloader first (unless custom SM version is detected)
|
|
if /i "%MENU1%" EQU "RC" goto:PRIIGUIDE
|
|
::if /i "%MENU1%" EQU "RC" goto:installwads
|
|
|
|
|
|
::SD format stuff here...
|
|
:SDformat
|
|
if /i "%MENU1%" EQU "SU" goto:notfat32
|
|
|
|
support\sfk echo -spat \x3cfont size="5"\x3e\x3cli\x3eSet SD Card Partition Style to MBR (if applicable)\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
::---------------------Connected Drive Information Spoiler (1 of 2: SD)------------------------
|
|
echo powershell "Invoke-Command {Get-Disk | Format-Table -AutoSize -Wrap}" ^>Get-Disk.txt>"%temp%\Get-Disk.bat"
|
|
echo powershell "Invoke-Command {Get-CimInstance -ClassName Win32_LogicalDisk | Where-Object {$PSItem.FileSystem -ne $null} | Select-Object DeviceID,Filesystem}" ^>format2.txt>>"%temp%\Get-Disk.bat"
|
|
echo exit>>"%temp%\Get-Disk.bat"
|
|
|
|
::vbs to run script invisibly, "nircmd.exe exec hide" can run hidden but not hide+wait
|
|
echo Set ws = WScript.CreateObject("WScript.Shell")>"%temp%\Get-Disk.vbs"
|
|
echo cmd = "%temp%\Get-Disk.bat">>"%temp%\Get-Disk.vbs"
|
|
echo ret = ws.Run(cmd, 0, True)>>"%temp%\Get-Disk.vbs"
|
|
echo Set ws = Nothing>>"%temp%\Get-Disk.vbs"
|
|
|
|
if exist "%temp%\Get-Disk.txt" del "%temp%\Get-Disk.txt">nul
|
|
if exist "%temp%\format2.txt" del "%temp%\format2.txt">nul
|
|
if not exist "%temp%\Get-Disk.bat" goto:SkipUSBSpoiler
|
|
if not exist "%temp%\Get-Disk.vbs" goto:SkipUSBSpoiler
|
|
|
|
set "ModMiiDir=%cd%"
|
|
|
|
::echo.
|
|
::echo If you get a Windows Script Host error referring to Get-Disk.vbs, you can safely ignore it ^& click OK to continue.
|
|
::echo.
|
|
|
|
cd /d "%temp%"
|
|
@ping 127.0.0.1 -n 1 -w 1000> nul
|
|
start /wait Get-Disk.vbs
|
|
cd /d "%ModMiiDir%"
|
|
|
|
::::if both missing likely an error occured, so skip next time
|
|
::if exist "%temp%\format2.txt" goto:skip
|
|
::if not exist "%temp%\Get-Disk.txt" (set SkipGetDisk=Y) & (echo set SkipGetDisk=Y>>Support\settings.bat)
|
|
:::skip
|
|
|
|
if exist "%temp%\Get-Disk.txt" support\sfk filter -quiet "%temp%\Get-Disk.txt" -ls!- -ls!0 -no-empty-lines -no-blank-lines -write -yes
|
|
|
|
::if exist "%temp%\format.txt" cmd /a /c type "%temp%\format.txt">"%temp%\format2.txt"
|
|
support\sfk filter -quiet "%temp%\format2.txt" -ls!- -ls!"%homedrive%" -no-empty-lines -no-blank-lines -write -yes
|
|
|
|
::check if file is null
|
|
::for %%R in (temp\Get-Disk.txt) do if %%~zR lss 1 (echo no removable drives) else (echo yes removable drives)
|
|
|
|
:::USBSpoiler
|
|
::check Removable Disk filesystem format types, if no : in output, then no removable devices connected
|
|
if not exist "%temp%\format2.txt" goto:SkipUSBSpoiler
|
|
findStr /I ":" "%temp%\format2.txt" >nul
|
|
IF ERRORLEVEL 1 goto:SkipUSBSpoiler
|
|
|
|
echo Partition style\format information for devices that were connected when this guide was created has been saved to the spoiler below.^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
::add spoiler for Connected Drive Information if any connected
|
|
|
|
support\sfk echo -spat "<div style><div class=\x22spoilerfont\x22 style=\x22text-align:left;\x22><input value=\x22 Click to see Connected Drive Information \x22 style=\x22margin: 0px; padding: 0px; font-size: x-large;\x22 onclick=\x22if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display \x21= '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Click to hide Connected Drive Information '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Click to see Connected Drive Information '; }\x22 type=\x22button\x22></div><div class=\x22alt2\x22 style=\x22border: 0px inset ; margin: 0px; padding: 6px;\x22><div style=\x22display: none;\x22>">>"%Drive%\%guidename%"
|
|
|
|
echo ^<pre^>>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+"%temp%\format2.txt" "%Drive%\%guidename%">nul
|
|
|
|
|
|
::line count, count lines, if only 1 then don't show
|
|
set /a TotalDrives=0
|
|
|
|
if not exist "%temp%\Get-Disk.txt" goto:here
|
|
|
|
cd /d "%temp%"
|
|
for /f %%a in (Get-Disk.txt) do set /a TotalDrives+=1
|
|
cd /d "%ModMiiDir%"
|
|
::echo %TotalDrives%
|
|
|
|
::if /i %TotalDrives% GTR 1 echo ^<^/pre^>Partition Style below should be MBR by default for almost all SD Cards. If for some reason yours is not, convert it to MBR using the directions from ModMii's USB-Loader Setup guide.^<br^>^<pre^>>>"%Drive%\%guidename%"
|
|
|
|
if /i %TotalDrives% GTR 1 echo ^<br^>>>"%Drive%\%guidename%"
|
|
if /i %TotalDrives% GTR 1 copy /y "%Drive%\%guidename%"+"%temp%\Get-Disk.txt" "%Drive%\%guidename%">nul
|
|
|
|
:here
|
|
::copy /y "%Drive%\%guidename%"+"%temp%\format2.txt" "%Drive%\%guidename%">nul
|
|
|
|
echo ^<^/pre^>^<^/div^>^<^/div^>^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
:SkipUSBSpoiler
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\MBRsd.001 "%Drive%\%guidename%">nul
|
|
|
|
if /i "%PCSAVE%" EQU "Portable" goto:portableF32
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%cd:~0,2%" goto:portableF32
|
|
:skip
|
|
support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"shortcuts on your Start Menu or Desktop or directly from %cd:_=\x5f%\Program Files"_ -write -yes
|
|
if /i "%Homedrive%" NEQ "%cd:~0,2%" support\sfk filter -quiet "%Drive%\%guidename%" -rep _"<!--formatwarning"__ -rep _"formatwarning-->"__ -write -yes
|
|
goto:noportableF32
|
|
|
|
:portableF32
|
|
support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"%DRIVE:_=\x5f%\Program Files"_ -write -yes
|
|
support\sfk filter -quiet "%Drive%\%guidename%" -rep _"<!--formatwarning"__ -rep _"formatwarning-->"__ -write -yes
|
|
:noportableF32
|
|
|
|
|
|
support\sfk echo -spat \x3cfont size="5"\x3e\x3cli\x3eFormat the SD Card as FAT32 (if applicable)\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:skip
|
|
if /i "%FIRMSTART%" EQU "U" goto:skip
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
|
|
|
|
echo ^<i^>Note: If you don't have an SD Card, you can still accomplish ^<u^>most^<^/u^> things using a Hard Drive formatted as FAT32 in place of an SD Card ^(SD is notably required for Bootmii and NAND backup^). Make sure to always plug your hard drive into USB port0 - the one nearest the edge of the Wii. If you don't have an SD Card or Hard Drive,>>"%Drive%\%guidename%"
|
|
echo you can launch apps and install WADs over the internet to your Wii from your PC. Just open apps (boot.dol^\elf files) or WADs with ModMii. Note that some apps may not work properly or support all features if they require an SD or HDD and you should never attempt to change the region of a console via the internet.^</i^>^<br^>>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\FAT32_SD.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
if /i "%PCSAVE%" EQU "Portable" goto:portableF32
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%cd:~0,2%" goto:portableF32
|
|
:skip
|
|
|
|
support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"shortcuts on your Start Menu or Desktop or directly from %cd:_=\x5f%\Program Files"_ -write -yes
|
|
|
|
if /i "%Homedrive%" NEQ "%cd:~0,2%" support\sfk filter -quiet "%Drive%\%guidename%" -rep _"<!--formatwarning"__ -rep _"formatwarning-->"__ -write -yes
|
|
|
|
goto:noportableF32
|
|
|
|
:portableF32
|
|
if /i "%USBCONFIG%" EQU "USB" support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"%DRIVEU:_=\x5f%\Program Files"_ -write -yes
|
|
|
|
if /i "%USBCONFIG%" NEQ "USB" support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"%DRIVE:_=\x5f%\Program Files"_ -write -yes
|
|
|
|
support\sfk filter -quiet "%Drive%\%guidename%" -rep _"<!--formatwarning"__ -rep _"formatwarning-->"__ -write -yes
|
|
|
|
:noportableF32
|
|
|
|
if /i "%Drive:~1,1%" EQU ":" (set "fulldrive=%Drive%") else (set "fulldrive=%cd%\%Drive%")
|
|
|
|
echo ^<li^>The files should be saved here: "%fulldrive%" ^<br^>^<br^> >>"%Drive%\%guidename%"
|
|
|
|
if /i "%FIRMSTART:~0,1%" EQU "U" copy /y "%Drive%\%guidename%"+Support\Guide\FolderStructure_WiiU.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "U2" support\sfk filter -spat -quiet "%Drive%\%guidename%" -!"\x3c!--vWii folder structure" -!"vWii folder structure--\x3e" -write -yes
|
|
|
|
|
|
if /i "%FIRMSTART:~0,1%" NEQ "U" copy /y "%Drive%\%guidename%"+Support\Guide\FolderStructure_Wii.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
echo ^<li^>When the files are finished copying to the SD card, you should safely remove your SD Card from your computer and reinsert it into your console and proceed to the next step.^<^/ul^>^<^/ol^>^<br^> >>"%Drive%\%guidename%"
|
|
:notfat32
|
|
::::::::::::::::::
|
|
|
|
if /i "%FIRMSTART%" NEQ "v" goto:skipvWiiStuff
|
|
|
|
|
|
::Browser Exploit Only
|
|
if /i "%EXPLOIT%" NEQ "BE" goto:ManyVwiiExploits
|
|
support\sfk echo -spat \x3cfont size="5"\x3e\x3cli\x3eMake a NAND backup\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WiiUNandBackup.001 "%Drive%\%guidename%">nul
|
|
support\sfk echo -spat \x3cfont size="5"\x3e\x3cli\x3eInstall The Homebrew Channel (HBC) for vWii\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\Payloader.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter "%Drive%\%guidename%" -!"Installing the Payload-Loader will let you access Aroma" -write -yes>nul
|
|
::support\sfk filter "%Drive%\%guidename%" -rep _"press <kbd>Y</kbd> to set this to your default environment, then "__ -write -yes>nul
|
|
::support\sfk filter "%Drive%\%guidename%" -rep _"press <kbd>Y</kbd> to set this to your default autobooting option (or choose your preferred title to autoboot), then "__ -write -yes>nul
|
|
support\sfk filter "%Drive%\%guidename%" -cut "<b>Payload-Loader Installer Steps" to "Payload-Loader Steps above------------------------------>" -write -yes>nul
|
|
support\sfk echo -spat \x3cb\x3evWii Compat Installer to install the HBC\x3c/b\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\CompatInstaller.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter "%Drive%\%guidename%" -!"<!--CompatBootAroma-->" -write -yes>nul
|
|
goto:PRIIGUIDEvWii
|
|
|
|
|
|
:ManyVwiiExploits
|
|
|
|
support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eInstall The Homebrew Channel (HBC) ^& Make a NAND backup\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
::copy /y "%Drive%\%guidename%"+Support\Guide\HBC.001 "%Drive%\%guidename%">nul
|
|
::support\sfk filter "%Drive%\%guidename%" -rep _" and Bootmii"__ -rep _"If this Wii was previously modified"_"If this vWii was previously modified"_ -rep _", Bootmii boot2"__ -rep _"all or some of these"_"both of these"_ -write -yes>nul
|
|
::support\sfk filter "%Drive%\%guidename%" -!"If your Wii has Bootmii installed as boot2" -write -rep _" or Bootmii"__ -rep _"first time modding your Wii"_"first time modding your vWii"_ -write -yes>nul
|
|
|
|
set afterexploit=PRIIGUIDEvWii
|
|
goto:exploits
|
|
|
|
|
|
:skipvWiiStuff
|
|
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:WiiUSteps
|
|
if /i "%FIRMSTART%" EQU "U" goto:WiiUSteps
|
|
goto:noWiiUSteps
|
|
:WiiUSteps
|
|
support\sfk echo -spat \x3cfont size="5"\x3e\x3cli\x3eMake a NAND backup\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WiiUNandBackup.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\Payloader.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\AutobootingAroma.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\Pretendo.001 "%Drive%\%guidename%">nul
|
|
if /i "%FIRMSTART%" EQU "U" goto:skip
|
|
|
|
::U2 vWii stuff
|
|
::--------End of hacking steps listings (and line break). This must be here for the hacking guide------------
|
|
support\sfk echo -spat \x3c/ol\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Hacking^"^>Hacking your vWii^<^/a^>^<^/li^>^<^/font^>^<br^>^<ol^>>>"%Drive%\%guidename%"
|
|
|
|
support\sfk echo -spat \x3cfont size="5"\x3e\x3cli\x3eInstall The Homebrew Channel (HBC) for vWii\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\CompatInstaller.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
:PRIIGUIDEvWii
|
|
if /i "%PRI%" NEQ "*" goto:installwads
|
|
|
|
if /i "%customSMfix%" EQU "yes" goto:installwads
|
|
:PRIIGUIDEvWii2
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\Priiloader.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"Priiloader loads just before the Wii System Menu"_"Priiloader loads just before the vWii System Menu"_ -rep _"the reset button or "__ -rep _"while powering on the console"_"while launching the vWii system menu"_ -write -yes>nul
|
|
|
|
support\sfk filter "%Drive%\%guidename%" -!"if using the front console buttons you will" -!"so the console turns off completely by default" -rep _", USB Keyboard, or the Power/Reset*"_", or USB Keyboard."_ -write -yes>nul
|
|
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"<!--PriiVwii--"__ -rep _"--PriiVwii-->"__ -write -yes>nul
|
|
|
|
|
|
if /i "%customSMfix%" EQU "yes" (goto:SKIPWAD) else (goto:installwads)
|
|
|
|
|
|
:skip
|
|
|
|
::--------End of hacking steps listings (and line break). This must be here for the hacking guide------------
|
|
support\sfk echo -spat \x3c/ol\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Done^"^>After Modding your WiiU^<^/a^>^<^/li^>^<^/font^>^<br^>^<ul style^=^align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\AfterModdingU.001 "%Drive%\%guidename%">nul
|
|
echo ^<^/ul^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
goto:supportxflak
|
|
:noWiiUSteps
|
|
|
|
|
|
::for Abstinence Wizard
|
|
if /i "%AbstinenceWiz%" EQU "Y" goto:CasperPickUp
|
|
|
|
|
|
|
|
::-----------------------------------------virgin Korean non-4.3 Wiis-----------------------------------
|
|
If /i "%MENU1%" NEQ "H" goto:nothackmiisolutions
|
|
|
|
::launch yawmME using an exploit
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\HMSolutions.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
set afterexploit=continueHMsolutions
|
|
goto:exploits
|
|
:continueHMsolutions
|
|
|
|
support\sfk echo -spat \x3cbr\x3eThis will launch YAWM ModMii Edition.\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WADHMheader.001 "%Drive%\%guidename%">nul
|
|
|
|
goto:wadlist
|
|
|
|
:HMafterwadlist
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\HMSolutions2.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\HBC2.001 "%Drive%\%guidename%">nul
|
|
::remove direction to run HM Solutions wizard, since this is that wizard
|
|
support\sfk filter -spat "%Drive%\%guidename%" -!"---RemoveFromHackMiiSolutions---" -write -yes>nul
|
|
|
|
::--------End of hacking steps listings (and line break). This must be here for the hacking guide------------
|
|
support\sfk echo -spat \x3c/ol\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
GOTO:supportxflak
|
|
|
|
:nothackmiisolutions
|
|
|
|
|
|
|
|
::-----------------------------------------virgin Korean non-4.3 Wiis-----------------------------------
|
|
If /i "%VIRGIN%" NEQ "Y" goto:nonkorean
|
|
If /i "%REGION%" NEQ "K" goto:nonkorean
|
|
If /i "%FIRMSTART%" EQU "4.3" goto:nonkorean
|
|
|
|
::launch yawmME using an exploit
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\HMSolutions.001 "%Drive%\%guidename%">nul
|
|
|
|
::support\sfk echo -spat \x3cfont size="5"\x3e\x3cli\x3eLaunch YAWM ModMii Edition\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
set afterexploit=continueKorean
|
|
goto:exploits
|
|
:continueKorean
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\KoreanStart.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\HBC2.001 "%Drive%\%guidename%">nul
|
|
|
|
support\sfk filter -spat "%Drive%\%guidename%" -rep _"<b>Use the HackMii Installer to install the HBC and Bootmii</b>"_"<li>Use the HackMii Installer to install the HBC and Bootmii</li>"_ -write -yes>nul
|
|
|
|
|
|
goto:nandbackup
|
|
|
|
|
|
|
|
::---------------------------virgin NON-Korean Wiis-----------------------------------
|
|
|
|
::---------------------------------HACKMII INSTALLER-----------------------------
|
|
|
|
:nonkorean
|
|
|
|
If /i "%MENU1%" EQU "SU" goto:skipme
|
|
If /i "%HM%" NEQ "*" goto:PRIIGUIDE
|
|
:skipme
|
|
|
|
::syscheck updater logic
|
|
If /i "%MENU1%" NEQ "SU" goto:miniskip
|
|
if /i %HBCversion% LSS 1.1.0 goto:UpdateHBCfirst
|
|
if /i "%IOS58%" EQU "*" goto:installwads
|
|
If /i "%HM%" NEQ "*" goto:PRIIGUIDE
|
|
|
|
:UpdateHBCfirst
|
|
echo ^<font size^=^"5^"^>^<li^>Update The Homebrew Channel (HBC) and Bootmii^<^/li^>^<^/font^>^<br^>^<ul style^=^align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<li^>Launch the HackMii Installer from the Homebrew Channel.^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
goto:continueHBC
|
|
:miniskip
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\HBC.001 "%Drive%\%guidename%">nul
|
|
|
|
set afterexploit=continueHBC
|
|
goto:exploits
|
|
:continueHBC
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\HBC2.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
:nandbackup
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\NANDBACKUP.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
::syscheck updater logic
|
|
If /i "%MENU1%" NEQ "SU" goto:miniskip
|
|
::priiloader and wads steps already done if HBCversion GEQ "1.1.0" and IOS58 already installed (i.e. not toggled)
|
|
|
|
if /i %HBCversion% LSS 1.1.0 goto:PRIIGUIDE
|
|
if /i "%IOS58%" EQU "*" goto:MyMGuide
|
|
:miniskip
|
|
|
|
|
|
|
|
::--------------------------INSTALL PRIILOADER-------------------------------
|
|
:PRIIGUIDE
|
|
|
|
if /i "%installwads%" EQU "done" goto:skip
|
|
::::since yawmME can retain priloader, we can always install Priiloader first (unless custom SM version is detected)
|
|
::if /i "%FIRM%" NEQ "%FIRMSTART%" goto:installwads
|
|
if /i "%customSMfix%" EQU "yes" goto:installwads
|
|
|
|
::syscheck updater logic
|
|
If /i "%MENU1%" NEQ "SU" goto:miniskip
|
|
if /i "%IOS58%" EQU "*" goto:installwads
|
|
:miniskip
|
|
|
|
if /i "%PRI%" NEQ "*" goto:installwads
|
|
:skip
|
|
if /i "%PRI%" NEQ "*" goto:reinstallHBC
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\Priiloader.001 "%Drive%\%guidename%">nul
|
|
|
|
::show priiloader custom system menu warning 1 only if ModMii Wizard, Wii, and a new system menu WAD is queued
|
|
::show priiloader custom system menu warning 2 only if ModMii Wizard, Wii, and a new system menu WAD is NOT queued
|
|
if /i "%MENU1%" NEQ "W" goto:skip
|
|
if /i "%FIRMSTART%" EQU "v" goto:skip
|
|
if /i "%FIRMSTART%" EQU "U2" goto:skip
|
|
if /i "%FIRM%" NEQ "%FIRMSTART%" support\sfk filter "%Drive%\%guidename%" -rep _"<!--PriiCSMwarning1--"__ -rep _"--PriiCSMwarning1-->"__ -write -yes>nul
|
|
if /i "%FIRM%" EQU "%FIRMSTART%" support\sfk filter "%Drive%\%guidename%" -rep _"<!--PriiCSMwarning2--"__ -rep _"--PriiCSMwarning2-->"__ -write -yes>nul
|
|
if /i "%YAWM%" EQU "*" support\sfk filter "%Drive%\%guidename%" -rep _"<!--PriicIOSPAGHETTI--"__ -rep _"--PriicIOSPAGHETTI-->"__ -write -yes>nul
|
|
:skip
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if /i "%MENU1%" EQU "RC" support\sfk filter "%Drive%\%guidename%" -rep _"<!--PriiRC--"__ -rep _"--PriiRC-->"__ -write -yes>nul
|
|
if /i "%MENU1%" EQU "RC" goto:installwads
|
|
|
|
if /i "%installwads%" EQU "done" goto:reinstallHBC
|
|
|
|
goto:installwads
|
|
|
|
|
|
::----------------------ANY REGION CHANGER (ARC)-----------------------------
|
|
:ARCGUIDE
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\ARC.001 "%Drive%\%guidename%">nul
|
|
|
|
if /i "%REGION%" EQU "K" copy /y "%Drive%\%guidename%"+Support\Guide\KK2K.001 "%Drive%\%guidename%">nul
|
|
|
|
if /i "%REGION%" NEQ "K" copy /y "%Drive%\%guidename%"+Support\Guide\KK2O.001 "%Drive%\%guidename%">nul
|
|
|
|
goto:noMyM
|
|
|
|
|
|
::----------------------Install Wads-----------------------------
|
|
|
|
:installwads
|
|
|
|
|
|
|
|
if /i "%YAWM%" NEQ "*" goto:pickmeup
|
|
|
|
|
|
if /i "%SETTINGS%" EQU "G" goto:skipconfig
|
|
if /i "%SETTINGSHM%" EQU "G" goto:skipconfig
|
|
|
|
if /i "%YAWM%" EQU "*" if not exist "%Drive%"\WAD mkdir "%Drive%"\WAD
|
|
if /i "%YAWM%" EQU "*" echo ;wm_config.txt made by ModMii> "%Drive%"\WAD\wm_config.txt
|
|
if /i "%YAWM%" EQU "*" echo NANDDevice=Disable>> "%Drive%"\WAD\wm_config.txt
|
|
if /i "%YAWM%" EQU "*" echo StartupPath=/WAD>> "%Drive%"\WAD\wm_config.txt
|
|
::if /i "%YAWM%" EQU "*" echo FatDevice=sd>> "%Drive%"\WAD\wm_config.txt
|
|
:skipconfig
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WADheader.001 "%Drive%\%guidename%">nul
|
|
|
|
if /i "%MII%" NEQ "*" goto:skip
|
|
if /i "%FIRMSTART%" EQU "v" support\sfk filter "%Drive%\%guidename%" -rep _"<!--vWiiMii--"__ -rep _"--vWiiMii-->"__ -write -yes>nul
|
|
if /i "%FIRMSTART%" EQU "U2" support\sfk filter "%Drive%\%guidename%" -rep _"<!--vWiiMii--"__ -rep _"--vWiiMii-->"__ -write -yes>nul
|
|
:skip
|
|
|
|
|
|
if /i "%OHBC%" NEQ "*" goto:skip
|
|
if /i "%OHBC113%" EQU "*" support\sfk filter "%Drive%\%guidename%" -rep _"<!--vWiiLULZ--"__ -rep _"--vWiiLULZ-->"__ -write -yes>nul
|
|
:skip
|
|
|
|
|
|
::adjust for priiloader retention if a new system menu is being installed
|
|
|
|
if /i "%PRI%" NEQ "*" goto:makeEdit
|
|
if /i "%customSMfix%" EQU "yes" goto:makeEdit
|
|
if /i "%FIRM%" EQU "%FIRMSTART%" goto:wadlist
|
|
if /i "%FIRMSTART%" EQU "v" goto:wadlist
|
|
if /i "%FIRMSTART%" EQU "U2" goto:wadlist
|
|
|
|
:makeEdit
|
|
support\sfk filter "%Drive%\%guidename%" -ls!"<li><b>After successfully installing all the WADs" -write -yes>nul
|
|
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"<!--RetainPrii--"__ -rep _"--RetainPrii-->"__ -write -yes>nul
|
|
|
|
:wadlist
|
|
|
|
if /i "%MENU1%" EQU "RC" goto:Konami
|
|
::if /i "%customSMfix%" EQU "yes" goto:Konami
|
|
goto:NoKonami
|
|
:Konami
|
|
support\sfk filter -spat "%Drive%\%guidename%" -rep _"most likely \x22Wii SD Slot\x22, and <b>Press <kbd>A</kbd></b>."_"most likely \x22Wii SD Slot\x22, and <b>Enter the Konami Code: <kbd>↑</kbd><kbd>↑</kbd><kbd>↓</kbd><kbd>↓</kbd>KONAMIPART"_ -write -yes>nul
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"KONAMIPART"_"<kbd>←</kbd><kbd>→</kbd><kbd>←</kbd><kbd>→</kbd><kbd>B</kbd><kbd>A</kbd></b>"_ -write -yes>nul
|
|
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"<li>Install WADs</li>"_"<li>Install WADs using the Konami Code</li>"_ -write -yes>nul
|
|
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"yawmME.gif"_"yawmMEkonami.gif"_ -write -yes>nul
|
|
|
|
::replace yawmME youtube link with yawmMEkonami link
|
|
support\sfk filter -spat "%Drive%\%guidename%" -rep _"eTODLzI\x5fHsk"_"0P0Db76S7X4"_ -write -yes>nul
|
|
|
|
:NoKonami
|
|
|
|
set guidewadcount=0
|
|
|
|
if /i "%BCnand%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eBC-NAND-NUS-v7-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%BC%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eBC-NUS-v6\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%BCwfs%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eBC-WFS-NUS-v1-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%cIOS202[60]-v5.1R%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS202[60]-v5.1R\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS222[38]-v4%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS222[38]-v4\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS223[37-38]-v4%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS223[37-38]-v4\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS224[57]-v5.1R%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS224[57]-v5.1R\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS248[38]-d2x-v10-beta52%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS248[38]-d2x-v%d2x-beta-rev%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS249[56]-d2x-v10-beta52%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS249[56]-d2x-v%d2x-beta-rev%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS250[57]-d2x-v10-beta52%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS250[57]-d2x-v%d2x-beta-rev%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS251[58]-d2x-v10-beta52%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS251[58]-d2x-v%d2x-beta-rev%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%cIOS248[38]-d2x-vWii%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS248[38]-d2x-v%d2x-beta-rev%-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS249[56]-d2x-vWii%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS249[56]-d2x-v%d2x-beta-rev%-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS250[57]-d2x-vWii%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS250[57]-d2x-v%d2x-beta-rev%-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%cIOS251[58]-d2x-vWii%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS251[58]-d2x-v%d2x-beta-rev%-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS61%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ecIOS61[56]-v5918-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%MENU1%" EQU "RC" goto:miniskip
|
|
if /i "%EULAE%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eEULA-NUS-v3[E]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%EULAJ%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eEULA-NUS-v3[J]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%EULAK%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eEULA-NUS-v3[K]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%EULAU%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eEULA-NUS-v3[U]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
:miniskip
|
|
|
|
if /i "%IOS11P60%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS11v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS12%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS12-64-v526\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS13%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS13-64-v1032\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS14%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS14-64-v1032\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS15%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS15-64-v1032\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS17%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS17-64-v1032\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS20P60%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS20v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS21%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS21-64-v1039\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS22%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS22-64-v1294\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS236%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS236v65535^(IOS36v3351[FS-ES-NP-VP]^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS28%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS28-64-v1807\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS30P60%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS30v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS31%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS31-64-v3608\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS33%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS33-64-v3608\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS34%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS34-64-v3608\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS35%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS35-64-v3608\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS36v3608%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS36-64-v3608\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS37%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS37-64-v5663\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS38%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS38-64-v4124\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS40P60%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS40v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS41%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS41-64-v3607\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS43%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS43-64-v3607\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS45%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS45-64-v3607\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS46%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS46-64-v3607\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS48v4124%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS48-64-v4124\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS50P%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS50v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS52P%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS52v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS53%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS53-64-v5663\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS55%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS55-64-v5663\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS56%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS56-64-v5662\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS57%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS57-64-v5919\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
::korean start has already installed IOS58
|
|
If /i "%VIRGIN%" NEQ "Y" goto:yes58
|
|
If /i "%REGION%" NEQ "K" goto:yes58
|
|
If /i "%FIRMSTART%" EQU "4.3" goto:yes58
|
|
::If /i "%FIRMSTART%" EQU "4.3" goto:nonkorean
|
|
goto:skip
|
|
:yes58
|
|
|
|
if /i "%IOS58%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS58-64-v6176\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
:skip
|
|
|
|
if /i "%IOS59%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS59-64-v9249\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%IOS60P%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS60v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS61%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS61-64-v5662\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS62%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS62-64-v6430\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS70K%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS70v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS80K%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS80v65535^(ModMii-IOS60-v6174^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IOS9%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eIOS9-64-v1034\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%MII%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eMii-Channel-NUS-v6\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%NE%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eNEWS-Channel-NUS-v7[E]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%NJ%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eNEWS-Channel-NUS-v7[J]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%NU%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eNEWS-Channel-NUS-v7[U]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%MENU1%" NEQ "RC" goto:miniskip
|
|
if /i "%EULAE%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eNUS-EULA-v3[E]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%EULAJ%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eNUS-EULA-v3[J]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%EULAK%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eNUS-EULA-v3[K]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%EULAU%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eNUS-EULA-v3[U]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
:miniskip
|
|
|
|
if /i "%OHBC113%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eOpen_HBC_1.1.3_OHBC\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%OHBC%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eOpen_HBC_1.1.5_LULZ\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%IE%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eOpera-Internet-Channel-NUS[E]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IJ%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eOpera-Internet-Channel-NUS[J]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%IU%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eOpera-Internet-Channel-NUS[U]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%HAZA%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ePhoto-Channel-1.1-dummy-HAZA\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%P0%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ePhoto-Channel-1.0-NUS-v2\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%P%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ePhoto-Channel-1.1-NUS-v3\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%PHOTOK%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3ePhoto-Channel-1.1-NUS-v3[K]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%RSE%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eRegion-Select-NUS-v2[E]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%RSJ%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eRegion-Select-NUS-v2[J]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%RSK%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eRegion-Select-NUS-v2[K]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%RSU%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eRegion-Select-NUS-v2[U]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%Swiss_cMIOS%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eRVL-cMIOS[10]_Swiss_r1788\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%RVL-cMIOS-v65535(v10)_WiiGator_WiiPower_v0.2%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eRVL-cMIOS-v65535^(v10^)_WiiGator_WiiPower_v0.2\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%M10%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eRVL-mios-v10\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%S%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eShopping-Channel-NUS-v21\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SK%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eShopping-Channel-NUS-v21[K]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
::if /i "%customSMfix%" EQU "yes" goto:skipSMlist
|
|
:customSMfix
|
|
if /i "%SM4.1E%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1E_v450\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1E-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1E_v450_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1E-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1E_v450_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1E-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1E_v450_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1E-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1E_v450_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1J%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1J_v448\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1J-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1J_v448_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1J-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1J_v448_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1J-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1J_v448_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1J-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1J_v448_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1K%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1K_v454\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1K-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1K_v454_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1K-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1K_v454_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1K-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1K_v454_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1K-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1K_v454_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1U%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1U_v449\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1U-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1U_v449_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1U-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1U_v449_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1U-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1U_v449_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.1U-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.1U_v449_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2E%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2E_v482\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2E-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2E_v482_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2E-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2E_v482_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2E-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2E_v482_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2E-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2E_v482_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2J%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2J_v480\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2J-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2J_v480_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2J-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2J_v480_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2J-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2J_v480_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2J-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2J_v480_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2K%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2K_v486\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2K-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2K_v486_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2K-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2K_v486_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2K-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2K_v486_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2K-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2K_v486_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2U%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2U_v481\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2U-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2U_v481_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2U-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2U_v481_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2U-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2U_v481_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.2U-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.2U_v481_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3E%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3E_v514\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3E-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3E_v514_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3E-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3E_v514_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3E-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3E_v514_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3E-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3E_v514_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vSM4.3E%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3E_v610_vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%SM4.3J%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3J_v512\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3J-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3J_v512_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3J-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3J_v512_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3J-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3J_v512_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3J-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3J_v512_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vSM4.3J%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3J_v608_vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3K%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3K_v518\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3K-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3K_v518_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3K-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3K_v518_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3K-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3K_v518_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3K-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3K_v518_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3U%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3U_v513\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3U-DWB%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3U_v513_DarkWiiBlue_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3U-DWG%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3U_v513_DarkWiiGreen_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3U-DWO%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3U_v513_DarkWiiOrange_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%SM4.3U-DWR%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3U_v513_DarkWiiRed_%effect%\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vSM4.3U%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eSystemMenu_4.3U_v609_vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
:skipSMlist
|
|
|
|
if /i "%USBX%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eUSBLoader^(s^)-ahbprot58-SD-USB-v14-IDCL-^(Wii+vWii^) ^(see spoiler for boot info^)\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
if /i "%vIOS9%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS9-64-v1290-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS12%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS12-64-v782-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS13%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS13-64-v1288-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS14%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS14-64-v1288-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS15%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS15-64-v1288-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS17%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS17-64-v1288-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS21%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS21-64-v1295-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS22%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS22-64-v1550-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS28%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS28-64-v2063-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS31%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS31-64-v3864-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS33%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS33-64-v3864-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS34%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS34-64-v3864-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS35%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS35-64-v3864-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS36%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS36-64-v3864-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS37%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS37-64-v5919-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS38%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS38-64-v4380-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS41%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS41-64-v3863-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS43%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS43-64-v3863-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS45%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS45-64-v3863-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS46%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS46-64-v3863-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS48%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS48-64-v4380-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS53%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS53-64-v5919-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS55%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS55-64-v5919-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS56%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS56-64-v5918-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS57%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS57-64-v6175-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS58%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS58-64-v6432-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS59%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS59-64-v9249-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS62%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS62-64-v6942-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%vIOS80P%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3evIOS80v7200[FS-ES-NP-VP]-vWii\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
|
|
if /i "%WE%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eWeather-Channel-NUS-v7[E]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%WJ%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eWeather-Channel-NUS-v7[J]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%WU%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eWeather-Channel-NUS-v7[U]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%WSE%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eWii-Speak-Channel-NUS[E]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%WSJ%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eWii-Speak-Channel-NUS[J]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%WSK%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eWii-Speak-Channel-NUS[K]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
if /i "%WSU%" EQU "*" (SET /a guidewadcount=%guidewadcount%+1) & (support\sfk echo -spat \x3cli\x3eWii-Speak-Channel-NUS[U]\x3c/li\x3e>>"%Drive%\%guidename%")
|
|
|
|
::replace "_guidewadcountplaceholder" (if exists) with number of wads
|
|
|
|
if /i "%guidewadcount%" EQU "0" echo *None.>>"%Drive%\%guidename%"
|
|
|
|
if /i "%guidewadcount%" EQU "0" support\sfk filter "%Drive%\%guidename%" -rep _"guidewadcountplaceholder WADs"_"WADs"_ -write -yes>nul
|
|
if /i "%guidewadcount%" NEQ "0" support\sfk filter "%Drive%\%guidename%" -rep _guidewadcountplaceholder_%guidewadcount%_ -write -yes>nul
|
|
|
|
::add closing bullet tag and line break
|
|
support\sfk echo -spat \x3c/ol\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%MENU1%" EQU "H" goto:HMafterwadlist
|
|
|
|
|
|
if /i "%USBX%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\ForwarderWAD.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
|
|
|
|
|
|
::Optional Stub Stuff, syscheck updater guide only
|
|
|
|
if /i "%MENU1%" NEQ "SU" goto:skipstubs
|
|
if /i "%STUBS%" NEQ "*" goto:skipstubs
|
|
if not exist temp\stubs.txt goto:skipstubs
|
|
|
|
::line count
|
|
set /a TotalSTUBS=0
|
|
for /f %%a in (temp\stubs.txt) do set /a TotalSTUBS+=1
|
|
|
|
support\sfk echo -spat "<div style><div class=\x22spoilerfont\x22 style=\x22text-align:left;\x22><input value=\x22 Optional %TotalSTUBS% Stub IOS WADs \x22 style=\x22margin: 0px; padding: 0px; font-size: large;\x22 onclick=\x22if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Click to hide Optional Stub IOS WADs '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Optional %TotalSTUBS% Stub IOS WADs '; }\x22 type=\x22button\x22></div><div class=\x22alt2\x22 style=\x22border: 0px inset ; margin: 0px; padding: 6px;\x22><div style=\x22display: none;\x22>">>"%Drive%\%guidename%"
|
|
|
|
|
|
echo You have some extra IOSs installed on your console that are unnecessary. Optionally recover some space by navigating to the WAD/STUBS folder and repeating the steps above to install the %TotalSTUBS% stub IOS WADs below. Ignore this for any slots you intentionally installed (e.g. for ^<a href^=^"https^:^/^/gbatemp.net^/threads^/release-fakemote-an-ios-module-that-fakes-wiimotes-from-the-input-of-usb-game-controllers.601771^" target^=^"_blank^"^>Fakemote^<^/a^> support).^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
::start ordered list of stubs
|
|
echo ^<ol^>>>"%Drive%\%guidename%"
|
|
|
|
::Loop through the stubs line by line to insert bullets
|
|
|
|
set vWiitag=
|
|
if /i "%FIRMSTART%" EQU "v" set vWiitag=-vWii
|
|
|
|
for /F "tokens=*" %%A in (temp\stubs.txt) do echo ^<li^>STUB-IOS%%A-64-v404%vWiitag%^<^/li^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<br^>Note: You can recover a bit more space by following the steps above except pressing ^<kbd^>-^<^/kbd^> instead of ^<kbd^>^+^<^/kbd^> to uninstall the %TotalSTUBS% stub IOS WADs. Do NOT uninstall any other WADs unless you know what you are doing; see warning about uninstalling WADs above.^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
::end ordered list and close spoiler
|
|
echo ^<^/ol^>^<^/div^>^<^/div^>^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
:skipstubs
|
|
|
|
|
|
::close spoiler for everything except AW and H (which is already done)
|
|
if /i "%MENU1%" NEQ "AW" echo ^<^/div^>^<^/div^>^<^/div^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
if /i "%MENU1%" EQU "RC" support\sfk echo -spat \x3cb\x3eNOTE:\x3c/b\x3e YAWMM ModMii Edition will only allow you to install a different region System Menu WAD if you enter the Konami Code.\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
|
|
|
|
::-------Custom system menu fix------
|
|
:pickmeup
|
|
|
|
if /i "%customSMfix%" NEQ "yes" goto:skipCSMfix
|
|
if /i "%secondmmmrun%" EQU "yes" goto:skipCSMfix
|
|
|
|
::support\sfk echo -spat \x3cb\x3eNOTE:\x3c/b\x3e YAWMM ModMii Edition will only allow you to install a System Menu WAD by entering the Konami Code because you have a custom System Menu installed.\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
::skip using MMM to just install the SM wad, not needed since using YAWM ModMii Edition
|
|
goto:skipCSMfix
|
|
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WADheader.001 "%Drive%\%guidename%">nul
|
|
|
|
set secondmmmrun=yes
|
|
set guidewadcount=0
|
|
goto:customSMfix
|
|
|
|
:skipCSMfix
|
|
|
|
set secondmmmrun=
|
|
|
|
::if UpdatePri is nul it means it was not installed to begin with
|
|
if "%UpdatePri%"=="" goto:tinyskip
|
|
if /i "%customSMfix%" EQU "yes" support\sfk echo -spat \x3cb\x3eWARNING:\x3c/b\x3e Whenever you install a new System Menu, like you just did, Priiloader will get uninstalled unless you used yawmME and were prompted and chose to retain it. If you accidentally removed Priiloader ^(re^)install it immediately.\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
:tinyskip
|
|
|
|
::if /i "%customSMfix%" EQU "yes" support\sfk echo -spat \x3cbr\x3e>>"%Drive%\%guidename%"
|
|
::if /i "%customSMfix%" EQU "yes" support\sfk echo -spat \x3cb\x3eNOTE:\x3c/b\x3e If you are able to load MMM but the Wiimote doesn't respond, try using an older Wiimote without Motion+ built in as MMM doesn't support these newer contollers; a gamecube controller also works. If you don't have either, google for WiiMod Lite and use it in place of MMM to install the System Menu WAD listed above. Be careful with WiiMod Lite, after you finish installing your WAD be sure to press the Home button to return to the HBC immediately otherwise if you press B to return to the main menu it may crash.\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
if /i "%customSMfix%" EQU "yes" goto:tinyskip
|
|
|
|
if /i "%MENU1%" EQU "RC" echo ^<font color^=^"red^"^>^<b^>WARNING: Do NOT power off your Wii or exit the HBC or you may semi-brick.^<^/b^>^<^/font^> At this critical stage you are halfway through a region change, unless you have Bootmii installed to boot2 or you used yawmME and were prompted and chose to retain Priiloader you will semi-brick ^<u^>if^<^/u^> you exit the HBC before installing Priiloader or fixing your AREA/SysMenu mismatch using Any Region Changer.^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%FIRMSTART%" EQU "U2" goto:skipwarning
|
|
if /i "%FIRMSTART%" EQU "v" goto:skipwarning
|
|
::if UpdatePri is nul it means it was not installed to begin with
|
|
if "%UpdatePri%"=="" goto:skipwarning
|
|
if /i "%FIRM%" NEQ "%FIRMSTART%" support\sfk echo -spat \x3cb\x3eWARNING:\x3c/b\x3e Whenever you install a new System Menu, like you just did, Priiloader will get uninstalled unless you used yawmME and were prompted and chose to retain it. If you accidentally removed Priiloader ^(re^)install it immediately.\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
:skipwarning
|
|
|
|
|
|
:tinyskip
|
|
|
|
::extra line break
|
|
support\sfk echo -spat \x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
set installwads=done
|
|
::::since yawmME can retain priloader, we can always install Priiloader first (unless custom SM version is detected)
|
|
::if /i "%FIRM%" NEQ "%FIRMSTART%" goto:PRIIGUIDE
|
|
if /i "%MENU1%" EQU "RC" goto:ARCGUIDE
|
|
|
|
|
|
if /i "%customSMfix%" NEQ "yes" goto:skipSMfix
|
|
if /i "%FIRMSTART%" EQU "v" goto:PRIIGUIDEvWii2
|
|
goto:PRIIGUIDE
|
|
:skipSMfix
|
|
|
|
If /i "%MENU1%" NEQ "SU" goto:SKIPWAD
|
|
if /i "%IOS58%" EQU "*" goto:PRIIGUIDE
|
|
|
|
:SKIPWAD
|
|
|
|
|
|
::vWii Optional Stuff
|
|
if /i "%FIRMSTART%" EQU "U2" goto:continueVWII
|
|
if /i "%FIRMSTART%" NEQ "v" goto:skipVWiiOptional
|
|
:continueVWII
|
|
|
|
|
|
::If /i "%vWii80Installer%" EQU "*" copy /y "%Drive%\%guidename%"+Support\Guide\vWii80.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
If /i "%csminstaller%" NEQ "*" goto:skipVWiiOptional
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\csm-installer.001 "%Drive%\%guidename%">nul
|
|
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"<!--vWiiTheme--"__ -rep _"--vWiiTheme-->"__ -write -yes>nul
|
|
|
|
echo ^<li^>^<b^>Navigate to the theme you would like to install^<^/b^> that corresponds to your specific System Menu Version ^(vWii%REGION%^) then ^<b^>Press ^<kbd^>A^<^/kbd^>^<^/b^> to select it.^<li^>^<b^>Press ^<kbd^>+^<^/kbd^>^<^/b^> to install the theme. >>"%Drive%\%guidename%"
|
|
|
|
::echo ^<ul style^=align^=^"left^" type^=^"square^"^>^<li^>If the theme is unsigned you will need to Press A one more time to confirm.^<li^>When finished it should display ^"Complete^"^<^/ul^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>^<b^>Navigate to "Return to Wii System Menu" then Press ^<kbd^>A^<^/kbd^>^<^/b^> to confirm the theme installed successfully.>>"%Drive%\%guidename%"
|
|
|
|
If /i "%REGION%" EQU "U" set appfile=0000001f_4.3U_vWii.app
|
|
If /i "%REGION%" EQU "J" set appfile=0000001c_4.3J_vWii.app
|
|
If /i "%REGION%" EQU "E" set appfile=00000022_4.3E_vWii.app
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>^<li^>If you later want to restore the original theme launch csm-installer and install %appfile%.^<^/ul^>^<^/ol^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
:skipVWiiOptional
|
|
|
|
|
|
|
|
::------------------------reinstall HBC / Fix Upsidedown homebrew channel----------------------------
|
|
:reinstallHBC
|
|
If /i "%HM%" NEQ "*" goto:MyMGuide
|
|
|
|
|
|
|
|
::if /i "%MENU1%" NEQ "SU" support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eReinstall the Homebrew Channel (if applicable)\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
::syscheck updater logic
|
|
If /i "%MENU1%" NEQ "SU" goto:miniskip
|
|
if /i "%IOS58%" NEQ "*" goto:MyMGuide
|
|
|
|
::redirect to initial HBC installation instructions instead of reinstall for when no prior instructions exist
|
|
if /i %HBCversion% GEQ 1.1.0 goto:UpdateHBCfirst
|
|
|
|
::support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eReinstall the Homebrew Channel\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
::copy /y "%Drive%\%guidename%"+Support\Guide\HBCreinstall2.001 "%Drive%\%guidename%">nul
|
|
goto:MyMGuide
|
|
:miniskip
|
|
|
|
|
|
::copy /y "%Drive%\%guidename%"+Support\Guide\HBCreinstall.001 "%Drive%\%guidename%">nul
|
|
::copy /y "%Drive%\%guidename%"+Support\Guide\HBCreinstall2.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
::------------------------Install Custom Theme Using MyMenuify----------------------------
|
|
:MyMGuide
|
|
|
|
if /i "%ctype%" EQU "WiiU" goto:noMyM
|
|
If /i "%csminstaller%" NEQ "*" goto:noMyM
|
|
|
|
If /i "%FIRM%%REGION%" EQU "4.1J" set appfile=78
|
|
If /i "%FIRM%%REGION%" EQU "4.1K" set appfile=81
|
|
If /i "%FIRM%%REGION%" EQU "4.1U" set appfile=7b
|
|
If /i "%FIRM%%REGION%" EQU "4.1E" set appfile=7e
|
|
|
|
If /i "%FIRM%%REGION%" EQU "4.2J" set appfile=84
|
|
If /i "%FIRM%%REGION%" EQU "4.2U" set appfile=87
|
|
If /i "%FIRM%%REGION%" EQU "4.2E" set appfile=8a
|
|
If /i "%FIRM%%REGION%" EQU "4.2K" set appfile=8d
|
|
|
|
If /i "%FIRM%%REGION%" EQU "4.3J" set appfile=94
|
|
If /i "%FIRM%%REGION%" EQU "4.3U" set appfile=97
|
|
If /i "%FIRM%%REGION%" EQU "4.3E" set appfile=9a
|
|
If /i "%FIRM%%REGION%" EQU "4.3K" set appfile=9d
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\csm-installer.001 "%Drive%\%guidename%">nul
|
|
|
|
support\sfk filter "%Drive%\%guidename%" -rep _"<!--WiiTheme--"__ -rep _"--WiiTheme-->"__ -write -yes>nul
|
|
|
|
echo ^<li^>^<b^>Navigate to the theme you would like to install^<^/b^> that corresponds to your specific System Menu Version ^(%FIRM%%REGION%^) then ^<b^>Press ^<kbd^>A^<^/kbd^>^<^/b^> to select it.^<li^>^<b^>Press ^<kbd^>+^<^/kbd^>^<^/b^> to install the theme. >>"%Drive%\%guidename%"
|
|
echo ^<li^>Exit to the Wii Menu to confirm the theme installed successfully.>>"%Drive%\%guidename%"
|
|
|
|
::copy /y "%Drive%\%guidename%"+Support\Guide\MyMenuify.001 "%Drive%\%guidename%">nul
|
|
::echo ^<li^>^<b^>Navigate to the theme you would like to install^<^/b^> that corresponds to your specific System Menu Version ^(%FIRM%%REGION%^) then ^<b^>Press ^<kbd^>A^<^/kbd^>^<^/b^> to select it.^<li^>^<b^>Press ^<kbd^>A^<^/kbd^>^<^/b^> to install the theme. >>"%Drive%\%guidename%"
|
|
::echo ^<ul style^=align^=^"left^" type^=^"square^"^>^<li^>If the theme is unsigned you will need to Press A one more time to confirm.^<li^>When finished it should display ^"Complete^"^<^/ul^>>>"%Drive%\%guidename%"
|
|
::echo ^<li^>Press any button to exit to the System Menu.>>"%Drive%\%guidename%"
|
|
::echo ^<ul style^=align^=^"left^" type^=^"square^"^>^<li^>If you later want to restore the original theme launch MyMenuifyMod and either enter "+" or install 000000%appfile%_%FIRM%%REGION%.app.^<^/ul^>^<^/ol^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>^<li^>If you later want to restore the original theme launch csm-installer and install 000000%appfile%_%FIRM%%REGION%.app.^<^/ul^>^<^/ol^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
:noMyM
|
|
|
|
|
|
|
|
::--------End of hacking steps listings (and line break). This must be here for the hacking guide------------
|
|
support\sfk echo -spat \x3c/ol\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%USBGUIDE%" EQU "Y" goto:USBGUIDESTEP1
|
|
|
|
|
|
|
|
|
|
::--------------------After Modding-----------------------
|
|
:AFTERMODDING
|
|
|
|
if /i "%FIRMSTART%" NEQ "U2" goto:notU2
|
|
echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Done^"^>After Modding your WiiU and vWii^<^/a^>^<^/li^>^<^/font^>^<br^>^<ul style^=^align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\AfterModdingU.001 "%Drive%\%guidename%">nul
|
|
if /i "%USBGUIDE%" NEQ "Y" echo ^<li^>To play Wii ^(and Gamecube^) games off a USB hard drive, run the USB-Loader Setup wizard from ModMii's Main Menu.>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\AfterModdingV.001 "%Drive%\%guidename%">nul
|
|
goto:supportxflak
|
|
:notU2
|
|
|
|
if /i "%FIRMSTART%" NEQ "V" goto:notV
|
|
echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Done^"^>After Modding your vWii^<^/a^>^<^/li^>^<^/font^>^<br^>^<ul style^=^align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
if /i "%USBGUIDE%" NEQ "Y" echo ^<li^>To play Wii ^(and Gamecube^) games off a USB hard drive, run the USB-Loader Setup wizard from ModMii's Main Menu.>>"%Drive%\%guidename%"
|
|
|
|
echo ^<li^>Optionally use ^<a href^=^"https^:^/^/www.gamebrew.org^/wiki^/UStealth_Wii_U^" target^=^"_blank^"^>UStealth for Windows^<^/a^> ^(also available on ModMii's Download Page 5^) or the homebrew app ^<a href^=^"https^:^/^/oscwii.org^/library^/app^/USB_Toggle^" target^=^"_blank^"^>USB Toggle 2.0^<^/a^> to hide USB hard drives so that the WiiU no longer asks you to Format them. The disk is then also hidden from Windows. If you want to copy something onto it later you have to first make your device visible again using either of the same tools. Of course you should not format it if Windows asks you to!>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\AfterModdingV.001 "%Drive%\%guidename%">nul
|
|
|
|
::remove WiiU to vWii forwarder comment since only vWii is modded
|
|
support\sfk filter "%Drive%\%guidename%" -!"wii-u-to-vwii-forwarder-channels-ac.618060" -write -yes>nul
|
|
|
|
goto:supportxflak
|
|
:notV
|
|
|
|
echo ^<font size^=^"6^"^>^<li^>^<a name^=^"Done^"^>After Modding your Wii^<^/a^>^<^/li^>^<^/font^>^<br^>^<ul style^=^align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%MENU1%" EQU "RC" echo ^<li^>Some of your currently installed Nintendo channels (e.g. News, Internet, etc.) may not work on your new region. To fix this, download and install the channels for your new %Region% Region (see WiiLink note below). Duplicate channels can optionally be removed by googling for Any Title Deleter, but be careful, you can easily brick your Wii with this tool if you delete the wrong thing!>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%MENU1%" EQU "U" goto:skip
|
|
if /i "%USBGUIDE%" NEQ "Y" echo ^<li^>To play Wii ^(and Gamecube^) games off a USB hard drive, run the USB-Loader Setup wizard from ModMii's Main Menu.>>"%Drive%\%guidename%"
|
|
:skip
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\AfterModding.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
::---------------------credits and support XFLAK-----------------------
|
|
:supportxflak
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\Credits-XFlak-End.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
|
|
::guide finish, remove carriage returns and open
|
|
support\sfk filter "%Drive%\%guidename%" -lsrep _.__ -rep _"printbutton {"_".printbutton {"_ -write -yes>nul
|
|
|
|
::replace <kbd> tags for keyboard buttons with <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; border-radius: 0.2em; box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.1); background-color: #f9f9f9; background-image: linear-gradient(to bottom, #eee, #f9f9f9, #eee); color: #000; padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">
|
|
|
|
support\sfk filter -spat "%Drive%\%guidename%" -rep _"<kbd>"_"<kbd class=\x22keyboard-key nowrap\x22 style=\x22border: 1px solid #aaa; border-radius: 0.2em; box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.1); <kbd2>"_ -write -yes>nul
|
|
|
|
support\sfk filter -spat "%Drive%\%guidename%" -rep _"<kbd2>"_"background-color: #f9f9f9; background-image: linear-gradient(to bottom, #eee, #f9f9f9, #eee); color: #000; padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;\x22>"_ -write -yes>nul
|
|
|
|
|
|
::Inject Region Change warning into the Priiloader step
|
|
if /i "%MENU1%" EQU "RC" support\sfk filter -spat "%Drive%\%guidename%" -rep _"<li>Access Priiloader by powering off the Wii"_"<li><b>If Priiloader failed to install, do NOT power off your Wii or exit the HBC</b>, try the installer again. RCREPLACEME"_ -write -yes>nul
|
|
if /i "%MENU1%" EQU "RC" support\sfk filter -spat "%Drive%\%guidename%" -rep _"RCREPLACEME"_"If still unsuccessful, proceed immediately to the Any Region Changer step to fix your AREA/SysMenu mismatch RCREPLACEME"_ -write -yes>nul
|
|
if /i "%MENU1%" EQU "RC" support\sfk filter -spat "%Drive%\%guidename%" -rep _"RCREPLACEME"_"otherwise you will semi-brick once you exit a homebrew environment (unless you have Bootmii boot2).<li>Access Priiloader by powering off the Wii"_ -write -yes>nul
|
|
|
|
|
|
if /i "%debug%" EQU "on" goto:skip
|
|
::instead of the below, start whatever browser that is used for http, so users aren't prompted to select what app to use if html file association not set
|
|
::start /D "%Drive%" %guidename%
|
|
set "htmlfile=%Drive%\%guidename%"
|
|
if /i "%Drive:~1,1%" NEQ ":" set "htmlfile=%cd%\%Drive%\%guidename%"
|
|
|
|
setlocal EnableDelayedExpansion
|
|
for /F "tokens=3" %%i in ('reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice /v ProgID') do for /F "tokens=2*" %%j in ('reg query HKEY_LOCAL_MACHINE\Software\Classes\%%i\shell\open\command /ve') do set cmd=%%k
|
|
|
|
::don't start now
|
|
::start "" !cmd:%%1=file://%htmlfile:\=/%%1!
|
|
|
|
::when launched via drag and drop or cmd line for some reason there's an extra arg that needs to be removed\cleaned, example below
|
|
::start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --single-argument file://C:/Users/XFlak/Downloads/ModMii/COPY_TO_SD/ModMii_sysCheck_Updater_Guide.htmlC:\Users\XFlak\Downloads\ModMii\syschecks\sysCheck
|
|
|
|
echo start "" !cmd:%%1=file://%htmlfile:\=/%%1!>temp\launchguide.bat
|
|
setlocal DISABLEDELAYEDEXPANSION
|
|
|
|
support\sfk filter -quiet "temp\launchguide.bat" -rep _".html*"_".html"_ -write -yes
|
|
call "temp\launchguide.bat"
|
|
del "temp\launchguide.bat">nul
|
|
|
|
:skip
|
|
|
|
|
|
|
|
::---------------CMD LINE MODE-------------
|
|
if /i "%cmdlinemode%" NEQ "Y" goto:notcmdfinish
|
|
if /i "%cmdguide%" NEQ "G" goto:notcmdfinish
|
|
if exist support\settings.bak move /y support\settings.bak support\settings.bat>nul
|
|
exit
|
|
:notcmdfinish
|
|
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:notAbstinenceWiz
|
|
set casper=
|
|
set BB1=
|
|
set BB2=
|
|
set SMASH=
|
|
set PWNS=
|
|
set Twi=
|
|
set YUGI=
|
|
set Bathaxx=
|
|
set ROTJ=
|
|
set TOS=
|
|
set f32=
|
|
if /i "%SETTINGS%" EQU "G" goto:SNKNANDCONFIRM
|
|
goto:SNEEKINSTALLER
|
|
:notAbstinenceWiz
|
|
|
|
if /i "%SETTINGS%" EQU "G" goto:DOWNLOADQUEUE
|
|
if /i "%SETTINGSHM%" EQU "G" goto:HACKMIISOLUTION
|
|
|
|
|
|
goto:DLSETTINGS2
|
|
|
|
|
|
::-------------USB-Loader Setup Steps--------------
|
|
:USBGUIDESTEP1
|
|
|
|
support\sfk echo -spat \x3cfont size=\x226\x22\x3e\x3cli\x3eUSB Loader and Hard Drive setup\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%MENU1%" EQU "W" support\sfk echo -spat The rest of the guide is performed on your computer in order to set up your USB-Loader for your Wii or vWii. Also note that a FAT32 SD\SDHC\SDXC Card can optionally be used in place of a Hard Drive.\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
::add <ol> but not for Abstinence Wizard
|
|
support\sfk echo -spat \x3col\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
|
|
::---------------------Connected Drive Information Spoiler (2 of 2)------------------------
|
|
if exist "%temp%\Get-Disk.txt" goto:USBSpoiler
|
|
if exist "%temp%\format2.txt" goto:USBSpoiler
|
|
echo powershell "Invoke-Command {Get-Disk | Format-Table -AutoSize -Wrap}" ^>Get-Disk.txt>"%temp%\Get-Disk.bat"
|
|
::echo wmic logicaldisk where FileSystem!=null get deviceid,filesystem^>format.txt>>"%temp%\Get-Disk.bat"
|
|
echo powershell "Invoke-Command {Get-CimInstance -ClassName Win32_LogicalDisk | Where-Object {$PSItem.FileSystem -ne $null} | Select-Object DeviceID,Filesystem}" ^>format2.txt>>"%temp%\Get-Disk.bat"
|
|
echo exit>>"%temp%\Get-Disk.bat"
|
|
|
|
::vbs to run script invisibly, "nircmd.exe exec hide" can run hidden but not hide+wait
|
|
echo Set ws = WScript.CreateObject("WScript.Shell")>"%temp%\Get-Disk.vbs"
|
|
echo cmd = "%temp%\Get-Disk.bat">>"%temp%\Get-Disk.vbs"
|
|
echo ret = ws.Run(cmd, 0, True)>>"%temp%\Get-Disk.vbs"
|
|
echo Set ws = Nothing>>"%temp%\Get-Disk.vbs"
|
|
|
|
if exist "%temp%\Get-Disk.txt" del "%temp%\Get-Disk.txt">nul
|
|
if exist "%temp%\format2.txt" del "%temp%\format2.txt">nul
|
|
if not exist "%temp%\Get-Disk.bat" goto:SkipUSBSpoiler
|
|
if not exist "%temp%\Get-Disk.vbs" goto:SkipUSBSpoiler
|
|
|
|
set "ModMiiDir=%cd%"
|
|
|
|
::echo.
|
|
::echo If you get a Windows Script Host error referring to Get-Disk.vbs, you can safely ignore it ^& click OK to continue.
|
|
::echo.
|
|
|
|
cd /d "%temp%"
|
|
@ping 127.0.0.1 -n 1 -w 1000> nul
|
|
start /wait Get-Disk.vbs
|
|
cd /d "%ModMiiDir%"
|
|
|
|
::::if both missing likely an error occured, so skip next time
|
|
::if exist "%temp%\format2.txt" goto:skip
|
|
::if not exist "%temp%\Get-Disk.txt" (set SkipGetDisk=Y) & (echo set SkipGetDisk=Y>>Support\settings.bat)
|
|
:::skip
|
|
|
|
if exist "%temp%\Get-Disk.txt" support\sfk filter -quiet "%temp%\Get-Disk.txt" -ls!- -ls!0 -no-empty-lines -no-blank-lines -write -yes
|
|
|
|
::if exist "%temp%\format.txt" cmd /a /c type "%temp%\format.txt">"%temp%\format2.txt"
|
|
support\sfk filter -quiet "%temp%\format2.txt" -ls!- -ls!"%homedrive%" -no-empty-lines -no-blank-lines -write -yes
|
|
|
|
::check if file is null
|
|
::for %%R in (temp\Get-Disk.txt) do if %%~zR lss 1 (echo no removable drives) else (echo yes removable drives)
|
|
|
|
:USBSpoiler
|
|
::check Removable Disk filesystem format types, if no : in output, then no removable devices connected
|
|
if not exist "%temp%\format2.txt" goto:SkipUSBSpoiler
|
|
findStr /I ":" "%temp%\format2.txt" >nul
|
|
IF ERRORLEVEL 1 goto:SkipUSBSpoiler
|
|
|
|
echo External hard drive partition style\format information for drives that were connected when this guide was created has been saved to the spoiler below.^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
::add spoiler for Connected Drive Information if any connected
|
|
|
|
support\sfk echo -spat "<div style><div class=\x22spoilerfont\x22 style=\x22text-align:left;\x22><input value=\x22 Click to see Connected Drive Information \x22 style=\x22margin: 0px; padding: 0px; font-size: x-large;\x22 onclick=\x22if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display \x21= '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Click to hide Connected Drive Information '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Click to see Connected Drive Information '; }\x22 type=\x22button\x22></div><div class=\x22alt2\x22 style=\x22border: 0px inset ; margin: 0px; padding: 6px;\x22><div style=\x22display: none;\x22>">>"%Drive%\%guidename%"
|
|
|
|
echo ^<pre^>>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+"%temp%\format2.txt" "%Drive%\%guidename%">nul
|
|
|
|
::line count, count lines, if only 1 then don't show
|
|
set /a TotalDrives=0
|
|
|
|
if not exist "%temp%\Get-Disk.txt" goto:here
|
|
|
|
cd /d "%temp%"
|
|
for /f %%a in (Get-Disk.txt) do set /a TotalDrives+=1
|
|
cd /d "%ModMiiDir%"
|
|
::echo %TotalDrives%
|
|
|
|
::if /i %TotalDrives% GTR 1 echo ^<^/pre^>Partition Style below should be MBR by default for almost all SD Cards. If for some reason yours is not, convert it to MBR using the directions from ModMii's USB-Loader Setup guide.^<br^>^<pre^>>>"%Drive%\%guidename%"
|
|
|
|
if /i %TotalDrives% GTR 1 echo ^<br^>>>"%Drive%\%guidename%"
|
|
if /i %TotalDrives% GTR 1 copy /y "%Drive%\%guidename%"+"%temp%\Get-Disk.txt" "%Drive%\%guidename%">nul
|
|
|
|
:here
|
|
::copy /y "%Drive%\%guidename%"+"%temp%\format2.txt" "%Drive%\%guidename%">nul
|
|
|
|
echo ^<^/pre^>^<^/div^>^<^/div^>^<^/div^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
:SkipUSBSpoiler
|
|
|
|
|
|
:CasperPickUp
|
|
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\MBR.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
if /i "%PCSAVE%" EQU "Portable" goto:portableF32
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%cd:~0,2%" goto:portableF32
|
|
:skip
|
|
|
|
support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"shortcuts on your Start Menu or Desktop or directly from %cd:_=\x5f%\Program Files"_ -write -yes
|
|
|
|
if /i "%Homedrive%" NEQ "%cd:~0,2%" support\sfk filter -quiet "%Drive%\%guidename%" -rep _"<!--formatwarning"__ -rep _"formatwarning-->"__ -write -yes
|
|
|
|
goto:noportableF32
|
|
|
|
:portableF32
|
|
if /i "%USBCONFIG%" EQU "USB" support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"%DRIVEU:_=\x5f%\Program Files"_ -write -yes
|
|
|
|
if /i "%USBCONFIG%" NEQ "USB" support\sfk filter -quiet -spat "%Drive%\%guidename%" -rep _"shortcuts on your Start Menu or Desktop."_"%DRIVE:_=\x5f%\Program Files"_ -write -yes
|
|
|
|
support\sfk filter -quiet "%Drive%\%guidename%" -rep _"<!--formatwarning"__ -rep _"formatwarning-->"__ -write -yes
|
|
|
|
:noportableF32
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\side_spoiler_script.001 "%Drive%\%guidename%">nul
|
|
support\sfk filter -quiet "%Drive%\%guidename%" -rep _"//document.getElementById"_"document.getElementById"_ -write -yes
|
|
|
|
|
|
if /i "%AbstinenceWiz%" NEQ "Y" goto:notAW
|
|
::for AW remove all buttons that don't use FAT32
|
|
support\sfk filter "%Drive%\%guidename%" -!"'FormatGroup', 'WBFS'" -write -yes>nul
|
|
support\sfk filter "%Drive%\%guidename%" -!"'FormatGroup', 'NTFS'" -write -yes>nul
|
|
goto:AbstinenceWizGUIDE
|
|
:notAW
|
|
|
|
|
|
|
|
|
|
if /i "%USBCONFIG%" NEQ "USB" goto:skipcopytousb
|
|
|
|
if /i "%DriveU:~1,1%" EQU ":" set "fulldriveu=%Driveu%"
|
|
if /i "%DriveU:~1,1%" NEQ ":" set "fulldriveu=%cd%\%Driveu%"
|
|
|
|
|
|
support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eCopy Files to the Hard Drive\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e^<ul style^=align^=^"left^" type^=^"disc^"^>^<li^>At this time you should copy the files ModMii downloaded to the root of your hard-drive\partition (or SD Card if your HDD is WBFS).^<ul style^=align^=^"left^" type^=^"square^"^>^<li^>The files should be saved here: "%fulldriveu%"^<^/ul^>\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\FolderStructure_Wii.001 "%Drive%\%guidename%">nul
|
|
|
|
support\sfk echo -spat ^<^/ul^>When finished copying, you can proceed with the optional steps below or safely remove the hard drive from your computer and plug it into USB port0 on your console to start playing^!\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
:skipcopytousb
|
|
|
|
::-------------WiiBackupManager--------------
|
|
support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eManage Game backups (optional)\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%PCSAVE%" EQU "Portable" goto:portableWBM
|
|
if /i "%PCSAVE%" NEQ "Auto" goto:skip
|
|
if /i "%Homedrive%" NEQ "%cd:~0,2%" goto:portableWBM
|
|
:skip
|
|
|
|
|
|
echo ^<li^>Launch the below tools from shortcuts on your Start Menu or Desktop.>>"%Drive%\%guidename%"
|
|
goto:noportableWBM
|
|
|
|
:portableWBM
|
|
if /i "%USBCONFIG%" EQU "USB" echo ^<li^>WiiBackupManager.exe is saved here: "%DRIVEU%\Program Files\WiiBackupManager">>"%Drive%\%guidename%"
|
|
if /i "%USBCONFIG%" EQU "USB" echo ^<li^>NKitProcessingApp.exe is saved here: "%DRIVEU%\Program Files\NKit">>"%Drive%\%guidename%"
|
|
if /i "%USBCONFIG%" EQU "USB" echo ^<li^>GCBM.exe is saved here: "%DRIVEU%\Program Files\GCBM">>"%Drive%\%guidename%"
|
|
|
|
if /i "%USBCONFIG%" NEQ "USB" echo ^<li^>WiiBackupManager.exe is saved here: "%DRIVE%\Program Files\WiiBackupManager">>"%Drive%\%guidename%"
|
|
if /i "%USBCONFIG%" NEQ "USB" echo ^<li^>NKitProcessingApp.exe is saved here: "%DRIVE%\Program Files\NKit">>"%Drive%\%guidename%"
|
|
if /i "%USBCONFIG%" NEQ "USB" echo ^<li^>GCBM.exe is saved here: "%DRIVE%\Program Files\GCBM">>"%Drive%\%guidename%"
|
|
:noportableWBM
|
|
|
|
|
|
::echo ^<^/ul^>^<br^>^<font size="5"^>^<b^>Wii Backup Manager^</b^>^</font^>^<br^>>>"%Drive%\%guidename%"
|
|
::echo ^<i^>Wii Backup Manager (WBM) is a Windows program to help transfer Wii games to and from hard drives and SD cards.^<br^>It can also download game covers, list your games, identify what games are missing between devices, and more.^<^/i^>^<br^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WBM.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"disc^"^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%LOADER%" EQU "ALL" support\sfk echo -spat "\x3cli\x3eTo copy Wii Discs, launch USB-Loader GX or Configurable USB-Loader and insert the disc into your Wii, if you're not prompted to copy\install the game you can press <kbd>+</kbd> to start making a backup.">>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "CFG" support\sfk echo -spat "\x3cli\x3eTo copy Wii Discs, launch Configurable USB-Loader and insert the disc into your Wii, then press <kbd>+</kbd>.">>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "GX" support\sfk echo -spat "\x3cli\x3eTo copy Wii Discs, launch USB-Loader GX and insert the disc into your Wii, if you're not prompted to copy\install the game you can press <kbd>+</kbd> to start making a backup.">>"%Drive%\%guidename%"
|
|
|
|
if /i "%LOADER%" EQU "FLOW" support\sfk echo -spat "\x3cli\x3eWiiFlow Lite cannot be used to copy Wii Discs. You will have to use a different USB-Loader or an older version of WiiFlow.">>"%Drive%\%guidename%"
|
|
|
|
echo ^<li^>To copy GameCube (or Wii) Discs, launch "CleanRip" from the HBC and insert the disc into your Wii, then follow the very simple on-screen instructions. Note that CleanRip does not support devices formatted as WBFS.>>"%Drive%\%guidename%"
|
|
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>^<li^>^<b^>Warning^<^/b^>^: Using your Wii to rip games to NTFS is ^<u^>very^<^/u^> unstable, it is highly recommended to rip games to a FAT32 or WBFS formatted HDD, then transfer them to your NTFS drive using a computer. Recall that GameCube games cannot be played when saved to NTFS devices.^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
echo ^<^/ul^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
|
|
|
|
::-------------CONFIGURE/CUSTOMIZE USB-LOADER (OPTIONAL)-------------
|
|
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\CustomizeLoader.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
if /i "%LOADER%" EQU "GX" echo ^<li^>If you have questions about getting started with USB-Loader GX ^<a href^=^"https^:^/^/wii.hacks.guide^/wii-loaders.html^#usb-loader-gx^" target^=^"_blank^"^>click here^<^/a^>.^<br^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%LOADER%" EQU "FLOW" echo ^<li^>If you have questions about getting started with WiiFlow ^<a href^=^"https^:^/^/wii.hacks.guide^/wii-loaders.html^#wiiflow-lite^" target^=^"_blank^"^>click here^<^/a^>.^<br^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%LOADER%" EQU "FLOW" echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "FLOW" echo ^<li^>WiiFlow Lite emulator plugins allow the loader to also launch games for classic consoles as well. Grab the emulator plugins pack from ^<a href^=^"https^:^/^/gbatemp.net^/threads^/the-great-quest-for-wiiflow-plugins-tm-a-call-for-adventurers.563575" target^=^"_blank^"^>click here^<^/a^>.^<br^>>>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "FLOW" echo ^<li^>A popular WiiFlow Lite theme is the beautiful 'Rhapsodii Shima' theme. Check it out by clicking ^<a href^=^"https^:^/^/gbatemp.net^/threads^/rhapsodii-shima-5-4.555062^" target^=^"_blank^"^>here^<^/a^>.^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%LOADER%" EQU "ALL" echo ^<li^>If you have questions about getting started with USB-Loader GX or WiiFlow ^<a href^=^"https^:^/^/wii.hacks.guide^/wii-loaders.html^" target^=^"_blank^"^>click here^<^/a^>.^<br^>>>"%Drive%\%guidename%"
|
|
|
|
if /i "%LOADER%" EQU "ALL" echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "ALL" echo ^<li^>WiiFlow Lite emulator plugins allow the loader to also launch games for classic consoles as well. Grab the emulator plugins pack from ^<a href^=^"https^:^/^/gbatemp.net^/threads^/the-great-quest-for-wiiflow-plugins-tm-a-call-for-adventurers.563575" target^=^"_blank^"^>click here^<^/a^>.^<br^>>>"%Drive%\%guidename%"
|
|
if /i "%LOADER%" EQU "ALL" echo ^<li^>A popular WiiFlow Lite theme is the beautiful 'Rhapsodii Shima' theme. Check it out by clicking ^<a href^=^"https^:^/^/gbatemp.net^/threads^/rhapsodii-shima-5-4.555062^" target^=^"_blank^"^>here^<^/a^>.^<^/ul^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
::USBFOLDER indicates cfg usb loader
|
|
if /i "%USBFOLDER%" NEQ "*" goto:skip
|
|
|
|
::---!!!DISABLED BUILDING CONFIG!!!---::
|
|
::copy /y "%Drive%\%guidename%"+Support\Guide\CustomizeCFG.001 "%Drive%\%guidename%">nul
|
|
|
|
|
|
if /i "%USBCONFIG%" EQU "USB" echo ^<li^>To customize CFG USB-Loader use the Configurator for Configurable USB-Loader found here: "%DRIVEU%\usb-loader\CfgLoaderConfigurator.exe"^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
if /i "%USBCONFIG%" NEQ "USB" echo ^<li^>To customize CFG USB-Loader use the Configurator for Configurable USB-Loader found here: "%DRIVE%\usb-loader\CfgLoaderConfigurator.exe"^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
echo ^<ul style^=align^=^"left^" type^=^"square^"^>>>"%Drive%\%guidename%"
|
|
echo ^<li^>For tips and tricks on using the Configurator ^<a href^=^"http^:^/^/gwht.wikidot.com^/configurable-options^" target^=^"_blank^"^>click here^<^/a^>.^<^/ul^>^<br^>>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
:skip
|
|
|
|
|
|
::ADD end of ordered list and line break for ALL usb-loader guides (</ol><br>)
|
|
support\sfk echo -spat \x3c/ol\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
if /i "%MENU1%" EQU "W" goto:AFTERMODDING
|
|
|
|
GOTO:supportxflak
|
|
|
|
|
|
::---------AbstinenceWizguide (after USB SETUP)----------
|
|
:AbstinenceWizGUIDE
|
|
|
|
|
|
::copy files to USB
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "U" support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eCopy Files to the Hard Drive\x3c/li\x3e\x3c/font\x3e\x3cbr\x3eCopy everything inside the "%DRIVEU%" folder to the root of your FAT32 hard-drive\partition.\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "U" copy /y "%Drive%\%guidename%"+Support\Guide\FolderStructure_Wii.001 "%Drive%\%guidename%">nul
|
|
|
|
if /i "%SNEEKTYPE:~0,1%" EQU "U" support\sfk echo -spat When finished copying safely remove it from your computer and plug it into USB port0 on your Wii and proceed to the next step.\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eLaunch an Exploit on Your Wii\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
|
|
::goto exploit
|
|
set afterexploit=continueAbstinenceguide
|
|
goto:exploits
|
|
:continueAbstinenceguide
|
|
|
|
|
|
::Install IOS53 if required
|
|
if /i "%FIRMSTART%" EQU "4.3" goto:skipWADIOS53
|
|
if /i "%FIRMSTART%" EQU "4.2" goto:skipWADIOS53
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\WADIOS53.001 "%Drive%\%guidename%">nul
|
|
|
|
:skipWADIOS53
|
|
|
|
support\sfk echo -spat \x3cbr\x3eThis runs Casper which is configured to start %neekname%.\x3cbr\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
|
|
::NEEK TIPS
|
|
|
|
support\sfk echo -spat \x3cfont size=\x225\x22\x3e\x3cli\x3eHelpful Hints on Using %neekname%\x3c/li\x3e\x3c/font\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\NEEKTIPS.001 "%Drive%\%guidename%">nul
|
|
if /i "%SNEEKTYPE:~-1%" EQU "D" copy /y "%Drive%\%guidename%"+Support\Guide\NEEKDITIPS.001 "%Drive%\%guidename%">nul
|
|
copy /y "%Drive%\%guidename%"+Support\Guide\NEEKTIPSEND.001 "%Drive%\%guidename%">nul
|
|
|
|
::ADD end of ordered list and line break (</ol><br>)
|
|
support\sfk echo -spat \x3c/ol\x3e\x3cbr\x3e>>"%Drive%\%guidename%"
|
|
|
|
GOTO:supportxflak
|