def build_ons_data(root_dir, out_dir): build_ons_script(root_dir, out_dir) se_dir = os.path.join(root_dir, 'download', 'sound') print("复制bgm中...") copyfiles(se_dir, os.path.join(out_dir, "bgm"), lambda n: n.startswith('bgm')) print("复制音效中...") copyfiles(se_dir, os.path.join(out_dir, "se"), lambda n: n.startswith('se')) adv_dir = os.path.join(root_dir, 'download', 'image', 'adv') print("解密背景图片中...") copyfiles(adv_dir, os.path.join(out_dir, 'bgimage'), lambda n: n.startswith('adv_bg'), decrypt=decrypt, tranformer=lambda n: n+'.png') copyfiles(os.path.join(root_dir, 'download', 'rest'), os.path.join(out_dir, 'bgimage'), lambda n: n == 'exp_map_bg', decrypt=decrypt, tranformer=lambda n: 'map.png') print("解密角色图片中...") copyfiles(adv_dir, os.path.join(out_dir, 'chara'), lambda n: n.startswith('adv_chara'), decrypt=decrypt, tranformer=lambda n: n+'.png') print("生成对话框中...") image_dir = os.path.join(out_dir, 'image') os.makedirs(image_dir, exist_ok=True) with open(os.path.join(root_dir, 'download', 'rest', 'que_adv'), 'rb') as f: img = decrypt(f.read()) build_que_adv(img, os.path.join(image_dir, 'que_adv.png')) voice_dir = os.path.join(root_dir, 'download', 'voice') if os.path.isdir(voice_dir): print("复制语音目录中...") copytree(voice_dir, os.path.join(out_dir, 'voice')) else: print("语音目录不存在,已忽略")