Conversation
|
Great contribution! Just getting going with trying to run it Not sure if this is a quirk of windows WSL, but let me know if you can help resolve it |
|
@hassayag |
|
NOTE: The commit I just added (29e5c44, above this comment) requires the v2 binary for DeadlockEntityHelper, which I just published: > ./DeadlockEntityHelper --version
2.0.0+e12a4e51023dea6693958fd1c8e284a3c250db1f |
There was a problem hiding this comment.
Managed to get it all working now, you'll see I've committed a change to use the process util and added some supprot for Windows WSL, as myself and other devs do (unfortunately) often use Windows
Other changes needed are any docker and github actions changes. Is that something you're able to handle? Happy to help if not
| return json.loads(helper_output) | ||
|
|
||
|
|
||
| class _ImageHandler(HandlerBase): |
| @@ -39,17 +41,25 @@ def main(): | |||
| # non-english localizations are imported using depot downloader | |||
| if not args.english_only: | |||
| logger.info('Downloading non-english localizations...') | |||
| DepotDownloader( | |||
| output_dir=args.workdir, | |||
| deadlock_dir=args.dldir, | |||
| depot_downloader_cmd=args.depot_downloader_cmd, | |||
| steam_username=args.steam_username, | |||
| steam_password=args.steam_password, | |||
| force=args.force, | |||
| ).run(args.manifest_id) | |||
| depot_downloader = init_depot_downloader(args) | |||
| depot_downloader.run(args.manifest_id) | |||
There was a problem hiding this comment.
I like the generic file downloader. I would suggest we have this be able to take in both the files and file_list_path. Something like this would simplify the logic and handle the entire download in a single process
| if args.import_files: | |
| logger.info('Importing game files...') | |
| script_path = os.path.join(os.path.dirname(__file__), 'steam/steam_db_download_deadlock.sh') | |
| run_process(script_path, name='download-deadlock-files') | |
| # non-english localizations are imported using depot downloader | |
| if not args.english_only: | |
| logger.info('Downloading non-english localizations...') | |
| depot_downloader = DepotDownloader( | |
| output_dir=args.workdir, | |
| deadlock_dir=args.dldir, | |
| depot_downloader_cmd=args.depot_downloader_cmd, | |
| steam_username=args.steam_username, | |
| steam_password=args.steam_password, | |
| force=args.force, | |
| ) | |
| files=[] | |
| if args.parse_map: | |
| files.append('game/citadel/maps/dl_midtown.vpk') | |
| depot_downloader.download_files( | |
| files=files | |
| file_list_path='files_to_download.txt' | |
| manifest_id=args.manifest_id, | |
| logger_name='download-map', | |
| ) |
| exceptions.txt | ||
| dist | ||
| game-data | ||
| poetry.toml No newline at end of file |
There was a problem hiding this comment.
is poetry.toml relevant anywhere? Doesn't exist on my end
The gist of it:
download_filesmethod toDepotDownloaderthat can be used to download arbitrary files from the Deadlock depotsparse_mapflag (defaultFalse)GameMapParserclassentity_helper_cmd, which points to a DeadlockEntityHelper binaryparser.pyworkflowUltimately this results in a two outputs:
midtown-metadata.json. It's just the breakable counts for now.assets. This is where I place the generated plotsTODO
I tried to follow the existing conventions / control flow as best I could, but please do suggest changes.
Parsed data in deadlock-data PR - Reopen deadbot PR or run deploy workflow for this branch here to reparse the data