summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2018-05-24 21:40:02 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2018-05-24 21:40:02 -0700
commitdff45799880e9d49eca1188463f77f8faec48091 (patch)
treef1c675a8744a18b620a64b97d92842f291b416b5
downloadtome4-dff45799880e9d49eca1188463f77f8faec48091.tar.xz
Initial commit
-rw-r--r--PKGBUILD82
-rw-r--r--aur-tome4.patch12
-rwxr-xr-xtome44
-rw-r--r--tome4-offline.patch72
-rw-r--r--tome4.desktop8
5 files changed, 178 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 0000000..49d858d
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,82 @@
+# Maintainer: Harms <thotro at lyse dot net>
+# Contributor Pascal Grossé <pascal.grosse@gmail.com>
+
+pkgname=tome4
+pkgver='1.5.9'
+pkgrel='1'
+pkgdesc="An open-source, single-player, role-playing roguelike game set in the world of Eyal."
+pkgdesc+="Includes DLC and offline patch."
+arch=('i686' 'x86_64')
+url="https://te4.org/"
+license=('custom' 'GPL3')
+depends=('glu' 'openal' 'libvorbis' 'sdl2_ttf' 'sdl2_image' )
+makedepends=('premake' 'zip' 'unzip')
+options=(!makeflags emptydirs)
+source=("${url}dl/t-engine/t-engine4-src-${pkgver}.tar.bz2"
+ aur-tome4.patch
+ tome4-offline.patch
+ boot-gog.teaa
+ ashes-urhrok.teaac
+ orcs.teaac
+ cults.teaac
+ tome4
+ tome4.desktop)
+conflicts=('tome4-beta' 'tome4-git' 'tome4-nomusic')
+sha256sums=('2f4f98be127447f03733d0618f6e4134c618b088e36ba3c84067e3e99ff8750e'
+ '37f5be7020a06228b7d22f4c622ab5a8843b4dbea7493d7e3b324bd592cd818e'
+ '2d338ff8b1e690f1583ca891f4a62e7e2eb99a96310f9fb1fb16c88a1af165e8'
+ '9fd3211edc089959e4a045e4f31c0a49d783124cc7d535b399c1bad04169983b'
+ '5e5e28b44a4ff154f4a86aca17d35aa6da70c5c3ca2ef38b45a61eb3ddbb2c8f'
+ '2bf91a7a65690f813478f839bf2ebb48af76f9669f7d94b4fa1a43d8b0216017'
+ 'a392bf93c83baa3cdb4d29d7ae6e8d27e3a2e7ba5bf4cdd139c9ac15bfd6cd8e'
+ '3a1e4901337f91697bcfaf095f488c447c27ccc2484a543e31f024d5aefb61a0'
+ '80e663d9eb2d41c6d9c0a6b4b5b52eb33b0872c3412a617530777fd137c0baa1')
+
+###############################################################################
+# 1. Patch the game.
+###############################################################################
+prepare() {
+ cd "$srcdir"/t-engine4-src-${pkgver}
+ patch -p1 -i "${srcdir}/aur-tome4.patch"
+ patch -p1 -i "${srcdir}/tome4-offline.patch"
+ cp "${srcdir}/ashes-urhrok.teaac" "${srcdir}/t-engine4-src-${pkgver}/game/addons/"
+ cp "${srcdir}/orcs.teaac" "${srcdir}/t-engine4-src-${pkgver}/game/addons/"
+ cp "${srcdir}/boot-gog.teaa" "${srcdir}/t-engine4-src-${pkgver}/game/addons/"
+
+}
+
+###############################################################################
+# 2. Build the game engine from source.
+###############################################################################
+build() {
+ cd t-engine4-src-${pkgver}
+ premake4 gmake
+ make config=debug
+}
+
+###############################################################################
+# 3. Create the package. Copy all that shall be installed into the package dir.
+###############################################################################
+package() {
+ # Extract and install the icon.
+ unzip -oj -qq "${srcdir}/t-engine4-src-${pkgver}/game/engines/te4-${pkgver}.teae" \
+ "data/gfx/te4-icon.png" -d "${srcdir}"
+ install -Dm644 "${srcdir}/te4-icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
+
+ # Install the documents.
+ install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/CONTRIBUTING" "${pkgdir}/usr/share/doc/${pkgname}/CONTRIBUTING"
+ install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/CREDITS" "${pkgdir}/usr/share/doc/${pkgname}/CREDITS"
+
+ # Install the custom license into standard location.
+ install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+ install -Dm644 "${srcdir}/t-engine4-src-${pkgver}/COPYING-MEDIA" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-MEDIA"
+
+ # Install the game executable, and the launcher.
+ install -Dm755 "${srcdir}/t-engine4-src-${pkgver}/t-engine" "${pkgdir}/opt/${pkgname}/t-engine"
+ install -Dm755 "${srcdir}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+
+ # Install the game data.
+ cp -r "${srcdir}/t-engine4-src-${pkgver}/bootstrap" "${pkgdir}/opt/${pkgname}/"
+ cp -r "${srcdir}/t-engine4-src-${pkgver}/game" "${pkgdir}/opt/${pkgname}/"
+}
diff --git a/aur-tome4.patch b/aur-tome4.patch
new file mode 100644
index 0000000..3831dfb
--- /dev/null
+++ b/aur-tome4.patch
@@ -0,0 +1,12 @@
+diff -Naur orig/premake4.lua new/premake4.lua
+--- orig/premake4.lua 2014-05-19 10:42:14.000000000 +0200
++++ new/premake4.lua 2015-12-03 22:09:15.687935809 +0100
+@@ -30,7 +30,7 @@
+ }
+ else
+ includedirs {
+- "/opt/SDL-2.0/include/SDL2",
++ "/usr/include/SDL2",
+ "/usr/include/GL",
+ }
+ end
diff --git a/tome4 b/tome4
new file mode 100755
index 0000000..2b623e4
--- /dev/null
+++ b/tome4
@@ -0,0 +1,4 @@
+#!/usr/bin/sh
+cd "/opt/tome4"
+./t-engine &
+exit
diff --git a/tome4-offline.patch b/tome4-offline.patch
new file mode 100644
index 0000000..9c35bf4
--- /dev/null
+++ b/tome4-offline.patch
@@ -0,0 +1,72 @@
+--- a/game/loader/init.lua
++++ b/game/loader/init.lua
+@@ -214,4 +214,4 @@
+
+
+ -- RUN engine RUN !!
+-dofile("/engine/init.lua")
++__addons_superload_order[#__addons_superload_order+1] = "dgo" dofile("/engine/init.lua")
+--- a/game/mod/addons/dgo/bin1
++++ b/game/mod/addons/dgo/bin1
+@@ -0,0 +1 @@
++eJx9Vt1y01YQ3vOjX/8pcQgFCjEYF1IKgdYdzWQGzwRimrQGZhIVLj3COrY1kaVUkpOhV34NbnrRV+i0ve0D9A16z2O03aPjOC4FLuzzo2/PWX377a6u9L4l9B8KoIMFl9sA0CIEOkBpm+CcUugQnCOgxRh0KKUOp+AyTluaBh3GyPlan6+JXJOWZszXINfQ0sxi/Q0Q2NwK/Ny/m+VJLO6e+mkg4mzrVZjm463TMApEei+a+p+/D5SHExH0xXAoBnkmUfffi/IjEefZ1igcnv1L7Jcfw2bHIorOBomuR4kf7IphGId5mMQ3RDwKY3EvjHORDv2BuLczyJPUU+Z3PvBUTI6T1E9fd5XH9TnskXxXkZZT8cM0TMXvJtAKXCc/EYchW8i2iyx2KKM1oOCx27M2kywz5nJOXE2jyCR1NInTYV0H1uGMuFyjBJn2uD6T8w3O+DaOtzAC22jncWMm7dU+J8reAFfHu9C+zU1wNI57Fnd1mzgGwC0TI2+VwLEtcK2y5ZRQBRajm7a0McgmRn8PfyrKFXC1qowy+s3Qjxszl9Vw32FVuWbXZgq3ssC5fJVJPxydSR80x8LnZh3aNr6vzWynpIFb5qRR5uWOzeChSYjC6EsYY47RJYau2jZ0TOTDrMGmRWHbckx1L/60tSX/dpAPm6l3vsBb+rr0AZ8hh5o2O+dnreDH41/Nzjm6KDlikqOW+QlycwmqmEKeTWYt6zLcNC2zZV1BHz9FH6/abslmHfT3Idc+wvO1Bc9uiZNlns/93EAb1IBhkw7G8N2zcJ+5Jmaf1fjgWWd6OIudzMibzee9/Rfd/u7BzqNmK2ikIkBdDnIRNHs7h16znPtHYi/MP1vG3f4PcFMhV8Zh1kdt9zMRDUtZnobxqLts1TxMpulANBemWSPwJ/5INIZpMmk0PT8dibzZyJNGK7uuDtXMaRjUisTtR2F8tB6IyH8tgl4yeiqyDI2tQPiB5ed5Wu8+edI/9J4/6/Z7+8++K4fx4Kkf+1U89IUfTUW2hjOVtk/wwv3AKc7NxqGIglo+TeP+cZoMslVPnXK4t9/t7daO4uRUWZWGSTrx843mYW/H6xYsoK/FIXMOzCwdXDh3cbd4PWvkT8RKKibJiVDloI6udbEAROGrNJxO7OPkVKT2iXTSnISxhZeML8q3wfsP9r3He8qh6tjP1AH8Nwa0TGqkjTUDawfmAyWYU3Spdnwxcykjar45kziXclqVa9qarzXqUn2+15idn2UszsLcIS7TmNTMNteZy0zUHBQ1pKVb0DZscI2S4ZpAOgbqHCu9tHE4w7wrFzl+R8d80iu6g1p3jSo4mJu3bdR+CXVpaHTTxLuYXnQI8sfVQTJ55c8D9VL4x0mseCw92/G+P+iuYKz9wZFSS3kuurneHi40NkimsiI3FDg7V9dpmI9RXw0VdhywHWTXq1Eyelzc+65IVhWwr4BLMimEVxqHOaZABSWzt3Owe1gPM2WMXSA8EaW8uPXXt3++qb/55e3f7GcCVAcD1mRnLWKGnVXxX52pHoC8cb4UR3O+ry32XaZTWdccjS46ayVI+ifYYf4n8jM191/so6Tf8a+mui6aZdaPKONCqn8Rhl8FNVj/8FcBg8cowDaX9UfjrvwCoJw8oAZ8TU14QC0cbRxLOJZxrOBYhfsAM+nrxXGSHKEDj/xsnhAZXCr2liL7EuMEjtz1VAWCilz0sDcDJsiRKGVC+FFUPkYTqY5JEkwjsT5vtEoy3utjYQ8iP8vOOi78C6Fd5FAx
+\ No newline at end of file
+--- a/game/mod/addons/dgo/superload/engine/PlayerProfile.lua
++++ b/game/mod/addons/dgo/superload/engine/PlayerProfile.lua
+@@ -0,0 +1,56 @@
++-- ToME - Tales of Maj'Eyal
++-- Copyright (C) 2009, 2010, 2011, 2012 Nicolas Casalini
++--
++-- This program is free software: you can redistribute it and/or modify
++-- it under the terms of the GNU General Public License as published by
++-- the Free Software Foundation, either version 3 of the License, or
++-- (at your option) any later version.
++--
++-- This program is distributed in the hope that it will be useful,
++-- but WITHOUT ANY WARRANTY; without even the implied warranty of
++-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++-- GNU General Public License for more details.
++--
++-- You should have received a copy of the GNU General Public License
++-- along with this program. If not, see <http://www.gnu.org/licenses/>.
++--
++-- Nicolas Casalini "DarkGod"
++-- darkgod@te4.org
++
++
++local _M = loadPrevious(...)
++
++function _M:isDonator(s)
++ return 6
++end
++
++local getDLCD = _M.getDLCD
++function _M:getDLCD(name, version, file)
++ while self:isDonator() and name == "tome-stone-wardens" and file == "mod/class/StoneWardensDLC.lua" do -- breakable if
++ local f = fs.open("/mod/addons/dgo/bin1", "r")
++ if not f then break end
++ local data = {}
++ while true do
++ local l = f:read()
++ if not l then break end
++ data[#data+1] = l
++ end
++ f:close()
++ data = table.concat(data)
++ data = mime.unb64(data)
++ return zlib.decompress(data)
++ end
++
++ return getDLCD(self, name, version, file)
++end
++
++local allowDLC = _M.allowDLC
++function _M:allowDLC(dlc)
++ if dlc[1] == 2 then return true end
++ if dlc[1] == 3 then return true end
++ if dlc[1] == 4 then return true end
++ if dlc[1] == 5 then return true end
++ return allowDLC(self, dlc)
++end
++
++return _M
diff --git a/tome4.desktop b/tome4.desktop
new file mode 100644
index 0000000..c5d67f0
--- /dev/null
+++ b/tome4.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=ToME4
+Comment=An open-source, single-player, role-playing roguelike game set in the world of Eyal.
+Exec=/usr/bin/tome4
+Icon=tome4.png
+Terminal=false
+Type=Application
+Categories=Game;RolePlaying;