Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

CTPAX-X _ Ресурсы _ Blade Runner

Автор: Siberian GRemlin Oct 28 2006, 18:39

У меня такая проблема: игра Blade Runner, текст из псевдоархивы вынул, формат текста разрыл, написал редактор. Но вот игра выпущена в нескольких версиях английская, французская и германская (вроде всё). Язык меняется в blade.ini

QUOTE
[Language]
Language=ENG //или GER или...
Если поменять язык с ENG на GER, то игра перестанет воспринимать текст из своих файлов. А поскольку в псевдоархиве хранятся не имена, а только ID, и как я понял имя файла или его расширение зависит от языка. Кто-нибудь может посмотреть в .EXE'шнике, как формируется имя файла в зависимости от языка?! Как я понял файлы с текстом содержат в имени:
QUOTE
ACTORS
CLUETYPE
CRIMES
DLGMENU
KIA
OPTIONS
SPINDEST
VK
и по всей видимости там должно быть какое-то расширение. К сожелению, эксперемениты ни к чему не примели =(
Вот ftp://ftp.westwood.com/pub/bladerunner/updates/cdversion/BLADE.EXE

Автор: -=CHE@TER=- Jan 31 2009, 12:14

Понимаю, что это было давно - но всё ещё актуально, нет?
Посмотрел бегло код (игры у меня нет) - там по-умолчанию язык ENG, и вместо него читаются из файла другие 3 буквы - какие указал. А дальше - см. ссылку на byte_482778 - это первая из этих 3-х букв (остальные не используются). Например имя звуковых файлов там так формируются:

// предположим, что:
// byte_482778 = "E"
// num1 = 3
// num2 = 4
// тогда
sprintf(outstr, "%02d-%04d%s.AUD", num1, num2, byte_482778);
// outstr = "03-0004E.AUD"

Имена формируются посредством strcat() в виде "ИМЯ" + ".TR" + byte_482778

Например как-то так: CLUETYPE.TRE
Соответственно, для GER будет CLUETYPE.TRG

Не проверял, т.к. игры нет, но судя по коду в IDA, где-то так всё и есть.
При наличии игры - это можно легко в Ольке проверить - ставь бряк на обращение к памяти и всё.

Автор: Siberian GRemlin Feb 4 2009, 19:09

Большую часть расколупал давно...

А вот откуда это имя файла взялось (со звуковыми файлами я ещё не разобрался) ?

QUOTE(-=CHE@TER=- @ Jan 31 2009, 19:14) *
// outstr = "03-0004E.AUD"


Автор: -=CHE@TER=- Feb 5 2009, 05:43

QUOTE(Siberian GRemlin @ Feb 4 2009, 19:09) *
А вот откуда это имя файла взялось (со звуковыми файлами я ещё не разобрался) ?
Не знаю - поищи строчку %02d-%04d%s.AUD и ссылку на неё перед её использованием или функцией где она обрабатывается - там где-то рядом тоже берётся byte_482778, поэтому про неё и написал. Откуда первые два числа берутся - не знаю, бегло смотрел, углубляться времени не было (скорее всего это номер главы игры и номер звука в этой главе).

Автор: -=CHE@TER=- Dec 28 2017, 17:38

Вот такую штуку нашёл: http://westwoodbladerunner.blogspot.com/
Там много интересного, автор практически полностью дизассемблировал игру (см. The Blueprint), чтобы поддержку в ResidualVM добавить (ветка ScummVM). Правда сайт уже два года не обновляется и есть предположение, что не взлетит. Размер конский (ширина), но, если прокрутить, то справа есть меню со статьями и информаций по форматам и многим другим вещам.
Я недавно читал про Blade Runner (игру так и не успел посмотреть) и там было сказано про две пасхалки через командную строку: SITCOM и SHORTY. Сделав поиск в BLADE.EXE увидел после них ещё слово MS3TK, но погуглив в Интернете, нашёл только этот сайт, где в The Blueprint оно было упомянуто. Так что чего оно делает не знаю (повторюсь, в игру не играл и качать мне влом).