83 lines
2.9 KiB
Bash
83 lines
2.9 KiB
Bash
#!/bin/bash
|
|
|
|
while true; do
|
|
read -p "Do you have the doom3 game files? The demo mode will be installed if you answer No. [Y/n]" yn
|
|
case $yn in
|
|
[Yy]* ) choice=User_Supplied; break;;
|
|
[Nn]* ) choice=Download_Demo; break;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
|
|
# fix broken install due to @techcoder20
|
|
|
|
# Remove packages if necessary
|
|
pkgToRemoveListFull="sdl2-image sdl2-mixer sdl2-ttf"
|
|
pkgToRemoveList=""
|
|
for pkgToRemove in $(echo $pkgToRemoveListFull); do
|
|
$(dpkg --status $pkgToRemove &> /dev/null)
|
|
if [[ $? -eq 0 ]]; then
|
|
pkgToRemoveList="$pkgToRemoveList $pkgToRemove"
|
|
fi
|
|
done
|
|
|
|
if [[ ! -z "$pkgToRemoveList" ]]; then
|
|
sudo apt-get --yes --purge remove $pkgToRemoveList || error "Could not remove packages"
|
|
fi
|
|
|
|
#Installing dependencies
|
|
install_packages libfontconfig-dev automake libtool libfreeimage-dev \
|
|
libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev libtiff5-dev libwebp-dev libasound2-dev \
|
|
libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxss-dev \
|
|
freeglut3-dev libvorbisfile3 libcurl4 cmake build-essential \
|
|
libsdl2-ttf-dev libsdl2-dev libsdl2-mixer-dev || error "Failed to install dependencies"
|
|
|
|
cd /tmp
|
|
git_clone https://github.com/dhewm/dhewm3 || error "Failed to clone dhewm3 from github" #Cloning dhewm3 repository
|
|
cd dhewm3/neo || exit
|
|
mkdir build || error "Failed to create build folder"
|
|
cd build || exit
|
|
cmake .. -DONATIVE=ON || error "Failed to build dhewm3"
|
|
make -j$(nproc) || error "Failed to build dhewm3"
|
|
|
|
|
|
Download_Demo () {
|
|
cd ~
|
|
rm -f Doom3DemoGameFiles.zip
|
|
wget https://github.com/techcoder20/RPIDoom3Installer/releases/download/v1.0.0/Doom3DemoGameFiles.zip || error "Failed to download game files"
|
|
unzip Doom3DemoGameFiles.zip || error "Failed to extract game files"
|
|
rm -f Doom3DemoGameFiles.zip
|
|
cd /tmp/dhewm3/neo/build || error "Could not move to dhewm3 directory"
|
|
cp base.so d3xp.so dhewm3 libidlib.a ~/Doom3Demo || error "Failed to copy necessary files to Doom3Demo Folder"
|
|
echo "[Desktop Entry]
|
|
Version=1.0
|
|
Type=Application
|
|
Name=Doom3Demo
|
|
Path=$HOME/Doom3Demo
|
|
Icon=${DIRECTORY}/apps/Doom 3/icon-64.png
|
|
Exec=$HOME/Doom3Demo/dhewm3
|
|
Categories=Game;
|
|
Terminal=false" | tee $HOME/.local/share/applications/Doom3Demo.desktop >/dev/null || error "Failed to create menu button!"
|
|
}
|
|
|
|
User_Supplied () {
|
|
mkdir -p ~/Doom3GameFiles || error "Failed to create Doom3GameFiles Folder"
|
|
warning "YOU MUST place the game files in ~/Doom3GameFiles for the game to work"
|
|
sleep 5
|
|
cd /tmp/dhewm3/neo/build || error "Could not move to dhewm3 directory"
|
|
cp base.so d3xp.so dhewm3 libidlib.a ~/Doom3GameFiles || error "Failed to copy necessary files to Doom3GameFile Folder"
|
|
echo "[Desktop Entry]
|
|
Version=1.0
|
|
Type=Application
|
|
Name=Doom3
|
|
Path=$HOME/Doom3GameFiles
|
|
Icon=${DIRECTORY}/apps/Doom 3/icon-64.png
|
|
Exec=$HOME/Doom3GameFiles/dhewm3
|
|
Categories=Game;
|
|
Terminal=false" | tee $HOME/.local/share/applications/Doom3.desktop >/dev/null || error "Failed to create menu button!"
|
|
}
|
|
|
|
$choice
|
|
|
|
rm -rf /tmp/dhewm3
|