游戏开发者阿德里安(Adrian)利用业余时间修复游戏漏洞,持续为《侠盗猎车手:圣安地列斯》(GTA:San Andreas)等经典游戏发布现代电脑适配补丁。GitHub用户hiddenmask58四天前反馈的Windows 11 24H2系统更新导致游戏内滑翔者水上飞机消失的故障尤为引人注目。该用户指出,不论是原版游戏还是安装了SilentPatch模组的版本,都存在相同问题。所幸阿德里安迅速跟进,在24小时内完成修复并将解决方案发布于Silent的博客。

Cover Image

经排查,问题根源在于vehicles.ide配置文件中滑翔者的参数缺失——该行末尾缺少包含前后轮尺寸在内的四项参数。这个看似微小的漏洞其实自游戏发行之初便已存在,但由于历代Windows系统读取机制的特殊性,该BUG竟潜伏了近二十年。

值得注意的是,参数缺失实属刻意设计。作为水上飞机,滑翔者与游戏中所有船只一样省略了最后四项参数。在前作《侠盗猎车手3》(GTA III)《侠盗猎车手:罪恶都市》(GTA:Vice City)中,该载具被定义为船只,到《圣安地列斯》才改为飞机。开发团队在进行类型转换时,却遗漏了飞机类载具必需的额外参数配置。

这个漏洞之所以长期未被察觉,得益于操作系统对缺失参数的容错机制。从Windows 98到Windows 11 23H2系统,都会自动沿用配置文件中滑翔者上方载具的轮毂尺寸参数(0.7)。但Windows 11 24H2的内存处理方式改变打破了这种平衡——系统不再调用前车参数,而是将栈指针调整4字节,导致轮毂尺寸读取到异常巨大数值。

因此在未打补丁的版本中,Windows 11 24H2用户将无缘得见滑翔者——其尺寸已超出游戏渲染极限。若强行让主角CJ登机,游戏会显示其海拔高度达到惊人的108.7亿亿光年,瞬间化身太空人。

想在更新系统的电脑上畅玩游戏?只需打开游戏安装目录下的data\vehicles.ide文件,找到“460,Skimmer”行并在末尾追加“-1,0.7,0.7,-1”即可。当然,玩家也可静候SilentPatch在GitHub发布包含该修复及其他漏洞的热更新补丁。届时,您又能驾着滑翔者继续第50周目的圣安地列斯之旅了。


文章标签: #游戏漏洞 #系统兼容 #经典游戏 #补丁修复 #参数错误

负责编辑

  菠萝老师先生 

  让你的每一个瞬间都充满意义地生活,因为在生命的尽头,衡量的不是你活了多少年,而是你如何度过这些年。