1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление
    1. Если вы сделали перевод или русификацию игры, то вы можете поделиться своим творением здесь.
    2. О правилах вступления в группу переводчиков можно прочитать здесь.
    3. Русификации следует искать там.

О возможности перевода игры Terminator: Future Shock

Тема в разделе "Переводы своими руками", создана пользователем WERTA, 27 сен 2012.

  1. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    Хочу поднять один интересный вопрос. До сих пор не наблюдалось переводов атмосферных и очень хороших игр Terminator: Future Shock и Terminator: SkyNET. Я задумался, ведь в шутере не так уж и много строк. Глянул ресурсы. Файл, по названию которого легко догадаться о его назначении – MDMDBRIF.BSA, содержит закодированные текстовые строки из 47 файлов. Файл точно «при делах», я проверял «правками» – выборочной заливкой, но это вызвало пока только крэш. В понимании формата разбивки файла очень сильно мне помог пример игры The Elder Scrolls: Arena от того же разработчика Bethesda. В отличие от терминатора, эта игра не закодирована, все строки открыты для просмотра. На основании анализа незакодированного файла GLOBAL.BSA из этой игры, я делаю следующее описание формата MDMDBRIF.BSA
    Формат:
    MDMDBRIF.BSA=
    ----------------------------------------------------------
    <N> - 2 Byte (количество файлов в коллекции)
    <DATA> - var byte length (данные)
    <LIST> - список сведений о запакованных файлах.
    --<FILE_RECORD_1> – запись (18 Bt)
    --<FILE_RECORD_2> – запись (18 Bt)
    --<FILE_RECORD_3> – запись (18 Bt)
    --<FILE_RECORD_4> – запись (18 Bt)
    ……………………..
    --<FILE_RECORD_ N> – запись (18 Bt)
    ----------------------------------------------------------

    Формат записи о файле
    <FILE_RECORD_ N>(18 Bt)=
    ----------------------------------------------------------
    <FILENAME.EXT> - строка 12 Bt
    <Byte1> – 1 Byte
    <Byte2> – 1 Byte
    <FileSize> – 4 Bt – размер блока файла в коллекции BSA (в The Elder Scrolls: Arena незакодированный)
    ----------------------------------------------------------
    Сегодня просто поковырял. Все дело в том, что даже FileSize в MDMDBRIF.BSA также закодирован и понять, какого размера брифинг пока невозможно. Но первым по счету запакованным файлом идет 040.txt (брифинг 5-ой мисси, нумерация запакованных брифингов миссий с нуля). Жесткие правки заливкой байтов ни к какому эффекту в брифинге 5-ой миссии не привели. Я думаю тут используется не гаммирование, а что-то посложнее, может быть с сильным зашумлением. Хотя, исходники, запакованные в BSA-файл названы как *.txt.
    Вот пример брифинга первой миссии, выписывал с экрана побуквенно
    Подсчитал с пробелами (не знаю, как Word считает троеточия), получилось 789(d). В игре троеточие точно реализовано как один знак (из экономии).
    Теперь берем якобы «размер» для 000.txt из MDMDBRIF.BSA, он равен 0B97h=2967(d), что понятно не может быть. Хотя может там и всякие разные дополнительные скриптовые спец. настройки, я не исключаю, но все равно подозрительно большой размер. Разница тоже не в дугу =2128(d), хотя можно предполагать сложение с 2048(d). Но в принципе, у всех записей размеры вполне адекватные. Например файл в коллекции, называемый TACHKFTR.txt имеет размер 01AF(h)=431(d), это в энциклопедии первая запись про летающий Хантер-Киллер. Вот это описание я тоже побуквенно выпишу сейчас. В общем, пока задача найти хотя бы начало любого брифинга и постепенно его раскрутить и посмотреть, что за тип «кодирования», меняя байты и наблюдая на выходе. Если удастся разгадать код, тогда и сможем перевести игру. Другие ресурсы (графику) пока не смотрел на предмет закодированности.

    ---------- Сообщение добавлено в 20:16 ---------- Предыдущее сообщение размещено в 19:56 ----------

    Вот из глоссария Tactical:
    Отлично 419 с пробелами! Значит размер верный, очень близко к 431. Значит можно будет сделать нарезку и вырезать это место про H/K и сравнить байты с текстом. Может все-таки длинный гаммирующий ключ? Тогда его можно будет просто узнать наложением.

    ---------- Сообщение добавлено в 20:53 ---------- Предыдущее сообщение размещено в 20:16 ----------

    Таблица разбивки MDMDBRIF.BSA
    Column 1
    0 NAME BYTE1 BYTE2 SIZE OFFSET
    1 040.TXT 0 1 1294 00000000
    2 060.TXT 0 1 3546 0000050E
    3 147.TXT 0 1 856 000012E8
    4 141.TXT 0 1 1867 00001640
    5 160.TXT 0 1 5842 00001D8B
    6 090.TXT 0 1 1484 0000345D
    7 020.TXT 0 1 1708 00003A29
    8 150.TXT 0 1 3848 000040D5
    9 030.TXT 0 1 5070 00004FDD
    10 110.TXT 0 1 4741 000063AB
    11 170.TXT 0 1 2507 00007630
    12 010.TXT 0 1 1739 00007FFB
    13 130.TXT 0 1 4466 000086C6
    14 050.TXT 0 1 4557 00009838
    15 070.TXT 0 1 5897 0000AA05
    16 080.TXT 0 1 3828 0000C10E
    17 100.TXT 0 1 1982 0000D002
    18 120.TXT 0 1 4677 0000D7C0
    19 180.TXT 0 1 1460 0000EA05
    20 190.TXT 0 1 1857 0000EFB9
    21 140.TXT 0 1 3465 0000F6FA
    22 014.TXT 0 1 3241 00010483
    23 035.TXT 0 1 3241 0001112C
    24 000.TXT 0 1 2967 00011DD5
    25 TACMANTK.TXT 0 1 436 0001296C
    26 TAC600PS.TXT 0 1 469 00012B20
    27 TACHVRTK.TXT 0 1 405 00012CF5
    28 TACHVYTK.TXT 0 1 371 00012E8A
    29 TACRAPTR.TXT 0 1 485 00012FFD
    30 TACSCOUT.TXT 0 1 356 000131E2
    31 TACSPIDR.TXT 0 1 456 00013346
    32 TACT-REX.TXT 0 1 426 0001350E
    33 TACTRUCK.TXT 0 1 338 000136B8
    34 TACTURCN.TXT 0 1 99 0001380A
    35 TACTURLS.TXT 0 1 323 0001386D
    36 TACTURMS.TXT 0 1 99 000139B0
    37 TACBMBR.TXT 0 1 341 00013A13
    38 TACBOSS.TXT 0 1 379 00013B68
    39 TAC800RF.TXT 0 1 675 00013CE3
    40 TACDRONE.TXT 0 1 461 00013F86
    41 TACFLNCR.TXT 0 1 393 00014153
    42 TACGLOBE.TXT 0 1 303 000142DC
    43 TACHKFTR.TXT 0 1 431 0001440B
    44 TACCMBRF.TXT 0 1 588 000145BA
    45 MAP.TXT 0 1 4469 00014806
    46 TFSTRANS.TXT 0 1 80350 0001597B
    47 SCROLLER.TXT 0 1 2216 00029359


    ---------- Сообщение добавлено в 21:02 ---------- Предыдущее сообщение размещено в 20:53 ----------

    А вот и байты для сравнения

    Код (431 байт)
    Код:
    [FONT="Courier New"]55C231EBCA7732ED76BC1D7367DF7149AB2730CBBC2F7B45F7CAC90AE069BBD871AA037E42ADE2321A962879FDE485BB4BE66FAD2A70AD072842AD272B24A4E65D51A3CECA0AE471AF207564A11243A03532D796278241A3D2B858DD7DBE1D7399F674426BE21F19DAE6794EF8CEC75ADD6C682F6AACFC2842AD313312DEE67A46F5CAC759EF6DBAD875A7B46D3EB22B2A24963A7548E885C65FEC155219218AF97B46B2361F19D92B3453E8CDC04DE46D76D855A0F9284CAD2E37CBDD358341A3C6BB60D976BC19689DB47F425F2A1F21DBE67D50AF85C0589877BA1C66AAB47C4C5F2B2B1BE8358A42A3726150E471AF207558F8814BA02F270EE9F23446F785BF4BEB28BC206AA6B4694FAC3130D796337548ECD3BE0AEC70B12B2180C353FDA523271DE23F3442E4D8D00AEC77682B69A7037CFD4CCC221AED3442FDC5CA774DD97AAD1E76A4B47F45A430DE14EAE67A49ECCACA0AE77EAD2A699DF56C185F2F1F19EFE66642F6CECA5ED976AB1D21AB037441A827301E962E7553E885B94FDD7668C50B9BF57D44A736DE1ADC2C3444F8C6C94E986AC1D875A0F928256E0DE51E963A7546EF85BE5FE63655C2[/FONT]
    
    Текст (419 байт)
    Код:
    [FONT="Courier New"]5468652048756E7465722F4B696C6C65722046696768746572206861732070726F76656E20746F20626520612064616E6765726F757320656E656D792E204974206973206C696768742C206661737420616E64206D616E657576657261626C652C20616E64206571756970706564207769746820656E6F7567682066697265706F77657220746F20656173696C792074616B65206F7574206120526573697374616E63652076656869636C652E20546865206F6E6C7920676F6F6420616476616E7461676520776520686176652069732C20696E206F7264657220746F20696D70726F766520666C696768742064796E616D6963732C20697420686173207468696E2061726D6F722C206D616B696E67207468697320482F4B2020666169726C79206561737920746F2073686F6F7420646F776E2E204265206361726566756C207768656E20697420666C696573206F766572686561643B206D616E7920526573697374616E636520736F6C64696572732068617665206265656E20636175676874206F66662067756172642062792074686520482F4B2773207461696C2067756E2E[/FONT]
    


    ---------- Сообщение добавлено в 22:26 ---------- Предыдущее сообщение размещено в 21:02 ----------

    Прогнал с Shift=0..12 смещениями наложение код[i+Shift]=код[i+Shift] xor Текст в надежде получить гамму-ключ, но как и следовало ожидать ничего не вышло. тут что-то рекуррентное. И еще , я очень подозреваю, что разница в 12 байт вызвана записанным в заголовке именем файла TACHKFTR.TXT в формате 8.3.

    Теперь от теории перехожу к практике - место в MDMDBRIF.BSA мне известно, правлю файл и смотрю результат в игре.
     
    Последнее редактирование: 27 сен 2012
  2.  
  3. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Код:
    [MP]
    129
    %%%%
    
    [EN]
    [003]
    Well, before I introduce the next phase of the war effort, I'd like to announce that Sgt.
    Jensen is going to be presented with a medal of valor, and will be promoted to the rank of
    Sergeant Major. Congratulations, soldier.
    ####
    [005]
    Thank you sir!
    ####
    [003]
    You've earned it, Tom. Nice work out there.
    ####
    Ну и т.д.

    Вот вам ключик: DD836557EA780848B801389408DD3FC2BEAB76C614
    Его нужно вычитать из зашифрованного файла.

    На всякий случай, выкладываю содержимое MDMDBRIF.BSA в расшифрованном виде:
    http://narod.ru/disk/61662511001.c93e9530ca112c1188b12d583caddacd/MDMDBRIF.BSA.out.rar.html

    P.S. Звуки, модели, карты... всё зашифровано по тому же принципу. Картинки RAW, открытые.

    Успехов в труде и обороне :)
     
    Последнее редактирование: 27 сен 2012
  4. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    :shok:Ну тут хочется сказать: "А чё так быстро?:cry:". Просто класс!
    Сейчас проверю, я так понял, что этот ключ применяется ко всему массиву байтов или же к массиву одного файла?
     
    A.P.$lasH нравится это.
  5. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    К каждому файлу в архиве по очереди.
     
    WERTA нравится это.
  6. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    И ещё, терминЪ ВЫЧИТАТЬ=XOR ? или именно вычитать с потерей переноса? А ну это и есть XOR. Отлично проблема решена!
    Offtop
    A.P.$lasH, Все опять так началось, как и c HIND в ноябре 2011...
     
    A.P.$lasH нравится это.
  7. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Вычитать! Не ксорить! :)
    Buf[Idx]:=Buf[Idx]-Key[KeyIdx];
     
    WERTA нравится это.
  8. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    Остаётся напоследок задать классический вопрос: "Но каким образом, Холмс?"
     
    A.P.$lasH нравится это.
  9. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Интуиция, Ватсон :)

    Смотрим память процесса, ищем результат расшифровки, сравниваем с оригиналом и получаем ключ. Даже в код смотреть не пришлось.
     
    Kairn, B13, WERTA и 2 другим нравится это.
  10. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    А ведь я был на миллиметр от результата. Подвела именно та разница размера TACHKFTR.TXT 431 и 419, вот я и испугался, начал плести про какое-то сложное кодирование. А просто WORD не считает 0D0A, а их как раз 6 обрывов строки = недостающие 12 байт. Нет, была у меня такая мысль про 0D0A, но я почему то ее отмёл, поскольку делать принудительный обрыв строки могут только... Ааааа! Это же лучше, чем городить свой алгоритм разбивки и переноса по словам. Все понял. Класс!
     
    Последнее редактирование: 27 сен 2012
    A.P.$lasH нравится это.
  11. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Забавная сценка среди спецэффектов (единственный файл с голосом, кроме тестового "HMI Module Alpha Humana on approach to Space Station Mercury").
     

    Вложения:

    • MESSTEST.wav
      Размер файла:
      165,7 КБ
      Просмотров:
      693
    WERTA нравится это.
  12. B13

    B13

    Регистрация:
    6 дек 2003
    Сообщения:
    3.659
    я ни черта не понял, но ваши слова запали мне в душу. Браво сэры!
     
    WERTA и A.P.$lasH нравится это.
  13. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Для шрифтов:

    word Ширина
    word Высота

    Далее для каждой буквы 240 элементов [смещение:ширина символа] (верхний ряд пропускается, а так в шрифте вся таблица, кириллица должна подойти как родная).

    Каждое смещение указывает на фиксированный массив из 16 элементов word. Это битовая матрица, где максимальный размер каждого символа, соответственно, 16x16. В поле "ширина символа" ставится настоящее значение, для пропущенных символов оно = 0.

    [​IMG] [​IMG] [​IMG]

    Обратите внимание, таблица начинается с 33-го символа и содержит дополнительные ячейки в конце. Во всех шрифтах, которые я успел посмотреть, эти ячейки не используются (ширина = 0), но смещения в них проставлены и массивы по этим смещениям (из одних нулей) в наличии.
     
    Последнее редактирование: 27 сен 2012
    Чёрный Думер, B13, Dimouse и 2 другим нравится это.
  14. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    Подожди, а что за фонт только с латинскими апперами?
    И потом, не факт, что символы 80h и более в шрифте присуствуют, игра их может и забивать, версии вообще были испанская, немецкая или французская?
     
  15. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    SHOCK\GAMEDATA\FONT0007.FNT

    Там и такой есть:

    [​IMG]

    Это они и есть:
    [​IMG]

    Если забивает (а это было бы ну очень странно, учитывая наличие), это уже другой вопрос и тоже решается. Вам ли не знать, на самом деле... :)
     
    WERTA нравится это.
  16. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    T13r, kirik-82, zubuzu и 6 другим нравится это.
  17. ivanproff

    ivanproff

    Регистрация:
    25 янв 2009
    Сообщения:
    144
    Она мертва, Джим!

    А можно ссылочку на софтину перезалить?
     
    WERTA нравится это.
  18. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    Пожалста...

    Там две кнопки "открыть" и "сохранить".
    http://rusfolder.com/40415831
     
    ivanproff и Val07og нравится это.
  19. ivanproff

    ivanproff

    Регистрация:
    25 янв 2009
    Сообщения:
    144
    Спасибо!
     
    WERTA нравится это.
  20. Grongy зе мост бэдэсс мазафака он зе плэнет

    Grongy

    Хелпер Переводчик

    Регистрация:
    21 мар 2014
    Сообщения:
    3.729
    Интрига, ага

    Готовимся...:spiteful:
    [​IMG]
     
    Последнее редактирование модератором: 19 июл 2015
    Val07og и ivanproff нравится это.
  21. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.512
    Grongy, отлично! Обычно по сложившейся у нас традиции первый скриншот с абракадаброй на кириллице открывает начало темы о переводе игры, поэтому может быть лучше создать тему: Перевод игры Terminator: Future Shock. Но при этом в текущей теме по изучению ресурсов игры необходимо окончательно проверить возможен перевод или нет, т.е. вынести вердикт...

    Я вот не помню что там было с графикой меню, эти буквы в меню - они же графические. Какой у них формат?
     
    Genesis, Grongy и ivanproff нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление