# A2　术语与问题导航

本表按这份源码的实际语境解释词语。相同名称在其他引擎、《红警2》或现代 C++ 中可能有不同含义。细节与证据见各章，文件全名见[A1](A1-all-source-files.md)。

## 1. 对象与世界

| 名称 | 在本项目中的含义 | 入口章节 |
|---|---|---|
| AbstractClass | 提供基本身份、运行时类型、位置等接口的基类 | [03](../chapters/03-object-model-and-memory.md) |
| ObjectClass | 世界对象的基础生命、选择、占位与生命周期 | [03](../chapters/03-object-model-and-memory.md) |
| MissionClass | 任务状态与调度，不等同于一整个战役关卡 | [09](../chapters/09-ai-teams-and-missions.md) |
| RadioClass | 对象间同步协商消息，不是无线网络或语音系统 | [03](../chapters/03-object-model-and-memory.md) |
| TechnoClass | 有所属阵营、武器等共同机制的游戏对象层 | [03](../chapters/03-object-model-and-memory.md) |
| FootClass | 可移动对象的共同层，包含车辆、飞机等，并非只指步兵 | [03](../chapters/03-object-model-and-memory.md) |
| DriveClass | 地面/相关载具的行驶推进层，具体继承见类型图 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| UnitClass | 在这里主要指地面载具，不是所有游戏单位的泛称 | [08](../chapters/08-units-and-special-mechanics.md) |
| InfantryClass | 步兵实例 | [08](../chapters/08-units-and-special-mechanics.md) |
| AircraftClass | 飞机实例与飞行、起降、补给行为 | [08](../chapters/08-units-and-special-mechanics.md) |
| VesselClass | 舰船和潜艇实例 | [08](../chapters/08-units-and-special-mechanics.md) |
| BuildingClass | 建筑实例；不是所有地形障碍都属于此类 | [07](../chapters/07-economy-production-and-buildings.md) |
| BulletClass | 弹体实例，具有独立更新与引爆过程 | [06](../chapters/06-combat-and-damage.md) |
| AnimClass | 动画对象；是否影响逻辑要看具体用途 | [11](../chapters/11-rendering-ui-and-input.md) |
| TypeClass 系列 | 共享类型定义，与战场实例分开 | [05](../chapters/05-rules-types-and-data-driven-design.md) |
| House | 国家/阵营/玩家侧状态，不是“房屋建筑” | [07](../chapters/07-economy-production-and-buildings.md) |
| Scenario / Scen | 当前关卡及其配置、时间、随机和流程状态 | [10](../chapters/10-scenarios-triggers-and-campaign.md) |
| Session | 游戏模式、多人选项、录像与连接相关会话状态 | [13](../chapters/13-network-lockstep-and-replay.md) |
| Logic | 当前参与逻辑更新的对象集合及整体更新入口 | [02](../chapters/02-runtime-and-game-loop.md) |
| RTTI | 项目自有类型枚举，不应直接等同于 C++ dynamic_cast 系统 | [03](../chapters/03-object-model-and-memory.md) |
| TARGET / TargetClass | 用类型标签与值表示对象或格子目标 | [03](../chapters/03-object-model-and-memory.md) |
| CCPtr | 基于类型池槽 ID 的引用包装，不是共享所有权指针 | [03](../chapters/03-object-model-and-memory.md) |
| SmartPtr | 该项目的旧式裸指针包装，不是现代 std::smart_ptr 的统一概念 | [03](../chapters/03-object-model-and-memory.md) |
| Limbo / Unlimbo | 从世界撤出/进入世界，不等同于 free/new | [03](../chapters/03-object-model-and-memory.md) |
| Detach | 解除其他系统对目标的跟踪关系 | [03](../chapters/03-object-model-and-memory.md) |
| Heap / pool | 定长类型或实例对象池；槽索引与活动列表索引要分开 | [03](../chapters/03-object-model-and-memory.md) |

## 2. 时间、命令和行为

| 名称 | 含义 | 入口章节 |
|---|---|---|
| Frame | 模拟逻辑帧编号，不直接等于显示器刷新次数 | [02](../chapters/02-runtime-and-game-loop.md) |
| TickCount | 平台计时计数，用于等待等实际时间控制 | [02](../chapters/02-runtime-and-game-loop.md) |
| TICKS_PER_SECOND | 规则使用的名义逻辑时间换算基准 | [02](../chapters/02-runtime-and-game-loop.md) |
| Sync_Delay | 等待本帧剩余时间，并继续维护输入/显示等 | [02](../chapters/02-runtime-and-game-loop.md) |
| Call_Back | 音频、通信等周期服务，并非额外推进全部世界 | [02](../chapters/02-runtime-and-game-loop.md) |
| AI() | 常常只是某对象的周期更新，不表示机器学习算法 | [09](../chapters/09-ai-teams-and-missions.md) |
| Mission | 对象当前任务，如移动、攻击、采矿 | [09](../chapters/09-ai-teams-and-missions.md) |
| MissionQueue | 一个待切换任务槽，不等于任意长度任务队列 | [09](../chapters/09-ai-teams-and-missions.md) |
| NavCom | 导航目的地或相关导航目标 | [16](../chapters/16-end-to-end-gameplay-traces.md) |
| TarCom | 战斗等行为追踪的目标 | [16](../chapters/16-end-to-end-gameplay-traces.md) |
| Team / TeamType | AI 队伍及队伍模板，区别于玩家快捷编队 | [09](../chapters/09-ai-teams-and-missions.md) |
| IQ | 控制电脑可启用行为的规则门槛，不是通用智力分数 | [09](../chapters/09-ai-teams-and-missions.md) |
| EventClass | 玩家/会话命令及同步事件的表示 | [13](../chapters/13-network-lockstep-and-replay.md) |
| TEventClass | 关卡触发条件，与 EventClass 不同 | [10](../chapters/10-scenarios-triggers-and-campaign.md) |
| TActionClass | 关卡条件满足后执行的动作 | [10](../chapters/10-scenarios-triggers-and-campaign.md) |
| TriggerType / Trigger | 触发规则定义及其运行期状态 | [10](../chapters/10-scenarios-triggers-and-campaign.md) |
| OutList / DoList | 待发送/安排与待执行命令队列 | [13](../chapters/13-network-lockstep-and-replay.md) |
| MaxAhead | 联机执行提前量/允许推进相关限制，具体按协议分支 | [13](../chapters/13-network-lockstep-and-replay.md) |
| CRC | 项目中的校验/摘要组合术语，不能一概按标准 CRC32 理解 | [13](../chapters/13-network-lockstep-and-replay.md) |
| Seed / RandomNumber | 随机状态；取数顺序会影响确定性 | [03](../chapters/03-object-model-and-memory.md) |

## 3. 空间、战斗与经济

| 名称 | 含义 | 入口章节 |
|---|---|---|
| CELL | 地图格索引 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| COORDINATE | 包含格内精细位置的世界坐标 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| LEPTON | 内部逻辑距离量，一格256，不是屏幕像素 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| fixed | 该项目的有限精度定点数，主要为无符号8.8布局 | [03](../chapters/03-object-model-and-memory.md) |
| Template | 地表模板；此语境不等于 C++ 模板语法 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| Overlay | 矿、墙等叠加的地图数据层，具体能力按类型 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| Smudge | 污迹等地图表现数据 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| Theater | 地形/资源主题，如雪地，不是关卡脚本引擎 | [12](../chapters/12-assets-audio-and-video.md) |
| MZone | 移动能力对应的连通区域分类 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| Occupier / Overlapper | 逻辑占位与绘制重叠关系，不能随意互换 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| In_Radar | 实际是地图可玩矩形内判断，不能按名称理解为可见性 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| Shroud | 地图遮蔽与其边缘表现；不可自动套现代战争迷雾双层模型 | [04](../chapters/04-map-coordinates-and-pathfinding.md) |
| Weapon | 发射参数及对弹体、弹头的引用 | [06](../chapters/06-combat-and-damage.md) |
| Projectile / BulletType | 弹体运动、能力与表现的类型数据 | [06](../chapters/06-combat-and-damage.md) |
| Warhead | 伤害对护甲及环境的作用性质 | [06](../chapters/06-combat-and-damage.md) |
| Verses | 按护甲顺序存放的弹头倍率 | [06](../chapters/06-combat-and-damage.md) |
| ROF / Arm | 射速间隔规则与运行期装填计时等相关状态 | [06](../chapters/06-combat-and-damage.md) |
| Ammo | 弹药量，与冷却不是同一个限制 | [08](../chapters/08-units-and-special-mechanics.md) |
| Payback | 弹体等关联伤害责任来源的引用 | [06](../chapters/06-combat-and-damage.md) |
| Factory | 生产项目状态控制器，不只指地图上的兵工厂建筑 | [07](../chapters/07-economy-production-and-buildings.md) |
| Power / Drain | 电力产出与消耗 | [07](../chapters/07-economy-production-and-buildings.md) |
| Credits / Tiberium | 金钱与储存资源相关字段；Tiberium 名称保留系列历史 | [07](../chapters/07-economy-production-and-buildings.md) |
| Gold / Gems | 矿车载荷分类与结算 | [07](../chapters/07-economy-production-and-buildings.md) |
| Prerequisite | 建筑等前置条件位图，不是通用布尔表达式语言 | [05](../chapters/05-rules-types-and-data-driven-design.md) |
| Super | 超级武器充能和可用状态相关控制 | [08](../chapters/08-units-and-special-mechanics.md) |

## 4. 资源、平台和持久化

| 名称 | 含义 | 入口章节 |
|---|---|---|
| MIX | 游戏资源容器，支持索引定位及部分变体 | [12](../chapters/12-assets-audio-and-video.md) |
| SHP / Shape | 精灵帧相关数据与绘制系统 | [11](../chapters/11-rendering-ui-and-input.md) |
| PAL / Remap | 调色板与颜色替换表 | [11](../chapters/11-rendering-ui-and-input.md) |
| TMP / MapPack | 地表模板资产与场景打包地图数据，角色不同 | [10](../chapters/10-scenarios-triggers-and-campaign.md) |
| WSA | 帧差分动画相关格式 | [12](../chapters/12-assets-audio-and-video.md) |
| VQA / VQ | 向量量化视频相关播放器、解码器与工具 | [12](../chapters/12-assets-audio-and-video.md) |
| AUD / ADPCM | 音频资源容器及压缩编码相关路径 | [12](../chapters/12-assets-audio-and-video.md) |
| LCW / LZO | 用于不同数据流的压缩算法家族 | [15](../chapters/15-platform-libraries-tools-and-porting.md) |
| Straw / Pipe | 拉取式输入流与推送式输出流，可串接变换器 | [15](../chapters/15-platform-libraries-tools-and-porting.md) |
| Code_Pointers / Decode_Pointers | 存档时引用编码及恢复，可能临时改动世界内存 | [14](../chapters/14-save-load-and-binary-formats.md) |
| NoInitClass | 恢复对象时避免普通初始化重置字段的构造标记 | [14](../chapters/14-save-load-and-binary-formats.md) |
| RECORD.BIN | 录像相关数据，不等同于世界存档 | [13](../chapters/13-network-lockstep-and-replay.md) |
| IPX | 历史网络协议；代码中的同名封装也可能路由到其他传输 | [13](../chapters/13-network-lockstep-and-replay.md) |
| WOL | Westwood 在线服务集成代码，不代表现有服务可用 | [13](../chapters/13-network-lockstep-and-replay.md) |
| Watcom / TASM | 历史 C/C++ 编译器与汇编器 | [01](../chapters/01-repository-history-and-build.md) |
| WIN32LIB / WWFLAT32 | 不同历史平台下的底层支持目录 | [15](../chapters/15-platform-libraries-tools-and-porting.md) |
| FIXIT_* | 不同历史修正/功能条件编译开关，不能由名称推定全部效果 | [01](../chapters/01-repository-history-and-build.md) |
| SCENARIO_EDITOR | 场景编辑功能的条件编译边界 | [10](../chapters/10-scenarios-triggers-and-campaign.md) |

## 5. 从玩家问题反查

| 你关心的问题 | 建议先读 | 再追 |
|---|---|---|
| 为什么单位会堵在门口？ | 04 占位和移动执行 | 09 任务恢复、16 命令追踪 |
| 为什么有些武器不能打飞机？ | 06 弹体能力和开火检查 | 08 空中单位 |
| 双发坦克是不是通用连发配置？ | 06 双发状态 | 05 武器字段 |
| 为什么钱不够时生产停住？ | 07 阶段与扣款 | 16 生产追踪 |
| 断电如何影响生产和防御？ | 07 电力 | 08 特定机制 |
| 电脑的波次进攻从哪来？ | 09 Team 与 House | 10 触发器和增援 |
| 工程师/间谍怎样进入建筑？ | 08 特殊兵种 | 03 Radio、09 Mission |
| 核弹是不是一个大圆形伤害公式？ | 06 Wide_Area_Damage | A4 字面行为边界 |
| 坦克图像是不是实时3D？ | 11 方向帧与炮塔叠绘 | 12 SHP 解码 |
| 旧电脑怎样绘制这么多单位？ | 11 局部重画 | 15 像素/汇编底层 |
| 多人游戏怎么不互相跑偏？ | 13 命令同步 | 02 时序、03 随机与整数 |
| 改一个数据为什么别人不同步？ | 05 覆盖链 | 13 初始状态与命令一致性 |
| 存档能不能直接转成现代结构体？ | 14 内存布局与编码 | 15 迁移步骤 |
| 能否直接在 Linux 编译？ | 01 缺口与构建 | 15 分阶段移植 |
| 想从零写一个小 RTS，先做什么？ | 00 整体图景 | 17 实验和里程碑 |
