Баг в GTA: San Andreas на Windows 11 24H2 связан с устаревшим кодом

Баг в GTA: San Andreas на Windows 11 24H2 связан с устаревшим кодом

Баг в GTA: San Andreas на Windows 11 24H2 связан с устаревшим кодом

На днях на GitHub-трекере SilentPatch и GTAForums начали активно обсуждать странную проблему: в GTA: San Andreas на Windows 11 24H2 пропал гидросамолёт Skimmer. Его нельзя найти на обычных спавнах, нельзя заспавнить через трейнер — и даже в чистой версии игры без модов он просто исчезает.

Причём ошибка повторяется у всех, кто обновился до новой версии Windows.

Поначалу это выглядело как какой-то странный случай, но после реальных тестов в виртуальной машине стало ясно: после обновления до 24H2 Skimmer действительно исчезает. Попытка заспавнить его вручную приводила к забавному результату: игрока катапультировало на немыслимую высоту — примерно на 1 квадриллион световых лет вверх!

Что оказалось не так

При расследовании выяснилось, что проблема связана с багом в самой GTA: San Andreas, который просто чудом не проявлялся больше 20 лет. Всё дело в том, что в файле vehicles.ide у Skimmer были неполные данные — отсутствовали параметры масштабов колёс, которые обязательны для самолётов. Игра при чтении этой строки полагалась на старые значения из памяти, которые «по счастливой случайности» всегда были нормальными… до Windows 11 24H2.

В новой версии Windows внутренняя работа функций типа fgets изменилась: они теперь используют больше места на стеке. Из-за этого те старые «спасительные» значения перезаписываются, и игра начинает работать с мусорными данными. В результате Skimmer появляется с поломанными координатами и либо не спавнится вовсе, либо моментально отправляет игрока в стратосферу.

Как починить проблему прямо сейчас

Разработчик SilentPatch уже подготовил исправление для патча, но если хочется вернуть Skimmer без ожидания, всё просто:

  1. Открыть файл data\vehicles.ide в папке с игрой.
  2. Найти строку, начинающуюся с 460, skimmer.
  3. Заменить её на следующую:
    460, skimmer, skimmer, plane, SEAPLANE, SKIMMER, null, ignore, 5, 0, 0, -1, 0.7, 0.7, -1
  4. Сохранить файл.

После этого Skimmer снова будет спавниться нормально!

Почему так произошло

Ошибка появилась не из-за Windows 11 24H2 как такового — Microsoft просто изменила внутренние механизмы работы системы, и старая ошибка в коде игры, на которую никто не обращал внимания десятилетиями, внезапно себя проявила. Кстати, в более поздних версиях GTA: San Andreas (на Xbox, Steam 3.0, мобильных версиях) Rockstar тихо исправили эту проблему, добавив недостающие параметры.

Вывод

История с исчезнувшим Skimmer — отличный пример того, как даже небольшие изменения в новой ОС могут «всплыть» через старые ошибки в коде приложений. И ещё одно напоминание, почему важно не оставлять неинициализированные переменные без присмотра. К счастью, у нас есть моддеры и патчи вроде SilentPatch, которые позволяют сохранять любимые игры рабочими даже через десятилетия.

Подпишитесь на новости

Россиянам предлагают включить 5G на iPhone за 399 рублей, гарантий нет

Пока Apple официально не разрешила российским iPhone подключаться к 5G, энтузиасты уже продают цифровой ломик. Сервис 5G First предлагает снять ограничение за 399 рублей без джейлбрейка, достаточно подключить смартфон к компьютеру и запустить специальную программу.

Как выяснили в iPhones.ru, решение, вероятно, изменяет операторские настройки iPhone.

Эти профили определяют, какие сетевые функции разрешены для конкретной сим-карты. Программа сохраняет необходимые параметры российского оператора, но включает опции, связанные с доступом к 5G.

Звучит красиво, работает — как повезёт. Сервис не поддерживает некоторые модели, включая iPhone Air и устройства только с eSIM, зависит от версии iOS, оператора и сим-карты.

Разработчики сами называют технологию экспериментальной. Что именно программа меняет в системе, какие данные обрабатывает и переживёт ли настройка очередное обновление iOS, пока неизвестно.


Появился и бесплатный вариант CarrierSIM для iOS 27. Скрипт заставляет систему использовать для российской сим-карты встроенный профиль Vodafone Hungary, в котором 5G уже разрешён.

Для записи изменений применяется механизм AirLift, использующий возможность выхода за пределы каталога синхронизации Apple Books. В общем, не включение галочки, а маленькая экспедиция по внутренностям iOS.

Apple может закрыть обе лазейки следующим обновлением. Кроме того, успешная активация пункта 5G в меню не создаст сеть там, где у оператора её нет. Российские сети пятого поколения пока развёрнуты ограниченно и не всегда заметно выигрывают у LTE.

Минцифры уже обсуждает с Apple официальное включение 5G на iPhone в России.

RSS: Новости на портале Anti-Malware.ru