Skip to content

Releases: Hx-zh/fh6-livery-viewer

FH6 Livery Viewer v1.9.8

Choose a tag to compare

@github-actions github-actions released this 23 Oct 17:26

v1.9.8 — 修复 1.9.7 包内缺少多语言套件数据

• 1.9.7 的查看器已含五种界面文案,但 Gitee 包内 3DViewer/assets 少了 part_names.zh-cn/zh-tw/ja/ko.json,套件名只能回退英文。本版把新增语言数据打进包内。
• 发版脚本修正:暂存刷新判定改为比较 assets 文件清单(相对路径/大小/时间),不再只看查看器 exe 时间戳——提交钩子同步 exe 后不会再把新资产漏在暂存外。
• 其余内容同 1.9.7:查看器套件名/厂家名/类别名与界面文案支持简中/繁中/日/韩,CJK 字号放大、侧栏加宽,PAINT 页移除。
• GitHub 侧此前未发布 1.9.7,本版是两端首个完整的多语言版本。

FH6 Livery Viewer v1.9.6

Choose a tag to compare

@github-actions github-actions released this 23 Oct 16:26

v1.9.6 — 卡片快捷按钮与若干入口改进

• 卡片墙每张卡右下角(作者名旁)常驻三个图标快捷按钮:眼睛 = 3D 预览、
定位针 = 定位到游戏、文件夹 = 打开所在文件夹。选中/未选中各有配色,
任何缩放档位(含 20%)命中区都不小于 16×16 像素;点按钮只执行动作,
不改变当前选中。
• 右侧大图双击 = 直接打开 3D 预览(「查看大图」入口保留在详情按钮与右键菜单)。
• 「所在文件夹」改为在资源管理器里打开父目录并选中该涂装条目本身
(目录型选中容器文件夹,Steam 平铺型选中 header 分片)。
• 内置 3D 查看器顶栏新增「Parts」按钮:一键展开侧栏直达车辆套件页。

FH6 Livery Viewer v1.9.5

Choose a tag to compare

@github-actions github-actions released this 21 Oct 17:47

v1.9.5 — 搜索修复

• 搜车型 ID 支持前导零:输入 0249 现在能搜到 id 249(此前 car_id 是 int,
只渲染成 "249",子串匹配下 "0249" 永远命中不了)。
• 重音与全角折叠:coupe 能搜到 Coupé、citroen 能搜到 Citroën、
全角 Ferrari 能搜到 Ferrari。日文假名与韩文谚文不受影响。
• 「(未解析)」占位符与「拍卖涂装」字样现在也能搜到(匹配串改用与卡片、
详情面板一致的显示名)。

搜索仍不覆盖描述、时间、层数与文件名(这些只在详情面板展示,属于有意设计)。

FH6 Livery Viewer v1.9.3

Choose a tag to compare

@github-actions github-actions released this 19 Oct 17:12

本次只动内置 3D 预览,修一个车窗渲染问题;其它功能不变。

  • 贴图不再被上色冲淡:车窗(挡风玻璃、侧窗)上同时有贴图和玻璃上色时,以前只看到一层纯色玻璃,图案几乎看不见。原因是涂装合成到玻璃后,仍按玻璃固定的 42% 透明度绘制,背后明亮的车内(浅色座椅)透上来,把图案冲成了色雾。现在不透明贴图按自身透明度绘制,图案该清楚就清楚。

  • 补上大量侧窗缺失的贴图:车模里侧窗并不都叫 glassLF_/glassLR_/glassRF_/glassRR_,很多是 glassLM/glassRM(中窗)、glassLFSmall/glassRFSmall(小三角窗)、glassLRSmall/glassRRSmall(后侧窗)。这些车窗以前完全没有贴图(只剩玻璃上色),全库 682 台车里约 19% 的侧窗玻璃属于这一类,现在都能正确显示。

  • 车顶/全景玻璃不受影响:glassT/glassM 横跨左右、没有左右之分,仍按原来的方式处理,不会被错当成侧窗而出现整片错位的图案。

  • 旧版本打开同一涂装时,车窗看起来会比游戏里「更蓝、更糊」——那不是涂装本身的问题,升级后即恢复正常。

  • 其它功能(卡片墙、重复检测、已喷涂检测、拍卖涂装、自动刷新等)与 v1.9.2 完全一致,无需重新配置。

Windows 10 用户可继续使用;如遇查看器无法启动,请先确认解压完整(3DViewer\ 子目录与主程序同级)。

FH6 Livery Viewer v1.9.2

Choose a tag to compare

@github-actions github-actions released this 18 Oct 15:03

本次重点是内置 3D 预览:显存占用大幅下降、默认只保留一个窗口就地换涂装,以及游戏目录误判修复。

  • 画质:4x 纹理质量(8192×4096 画布)恢复 4× MSAA 抗锯齿,同时把渲染改为分块进行(2048×2048 一块,逐块 resolve 后拼回图集)。同一台机器上单个预览窗口的显存从约 1041 MiB 降到约 490–670 MiB(-56%),多个窗口同时打开时的收益更明显。

  • 单窗口复用:默认只保留一个 3D 预览窗口,再次点「3D 预览」会把新涂装(连同车模)直接换进同一个窗口,不再开关窗口。设置里新增「3D 预览窗口数上限」,可设为 0(不限制)/ 1 / 2…16。

  • 窗口置顶:点「3D 预览」后查看器会自己切到前台;只抢一次焦点,之后你点回主窗口不会再被弹走。

  • 游戏目录只认《地平线 6》:旧版本在商店版扫描时不校验代数,同机装有《地平线 5》时可能把 Forza Horizon 5 当成 FH6 传给查看器,导致所有车模都提示「No model found」。现在自动探测、手动选择、已记住的目录一律先确认是第 6 代,不合格会重新询问;写成 ForzaHorizon6、我的FH6 这类没有代数编号的名字仍然认。

  • 光栅 logo 缓存(约 67 MB):改用内存映射,多个预览窗口共享同一份物理内存;构建时先写临时文件再原子替换,游戏更新后重建失败不会留下半截缓存。

  • 涂装解码:修掉个别 C_livery 会丢图层的问题;图集改为双线性 + mipmap + 各向异性过滤,边缘更干净。空壳涂装(拍卖容器里只有缩略图、没有设计数据)在点击预览时给出说明,而不是打开一台裸车。

  • 不再写注册表:查看器以前把游戏目录存在 HKCU\Software\ForzaTools\FH6Livery3DViewer,与主程序的配置各存一份,可能出现「主程序已判定目录不对、查看器还在用旧值」。现在统一读写在 %LOCALAPPDATA%\FH6LiveryViewer\config.json。

  • 光栅缓存也归到同一目录:%LOCALAPPDATA%\FH6LiveryViewer\raster\。

  • 旧位置不做自动迁移:这是你的数据,工具不该在启动时擅自搬动或删除。旧路径仍会被只读兼容(读到就用,不会重建 67 MB),要清理时用「设置 → 清除旧版本缓存/注册表」——它会先列出具体路径、占用大小和注册表键值,确认后才删除,并且只碰 ForzaTools\FH6Livery3DViewer 这一层,不碰同级其它工具的数据。

  • 卡片墙缩放比例会记住,重启后恢复上次的倍数。

  • 3D 预览启动器与测试包会同步最新的查看器二进制,避免测到旧版本。

Windows 10 用户可继续使用;如遇查看器无法启动,请先确认解压完整(3DViewer\ 子目录与主程序同级)。

FH6 Livery Viewer v1.9.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 12:23

v1.9.1 — 修复 3D 查看器在部分 Windows 10 上无法启动

  • 3D 查看器在部分 Windows 10(旧版 msvcp_win.dll)上启动即报「无法定位程序输入点 __std_parallel_algorithms_hw_threads 于动态链接库 D3DCOMPILER_47.dll 上」

  • D3DCompile 改为运行时动态加载,发布包不再携带 D3Dcompiler_47.dll(该 DLL 与系统版同样依赖新版 msvcp_win,换 DLL 无法规避)

  • 发布包新增携带 VC++ 运行库(MSVCP140*/VCRUNTIME140* 共 8 个),未安装新版 redist 的机器不再报缺 DLL

  • 与 v1.9.0 功能一致(内置 3D 查看器、商店版目录归一化、光栅预置、性能优化);仅启动鲁棒性修复

  • 发布包体积略减(移除 d3dcompiler 4.6MB,新增运行库 1.5MB)

FH6 Livery Viewer v1.9.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 11:08

v1.9.0 — 内置 3D 涂装预览

  • 内置自研 3D 查看器(发布包自带 3DViewer/):详情面板/右键「3D 预览」即开,车模自动加载、零配置

  • 查看器功能:纹理质量 1x/2x/4x、LOD 循环、PNG 截图、拖转/缩放

  • 游戏目录多路探测(Steam 注册表/多库、商店版 XboxGames);探测失败时首次弹目录选择并记住,设置页可手动指定

  • 车模加载 4.4s -> 0.35s(跳过编辑器专用 UV 展开叠加层)

  • 光栅 logo 纹理随包预置,首次预览 0.33s 秒开(此前为首次构建等待)

  • 左键拖转灵敏度减半;车模默认选最高细节 LOD

  • 「3D 预览」只用内置查看器(去掉外部程序配置项与探测链)

  • 包内 SOURCE.md + AGPL-3.0/LGPL-3.0/zlib 许可全文(Qt 动态链接、Clipper2、zlib)

  • 只读:仅把存档里的 C_livery 路径传给查看器;不写游戏目录与存档

FH6 Livery Viewer v1.8.2

Choose a tag to compare

@github-actions github-actions released this 12 Oct 16:36

新功能

  • 兼容部分 Steam 用户的新存档位置(%LOCALAPPDATA%\Microsoft\GameSaves\pgs),自动检测,无需手动指定
  • 「手动选择目录」现在会被记住,下次启动自动恢复;改选其它存档即失效
  • 多份存档共存时默认打开最近有写入的一份

数据

  • 车型表 677→681:新增 DeBerti Ford Mustang GT (2018)、Lamborghini Espada 400 GT (1973)、Ferrari Purosangue (2024)、Datsun 240Z #5 Rallye (1972);修正 1562 品牌(Dodge SRT Viper GTS → SRT Viper GTS)

完整变更: v1.8.1...v1.8.2

FH6 Livery Viewer v1.8.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 09:15

新功能

  • 卡片墙缩放:顶栏 [−] 100% [+] 控件 / Ctrl+滚轮 / Ctrl+±/0 快捷键,范围 20%–500%,仅本次运行有效

修复

  • 游戏缓存清单瞬态读取失败(如游戏正在写入)时,不再清空已有的喷涂状态结果

完整变更: v1.8.0...v1.8.1

FH6 Livery Viewer v1.8.0

Choose a tag to compare

@Hx-zh Hx-zh released this 18 Sep 18:51

FH6 涂装查看器 v1.8.0

🔔 在线车型名表更新 —— 官方加新车,不再需要发新版

  • 程序更新与数据更新解耦:官方加入新车后,维护者只需提交新的车型对照表,你下次启动程序时自动拿到(后台静默检查,约 30KB,无感)
  • 数据源按语言自动优选:简中优先 Gitee,其余语言优先 GitHub,另带 jsDelivr CDN 兜底,三源回退;下载内容严格校验(大小/结构/条目数),全部失败时静默继续使用本地数据,内置表永远兜底,无任何遥测
  • 主界面右下角实时显示车型表状态:条数、是否最新、数据版本时刻(自动换算为你的本地时区显示)
  • 「设置」中可开关自动检查、手动立即检查(按钮在右下角)、一键恢复内置数据
  • 隐藏特性:自行修改补充过本地车型数据(cars_online.json)的用户,本地数据时间戳较新时永远优先于官方数据,不会被自动更新覆盖

🟢 喷涂状态检测彻底重做 —— 不开游戏、零风险

  • 改读游戏缩略图缓存清单(CacheThumbnails/.manifest 在册名单)判定哪些涂装正喷在车上:不需要运行游戏、不扫描进程内存
  • 启动/切换存档即自动标记(零点击零弹窗),喷漆罐角标直接就位
  • 游戏运行中喷涂/卸下/更换涂装,界面约 3 秒内自动跟随(含筛选、搜索、分组视图)
  • 原内存扫描仅作清单不可用时的兜底(保留风险确认弹窗);顶栏检测按钮已移除——检测全自动
  • 修复:拍卖涂装缩略图多候选场景精准匹配,不再出现个别无预览

🔄 重复检测增强

  • 新增「层数」判定条件:同层数是重复的强信号(可与同车/同作者等任意组合)
  • 修正时间语义:此前"创建时间"实为下载时间——现在正确区分并分列显示
    • 创建时间 = 涂装文件内嵌的作者创作时间
    • 下载时间 = 文件名时间戳(玩家下载/保存时刻)
    • 全部按系统本地时区显示,带时区后缀(如 UTC+8)
  • 「同名异版」「多次下载」两个模板判定随语义修正更准确

🖥️ 界面

  • 右下角页脚重设计:更新链接(Gitee / GitHub)、检查软件更新(自动查双端最新版本,有新版提示打开下载页)、Star 引导、车型表状态两行
  • 「设置」对话框重排:按键节奏(同排紧凑布局,保存后重启仍生效)、自动刷新开关、车型表自动检查开关、打开配置目录、恢复默认
  • 轻量配置本地持久化到 %LOCALAPPDATA%\FH6LiveryViewer\config.json(按键节奏、自动刷新、车型表自动检查;不写注册表、不写 exe 旁)
  • 修复:搜索/筛选/分组视图下,游戏内换装、新增涂装等变化全部实时同步(含喷涂角标翻转、新卡按当前视图规则插入、重复分组自动并入)
  • 修复:「刷新」在重复检测视图开启时卡片墙只剩拍卖涂装的问题
  • 修复:状态栏正确显示检查结果终态(不再停留在"正在检查…")
  • 修复:状态栏"已上车"计数不再多计拍卖涂装

⚙️ 维护者侧(不影响普通用户)

  • 发布管线自动化:GitHub Actions(推 tag 自动构建五语言并发布 GitHub Release);Gitee 侧本地一键发布;每次本地提交自动编译测试版
  • 车型数据发布通道 --data-only:更新 cars.json 提交推送即生效,含双端字节级校验与 jsDelivr 缓存自动清除
  • cars.json 顶层新增 _updated 数据版本打戳(ISO 8601 含时区)

其他

  • 界面文案五语言同步(225 条/语言);Windows 10/11 x64;仅读取本地文件与上述两个数据源,绝不修改游戏与存档

完整变更: v1.7.2...v1.8.0