外观
BTL Reference 闭合状态与后续研究队列
状态:Publication-Ready Reference v1 / Semantic Closure Incomplete
1. 当前结论
BTL Reference v1 已经具备对外阅读所需的完整格式覆盖:
- BTL 物理 section:
20/20有正式中文入口; - Header:
0x80全 32 槽覆盖; - Country:
0x12C全字节覆盖; - Building:
0x20全字节覆盖; - Unit:v1
0x30、v2/v30x40全字节覆盖; - Event:
0x2C全字节覆盖,并明确 trigger/action union; - Reinforcement:v1
0x50、v2/v30x68全字节覆盖; - v3+ ExtensionArea:原版 descriptor、9 个顶层字段、17 个可达 message / 78 字段 consumer coverage 已建立;
- 其余短记录均至少有 authoritative raw-first 物理说明。
当前 1.28.0 全 corpus:
text
BTL files = 1358
exact physical parses = 1358 / 1358
exact length matches = 1358 / 1358因此现在可以发布一份明显超过传统社区“偏移表”的中文 BTL Reference。
但这不表示 BTL 的所有玩法语义已经 100% 闭合。
2. 三种“完成”必须分开
2.1 格式文档完整
当前状态:已达到 Reference v1。
含义:
- 文件每个 section 都知道在哪里、长度如何计算;
- 每个主要 Record 都有完整 byte map 或明确 raw-preserve 区;
- Unknown 不会形成未描述的文件空洞;
- v1/v2/v3 边界已显式记录。
2.2 字段语义完整
当前状态:未完成。
仍存在:
- packed bit 未逐位闭合;
- raw scalar 有 consumer 但没有稳定用户侧名称;
- current corpus 无正样本;
- type-dependent union 只闭合部分分支。
2.3 安全 writer 完整
当前状态:远未等同于 Reference 完成。
BTL writer 必须另外证明:
- 引用完整性;
- count/length 联动;
- 结构插入/删除;
- unknown byte preservation;
- protobuf reserialize compatibility;
- invalid input 原版边界。
所以本 Reference 的“可读”不能被解释成“所有字段可写”。
3. P0:最值得继续打掉的语义 Unknown
这些条目会显著提升普通 MOD 作者能理解/编辑的 BTL 能力。
Unit
+0x25BattleMode 6 / Frontier owner-feature gate 完整语义;+0x2B全 bit mask;+0x36/+0x38..+0x3F逐字段/逐 bit consumer;+0x08/+0x0A两个 legacy scalar;+0x2E;+0x2FElite skin/variant selector 完整值域。
Building
+0x14全 bit mask;+0x17全 bit mask;+0x1Dhigh 5 bits;+0x08/+0x0ABuildingType × consumer matrix;+0x12/+0x13/+0x15/+0x1E/+0x1F。
Event
- 全部
TriggerTypedispatch; - Trigger
0x05radius/filter; - 全部
ActionTypeswitch; - 各 Action 对
+0x10/+0x14/+0x18的 union 参数解释。
4. P1:模式和 Extension 长尾
Header
H50 bit16玩法/表现含义;H74;H78;- victory type 全分支的参数命名和最终结果合成。
Country
+0x24;- 56 个 technology slot 的逐槽 consumer;
- defeat policy
0..7的完整用户侧 enum; +0x120/+0x124/+0x128..+0x12B;- 全 BattleMode 下 controller seed 与最终控制权组合。
Extension
countryEx/buildingEx正样本;armyBuffs/armyStats正样本;tunnelFromArea非零正样本;steelWillValue非零正样本;bynameId最终 setter 闭环;legendArmyId完整 runtime coordination consumer;- secondary condition 最终皇冠/奖励/胜负合成。
5. P2:异常值、生命周期和兼容边界
最后的高难度部分主要包括:
- 无效 Country/Tile/Army/Building/Event/definition 引用;
- duplicate Unit/Building 的失败对象生命周期;
- same-Tile 多 Unit 与 Extension
area最终对象身份; - Reinforcement spawn 占用冲突和 deferred Country 创建;
- Start Group A/B 完整 mode consumer;
- Airstrike/AirSupport 全字段;
- Mine 触发/伤害/销毁;
- Terrain
0x10bitfield; - protobuf duplicate singular field / unknown fields / merge / serializer 顺序;
- 其他
MapSource值; - 其他版本没有进入当前 1.28 corpus 的正值域。
这些问题往往无法靠继续扫描同一批 1358 个文件解决,需要 native consumer、cross-arch、其他合法原版样本或受控动态 trace。
6. 研究闭环模板
后续每消灭一个 Unknown,固定采用:
text
Reference Unknown/Partial
-> native parser/consumer recovery
-> original corpus distribution
-> cross-architecture when useful
-> controlled runtime trace when necessary
-> update underlying evidence/canonical
-> update machine Reference index
-> update Chinese Markdown
-> update community correction/supersession if needed不得反过来先修改文档名称,再寻找证据证明它。
7. 当前可发布范围
现在可以公开/交付给普通读者的内容包括:
- BTL 总体文件结构;
- v1/v2/v3 差异;
- Header/Country/Building/Unit/Event/Reinforcement 主记录;
- Province/Owner/Behavior/Weather/Strategy;
- v3+
BattleExArgs; - 社区旧文档勘误;
- 明确的 Unknown/NoGo 列表。
公开时必须同时保留证据状态标签。不能为了让文档看起来“完整”而隐藏 Unknown。
8. 不属于本 Reference v1 的完成声明
当前不能声称:
text
BTL gameplay semantics 100% closed
all BTL fields safe to edit
arbitrary BTL writer compatible
all Event actions restored
all Extension gameplay effects restored
all invalid-input behavior restored当前准确表述是:
BTL 物理格式和中文 Reference v1 已形成完整覆盖;主要记录语义已经高度恢复,剩余工作集中在 packed/模式专属字段、Event union、Extension 无正样本字段、异常输入和动态生命周期。