summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD58
-rw-r--r--codghosts.desktop8
-rw-r--r--codghosts.sh20
4 files changed, 107 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..712d849060f1
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = codghosts-wine-steam
+ pkgdesc = Call of Duty: Ghosts using WINE with data via Steam
+ pkgver = 1.18
+ pkgrel = 1
+ url = https://store.steampowered.com/app/209160/Call_of_Duty_Ghosts/
+ arch = x86_64
+ license = custom
+ makedepends = steamcmd
+ makedepends = icoutils
+ depends = wine
+ depends = winetricks
+ source = codghosts.sh
+ source = codghosts.desktop
+ source = https://github.com/XLabsProject/iw6x-client/releases/download/v2.0.2/iw6x-v2.0.2.zip
+ source = Goldberg_Lan_Steam_Emu_master--a24a9c26.zip::https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/jobs/1590301114/artifacts/download
+ sha256sums = 1a93d386ae13d174e9be41fbe08e1d11db252a353e30df23338e17eb3ff8976f
+ sha256sums = 4994037527dda02cf2dcf70de80c2069a15ee5a309ef708fe23b2a0fa904399b
+ sha256sums = c1a151c025ef67acfbd32c802fa18e7461444c62e356b72dd893ac196c62ed17
+ sha256sums = 3bfe422a3daf85a02fe6458e4351a4f40f29f513ec8df2c838c7e197844e51cb
+
+pkgname = codghosts-wine-steam
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f4ea3385abf0
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,58 @@
+# Maintainer: John-Michael Mulesa <jmulesa [at] gmail.com>
+
+pkgname=codghosts-wine-steam
+_pkgname=codghosts
+pkgver=1.18
+pkgrel=1
+_steamid=209170
+arch=('x86_64')
+makedepends=('steamcmd' 'icoutils')
+depends=('wine' 'winetricks')
+source=("${_pkgname}.sh" "${_pkgname}.desktop" "https://github.com/XLabsProject/iw6x-client/releases/download/v2.0.2/iw6x-v2.0.2.zip"
+ "Goldberg_Lan_Steam_Emu_master--a24a9c26.zip::https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/jobs/1590301114/artifacts/download")
+pkgdesc="Call of Duty: Ghosts using WINE with data via Steam"
+license=('custom')
+url='https://store.steampowered.com/app/209160/Call_of_Duty_Ghosts/'
+sha256sums=('1a93d386ae13d174e9be41fbe08e1d11db252a353e30df23338e17eb3ff8976f'
+ '4994037527dda02cf2dcf70de80c2069a15ee5a309ef708fe23b2a0fa904399b'
+ 'c1a151c025ef67acfbd32c802fa18e7461444c62e356b72dd893ac196c62ed17'
+ '3bfe422a3daf85a02fe6458e4351a4f40f29f513ec8df2c838c7e197844e51cb')
+
+prepare() {
+ mkdir -p $srcdir/${_pkgname}
+
+ # Use steamcmd to get data.
+ printf "Enter your Steam username:"
+ read steam_username
+ steamcmd +@sSteamCmdForcePlatformType windows +@ShutdownOnFailedCommand 1 +force_install_dir $srcdir/${_pkgname} +login $steam_username "+app_update ${_steamid} validate" +quit
+ wrestool -x -t -14 -o . ${_pkgname}/iw6mp64_ship.exe
+ icotool -x -o . *.ico
+}
+
+package() {
+ mkdir -p $pkgdir/opt/${_pkgname}
+
+ # Move required files to pkgdir
+ cp -r $srcdir/${_pkgname}/* $pkgdir/opt/${_pkgname}/
+ rm -rf $pkgdir/opt/${_pkgname}/steamapps
+ rm $pkgdir/opt/${_pkgname}/*.vdf
+ $srcdir/linux/tools/find_interfaces.sh $pkgdir/opt/${_pkgname}/steam_api64.dll > $pkgdir/opt/${_pkgname}/steam_interfaces.txt || true
+ cp $srcdir/steam_api64.dll $pkgdir/opt/${_pkgname}/
+ echo "${_steamid}" > $pkgdir/opt/${_pkgname}/steam_appid.txt
+ cp $srcdir/iw6x.exe $pkgdir/opt/${_pkgname}/
+
+ # Required for player profiles.
+ chmod o+w $pkgdir/opt/${_pkgname}
+
+ # Install desktop file.
+ install -D -m 644 $srcdir/${_pkgname}.desktop \
+ $pkgdir/usr/share/applications/${_pkgname}.desktop
+
+ # Install icon file.
+ install -D -m 644 $srcdir/iw6mp64_ship.exe_*_256x256x32.png \
+ $pkgdir/usr/share/pixmaps/${_pkgname}.png
+
+ # Install bash startup script.
+ install -D -m 755 $srcdir/${_pkgname}.sh \
+ $pkgdir/usr/bin/${_pkgname}
+}
diff --git a/codghosts.desktop b/codghosts.desktop
new file mode 100644
index 000000000000..197768f2c5a8
--- /dev/null
+++ b/codghosts.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Call of Duty: Ghosts
+Comment=Call of Duty: Ghosts Multiplayer WINE
+Exec=/usr/bin/codghosts
+Icon=codghosts
+Terminal=false
+Type=Application
+Categories=Application;Game;
diff --git a/codghosts.sh b/codghosts.sh
new file mode 100644
index 000000000000..2bf184600e0b
--- /dev/null
+++ b/codghosts.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+export WINEPREFIX="$HOME"/.codghosts/wine
+if [ ! -d "$HOME"/.codghosts ] ; then
+ mkdir -p "$HOME"/.codghosts/wine
+ wineboot -u
+ winetricks dxvk
+fi
+cd /opt/codghosts
+while getopts ":dmh" opt; do
+ case ${opt} in
+ d ) /usr/bin/wine iw6x.exe -dedicated
+ ;;
+ m ) /usr/bin/wine iw6x.exe -multiplayer
+ ;;
+ h ) echo "Usage: codaw [-m: multiplayer (default)|-d: dedicated]"
+ ;;
+ esac
+ exit
+done
+/usr/bin/wine iw6x.exe -multiplayer