from pathlib import Path import sys,shutil root=Path('/home/jakub/devel/escapistsrereintroduced');sys.path.insert(0,str(root/'tools')) from source_manifest import addon_manifest from headless_game import assert_prefix_idle assert_prefix_idle(root/'.local/playtest-compat-20260920') target=Path('/tmp/erri-server-name-source');target.mkdir(exist_ok=True) for rel in addon_manifest(root): p=target/rel;p.parent.mkdir(parents=True,exist_ok=True);shutil.copy2(root/rel,p) shutil.copytree(root/'tools',target/'tools',ignore=shutil.ignore_patterns('__pycache__'),dirs_exist_ok=True) (target/'docs').mkdir(exist_ok=True);shutil.copy2(root/'docs/external-addons.json',target/'docs/external-addons.json') core=target/'addons/core/Scripts/Game/ERR/00_Core' (core/'ERR_ZServerNameProbe.c').write_text(Path('/tmp/erri-server-name-probe.c').read_text()) p=core/'ERR_NativeBaseSmoke.c';p.write_text(p.read_text().replace('array independentFixtures = {','array independentFixtures = {"server-name", ')) p=target/'tools/headless_workbench.py';s=p.read_text().replace("choices=['coordinated-ai',","choices=['server-name', 'coordinated-ai',").replace("a.smoke not in {'coordinated-ai',","a.smoke not in {'server-name', 'coordinated-ai',");p.write_text(s) print(target)