85 рядки
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			85 рядки
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -e
 | |
| set -u
 | |
| 
 | |
| my_swiss_ver=r927
 | |
| my_wwhack_ver=v1.1.1
 | |
| my_gcmm_ver=1.4f
 | |
| #my_gbi_ver=20191107
 | |
| my_gbi_ver=latest
 | |
| my_sd_name=GC_HMBRW
 | |
| 
 | |
| pushd ~/Downloads >/dev/null
 | |
|     echo ''
 | |
|     echo "Creating ~/Downloads/${my_sd_name}"
 | |
|     rm -rf ./"${my_sd_name}"
 | |
|     mkdir -p ./"${my_sd_name}"/MCBACKUP/
 | |
| 
 | |
|     echo ''
 | |
|     echo 'Download and extract Swiss (Zip)...'
 | |
|     rm -rf swiss*
 | |
|     curl -fL https://github.com/coolaj86/swiss-gc/releases/download/v0.5${my_swiss_ver}/swiss_${my_swiss_ver}.zip \
 | |
|         -o swiss_${my_swiss_ver}.zip
 | |
|     unzip -q swiss_${my_swiss_ver}.zip
 | |
|     #wget https://github.com/emukidid/swiss-gc/releases/download/v0.4r714/swiss_r714.7z
 | |
|     #7z x swiss_r714.7z
 | |
|     # Copy swiss as an auto-boot for SD Launcher (does nothing otherwise)
 | |
|     rsync -avP swiss_${my_swiss_ver}/DOL/swiss_${my_swiss_ver}-compressed.dol ./"${my_sd_name}"/
 | |
|     rsync -avP swiss_${my_swiss_ver}/DOL/swiss_${my_swiss_ver}-compressed.dol ./"${my_sd_name}"/autoexec.dol
 | |
| 
 | |
|     echo ''
 | |
|     echo 'Download and extract GCMM ...'
 | |
|     rm -rf gcmm*
 | |
|     curl -fsSL https://github.com/suloku/gcmm/releases/download/${my_gcmm_ver}/gcmm_${my_gcmm_ver}.zip -o gcmm_${my_gcmm_ver}.zip
 | |
|     unzip -q gcmm_${my_gcmm_ver}.zip
 | |
|     # Copy GCMM as a bootable dol (which will be launched from Swiss)
 | |
|     rsync -avP gcmm_${my_gcmm_ver}/gamecube/gcmm_*.dol ./"${my_sd_name}"/
 | |
| 
 | |
|     echo ''
 | |
|     echo 'Download and extract Wind Waker hacked game save'
 | |
|     # See also: https://github.com/FIX94?utf8=%E2%9C%93&tab=repositories&q=gamecube
 | |
|     rm -rf WWHack*
 | |
|     curl -fL https://github.com/FIX94/ww-hack-gc/releases/download/${my_wwhack_ver}/WWHack-GC-${my_wwhack_ver}.zip -o WWHack-GC-${my_wwhack_ver}.zip
 | |
|     mkdir -p WWHack-GC-${my_wwhack_ver}
 | |
|     pushd WWHack-GC-${my_wwhack_ver} >/dev/null
 | |
|         unzip -q ../WWHack-GC-${my_wwhack_ver}.zip
 | |
|     popd >/dev/null
 | |
|     # Copy the hacked save file
 | |
|     rsync -avP WWHack-GC-${my_wwhack_ver}/gzle.gci ./"${my_sd_name}"/MCBACKUP/
 | |
| 
 | |
|     # Copy Swiss over as the bootable launcher
 | |
|     rsync -avP swiss_${my_swiss_ver}/GCI/boot.gci ./"${my_sd_name}"/MCBACKUP/
 | |
| 
 | |
|     echo ''
 | |
|     echo 'Download and extract Game Boy Interface'
 | |
|     rm -rf gbi*
 | |
|     curl -fL https://files.extremscorner.org/gamecube/apps/gbi/latest -o gbi-${my_gbi_ver}.zip
 | |
|     mkdir -p gbi-${my_gbi_ver}
 | |
|     pushd gbi-${my_gbi_ver} >/dev/null
 | |
|         unzip -q ../gbi-${my_gbi_ver}.zip
 | |
|     popd >/dev/null
 | |
| 
 | |
|     # Copy Game Boy Interface as bootable from swiss
 | |
|     rsync -avP gbi-${my_gbi_ver}/gbi.dol ./"${my_sd_name}"/
 | |
|     echo -- '--zoom=2.875' > ./"${my_sd_name}"/gbi.cli
 | |
| 
 | |
|     # OR you could boot directly to any dol software that has been converted to gci format
 | |
|     rsync -avP gbi-${my_gbi_ver}/MCBACKUP/gbi.gci ./"${my_sd_name}"/MCBACKUP/
 | |
| popd >/dev/null
 | |
| sleep 1
 | |
| 
 | |
| echo ''
 | |
| diskutil list
 | |
| echo "!!! BE CAREFUL !!!"
 | |
| read -p "Which WHOLE DISK should be ERASED AND FORMATTED? (ex: /dev/disk8): " my_disk
 | |
| diskutil unmountDisk $my_disk
 | |
| #sudo newfs_msdos -F 16 -v "${my_sd_name}" $my_disk
 | |
| sudo newfs_msdos -F 32 -v "${my_sd_name}" $my_disk
 | |
| diskutil mount $my_disk
 | |
| 
 | |
| rsync -av ~/Downloads/"${my_sd_name}"/ /Volumes/"${my_sd_name}"/
 | |
| diskutil unmount $my_disk
 | |
| 
 | |
| echo ''
 | |
| echo 'Done!' |