游戏原始 UI 图标
游戏对象及游戏功能入口统一使用原始游戏资源。当前星系页不再用系统字体的星形、地球、房屋、无线信号或显示器来代替地点类型。
入口与覆盖
XFEEDToolBox.Core/Rendering/GameUiIcons.cs 定义稳定的资源键与地点映射;WinUI 中用 controls:GameIcon 显示矢量资源,不重新描边、改色或填充背景。
- 当前星系:地点行、游戏选定目的地标记、筛选按钮和各地点类型筛选项。
- 游戏功能入口:航行概览、银河系图、当前星系图、商品、材料、装配、工程师、跑商航线及执行入口。
- 装配:四类槽位分类、工程师页签及工程等级选择。
- 其他页面:概览的星系/导航图标、路线计算与空路线预览、材料筛选入口。
具体模块继续由 ModuleIcon 读取原始模块图片;材料类别与稀有度继续使用 Assets/Materials 中已有的游戏资源。关闭、返回、复制、展开、排序和任务状态等通用界面控件沿用应用控件。
新增游戏图标应加入同一目录与来源清单,然后通过共享资源键复用;不要在新页面另画近似图案。
原始来源
Assets/GameIcons/source.json 逐个记录文件 SHA-256、原始资源、矢量符号和时间线帧,或者位图图集裁剪坐标与原始 RGBA 哈希。
| 游戏资源 | 资源标识 | 源文件 SHA-256 |
|---|---|---|
| cockpitexternalpanel | d5cd6f1c6d4c730748078d9675e19c5d151b4887 | 681e539c3386f31ab3a44da33b8e0a6dd25e73bded7a58dca67742993d549c48 |
| cockpitinternalpanel2 | 469d5b272ca4c4e23e9649303cba6ebb894f487d | c1f00073826b929418d2feecbc7da3ce1b8f750434dba98f083d91da01d2e58d |
| outfitting3 | d644aab217bdd3cf8404c3463b7041b0ca50eb42 | d9d394604b18a9ce386f342fbd67042e97d6da2d4c64246d2cd43008e9c2bfb3 |
共导入 66 个矢量图标和 2 个工程等级位图。矢量几何、颜色和透明度保留导出文件原字节;工程等级来自 Outfitting3_I1.dds 原始 BC7 图集,解码后按 DefineSubImage 的矩形裁剪,不重绘或重采样。
外部导航面板的 icons.LocationTypeIcons 有 52 个标签,其中 TitanCloud 帧在原游戏资源中只有透明边界,未作为可用图标导入。其余 51 个地点图标均保留。游戏选定目的地使用实际地点行 type.current 中的青色标记。
不要把原生地点目录的 NativeKind 直接当作 Scaleform 的 LocationType 数字:两者不是同一个枚举。已知种类显式映射,其他地点按已确认的地点类别使用游戏通用图标;没有数据证明时不猜测空间站的具体外形、行星大气或据点经济类型。
重建与验证
离线提取证据保存在忽略目录 artifacts/game-navigation-icons,不附加游戏进程,不调用游戏函数,也不修改游戏安装文件。
使用项目已有本地资源解码器解开上述游戏 UI 资源,保留 GFX 元数据及原始数据区。
使用 JPEXS 26.4.0 导出来源清单所列符号和帧的 SVG。涉及外部位图的帧不能直接当成完整 SVG;否则会出现导出器的红色占位方块。材料功能入口使用内部面板真正的
MaterialsIcon。用含 Pillow 12.3 或更新版本的 Python 运行:
python research/Build-GameIconAssets.py --exports artifacts/game-navigation-icons导入脚本校验原始资源版本与图集哈希,拒绝缺失位图依赖的 SVG。工程等级图集按原始数据项的缓冲区交错顺序读取,不能只按缓冲编号排序。
运行
GameUiIconsTests与SystemLocationUpdatesTests。原始来源和打包资源逐个核对哈希,验证导航信标/航母等原生种类不会误用 Scaleform 编号,验证图标变化只通知本行绑定。运行独立客户端离线预览:
XFEEDToolBox.exe --offline-preview --no-session-automation --data-dir <独立数据目录> --smoke-game-icons <报告路径>此探针在自己的后台窗口核验真实地点列表、四类装配图标、筛选内容和完整图标目录,并输出截图及实际 XAML 元素尺寸。它强制离线预览、无飞行驱动、无实时 Journal;不得用玩家正在使用的数据目录运行。
视觉证据位于 work/visual/game-icons。截图需要按 background-visual-check 流程检查原图、局部与原始资源对照;编译通过不等于视觉通过。