Одна известная шутка гласит: линуксоидам больше нравится играть в запуск игр, чем в сами игры. Я, хоть и предпочитаю продукцию фирмы Microsoft (хоть и не всегда благодарю их звонким центом за это), но тоже поковыряться в ресурсах люблю.
А началось всё вчера в 9 вечера. У меня руки дошли разобрать принесённую с почты посылочку с дисками для Sega Dreamcast. И среди них был вот такой:
Так как сама приставка к сожалению сломалась, играю я на эмуляторе. А конкретно на этом диске перед игрой запускается так называемое crack intro, которое ломает работу некоторых эмуляторов (корректная работа возможна только в устаревшем NullDC и глючащем у меня Demul).
Как дилетант широкого профиля я немного знаком со структурой игр на Dreamcast'е, и знаю, что подобные вещи пишутся в файле 1ST_READ.BIN (как бы главный исполняемый файл игры), а значит его можно попробовать заменить. Качаю взломанную группой DCRES английскую версию игры (из-за архитектуры Dreamcast'а все пиратские релизы по сути собирались заново под запись на CD-диск вместо уникального носителя приставки), заменяю файл, пересобираю образ (благо комплект программ для этого давно утёк в общий доступ), запускаю на эмуляторе... назойливой заставки нет, но в игре русский текст испортился.
На часах 0:45, а у меня уже спортивный интерес разгорелся.
Окей, мне нужен файл именно от русской версии, но без вписанного туда интро. Время расчехлять hex-редактор и проводить хирургическое вмешательство.
Ориентируемся на "Lib Handle Start" и сверяем содержимое файлов. В русской версии перед ней чёртова уйма текста, по содержанию местами похожего на текст в интро. Окей, удаляем его (после этого 1ST_READ.BIN "усох" почти на 1 мегабайт), сохраняем новый файл, собираем образ с ним, скрещиваем пальцы... работает!
На часах почти 2 часа ночи - самое время отправляться спать, но теперь уже с чувством глубокого удовлетворения.