Commit Graph

63 Commits

Author SHA1 Message Date
tretrauit abdf19bc16
patcher: switch to Krock branch 2022-09-29 12:11:32 +07:00
tretrauit e0f3fadc9d
fix: don't use 7zip
Providing that it doesn't provide any benefits than ZipFile
2022-09-28 22:53:12 +07:00
tretrauit cd2aabea60
hack: workaround over Windows path 2022-09-28 22:00:23 +07:00
tretrauit 1830081cb0
fix: use 7z to extract game file 2022-09-28 21:19:20 +07:00
tretrauit f54c2f432b
fix: handle FileExistsError 2022-09-28 12:51:27 +07:00
tretrauit e3045f5150
fix: do not await is_file() 2022-09-28 12:26:54 +07:00
tretrauit 184e96fa2d
patcher: add option to specify predefined patch url
This option adds patch_provider to Patcher class, currently you can choose either y0soro or Krock (by default it uses y0soro for latest 3.0.0 patch)
2022-08-24 20:14:38 +07:00
tretrauit 8449c104d9
patch: switch to y0soro repository for testing patch 2022-08-24 20:06:02 +07:00
tretrauit 9e00e58938
fix: catch TypeError 2022-08-24 09:51:31 +07:00
tretrauit 04dc922230
feat: support pre-downloading game & voicepacks 2022-08-23 17:02:20 +07:00
tretrauit 34a8ab6d99
fix: remove printing debug raw message 2022-08-17 02:12:39 +07:00
tretrauit 2b9951dcaa
fix: self._installer.get_game_version() in update_voiceover 2022-08-17 02:08:28 +07:00
tretrauit 5066a4e2b3
fix: update game & voiceover now works properly. 2022-07-13 13:52:57 +07:00
tretrauit efc2abf858
feat: add -Swp option
perf: tar.extractall wrapped in asyncio.to_thread
2022-06-27 04:09:47 +07:00
tretrauit aa147792e6
fix: calculate_md5 will return "" for nonexistent files 2022-06-26 01:56:14 +07:00
tretrauit 23980276ee
fix: patcher.py properly disable crash reporters.
fix: revert_patch now works correctly.
It was because of me forgetting to merge the game data name with the game directory
I hope my crash log wasn't uploaded to mHY since I blocked their hosts...
2022-06-26 01:53:37 +07:00
tretrauit d4773bc38d
fix: _ask won't automatically think the answer is yes.
I am dumb
2022-06-25 02:09:26 +07:00
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