flarejune 发表于 2021-9-10 18:19

目前针对手柄无效,语言设置无效,DLC无效的解决办法和原因(原理)剖析

很多人以为手柄之所以无效,是因为南梦宫在搞鬼,其实是大冤枉.
其实主要原因是因为游戏对手柄的处理,并非是直接调用XINPUT库去处理,因为这样做的话,
就只能支持XBOX家族的手柄,无法支持PS/NS家族的手柄.
于是南梦宫就采取调用STEAM INPUT(简称SI)的API来桥接手柄,SI其实就是一个手柄桥接库,主要作用是负责统一不同手柄的输入键值.
好处就是不用游戏针对不同的手柄做相对的处理.南梦宫之所以采取这个方案,完全是为了照顾玩家,这里的玩家应该是特制PS手柄的玩家.

网上流传的所谓手柄修复补丁,其实是不存在的.为什么使用了那些steam_api64.dll文件后,游戏的手柄功能就正常了,而游戏文字却乱码了?
原因其实很简单,因为你们使用的那个steam_api64.dll是"坏"的文件,是一个无效的文件.
要"修复手柄功能"其实很简单,只要将一个无效的steam_api64.dll文件替换原来的文件就行了.你可以随便去别的游戏里面找一个来替换.
不过一旦这样做了的话,那么等于是steam平台的所有功能都会丢失,比如"语言设定"和"DLC"功能.而这个游戏对手柄的处理却有两套方案,一旦Steam平台功能失效之后,它并没有崩溃,而是采取了第二个方案,就是直接调用Xinput来处理手柄了.(尴尬)

明白了否?这个就是为什么兼顾了手柄功能之后,却无法使用DLC和设置语言了

如图所示,更换了无效的steam_api64.dll之后,手柄功能虽然正常了,但是所有Steam平台功能丢失,游戏自身有报错的,不过并不影响游戏继续运行:


目前的解决方法其实很麻烦,也可以说很简单吧,你只需要模拟一个完整的Steam平台环境就可以支持Steam Input了.但是目前的所有未加密补丁,
基本上都是没有实现SteamInput功能的,我相信各大未加密组也不会为了这个游戏而帮补丁去实现Steam Input功能.
所以等待也不是办法,那么既然这个游戏可以脱离steam平台玩,那么只要处理好语言方面的问题就行了,不要DLC了.

游戏在丢失Steam平台功能之后(原本这个语言功能是由Steam平台提供),它会查询系统获取当前系统的UI语言是什么,使用系统的语言作为游戏的默认语言.
所以也有人利用修改系统的默认语言来解决了这个问题,不过这样未免太麻烦了.
我简单修改了一下游戏的主程序,让其获取系统默认语言的时候,返回的是zh-TW,那么它就可以正常显示繁体中文了.
以上,就等于是解决了手柄问题和语言问题,但是,DLC问题是无法在脱离Steam平台功能下使用的,所以,DLC就只能放弃了.

这个简单修改过的游戏程序,我提供给大家下载:
https://pan.baidu.com/s/1wSaoLtMm_u-Ln4iqyEByVA 提取码: drha

里面附带了一个"steam_api64.dll",必要时候,你可以使用这个替换掉你现在使用的文件.


ywrgod 发表于 2021-9-10 18:21

大神每次都是最靠谱的

郊区土匪 发表于 2021-9-10 18:22

牛B的技术贴,给大神一个大大的赞!!

环佩叮珰 发表于 2021-9-10 18:22

学习了~

l272245183 发表于 2021-9-10 18:22

这也太硬核了

abfedcg2003 发表于 2021-9-10 18:23

置頂:):):)

跖-念 发表于 2021-9-10 18:23

不明觉厉

yunhaoting 发表于 2021-9-10 18:24

楼主牛逼 有用

r1253643327 发表于 2021-9-10 18:24

太棒了!感谢讲解以及分享!

796311 发表于 2021-9-10 18:24

厉害,学习了

ilyboiny 发表于 2021-9-10 18:24

原来是这样,其实dlc不怎么重要 几件衣服而已

lgl91111 发表于 2021-9-10 18:25

这都下班了,技术大神终于现身了

爱工口 发表于 2021-9-10 18:25

谢谢分享

z8522912 发表于 2021-9-10 18:25

终于等到谢谢大佬

●△●禁欲 发表于 2021-9-10 18:26

我下载了之前那个可以用手柄但是无法解锁dlc的steam_api64.dll再把dlc解锁的steam_api64.dll覆盖之后手柄可以用但是原本的按键混乱了,比如手柄a和b都变成了确认,没有返回键了,移动键变成调整视角的了:@:@:@:@:@

killy@123 发表于 2021-9-10 18:26

会出现一刀一卡顿的情况吗?

WJWS 发表于 2021-9-10 18:26

那为什么绯红能直接玩啊

1区212 发表于 2021-9-10 18:26

好厉害!!

q2695sx 发表于 2021-9-10 18:27

虽然其实并没有看懂,但是我大受震撼,,感谢大佬的分享

pomei7 发表于 2021-9-10 18:27

大佬我有个问题,那么失效dll的情况下存档在哪?

a3142697 发表于 2021-9-10 18:27

我来反馈下,用了楼主这个确实可以用手柄,而且是中文的。没有DLC。
感谢楼主~~~~~~

juxingqiao 发表于 2021-9-10 18:27

感谢大佬!终于能用手柄玩了!

gongvbv 发表于 2021-9-10 18:27

目前唯一完美解决的,瑞斯拜

6705486 发表于 2021-9-10 18:28

看技术还是要看大神..

这么一来.除非官方自己出补丁或者出gog epic版本不然就是无解了

sisisinian 发表于 2021-9-10 18:28

我去 厉害了

埖Ⅱ孒灬杺 发表于 2021-9-10 18:28

66666666666666666666

cboob77 发表于 2021-9-10 18:29

可真牛啊!

holydragon_3dm 发表于 2021-9-10 18:29

厉害了,谢谢大神分享

大大大白熊 发表于 2021-9-10 18:29

这就是大神吗,爱了爱了

光剑 发表于 2021-9-10 18:29

貌似就是要手柄就不要DLC
要DLC就不要手柄~~~
但是目前的情况是都想要啊!
页: [1] 2 3 4 5 6 7 8
查看完整版本: 目前针对手柄无效,语言设置无效,DLC无效的解决办法和原因(原理)剖析