Skip to content

Feat: add root path#601

Open
mihirukiss wants to merge 6 commits into
ximu3:mainfrom
mihirukiss:feat-root-path
Open

Feat: add root path#601
mihirukiss wants to merge 6 commits into
ximu3:mainfrom
mihirukiss:feat-root-path

Conversation

@mihirukiss
Copy link
Copy Markdown
Contributor

为游戏增加根目录属性, 通过简单的推断算法计算默认值, 并允许用户自行修改, 以便统一简化多个功能的游戏目录取值逻辑, 并使这些功能的效果更符合用户期望. 主要修改点如下:

  1. gameLocalDoc增加utils.rootPath字段
  2. 增加自动推测rootPath值方法, 实现方式为排除由win、bin、x86等词组与分隔符组成的上级文件夹, 以及binaries、launcher等名字完全匹配的上级文件夹
  3. 旧数据通过数据库版本迁移功能初始化rootPath值
  4. 新数据会在扫描添加时自动赋值(手动添加单游戏因为没有任何目录信息, 初始值为空, 会在首次设置游戏路径属性时自动赋值)
  5. 用户手动修改游戏路径(path.gamePath)属性时也会自动判断是否需要更新rootPath值
  6. 增加修改根目录菜单项, 允许用户手动修改rootPath值
  7. 以下功能统一调整为使用rootPath字段值:
  • 浏览本地文件时打开的路径
  • 扫描器判断扫描到的游戏是否已添加的逻辑
  • 自动搜索存档目录的起始查找位置
  • 游戏大小计算的目录范围
  • 删除游戏时添加的排除路径
  • 更新游戏资料窗口显示的路径(优先gamePath再rootPath)

附注, 以下功能保持使用原有路径相关字段不做修改:

  • 所有游戏运行与监控相关的功能(使用gamePath)
  • 修改游戏路径时弹出的文件选择框起始路径, 包括首次运行游戏和在属性菜单里打开的属性编辑窗口修改, 保持使用markPath方便快速选择启动文件

Resolve #592

@fishyy119
Copy link
Copy Markdown
Contributor

为什么不把根目录的设置统一到 “属性->路径" 的设置窗口,而是新开一个单独的对话框呢?

@mihirukiss
Copy link
Copy Markdown
Contributor Author

原本是考虑rootPath的更改是一个相对较高级的功能, 一般用户较少会去使用, 所以就把他独立出去.
不过再想想合到一个窗口内对用户可能更方便也更好理解, 我改一下吧

@mihirukiss mihirukiss marked this pull request as draft May 14, 2026 09:46
@mihirukiss mihirukiss marked this pull request as ready for review May 15, 2026 04:09
…dByPath and normalize folder name in scanner
# Conflicts:
#	src/main/features/adder/services/adder.ts
#	src/main/features/adder/services/scanner.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: 游戏容量大小的错误计算

2 participants