diff options
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | PKGBUILD | 50 | ||||
-rwxr-xr-x | toontown.py | 56 |
3 files changed, 34 insertions, 81 deletions
@@ -1,7 +1,7 @@ pkgbase = toontown-rewritten pkgdesc = An MMO originally by Disney, rewritten. An account is needed to play. - pkgver = 1.2.3 - pkgrel = 3 + pkgver = 1.2.6 + pkgrel = 1 arch = x86_64 license = custom makedepends = ostree @@ -12,9 +12,8 @@ pkgbase = toontown-rewritten depends = gendesk depends = python depends = python-pyqtwebengine - source = toontown-rewritten::git+https://github.com/Xytime/Xytime.github.io.git - source = toontown.py - md5sums = SKIP + depends = python-bsdiff4 + source = toontown-rewritten::git+https://github.com/0xAURORA/0xAURORA.github.io.git md5sums = SKIP pkgname = toontown-rewritten @@ -1,21 +1,21 @@ -#Maintainer: CrankySupertoon <crankysupertoon@gmail.com> -#For any Readers out here. Yes im extracting the flatpak. Dont ask +# Maintainer: Nora Hanegan <norahanegan@gmail.com> +# For any readers out here. Yes I am extracting the flatpak. Do not ask pkgname=toontown-rewritten -pkgver=1.2.3 -pkgrel=3 -gitcommit="54fa8cb3feca7d1a00ac88a12afaa6524ce8c904" -ostreecommit="9119a18c449ddeb2304bac358157aa6cdbce0d1f706992b6b87396c51a5ff50b" +pkgver=1.2.6 +pkgrel=1 +gitcommit="1e00a84b5b99a4cc908e148a842764b7d7f2147f" +ostreecommit="fae3ef042879e237000e98aea20c1b1cb72c074f24c9c87813677a781f5d353e" pkgdesc="An MMO originally by Disney, rewritten. An account is needed to play." arch=("x86_64") license=("custom") -depends=("qt5-base" "openal" "gendesk" "python" "python-pyqtwebengine") +depends=("qt5-base" "openal" "gendesk" "python" "python-pyqtwebengine" "python-bsdiff4") makedepends=("ostree" "git" "sed") -source=("toontown-rewritten::git+https://github.com/Xytime/Xytime.github.io.git" "toontown.py") -md5sums=('SKIP' 'SKIP') +source=("toontown-rewritten::git+https://github.com/0xAURORA/0xAURORA.github.io.git") +md5sums=('SKIP') prepare() { - # Checkout Git Project to right version + # Checkout git project to right version cd "${srcdir}/${pkgname}" git reset --hard ${gitcommit} @@ -24,18 +24,18 @@ prepare() { rm -rfd ${ostreecommit} ostree checkout --repo=repo -U ${ostreecommit} - # Put Fixed Executable in right directory - cd "${srcdir}" - cp "toontown.py" "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages/" + # Put executable in right directory + cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/bin/" + cp "./toontown" "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages/toontown.py" - # Fix Assets Directory + # Fix assets directory cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages" mkdir -p assets mv "../../../share/ttassets/resources/"* "assets" - # Cleanup Unwanted Data + # Cleanup unwanted data cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages" - rm -rf bsdiff4* certifi* chardet* idna-2* PyQt5* requests* sip* Toontown_Rewritten-123-py3.7.egg-info urllib* + rm -rf bsdiff4* certifi* chardet* idna-2* PyQt5* requests* sip* Toontown_Rewritten-123-py3.7.egg-info urllib* # Touch for init files cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages" @@ -46,13 +46,26 @@ prepare() { touch "launcher/__init__.py" touch "patcher/__init__.py" + # Fix directory hardcoded into the launcher from the flatpak + cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages/" + sed -i 's/copyfile("\/app\/share\/ttassets\/resources\/settings.json", "settings.json")//g' toontown.py + # Fix Resources Path in Source cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages/gui" sed -i 's/"\/", "app", "share", "ttassets"/"\/opt\/toontown-rewritten\"/g' frame.py sed -i 's/resources/assets/g' frame.py sed -i 's/resources/assets/g' buttons.py - # Invoke using mono in a wrapper, since wine (if installed) would open it otherwise + # Update the launcher version inside the flatpak + cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages/launcher/" + sed -i 's/1.2.3-py3/1.2.6/g' settings.py + + # Remove the patching from the launcher since it is broken on linux + cd "${srcdir}/${pkgname}/flatpaks/${ostreecommit}/files/lib/python3.7/site-packages/launcher/" + sed -i 's/while self.patcher.isAlive()://' launcher.py + sed -i 's/time.sleep(0.2)//' launcher.py + + # Generate startup executable cd "${srcdir}/${pkgname}" cat > "${pkgname}" <<-EOT #!/bin/sh @@ -64,9 +77,6 @@ prepare() { cd "${srcdir}/${pkgname}" gendesk --pkgname "Toontown Rewritten" --pkgdesc "${pkgdesc}" --icon ${pkgname} --exec "/usr/bin/${pkgname}" -n -f mv "Toontown Rewritten.desktop" "${pkgname}.desktop" - - # Install Required PIP Modules - python3 -m pip install bsdiff4 } package() { diff --git a/toontown.py b/toontown.py deleted file mode 100755 index a9e010ccd20e..000000000000 --- a/toontown.py +++ /dev/null @@ -1,56 +0,0 @@ -from launcher.launcher import TTRLauncher -from gui.frame import LauncherFrame -from PyQt5.QtWidgets import QApplication -import multiprocessing -from launcher.launcher import localizer, messagetypes -import traceback -import sys -import os - -#Set our default path -if os.getenv("XDG_DATA_HOME") is not None: - if not os.path.exists(os.path.join(os.getenv("XDG_DATA_HOME"), "toontown-rewritten")): - os.makedirs(os.path.join(os.getenv("XDG_DATA_HOME"), "toontown-rewritten")) - os.chdir(os.path.join(os.getenv("XDG_DATA_HOME"), "toontown-rewritten")) -else: #Never thought i'd be here... - if not os.path.exists(os.path.join(os.path.expanduser("~"), ".ttr")): - os.makedirs(os.path.join(os.path.expanduser("~"), ".ttr")) - os.chdir(os.path.join(os.path.expanduser("~"), ".ttr")) - -#from shutil import copyfile -#Override default game settings for a better user experience -#By default, the fullscreen mode can span both monitors on Linux and it can be a hassle to fix it. -#if not os.path.exists("settings.json"): -# print("Installing default config...") -# copyfile("resources/settings.json", "settings.json") - -#Basically the exact same as the old launcher -class Process(multiprocessing.Process): - pass - -def run_launcher(guiToLauncher, launcherToGui): - launcher = TTRLauncher(input=guiToLauncher, output=launcherToGui) - try: - launcher.start() - except: - # We caught an exception! Let's write info to crash.txt and tell the GUI process. - eType, value, trace = sys.exc_info() - with open('crash.txt', 'w') as f: - f.write('%s: %s\n' % (eType.__name__, value)) - traceback.print_tb(trace, None, f) - launcherToGui.put((messagetypes.LAUNCHER_ERROR, localizer.ERR_UnknownTraceback, True)) - - -if __name__ == '__main__': # Needed for multiprocessing to not fail horrifically. Don't try to remove. - multiprocessing.freeze_support() # Needed on Windows for PyInstaller... - - guiToLauncher = multiprocessing.Queue() - launcherToGui = multiprocessing.Queue() - - launcherProcess = Process(target=run_launcher, name="Launcher-Thread", args=(guiToLauncher, launcherToGui)) - launcherProcess.daemon = True - launcherProcess.start() - - app = QApplication(sys.argv) - frame = LauncherFrame(localizer.GUI_WindowTitle, launcherToGui, guiToLauncher) - sys.exit(app.exec_()) |