版本历史
jrpm-0.1.0(2026-08-14)cmclient 移植完成
在首个 0.1.0 的基础上完成 cmclient 五批功能移植(modded + cmclient 全系):
新增功能(cmclient / modded 移植)
- modded 第一批:车辆行程历史(
b89f93f9)+ 飞机滑行速度可调(b89f93f9); - cmclient 第二批:位置书签 / 货运明细 / 观战(
089480b3); - cmclient 零批:
cmgamespeed/cmgamestats/cmexport/cmtreemap控制台命令(1fd94d12); - cmclient 第三批 ① 高亮:对象级建造预览(车站/轨道/仓库/机场),挂接 viewport 绘制管线与建造工具(6 提交,
d97aa38a→1957bf45); - cmclient 第三批 ③ 蓝图:圈选复制/旋转/16 槽位/重建(
8e08ca6b); - cmclient 第四批 ④ 城镇分区:Tz 分区 + growth_tiles 着色 + GRWT 存档块(
9e3f95a2); - cmclient 第五批 ⑤ 命令重放:
cmdrecord/cmdreplay(f113acce28); - 控制台参数约定修复:全部 jrpm 命令改用 argv[1] 起始参数(argv[0] 为命令名)。
架构结论
- ② 命令对象层未移植:高亮/蓝图/重放分别用
CMD_ERROR、命令闭包、jrpm 原生命令序列化绕过,无需 cmclient 的 2251 行生成代码。
存档兼容
- growth_tiles 数据存于独立
GRWTchunk,旧存档(不含该块)加载完全兼容; - 命令记录文件(
.jrcm)为 jrpm 私有格式,跨版本不保证兼容。
jrpm-0.1.0(2026-08-14)
首个 jrpm 版本,基于 jgrpp 0.73.1 + pulsexlb px-patch 合并,并移植 modded / cmclient 特性。
变更内容
- 合并 pulsexlb px-patch(152 提交):
- 机车换挂(decouple):解挂/挂载订单、路签转移、耦合长度/车速限制、双车头、NewGRF 耦合、耦合寻路、解挂后独立调度;
- 模块化机场(multitile-airport):air 类型体系、PBS 空中调度、YAPF 航空寻路、机场布局改造(
allow_modify_airports); - 存档版本新增
SLV_MULTITILE_AIRPORTS/SLV_ORDER_DECOUPLE。
- 版本改名:
openttd-jrpm/jrpm-0.1.0(可执行文件名与修订串)。 - 服务器多版本兼容:jrpm 服务器接受 jrpm / 原版 jgrpp / pulsexlb 客户端。
- jrpm 专属功能:
- 资源下载多镜像 + 文件级并行(并发数可配置);
- 车辆按共享订单自动分组(窗口按钮 +
autogroup命令); - 整局感知 AI(
AIGlobalAPI + GlobalAI 示例,设置开关控制); - 建造价格 Tooltip(已按需求移除,提交
96ebfb75)。
- modded 移植(第一批):
- 车辆行程历史(最近 10 趟利润/占用率/时长,车辆详情窗口 History 按钮);
- 飞机滑行速度可调(
vehicle.plane_taxi_speed,XSLF 特性门控,旧档兼容)。
- cmclient 借鉴(第二批):
- 位置书签(
savelocation/gotolocation,9 槽位); - 公司货运明细窗口(
company_cargo); - 观战辅助(
watch <company_id>)。
- 位置书签(
存档兼容
- 继承 jgrpp 惯例:可加载 trunk 存档(到最近并入的版本);
- jrpm 存档(含多格机场/解挂订单数据)不保证与旧 jgrpp 存档互读;
- 存档版本号
SAVEGAME_VERSION与 pulsexlb 一致(SLV_CUSTOM_SUBSIDY_DURATION); - 新增特性均用 XSLF 扩展特性门控或 NOSAVE,不破坏旧档。
上游版本
- jgrpp 0.73.1:本项目基座(OpenTTD 16.0 内核 + JGR 全部特性)。
- pulsexlb px-patch 2608.3:机车换挂与模块化机场的来源。
- embeddedt/OpenTTD-modded(0.59.1 时代):行程历史与滑行速度来源。
- citymania-org/cmclient(vanilla 15.3):位置书签/货运明细/观战借鉴来源。
路线图
- [x] 真机构建验证与首编错误修复
- [x] 行程历史 + 滑行速度(modded 第一批)
- [x] 位置书签 + 货运明细 + 观战(cmclient 第二批)
- [ ] 高亮系统 + 蓝图系统(cmclient 第三批,见路线图)
- [ ] HTTP 传输层线程池 + Range 分块下载(单大文件加速)
- [ ] 地图发送压缩对比优化
- [ ] 每货物收入统计(需存档格式扩展)
- [ ] (远期)Rust 服务器运行时集成(参考 Openttd-Cluster)