联机 UI 增强
第二批移植自 citymania-org/cmclient,以控制台命令形式落地(不依赖 cmclient 的热键/工具栏基础设施,稳定且可脚本化)。
位置书签(Viewport Locations)
保存/恢复主视口位置与缩放(9 个槽位),适合联机时快速往返于自己的工厂、车站与对手区域。
savelocation <1-9> # 保存当前视口位置+缩放
gotolocation <1-9> # 跳转到已保存的位置公司货运明细(Company Cargo Details)
按货物列出公司已送达运量 + 收入的统计窗口,可切换总计 / 上个月两个周期。
company_cargo <company_id> # 打开货运明细窗口- 窗口列出每种标准货物的运量、收入 + 底部总计(与 cmclient 完全一致)
- 点击表头"Cargo"切换总计/上月周期
- 每货物收入通过
CompanyEconomyEntry::cargo_income跟踪(XSLFI_COMPANY_CARGO_INCOME存档扩展),存档往返无损
观战辅助(Watch)
旁观者快速定位到某公司的建设区域(跳转到该公司最后一次建造的坐标)。
watch <company_id> # 视口跳转到公司所在位置已跳过项与理由
| cmclient 功能 | jrpm 处理 |
|---|---|
| 玩家列表悬浮层(cm_client_list_gui) | jgrpp 已有 Online Players 窗口(NetworkClientList),不重复实现 |
| 地面详情提示(cm_tooltips) | jrpm 的 LandInfoWindow 已覆盖房屋/工业/车站详情展示 |
涉及文件
src/jrpm_locations.cpp/.h(新增:位置书签 + company_cargo + watch 控制台命令)src/jrpm_cargo_table.cpp/.h(新增:货运明细窗口)src/window_type.h(新增WindowClass::CompanyCargos)src/console_cmds.cpp(命令注册)src/lang/english.txt(STR_JRPM_CARGOS_* 字符串)