仓库结构
2024年12月14日大约 6 分钟指南
/(repository_folder) // 仓库文件夹
repositoryinfo.json // 仓库配置文件
(yyyyMMddTHHmmssZ) // 游戏文件夹,使用创建时间命名
gameinfo.json // 游戏配置文件
cover.png // 游戏封面,支持常用图片格式
/sources // 游戏 源 文件夹,名称固定
(yyyyMMddTHHmmssZ) // 游戏其中一个 源 的文件夹,使用创建时间命名
sourceinfo.json // 游戏 源 配置文件,名称固定
source.zip // 游戏 源 创建时,把所有文件压缩后自动生成,名称固定
/localizations // 游戏 本地化 文件夹,名称固定
(yyyyMMddTHHmmssZ) // 游戏其中一个 本地化 的文件夹,使用创建时间命名
localizationinfo.json // 游戏 本地化 配置文件,名称固定
localization.zip // 游戏 本地化 创建时,把所有文件压缩后自动生成,名称固定
/targets // 游戏 本 文件夹,名称固定
(yyyyMMddTHHmmssZ) // 游戏其中一个 本 的文件夹,使用创建时间命名
targetinfo.json // 游戏 本 配置文件,名称固定
/target // 游戏 本 创建时,把所有文件解压或者拷贝后自动生成,名称固定
(StartupName) // 游戏 本 里,必须存在一个启动程序
/savedatas
savedatasettingsinfo.json // 游戏 存档 配置文件,名称固定
(yyyyMMddTHHmmssZ) // 游戏其中一个 存档 的备份文件夹,使用创建时间命名
savedatainfo.json // 游戏 存档备份 配置文件,名称固定
savedata.zip // 游戏 存档备份 创建时,把所有文件压缩后自动生成,名称固定
/covers // 封面图文件夹,存放其他封面图,放入即可在管理页面浏览,支持常用图片格式
/gallery // 游戏CG文件夹,放入即可在管理页面浏览,支持常用图片格式
/special // 游戏一些特殊图片,放入即可在管理页面浏览,支持常用图片格式
/characters // 角色立绘文件夹,角色的立绘会放到这个文件夹内,用udid命名
/screencaptures // 游戏截图文件夹,游戏激活截图功能后,截取的图片都会存放到这个文件夹,
// 并且也会保存一份到系统的图片文件夹内
(yyyyMMddTHHmmssZ)
......
BKGalMgr本身只存储仓库的根目录路径,不会记录仓库里的任何信息,当打开仓库时,会按照上面设计的目录结构去打开仓库,而仓库本身也是在打开时根据目录结构,通过一层层的目录扫描游戏,完成仓库的构建。
也就是BKGalMgr实际上对一个仓库的管理,在关闭时,就完全断开,再次打开时,才会连上,是无状态的。
在这个基于目录来管理的设计下,你完全可以在BKGalMgr关闭后,自己做些仓库的管理,文件夹粒度的进行增删改——注意不应该随意动里面的文件,除非你足够熟悉这些文件的含义。
无用小技巧:游戏文件夹并没有说固定这个
(yyyyMMddTHHmmssZ)
名称格式,这个格式只是游戏创建时默认这么命名,你可以在关闭BKGalMgr后自己手动改名,再次打开也是可以扫描到的,但建议不要有汉字。其实(yyyyMMddTHHmmssZ)
格式的文件夹都是可以改名称的,但是不推荐随便改。
repositoryinfo.json
{
"Name": "test_repo", // 仓库名称
"Description": "测试仓库", // 备注
"CreateDate": "2024-02-24T20:17:15.6351079+08:00", // 仓库创建时间
"SeletedGameCreateDate": "2024-04-25T14:36:13.820035+08:00", // 游戏的创建时间,记录当前仓库选择哪个游戏进行管理
"SortType": 3, // 排序方式的枚举值
"SortOrderType": 0, // 排序顺序的枚举值
"IsEnableGroup": false, // 是否激活分组功能
"Groups": [ // 分组数组
{
"Name": "1232", // 当前组名称
"IsChecked": false // 当前组是否激活
}
]
}
gameinfo.json
{
"Name": "悠刻", // 游戏名称
"CreateDate": "2024-04-25T14:36:13.820035+08:00", // 游戏创建时间
"PublishDate": "0001-01-01T00:00:00", //发售日期
"Artist": [], // 原画,字符数组
"Cv": [], // 声优,字符数组
"Scenario": [], // 剧本,字符数组
"Musician": [], // 音乐,字符数组
"Singer": [], // 歌手,字符数组
"Tag": [], // 标签,字符数组
"Group": [], // 分组,字符数组
"Characters": [ // 角色
{
"CreateDate": "2024-12-01T18:05:05.9633143+08:00", // 角色创建时间
"Id": "1fa8dabf-485d-43ec-8a2d-453e629b50f4", // udid,角色创建时自动生成
"BangumiCharacterId": "", // Bangumi的角色id,如果是通过Bangumi拉取的游戏信息,角色自动创建,就会有这个id
"Name": "舞袖", // 角色名称
"CV": "", // 声优
"Birthday": "2024-12-17T00:00:00", // 生日
"Age": 19, // 年龄
"BloodType": "AB", // 血型
"Cup": "C", // CUP
"Bust": 0, // 胸围
"Waist": 0, // 腰围
"Hips": 0, // 臀围
"Height": 162, // 身高
"Weight": 48, // 体重
"Description": "" // 介绍
}
],
"PinValue": 1000, // Pin值,用于自定义排序
"SeletedTargetCreateDate": "2024-05-24T17:03:02.9669818+08:00", // 本的创建时间,记录当前游戏选择哪个本启动
"LastPlayDate": "2024-10-30T15:52:42.3977666+08:00", // 游戏最后启动时间
"PlayedTime": "00:02:04", // 游玩时间统计
"PlayedPeriods": [ // 游玩时间段数组
{
"benginTime": "2024-10-30T15:52:42.3977666+08:00", // 开始时间,这个begin拼错了,但是也不好改了...
"endTime": "2024-10-30T15:53:35.7764082+08:00", // 结束时间
"PauseTime": "00:00:00" // 暂停时间统计
}
],
"BangumiSubjectId": "113290", // Bangumi的条目id,如果是通过Bangumi拉取的游戏信息,就会有这个id
"T2DFanSubjectId": "2588" // 2DFan的条目id,如果有在管理页面配置游戏的2DFan地址,就会有这个id
}
sourceinfo.json
{
"Name": "悠刻生肉", // 源 名称
"StartupName": "game.exe", // 启动程序名称
"CreateDate": "2024-12-17T11:38:05.7565494+08:00", // 源 创建时间
"Description": "", // 备注
"Contributors": [ // 贡献者
{
"Avatar": "https://bkgalmgr.com/avatar.png", // 头像地址
"Name": "bluelaze", // 名称
"Description": "做做梦,白日梦" // 介绍
}
]
}
localizationinfo.json
{
"Name": "悠刻汉化补丁", // 本地化 名称
"StartupName": "game_cn.exe", // 启动程序名称
"CreateDate": "2024-12-17T11:39:29.4306444+08:00", // 本地化 创建时间
"Description": "", // 备注
"Contributors": [ // 贡献者
{
"Avatar": "https://bkgalmgr.com/avatar.png", // 头像地址
"Name": "bluelaze", // 名称
"Description": "做做梦,白日梦" // 介绍
}
]
}
targetinfo.json
{
"Name": "悠刻汉硬", // 本 名称
"StartupName": "game_cn.exe", // 启动程序名称
"CreateDate": "2024-05-24T17:03:02.9669818+08:00", // 当前本的创建时间
"LastPlayDate": "2024-10-30T15:52:42.3977666+08:00", // 当前本的最后启动时间
"PlayedTime": "00:02:04", // 当前本的游玩时间统计
"EnableScreenCapture": true, // 是否激活截图
"EnableLocalEmulater": true, // 是否激活LE
"Game": {}, // 当前游戏信息,结构详见:gameinfo.json
"Source": {}, // 当前的源,结构详见:sourceinfo.json
"Localization": {} // 当前的本地化,结构详见:localizationinfo.json
}
savedatasettingsinfo.json
{
"CreateDate": "2024-12-17T14:18:59.7333566+08:00", // 存档设置创建时间
"SaveDataFolderPath": "E:\\Documents\\ESCUDE\\FemmeFatale", // 游戏存档路径
"AutoBackup": true, // 是否自动备份,开启后,每次结束自动备份存档。默认开启。
"Description": "" // 备注
}
savedatainfo.json
{
"Name": "test", // 存档名称
"CreateDate": "2024-12-17T14:19:26.1040369+08:00", // 存档创建时间
"Description": "" // 备注
}