diff --git a/d2-setup.sh b/d2-setup.sh new file mode 100755 index 0000000..027c26e --- /dev/null +++ b/d2-setup.sh @@ -0,0 +1,147 @@ +#!/bin/bash + +# Wine Prefix Environment +PREFIX="/home/$USER/diablo" +ARCH="win32" + + +installD2(){ + D2_INSTALLER_PATH="/home/$USER/D2" + + echo -e "\nInstalling Diablo II...\n" + + if [ ! -d "${D2_INSTALLER_PATH}" ];then + echo -e "${D2_INSTALLER_PATH} not found, edit script and set correct path\n" + exit 0; + fi + + cd ${D2_INSTALLER_PATH} + + WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine Installer.exe + +} + +installLOD(){ + LOD_INSTALLER_PATH="/home/$USER/LOD" + + echo -e "\nInstalling Diablo II: Lord of Destruction...\n" + + if [ ! -d "${LOD_INSTALLER_PATH}" ];then + echo -e "${LOD_INSTALLER_PATH} not found, edit script and set correct path\n" + exit 0; + fi + + cd ${LOD_INSTALLER_PATH} + + WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine Installer.exe +} + +getDeps(){ + if [ ! -f /usr/bin/wine ];then + echo -e "\nInstall wine\n" + exit 0; + fi + + if [ ! -f /usr/bin/winetricks ];then + echo -e "\n Install winetricks\n" + exit 0; + fi +} + +getTricks(){ + WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" winetricks directx9 directplay comctl32ocx + + echo -e "\nGetting Glide for D2\n" + + + + +} + +getGlide(){ + if [ ! -f /tmp/gl32ogl14e.zip ];then + cd /tmp + wget http://www.svenswrapper.de/gl32ogl14e.zip + + unzip gl32ogl14e.zip + + echo -e "\nCopying Files to Diablo game directory...\n" + + cp -v {glide-init.exe,glide3x.dll} ${PREFIX}/drive_c/"Program Files"/"Diablo II"/ + + echo -e "\nCleaning up temp files...\n" + + rm {glide-readme.txt,glide-liesmich.txt,glide-init.exe,glide3x.dll,gl32ogl14e.zip} + + cd ${PREFIX}/drive_c/"Program Files"/"Diablo II"/ + + WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine glide-init.exe + + echo -e "\nDone!\n" + fi +} +runGame(){ + + cd ${PREFIX}/drive_c/"Program Files"/"Diablo II"/ + + + echo -n -e "\nRun game now?(Y/n): " + read choice + + if [ "${choice}" = "n" ];then + exit 0; + fi + + WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine "Diablo II.exe" "-3dfx" + + +} + +runWinecfg(){ + WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" winecfg +} + + +case "${1}" in + + play|-p) + runGame + ;; + + getdeps|-gd) + getDeps + ;; + + gettricks|-gt) + getTricks + ;; + + getglide| -gg) + getGlide + ;; + + id2|--install-d2) + installD2 + ;; + + ilod|--install-lod) + installLOD + ;; + + cfg|-c) + runWinecfg + ;; + all|-a) + getDeps + installD2 + installLOD + getTricks + getGlide + runGame + ;; + + *) + echo -e "\nUsage: $0 [-a] [all] [-p] [play] [-gt] [gettricks] [-gd] [getdeps] [getglide] [-gg] [id2] [--install-d2] [ilod] [--install-lod]\n" + ;; + +esac \ No newline at end of file