• avatar

    无法飞翔的翅膀 也有它存在的意义

      技术说明

      技术栈

      • 客户端框架:WPF · WPF-UI(Fluent 风格现代化外观),仅 Windows 平台。
      • 游戏 AppID2868840(《杀戮尖塔 2》,Steam)。
      • 复盘数据源:Steam 存档目录下的 .run 文件(当前主要支持 schema_version = 9)。
      • 生涯权威数据:建筑师伤害与各职业累计数据读自游戏本体 progress.save,无需 mod。

      Pro 模式 Mod

      • Mod 名称SnL2.EliteLogger,基于 Harmony 补丁注入,随软件附带,由设置页一键部署 / 卸载。
      • 捕获范围:所有战斗(普通怪 / 精英 / Boss)的逐回合数据——抽牌、打牌、伤害、护甲、能力(Power)变化。
      • 战斗日志:按 run_id 分组保存,与 .run 一一对应;同时写 Steam Cloud 路径与本地 AppData 路径,Steam Cloud 未同步时自动回落到 AppData 读取,避免数据丢失。
      • 状态管理:内部以状态机管理「未启用 / 已安装 / 升级中 / 出错」等场景,Mod 的 VERSION.txt 与软件本体版本号保持一致。
      • Hook 健康检查(v0.3.5 起):初始化改为逐类型应用 Harmony 补丁,单个 hook 失败会被隔离、不影响其余 hook;关键回合边界 hook 若 patch 失败会写入战斗日志的 anomalies 字段。软件读取日志时结合结构启发式(单回合动作数/抽牌数异常且无敌方行动)判断数据是否可信,在 UI 上给出「数据存疑」提示,用于应对游戏本体更新导致 hook 目标改名等兼容性问题。

      本地存储与安全

      • 设置文件:以 settings.json 持久化,采用原子写入(断电 / 崩溃不会写出半截文件);检测到损坏时先备份为 settings.json.corrupt 再回退默认。
      • AI API Key:使用 Windows DPAPI 加密保存在本地,不上传任何服务器。
      • 解析缓存.run 解析结果持久化到本地缓存,再次进入战斗页秒开;仅新增 / 修改的对局会重新解析。
      • 外链白名单:新闻 / 公告里的链接仅允许 https 协议下的可信域名(GitHub 官方域及国内镜像),异常链接会被拦截并提示,不交给系统执行。

      版本与更新

      • 版本检查:启动时静默比对 GitHub 托管的 version.json,支持远程推送更新提示。
      • 发布渠道:GitHub Releases(仓库 iRyougi/SaveandLoad2-Public,仅作发布与版本管理)。
      • 开发:iRyougi。软件本体闭源,为无偿软件;贡献意向可发邮件至 iryougi@iryougi.com