对Steam游戏使用Locale Emulator的全指南
星洛璃夏
2024年07月06日 20:47
收录于文集
共10篇

上回提到,对于只是场景文本编码的问题,只需要修改一下启动参数就能解决

默认字符集的闹剧——一场由锟斤拷引发的失败国际化​

但如果这个问题发生在程序代码部分呢?kirikiri2的启动参数只能指定场景文本编码,但不能指定ks/tjs代码解释器使用的文本编码,所以如果这个问题发生在代码部分,就会得到这个错误,无法使用启动参数消除

这时候肯定就会有人说,用Locale Emulator就行了

是的,这是一种解决方案,但直接使用LE启动游戏存在一个问题:无法初始化Steam API

运气好的,游戏本身没有Steam DRM,那只是不能解锁成就没有叠加层

运气不好的,游戏会直接要求从Steam启动,或是自己退出再调用Steam启动,然后LE的注入失效了,白搞

那么如何让LE完美的配合Steam工作呢?上回说到,Steam有一个command变量可以用于折腾很多高级启动方式,甚至倒转启动指令顺序,而LE恰好有一个命令行调用模式

所以,很显然我们只要把这两个组合起来,就能达到我们的目的了

先阅读LE的命令行调用方式说明

根据说明易得,我们需要使用runas参数调用,格式是LEProc.exe -runas guid path

guid在创建全局配置方案后可以用LEConfig.xml获得

所以我们在GUI里新建一个简体中文的配置方案

然后就能在LEConfig.xml里找到所需的guid

所以我们就不难拼接出我们所需的启动指令:

LEProc.exe -runas 5fd62b6d-56e9-49f2-aa02-96f83d6fc66d PATH_TO_GAME.exe

然后PATH_TO_GAME怎么办?很简单,用%command%

但因为Steam处理%command%覆写启动程序的时候,只能认完整路径或者Path变量内程序,所以必须把路径写全

最后启动参数就是C:\Software\Locale.Emulator.2.5.0.1\LEProc.exe -runas 5fd62b6d-56e9-49f2-aa02-96f83d6fc66d %command%

搞定,轻松秒杀,无需修改游戏任何文件,游戏依赖Steam的功能一切正常