Hello KSP Launcher v1.0.0 发布说明
v1.0.0 — 初始版本 (2026-08-12)
Hello KSP Launcher 是一款基于 Qt 6 和 C++17 构建的现代、轻量级坎巴拉太空计划启动器。
新特性
实例管理
- 添加、重命名、删除并在多个 KSP 安装之间切换。
- 从所选可执行文件自动检测 KSP 游戏根目录。
- 通过启动栏下拉菜单快速切换实例。
游戏启动
- 一键启动,并可配置启动后的行为:
- 保持打开 — 启动器在游戏启动后保持打开。
- 最小化 — 启动器最小化到任务栏。
- 自动关闭 — 启动器自动关闭。
- 游戏运行状态检测与 UI 反馈。
设置编辑器
- 以树形视图浏览 KSP 的
settings.cfg文件,按类别分组。 - 布尔值以动画开关(
ToggleSwitch控件)呈现。 - 字符串和数值可内联编辑。
- 一键保存并写回文件。
Mod 与 DLC 检测
- 自动检测已安装的 DLC(Making History、Breaking Ground 等),并清晰显示已安装/未安装状态。
- 从
GameData目录列出第三方 Mod。
存档管理
- 列出某个 KSP 实例的所有存档及其元数据(版本、模式、Mod 状态)。
- 存档信息 标签页 — 只读显示存档元数据(标题、版本、模式、种子、时间戳等)。
- 小绿人编辑器 — 浏览并编辑小绿人属性:
- 可编辑字段:姓名、性别、职业、勇敢度、愚蠢度。
- 布尔字段(badS、veteran、hero)使用开关控件。
- 性别(下拉框)、勇敢度/愚蠢度(数字微调框)使用内联编辑器。
- 将更改保存回持久化 SFS 文件。
- 备份管理器 — 创建、列出和删除存档备份,带进度对话框。可在系统文件管理器中打开备份文件。
Modpack 导出
- 使用 miniz 库将
GameData目录导出为 ZIP 文件。 - GameData 根目录下的智能排除项:
Squad文件夹SquadExpansion文件夹ModuleManager.ConfigCacheModuleManager.ConfigSHAModuleManager.PhysicsModuleManager.TechTree
- 带取消支持的进度对话框。
UI 与主题
- 半透明 UI — 侧边栏、启动栏和内容卡片使用 RGBA 半透明背景(侧边栏约 65%,卡片约 75%)。
- 自定义背景 — 选择任意 PNG/JPG 图片作为启动器背景。覆盖模式缩放(保持纵横比,裁剪溢出部分)。用户选择的图片会复制到应用目录,以防源文件被移动或删除导致失效。一键重置为默认。
- 深色与浅色主题 — 两种主题均支持半透明和背景图片。图标自动着色以匹配当前主题。
- 自定义开关控件 — 平滑动画开关控件,在整个 UI 中替代布尔值的下拉框。
启动参数
- 每个实例可自定义命令行参数(例如
-force-d3d11 -popupwindow)。 - 持久化保存到配置文件。
配置
- 设置存储在与可执行文件同目录的
HKSPL.json(JSON 格式)中。 - 持久化设置:当前实例、主题、语言、启动行为、背景图片路径、每个实例的启动参数。
技术细节
- 框架: Qt 6(Core、Widgets、Svg、Concurrent)
- 语言: C++17
- 构建系统: CMake ≥ 3.16
- ZIP 支持: miniz(捆绑在
thirdparty/中) - 背景管理器: 单例模式,用于加载、缓存和切换背景图片。
- 配置管理器: 单例模式,使用 Qt 信号进行变更通知。
- 实例管理器: 游戏进程生命周期管理,带启动/结束/错误信号。
- 背景: 默认背景图片捆绑在资源中。用户图片存储在
<appDir>/backgrounds/中,文件名为基于 UUID 的名称。
已知问题
- 初始版本暂无已知问题。
备注
- 默认背景图片来源于
坎巴拉太空计划 BG2.png。 - 在 Windows 上,请使用 Qt 捆绑的 mingw 工具链进行构建(不要使用独立的 mingw)。