From dff45799880e9d49eca1188463f77f8faec48091 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Thu, 24 May 2018 21:40:02 -0700 Subject: Initial commit --- PKGBUILD | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++ aur-tome4.patch | 12 ++++++++ tome4 | 4 +++ tome4-offline.patch | 72 ++++++++++++++++++++++++++++++++++++++++++++++ tome4.desktop | 8 ++++++ 5 files changed, 178 insertions(+) create mode 100644 PKGBUILD create mode 100644 aur-tome4.patch create mode 100755 tome4 create mode 100644 tome4-offline.patch create mode 100644 tome4.desktop diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..49d858d --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,82 @@ +# Maintainer: Harms +# Contributor Pascal Grossé + +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 . ++-- ++-- 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; -- cgit v1.2.1