Files
IC.Rebuild/STATUS.md
T

110 lines
9.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# IC Rebuild 实施状态
更新日期:2026 年 10 月 13 日。区服:国际服 / 国服双版本。当前版本:0.1.16。
首轮实测、崩溃根因、加速度反汇编及 Opcode 检查见 `diagnostics/2026-10-10-first-live-test.md`。国际服补丁适配与 23 项签名扫描审计见 `diagnostics/2026-10-13-patch-2026.10.06-adaptation.md`。国服客户端(`D:\FINAL FANTASY XIV`,2026.09.15 基线)23 项签名全量扫描与反汇编核实见 `diagnostics/2026-10-13-cn-client-compatibility.md`。
当前为可构建的开发包,首批尚未完成。24 项编号保持不变;12 仍为独立研究项,38—43 仍为网络模块后续扩展。
目前用户确认 15 项有效:3、9、10、11 验收通过后,14 的 16461 落点亦已确认正常。0.1.6 新增 9—11 服务栏提示与所有滑块双击精确输入。0.1.16 完成客户端双环境完整适配(国际服 `2026.10.06` 与国服 `2026.09.15`),23 处原生签名全部唯一定位通过。
## 构建基线
| 项目 | 版本或状态 |
| --- | --- |
| .NET SDK | 10.0.401 |
| 目标框架 | net10.0-windows,x64 |
| Dalamud API | 15 |
| Dalamud.dll | 15.0.3.6,构建 b666d821a47306fb447c60155b5d99377f91a5ee |
| FFXIVClientStructs.dll | 文件版本 7.56.2.9136,构建 313161e448e335adddd928f8a0212b2c328b5659 |
| ECommons 参考源码 | 74af164;仅用于核对 Legacy 网络接口,不链接整个库 |
| 目标客户端完整版本 | 国际服 2026.10.06.0000.0000 / 国服 2026.09.15.0000.0000 双审计基线 |
| 游戏内验收 | 用户确认 1、2、3、9、10、11、13、14、15、16、17、19、27、28、29 实测有效;14 原生圈和突进落点均已由用户确认有效 |
工作区 Dalamud 与 FFXIVClientStructs 源码用于查阅,实际编译绑定上述成品 DLL。部分源码 checkout 与成品 DLL 不同,因此复唱、咏唱和收包接口的委托签名另行核对了成品程序集元数据。
## 首批功能状态
“已接入”仅代表入口和实现已编译,不代表当前客户端能成功启用或实际效果已验证。
| 编号 | 功能 | 当前结果 |
| --- | --- | --- |
| 1 | 移速调整 | 用户确认实测有效;保留减速状态过滤 |
| 2 | 最大加速度 | 用户确认实测有效;已修正原生结果被旧值覆盖的问题并限定本地对象;双版本门控核验通过 |
| 3 | 强制移动 | 用户确认验收通过;回退保持原始参数 |
| 4 | 击退调整 | 已接入;按本地对象地址过滤,距离和持续时间可配置;提供一键完全防击退快捷键,待实测 |
| 5 | 掉落无伤 | 已接入历史标志处理,待实测 |
| 6 | 无掉落 | 已接入历史检查 Hook,待核实作用范围 |
| 7 | 魅惑与恐惧移动处理 | 0.1.3 核实为强制坐标移动入口,第五参数改为 float;不删除状态;双版本门控核验通过,待实测 |
| 8 | 状态屏蔽 | 0.1.12 接入转换后 SetStatus,本地身份门控及回放暂停;新增滑冰/强制移动/混乱分类预设按钮与实时名称/ID搜索过滤;双版本已核对,待实测 |
| 9 | 飞天遁地 | 用户确认验收通过;手动生效、回到 0;0.1.6 新增服务栏状态 |
| 10 | 深层迷宫专用模式 | 用户确认验收通过;依赖 9,未知和特殊层不应用偏移;0.1.6 新增服务栏状态 |
| 11 | 迷宫状态显示 | 用户确认验收通过;0.1.6 新增服务栏楼层及特殊层提示 |
| 13 | 技能距离 | 用户确认实测有效;普通技能增量上限 3,保留特殊技能逻辑 |
| 14 | 目标圈半径 | 用户确认 16461 落点正常;统一扩大目标原生半径,自身不增加,不额外叠加技能距离;双版本门控核验通过 |
| 15 | 后摇可移动 | 用户确认实测有效 |
| 16 | 突进无位移 | 用户确认实测有效;79 个玩家位移技能、58 个编号;0.1.5 名单管理及手动编号默认折叠;双版本门控核验通过 |
| 17 | 复唱缩减 | 用户确认实测有效 |
| 18 | 快速结印 | 已接入,依赖 17;结印技能复唱归零;待实测 |
| 19 | 咏唱缩减 | 用户确认实测有效 |
| 20 | PVP 动画锁 | 已接入每帧处理;提供 0.5s/0.6s/0.7s 快捷预设与实时 PvP/动画锁监控;待实测 |
| 27 | 坐标移动 | 用户确认实测有效 |
| 28 | 面向调整 | 用户确认实测有效 |
| 29 | 目标缩放 | 用户确认实测有效;保留参数校验及条件恢复 |
| 36 | 网络记录 | 0.1.13 接入共享收发管理器;0.1.15 新增 M4 主动发送事务调度(`ReceiverSendPacket 0x1CFD140` + `ActiveSendScope` 来源标注)与双环境适配;待实测 |
| 37 | 包解析与 Opcode | 0.1.14 补齐剩余 212 条已命名记录与 8 档变长事件包校验;0.1.15 落地地面技能智能释放、极速交互完成与雇员探险重派三项业务扩展;双版本 Opcode 映射自动装载;待实测 |
## 已完成的工程工作
- 建立独立项目、发布清单、构建脚本和离线测试工程。
- 模块启停幂等、部分启动失败回滚、逆序资源清理、依赖级联关闭。
- 释放异常后禁止重复挂接相同模块,避免把释放失败伪装成正常关闭。
- 所有模块默认关闭,配置与运行状态分离,禁用缺失实现的模块。
- 移除旧验证运行依赖;未迁移已排除功能。
- 对网络解析使用有界 Span,不引入存在越界问题的旧状态缓冲区。
- 建立 M0 统一版本适配与诊断清单(区分缺实现、版本不符、SDK 偏移变化、签名缺失、多重匹配、运行异常)及 M4 受控主动发送与请求响应事务原型。
- 原始 IC 源码不修改;只更新计划进度和新增实现工程。
## 离线验证
`build.ps1` 运行测试程序。检查内容包括:24 项范围、启动回滚、清理失败、重复启停、依赖顺序、迷宫普通层与特殊层、非有限参数、名单语义、Opcode 版本和方向隔离、错误映射原子拒绝、包长度与计数、3000 个随机截断输入、8000 次并发记录、时间轴保真、元数据标记、M0 适配清单门控以及 M4 主动发送编码/调度/事务状态机。
最终构建结果和测试总数以 `VERIFICATION.md` 为准。
## 未完成内容和下一步
1. 热重载 0.1.15,一次性合并验收阶段 1、阶段 2 与阶段 3:
- 查看“版本适配与诊断 (M0)”面板确认 24 项模块及主动发送通道状态;
- 开启 36、37 查看管理器计数、暂停/恢复隔离、动作与 Ping 配对、100% 解析显示,以及“主动发送与请求响应事务 (M4)”手动入队测试(验证 `PluginActiveSend` 来源标记与 `DOWN_Effect` RTT 确认);
- 开启 8 实测首个选定状态效果。
2. 14 已确认有效,后续补充与 13、16 组合启停和切换目标的验收。
3. 继续测试未确认的 4、5、6、7、18、20;已确认功能继续保留组合及生命周期验收。
4. 8 已通过公共 SetStatus 入口接入,避免按旧包结构修改;接下来确认未选状态、其他角色、切区/回放/卸载及首个目标效果,再逐项扩展名单验收。尚不覆盖所有可能绕过 setter 的直接复制路径。
5. 对 36 的完整采集与 M4 主动发送做现场验收:检查载荷长度、仅元数据/异常计数、主动发送事务状态、开启时性能、反复启停、切图和卸载。当前离线测试及首轮导出核验不能替代所有运行场景。
6. 37 已完成 `capture-018.jsonl` 全部 891 条记录的当前版本解析与 27 组动作请求响应配对(见 `diagnostics/2026-10-12-protocol-stage2.md`),待游戏内界面验收。
7. 已确认功能的“已实测有效”记录用户反馈;模块组合、切图、退出登录和卸载仍需独立验收,不据此判定全阶段完成。
8. M1 只读管理器、M3 样本协议覆盖、M0 统一版本适配诊断与 M4 主动发送及请求响应事务原型均已完成代码交付(见 `diagnostics/2026-10-12-stage3-m0-m4.md`),待现场合并验收后按需评估 M5 选定业务扩展。
首批不能因开发包已生成而判定完成。8、36、37 的现场验收以及所有原生效果验收继续保留在首批范围内。
0.1.2 具体依据见 diagnostics/2026-10-10-onslaught.md。
0.1.3 完成状态、Permission、Action 与冷却组核对,详细记录见 diagnostics/2026-10-11-id-audit.md。
0.1.5 的落点修正、验证文案与界面调整见 diagnostics/2026-10-11-radius-landing-and-ui.md。Release 构建通过,45 项离线测试通过。
用户补充的原版 I-Ching-GL.dll(程序集 0.1.6.6)已完成静态元数据核对,见 diagnostics/2026-10-11-original-dll.md。关键方法体读取异常,暂不能用于还原落点公式;状态结构声明仍存在矛盾。本次仅增加参考证据,没有修改或重新部署运行逻辑。
第二份 I-Ching-GL (2).dll 亦为 0.1.6.6,但依赖及组件不同。两份已完成递归声明对比和关键方法体可读性检查,见 diagnostics/2026-10-11-two-dll-analysis.md。第二份增加验证等组件,核心 Hook 声明一致,仍未得到可靠落点算法;分析不改变当前开发状态。
0.1.7 完成服务栏 ASCII 修复并登记 14 验收通过。0.1.8 已补齐上下行长度契约并接入有界复制,见 diagnostics/2026-10-11-network-full-capture.md。随后收到 capture-018.jsonl,891 条首轮完整样本通过核验;0.1.9 修正当前普通移动/Ping 长度并补齐缺失 PingRsp 映射,8 组回显均配对。详情见 diagnostics/2026-10-11-capture-018-review.md。