Всем привет, в этом блоге я бы хотел рассмотреть легендарную в своей презираемости игру Lada Racing Club. Легендарность её во многом связана с её создателями из Geleos Media, которые не смотря на проблемность разработки и сомнительное качество выпущенного продукта смогли выстроить вокруг себя нешуточный ажиотаж (который постепенно оборачивался скандалами).
Но рассуждение здесь пойдёт о сломанности официальной (пропатченной) версии игры — 1.01. Демонстрация её обычно обходится простой записью прохождения, но благодаря изучению файлов игры (в рамках разработки и оформления глобальной модификации «На Полных Оборотах») я могу показать самый быстрый способ наткнуться в игре на критическую ошибку.
Итак, действуем
Запускаем игру, создаем новый профиль. После попадания в меню гаража возвращаемся в главное меню. Теперь пытаемся создать профиль с тем же именем, из-за чего появляется вопрос о перезаписи. Отказ приводит к выводу системного сообщения об ошибке, которое лечится только принудительным закрытием игры.
Хватило 12 секунд… И данная ошибка является постонянной. Но что если я скажу, что её источник легко находится, а исправление не составляет труда? Давайте объясню.
Находим источник
Обратим внимание на содержимое сообщения о критической ошибке. В нём указан некий файл mainmenu.gui (и даже увидеть часть пути его нахождения, связанный со скриптами графического интерфейса). Обнаружить его среди файлов игры можно по следующему пути — resources\gui\scripts\shop\mainmenu.gui. Открыть его (да и множество других файлов Lada Racing Club) можно обычным блокнотом. Но поскольку в ошибке также был указан номер строки, где произошёл сбой (67), то воспользуюсь Notepad ++ для упрощения поиска и чтения.
Здесь прописана подготовленная логика окна с вопросом (overwriteQuestionText — переменная, которая берёт соответствующий текст сообщения из csv-таблицы). В случае исхода, не равного «да» (≅ «yes») игра пытается вернуть возможность печатать имя профиля специальной функцией (gui.setKeyboardFocus) и возвращает на экран с «оформлением водительских прав», используя return.
Решением ошибки является простое удаление всей строки с gui.setKeyboardFocus. Да, правда оказалась в том, что возвращать возможность печати не требуется, поскольку это делается уже при выполнении return (забавно, но в других файлах графического интерфейса игры можно найти именно такую логику, без лишних строк).
А какой вывод?
Рассказал я вам об этой ошибке скорее из желания поделиться своими наблюдениями по Lada Racing Club. Ну и в очередной раз посмеяться над кривостью игры)
Однако изучив файлы игры, её «исходника» в виде Адреналин: Экстрим Шоу, посетив старые сайты и форумы, посвятившие обозрению LRC (часть из них теперь доступно для посещения только через Wayback Machine) я пришёл к тому, что игра богата на возможности обсуждения, исследования и модификации (благо от StarForce в игре успешно избавились несколько лет назад). Верить в такое или нет — на ваше усмотрение.
На этом всё, благодарю за внимание, буду рад вашей оценке и комментарию по теме материала. Всех благ, до скорого.
Лучшие комментарии
Как раз потому что этим никто не занимается, при том что игра в своё время активно освещалась и обсуждалась. Почти не говорят, что в игре есть файлы взятые напрямую из «Адреналина», что сообщество (в период выхода игры) делало моды, а некоторые предрелизные скриншоты (уже на Dagor Engine) имеют отличия от релизной версии.
Попытка модификации выпущенной игры здесь идёт как способ показать «как можно было сделать».
Довольно странный выбор проекта для археологических раскопок. Кому и почему он может быть интересен сейчас (ну если не брать как наглядный пример «как не надо делать никогда»)?