Commit Graph

46 Commits

Author SHA1 Message Date
tretrauit a5659f7ff3
refactor: convert all task-intensive functions to async.
chore: rename gui.py to cli.py
fix: internal downloader can resume download now.
feat: add verify_game, verify_from_pkg_version, clear_cache to installer.py.
feat: add clear_cache to patcher.py.
fix: linux now check for pkexec before executing it.
fix: add get_name to voicepack.py, latest.py, diff.py to get name from path (since the developer didn't set a name to these files in the sdk url)
chore: remove deprecation message in read_version_from_config in installer.py
misc: use chunk from self._download_chunk instead of being hardcoded to 8192.
fix: is_telemetry_blocked will only wait 15s for a connection.
chore: move appdirs to constants.py

This commit refactor almost all functions to be compatible with asyncio, also restructured CLI to use asyncio.run on main function instead of executing it randomly.
Also prioritize the use of asyncio.gather, sometimes making tasks faster
2022-06-25 01:13:47 +07:00
tretrauit 8b2d0cad8f
Remove game version check in download_full_game()
Fix remote archive name detection (because archive.game.latest.name doesn't contain it anymore)

Signed-off-by: tretrauit <tretrauit@gmail.com>
2022-04-01 09:43:33 +07:00
tretrauit b18da4e495
Remove game version check in download_full_game()
Fix remote archive name detection (because archive.game.latest.name doesn't contain it anymore)

Signed-off-by: tretrauit <tretrauit@gmail.com>
2022-04-01 09:27:03 +07:00
tretrauit 4b99162bce
Fix hdiffpatch executables not being detected on Windows
Signed-off-by: tretrauit <tretrauit@gmail.com>
2022-03-31 20:38:59 +07:00
tretrauit fd00e8b51d
Add support for hdiffpatch files
Game now apply update properly (hopefully)

Signed-off-by: tretrauit <tretrauit@gmail.com>
2022-03-31 02:09:33 +07:00
tretrauit c7918f8a20
Fix improper game version check 2022-03-30 16:54:47 +07:00
tretrauit 7c45133508
Add support for downloading HDiffPatch 2022-02-27 18:22:21 +07:00
tretrauit 992048ede3
Use create_subprocess_shell and fix hosts file appending on Linux 2022-02-27 13:50:59 +07:00
tretrauit 44cdf424dc
Use create_subprocess_shell 2022-02-27 13:44:51 +07:00
tretrauit 8f541ff0c4
Wait for patch process to exit
Bump to 1.2.9-2
2022-02-27 13:37:08 +07:00
tretrauit f7e5362e86
Fix blocking telemetry fail.
Bump to 1.2.9-1
2022-02-27 13:32:18 +07:00
tretrauit aaf728445d
Various changes, block telemetry feature.
-Sp/--patch is now required to do block telemetry before patching.
Still preparing for hdiffpatch (will be coming at 1.10)
Ay yo hosty support coming soon xD
2022-02-27 01:54:20 +07:00
tretrauit dbf6cf6d21
Merge remote-tracking branch 'origin/master' 2022-02-19 19:06:04 +07:00
tretrauit fbe4692f84
Await AsyncPath.exists()
Bump to 1.2.8-1
2022-02-19 19:05:52 +07:00
tretrauit 521c0808e9
Await AsyncPath.exists()
Bump to 1.2.8-1
2022-02-19 19:05:19 +07:00
tretrauit 92ae7b71cf
Bump to 1.2.8 2022-02-19 18:59:21 +07:00
tretrauit e4cc701166
Don't rely on xdelta3 python module
Don't crash if xdelta3 module is not present, and add the ability to download game & voicepack in CLI
Bump to 1.2.8
2022-02-19 18:57:45 +07:00
tretrauit 2d6cff77c6
Disable crash reporters on patch
Bump to 1.2.7
2022-02-18 23:34:10 +07:00
tretrauit ccb2d876fc
Fix syntax error on xlua patching function 2022-02-18 21:41:50 +07:00
tretrauit f4e668d8b0
Extend file duration from 3600 to 86400
I've never wanted to say fuck Linux like this before
2022-02-18 21:34:41 +07:00
tretrauit 9a7c696a6d
Bump to 1.2.4 2022-02-18 21:30:53 +07:00
tretrauit 659befc8f8
Change timestamp check (prevent false positive) 2022-02-18 21:30:24 +07:00
tretrauit d5e292eb2d
Bump to 1.2.3 2022-02-18 21:05:37 +07:00
tretrauit bd515c73cd
Xdelta3 workaround (because xdelta3-python doesn't work) 2022-02-18 21:04:44 +07:00
tretrauit a481e529b6
Wait for git process to finish
Bump to 1.2.2
2022-02-18 20:18:24 +07:00
tretrauit 4359a43771
Fix syntax error, bump to 1.2.1 2022-02-18 20:15:29 +07:00
tretrauit f1beaacd3b
Download patch before patch, bump to 1.2.0 2022-02-18 20:10:40 +07:00
tretrauit 5a492c912c
WIP game patcher
Now worthless can patch the game using xdelta3-python
2022-02-18 20:09:03 +07:00
tretrauit 6286c080f8
Fix setup.py
Missing dependencies
2022-02-18 11:20:48 +07:00
tretrauit bb37e4554d
Support downloading game & voicepacks and install, bump to 1.1.0
In CLI too, also optimized code & added test for voiceover functions.
2022-02-18 11:11:55 +07:00
tretrauit 07ba17b576
Add setup.py 2022-02-18 09:04:11 +07:00
tretrauit 32b6ba965f
Implement install game in CLI 2022-02-18 08:45:05 +07:00
tretrauit ef24ad43ca
Added voiceover language info & archive type and install_game function
Available through Installer.get_voiceover_archive_type and Installer.get_voiceover_archive_language
Also some other optimizations including not extracting unneeded files from diff archive, deprecate _read_version_from_config function, and added install_game, uninstall_game, voiceover_lang_translate, get_installed_voiceovers
2022-02-17 22:02:08 +07:00
tretrauit b1a9223c19
Added support for updating game & applying voiceover packs
Implemented & Improved some CLI commands.
Currently working in 2.5.0 version.

A few more work and this should be fully usable,,,
2022-02-17 02:43:21 +07:00
tretrauit da3ee30ab1
Wrap game resource info from the server
Also add function to get the diff archive (for faster updating)

Download function soon, although I can't make sure that the download function will work properly (like pause, resume download etc.)
2022-02-16 22:18:56 +07:00
tretrauit 81fbdec553
Remove message about QQ unimplemented. 2022-02-16 02:58:48 +07:00
tretrauit 140e508dbf
Support chinese variant game version detection (not tested)
Also some minor improvements for preparation of installation features.
2022-02-16 02:55:19 +07:00
tretrauit ad391a551c
Read version from game file (thanks to An Anime Game Launcher project)
Basically I copied their method of doing that and their regex pattern.
2022-02-16 01:58:45 +07:00
tretrauit 2b811d99b9
Remove irrelevant files 2022-02-16 00:50:36 +07:00
tretrauit c22918673b
Support chinese variant, QQ object in launcher and some code optimizations 2022-02-16 00:49:33 +07:00
tretrauit 048a7ac9d0
Update tests 2022-01-29 23:32:38 +07:00
tretrauit a7ddd0c49a
Object-oriented programming
All launcher functions are now return an object instead of a dict
2022-01-29 23:25:03 +07:00
tretrauit 8f32241191
Delete obsolete source folder 2022-01-28 20:17:56 +07:00
tretrauit a788bee25c
Update .gitignore 2022-01-28 20:12:50 +07:00
tretrauit 015164404c
Update source (still WIP) 2022-01-28 20:08:53 +07:00
tretrauit 319a147673 Initial commit 2022-01-26 17:54:53 +00:00