win10 修复 pe


win10 修复 pe  

据悉,原本游戏内应有的Skimmer飞机消失了。Silent最初怀疑可能是其他MOD或特定系统配置的问题,但在未安装任何MOD的纯净版游戏上进行测试后,他发现只要是在Windows 11的24H2系统上运行,Skimmer就会消失。更诡异的是,当通过游戏内命令强制生成飞机后,角色CJ会被弹极为遥远的距离,导致游戏画面失控或直接卡死。

深入研究后,Silent发现问题的根源在于Skimmer的物理边界框计算错误。具体来说,其Z值被设定为一个极其不合理的数字(-4.30747210e+33),导致游戏无法准确判断飞机的位置。进一步分析发现,这一问题源于游戏配置文件vehicles.ide中Skimmer的定义不完整,缺少尺寸参数。

这种情况源于《GTA: Vice City》时期Skimmer被视作船只,无需这些参数。在《San Andreas》中Skimmer被改为飞机后,Rockstar未更新相关配置。游戏代码在读取数据时未对相关变量进行初始化,导致其值依赖于内存堆栈中的随机数据。过去20年间,在Windows 10等版本中,由于前一个车辆Topfun的尺寸值(0.7)恰好残留在内存中,Skimmer得以勉强正常运行。

在Windows 11的最新版本(如版本名为24H2)中更新改变了内存堆栈的使用方式(具体涉及到LeaveCriticalSection函数),覆盖了原本残留的Topfun尺寸值(如覆盖为错误的值),导致Skimmer的物理计算彻底失控。对此问题,Silent强调这并不是Windows 11的问题,而是《GTA San Andreas》游戏代码本身的漏洞,长期以来依赖于内存布局才得以运行的现象。他表示将在下一版SilentPatch中修复这一问题。目前对于受影响的玩家来说,可手动编辑游戏目录下的data文件夹内的vehicles.ide文件来解决这个问题,具体做法是找到Skimmer一行并添加尺寸参数(设为原来的值0.7)。

  win10 修复 pe