外观
Country Strategy Schedule 国家策略调度记录
状态:Authoritative Reference v1
1. 物理结构
每条 Country Strategy schedule 固定:
text
0x10 = 16 bytes| Offset | Size | Raw type | 当前语义 | 状态 |
|---|---|---|---|---|
+0x00 | 4 | int32 LE | CountryRecordId | Confirmed |
+0x04 | 4 | int32 LE | OperationType | Confirmed |
+0x08 | 4 | int32 LE | ActivationRound | Confirmed |
+0x0C | 4 | int32 LE | operation-dependent ParameterId | Confirmed physical / Partial downstream semantics |
2. Country identity
+0x00 通过 FUN_00346FB0 按 Country.RecordId 查找,不是 BTL Country 数组 index。
当前 1730/1730 条 schedule 都能解析到同文件 Country。
3. OperationType
快速值域表见 核心固定记录值域速查。
原版 runtime 支持:
text
0 -> 添加或替换 strategy override
1 -> 撤销匹配 override
2 -> 清空 override,并切换基础 strategy group当前 corpus:
text
OperationType 0 = 1724
OperationType 1 = 6
OperationType 2 = 0Type 2 是 native-supported、当前 corpus 未观察的能力,不得因为 0 个实例而删除支持。
4. ActivationRound
当前语料范围:
text
1..35该范围只是当前观察值,不是格式硬上限。
原版按 GameRound 调度这些条目,因此其“激活回合”语义已 Confirmed。
5. ParameterId
当前 corpus:
text
1000..1178但 ParameterId 的定义域依赖 OperationType。不能给它一个跨三种 operation 永远成立的 DataSystem 类型。
尤其:
text
Country +0x11C
= def_strategy.xml 基础策略配置 ID
BTL Strategy schedule
= 运行中按回合修改该 Country strategy 状态的计划这两者不能合并成同一字段/对象。
6. Writer 边界
虽然四字段物理和 operation switch 已闭合,完整 writer 仍需要:
- operation-specific ParameterId 验证;
- 同 Country/同回合多记录顺序;
- 缺失 Country/Parameter 的完整动态反馈;
- 与开局 H6C override、base strategy 和 AI runtime 状态的组合不变量。
当前 semantic writer 仍为 NoGo。
主要证据:
text
reconstruction/src/WC4.Runtime.BattleData/BtlScheduleRecords.cs
reports/route4_identity_reference_contract.md
reports/route4_special_value_inventory.csv
reports/evidence_reuse_round3_btl_datasystem_fields_audit.md