208 lines
4.0 KiB
Bash
Executable File
208 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
LRED="\033[1;31m"
|
|
BLUE="\033[0;34m"
|
|
LBLUE="\033[1;34m"
|
|
GREEN="\033[0;32m"
|
|
LGREEN="\033[1;32m"
|
|
YELLOW="\033[1;33m"
|
|
CYAN="\033[0;36m"
|
|
LCYAN="\033[1;36m"
|
|
PURPLE="\033[0;35m"
|
|
LPURPLE="\033[1;35m"
|
|
BWHITE="\e[1m"
|
|
NC='\033[0m' # No Color
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Wine Prefix Environment
|
|
PREFIX="/home/$USER/diablo"
|
|
ARCH="win32"
|
|
|
|
|
|
notice(){
|
|
echo -e "${YELLOW}NOTICE: Currently you must move & rename the installer directories to the following: ${NC}\n"
|
|
echo -e "${LCYAN}Base Game: ${HOME}/D2${NC}"
|
|
echo -e "${LCYAN}Expansion: ${HOME}/LOD${NC}"
|
|
echo -e "${YELLOW}\nThen run this script with the following option:${NC}"
|
|
echo -e "${LCYAN}${0} -a${NC}"
|
|
echo -e "${YELLOW}\nThe script will then kick off the process of grabbing debs, setting the prefix and installing the game.${NC}"
|
|
echo -e "${YELLOW}User intervention is required to click through the installer setups${NC}"
|
|
}
|
|
|
|
installD2(){
|
|
notice
|
|
read -n 1 -p "~~~~~~ Press enter to continue ~~~~~~"
|
|
|
|
D2_INSTALLER_PATH="/home/$USER/D2"
|
|
|
|
echo -e "\n${LGREEN}Installing Diablo II...${NC}\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}" || exit 1
|
|
|
|
WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine Installer.exe
|
|
|
|
}
|
|
|
|
installLOD(){
|
|
|
|
notice
|
|
read -n 1 -p "~~~~~~ Press enter to continue ~~~~~~"
|
|
|
|
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}" || exit 1
|
|
|
|
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 || exit 1
|
|
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"/" || exit 1
|
|
|
|
WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine glide-init.exe
|
|
|
|
echo -e "\nDone!\n"
|
|
fi
|
|
}
|
|
runGame(){
|
|
|
|
cd "${PREFIX}/drive_c/Program Files/Diablo II/" || exit 1
|
|
|
|
|
|
echo -n -e "\n${LGREEN}Run game now?(Y/n): ${NC}"
|
|
read -r choice
|
|
|
|
if [ "${choice}" = "n" ];then
|
|
exit 0;
|
|
fi
|
|
|
|
WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine "Diablo II.exe" " -3dfx"
|
|
|
|
|
|
}
|
|
|
|
run_glide(){
|
|
|
|
|
|
cd "${PREFIX}/drive_c/Program Files/Diablo II/" || exit 1
|
|
|
|
|
|
WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" wine "glide-init.exe"
|
|
|
|
}
|
|
|
|
run_tricks(){
|
|
WINEPREFIX="${PREFIX}" WINEARCH="${ARCH}" winetricks "${1}" "${2}"
|
|
}
|
|
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
|
|
;;
|
|
|
|
rg| --run-glide)
|
|
run_glide
|
|
;;
|
|
|
|
tricks)
|
|
run_tricks "${1}" "${2}"
|
|
;;
|
|
|
|
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
|