如何优雅的更改存档位置,默认存档savedata一般在我的文档或者AppData里,如何更改到游戏文件夹下的savedata中。如何大规模修改或者更方便大规模修改。😀
16
如何优雅的更改存档位置,默认存档savedata一般在我的文档或者AppData里,如何更改到游戏文件夹下的savedata中。如何大规模修改或者更方便大规模修改。😀
本文版权遵循 CC BY-NC 协议 和 本站版权政策
10 条回复
批量修改应该是不太现实的。至于符号链接就纯自欺欺人了。至于有没有修改的方法,我只能说不知道。
我做过测试,创建符号链接的方法发现是可行的。
当游戏去默认路径读取存档时,操作系统会通过符号链接自动将它“传送”到新位置。
这里以WillPlus的僕と彼女のご奉仕同棲为例,该游戏存档默认的位置是 C:\Users\Username\Saved Games\WillPlus\僕と彼女のご奉仕同棲 THEもーしょん
将原来的存档剪切到savedata文件夹(我这里的位置是F:\gal_saved\僕と彼女のご奉仕同棲 THEもーしょん\savedata)
随后通过管理员权限下的cmd or powershell 创建符号链接 :
Shellmklink /d "C:\Users\Username\Saved Games\WillPlus\僕と彼女のご奉仕同棲 THEもーしょん" "F:\gal_saved\僕と彼女のご奉仕同棲 THEもーしょん\savedata"
随后创建成功会输出以下信息:
Shell为 C:\Users\Username\Saved Games\WillPlus\僕と彼女のご奉仕同棲 THEもーしょん <<===>> F:\gal_saved\僕と彼女のご奉仕同棲 THEもーしょん\savedata 创建的符号链接
最终重新打开游戏会发现存档读取成功
我在savedata文件夹删除了一个存档后,重新进入游戏会发现存档也跟着删除我在游戏内新增一个存档后,发现savedata文件夹里面也跟着多出了一份存档文件
当然,带着存档转移设备的话要重新建立符号链接,这个时候随带一个bat脚本是很方便的。
我也只测试了这一个游戏,不能保证存档机制普遍可以兼容
符号链接和linux的软连接几乎是一样的,你要这样子做我搞不懂你的用意是什么。每一个游戏路径不同不说,迁移也不能直接复制粘贴。如果要把存档改到游戏文件夹下,我倾向的用意是程序读取游戏文件夹下的存档文件,而不是软连接这种障眼法,如此一来可以直接打包整个游戏,就像是绿色版软件那样实现去中心化。然而这种程序层面的修改很难做到不说,galgame的游戏引擎千奇百怪,你要怎么统一?
其实有个一劳永逸的方法, 去hook NtCreateFile一堆函数, 发现存储在appdata路径下, 重定向到游戏目录。
参考我这个项目, https://github.com/YuriSizuku/win-Override
虽然我这个是为了解决汉化共存的通用方法, 也可以拓展到存档重定向上。
我完全同意也十分期望能够有去中心化的理想化处理,如果能让游戏程序本身直接读取游戏文件夹下的存档,那当然是最理想的‘绿色化’方案
然而这是很难做到的,面对各种引擎更是无法统一
我的意思是在 ‘我们无法修改游戏程序’ 前提下,找到一个折衷的管理方案
我觉得我更倾向是为了管理游戏和存档,所有的存档都集中在 游戏根文件夹里。之后有用的话就不用再跑到 AppData、我的文档、Saved Games 等各种犄角旮旯里去翻存档。
可能在一开始建立的时候比较麻烦
迁移的时候重新执行一遍
mklink
命令,就可以保证存档不丢失。(如果会做批处理脚本可以用在全CG存档的分发上,减轻此游戏存档迁移的操作复杂度和降低门槛)当然,这是我个人的想法。
你这种情况直接使用快捷方式就可以了,毕竟galgame在桌面端多数只支持windows,不用考虑兼容性问题。
(。>︿<。) 已经一滴回复都不剩了哦~