Баг в 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, которые позволяют сохранять любимые игры рабочими даже через десятилетия.

Корзина Windows показывает не те имена файлов после июньского обновления

Очередной Patch Tuesday от Microsoft принёс пользователям Windows новый сюрприз. После установки июньского обновления под номером KB5094126 некоторые владельцы компьютеров заметили странное поведение Корзины. Проблема проявляется при окончательном удалении файлов.

Обычно Windows показывает предупреждение с именем файла, который пользователь собирается стереть навсегда. Теперь же вместо привычного названия система может отображать какой-то внутренний служебный идентификатор.

Выглядит это так, будто Windows внезапно забыла, какой именно файл собирается удалить.

В Microsoft уже подтвердили наличие ошибки. Хорошая новость заключается в том, что речь идёт исключительно о визуальном сбое. Сам файл никуда не исчезает раньше времени, не повреждается и не переименовывается.

Если открыть Корзину, правильное название документа или изображения по-прежнему отображается в списке файлов. Более того, при восстановлении объект возвращается под своим оригинальным именем. То есть проблема затрагивает только окно подтверждения удаления.

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

Особенно раздражает то, что никакого официального обходного пути для обычных пользователей сейчас нет. Единственный совет — проверять название файла непосредственно в Корзине перед окончательным удалением.

В компании уже работают над фиксом, однако сроки выхода патча пока не называются. Неясно, появится ли он в следующем пакете обновлений или Microsoft выпустит внеплановое исправление раньше.

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