Перейти к содержимому
Zone of Games Forum

adm-244

Новички+
  • Публикации

    30
  • Зарегистрирован

  • Посещение

Все публикации пользователя adm-244

  1. В файле header.bin изменить 3 байт (offset 02) с 00 на 03. По поводу увеличения размера, возможно это связано с преобразованием 32\16 -> 8 бит при сохранении оригинального файла. AGSUnpacker такие оптимизации не делает.
  2. The Excavation of Hob’s Barrow

    Да, порядок строк можно менять, главное чтобы не менялась структура: <строка с текстом оригинала> <строка с переводом или пустая строка> <снова строка текста оригинала> и т.д. Да. Строка начинающаяся с "//" (двух слешей) является комментарием. Нет. Подгрузка на горячую не поддерживается движком. Помимо этого некоторые строчки могут попасть в файл сохранения и перевод для них не подхватится (как правило, это элементы интерфейса). В таком случае нужно будет проверять не загружая сохранения. В игре есть меню для тестировщиков, из него можно выбрать главу (начало первого, второго или третьего дня), чтобы не проходить игру каждый раз сначала. Прикладываю пропатченый game28.dta с включеным этим меню (красная кнопка в главном меню): https://tempfile.org/Cu7eJs5ZZS2/ Или можно пропатчить самому: 0x0000B84F: -00000000 +01000000
  3. The Excavation of Hob’s Barrow

    Через AGSUnpacker, кнопка “Compile TRS”. Ей же распаковывать и запаковывать ”acsprset.spr” при необходимости. Да, можно прямо в этой теме.
  4. The Excavation of Hob’s Barrow

    Основной шрифт нарисован, технические проблемы решены. Если есть желающие сделать свой перевод, нужен только текст и отрисовать\заменить шрифт Justinian (используется для отображения названия главы). Патч: https://tempfile.org/aumiS2Kip5g/ Содержимое архива закинуть в корневую папку игры. Перевод выполнить в файле "russian.trs" в кодировке "windows-1251" в пустых строчках под переводимым текстом. После выполнить конвертацию TRS -> TRA и указать в "acsetup.cfg" под секцией "[language]" "translation=russian" (если игра уже запускалась, то нужно править ещё и "%USERPROFILE%\Saved Games\The Excavation of Hob's Barrow\acsetup.cfg"). Основной шрифт в игре зашит в "acsprset.spr" (spr15334 — оригинал, spr18344 — с кириллицей). Дополнительный шрифт — AGSFNT2.WFN (с кириллицей). Шрифты для названия глав — agsfnt8.ttf и agsfnt11.ttf (без кириллицы).
  5. The Dark Rites of Arkham

    Связка Inkscape + FontForge. В первой отрисовываю символы, во второй всё остальное. В этой игре есть возможность сделать пропуск диалогов только по кнопке (через меню настроек).
  6. The Dark Rites of Arkham

    Добавил: https://tempfile.org/7Fkcv97iAHZ/
  7. The Dark Rites of Arkham

    Поправил некоторые символы в шрифте: https://tempfile.org/1CeLNkcjx5M/
  8. Все файлы, которые лежат в архиве *.ags должны подхватываться движком без запаковки обратно (как и шрифты). Тоесть файл acsprset.spr тоже подхватится, но для него ещё нужен sprindex.dat (генерируется при запаковке), чтобы он заработал. По идее эта игра в плане перевода должны быть максимально простой (относительно других игр на AGS) и непереводимых строк быть не должно. Всё что требуется это: Подменить English.tra с переводом “Испанский → Русский”. Положить файлы acsprset.spr и sprindex.dat с переведенными текстурами для английской версии. Если никаких других проблем с игрой не возникнет, то перевод будет по сути состоять из этих 3-х файлов, которые просто нужно будет распаковать в папку с игрой. Ну и инструкция по переключению языка на английский в меню или при первой загрузке (можно удалить автосохранение *.099 чтобы игра показала выбор языка). Самый большой файл будет acsprset.spr, но если его собрать с deflate сжатием, то размер с 1,8Гб уменьшиться до ~400Мб. Всё ещё много, но хотя бы что-то.
  9. The Dark Rites of Arkham

    Прикосячил к оригинальному шрифту кириллицу. Текст теперь отображается нормально, но некоторые буквы явно надо подправить смыслящему в типографии. Вот шрифт: https://tempfile.org/Q48qJP6E8VK/
  10. Тут ввёл в заблуждение. На самом деле меню собрано из изображений, а не текста. Если распаковать acsprset.spr то для английской версии это spr09866-spr09873. Перед запаковкой обратно нужно в файле header.bin поставить 3 байт в значение 3 (deflate compression), размер файла значительно уменьшится (оригинал вообще без сжатия). Размер всех шрифтов в игре указан в 8 pt. Нужно подбирать шрифт (или дополнить оригинальный), который отрисовывается при таком значении без дефектов.
  11. Для конвертации TRS → TRA нужно использовать другой инструментарий. Я пользовался Dev билдом AGSUnpacker. По поводу английского текста в главном меню вроде все понятно. Игра проверяет какой язык выбран и в зависимости от этого отображает нужную “версию” главного меню. Так как мы подменили English, то отображается меню на английском. Строки из меню не попали в оригинальный tra и их нужно будет добавить вручную (если подменяем English.tra, то оригинал на английском, а не на испанском). Код для наглядности: // room 298 (main menu) function room_AfterFadeIn() { if (Game.TranslationFilename == "Spanish") { // show main menu in spanish gmenuprincipal.Visible = true; } else if (Game.TranslationFilename == "English") { // show main menu in english gmenuprincipal_eng.Visible = true; } } Есть также возможность заставить игру загружать любой tra файл, для этого нужно создать\поправить файл "%HOMEPATH%/Saved Games/The Dark Rites of Arkham/playersettings.dat". В нём первые три int32 это "громкость", "оконный режим" и "стиль пропуска диалогов" сразу за ними идет строка с названием используемого tra файла (с префиксом длины). Int32 представлен в виде 'I'<int32>. Однако, при первом запуске игры язык будет переопределен через меню выбора языка. Его можно пропустить если закинуть в ту же папку файл с автосохранением (слот 099). Но по итогу игра не покажет главное меню т.к. используемый tra не English и не Spanish (см. код выше). В общем, чтобы отделаться малой кровью нужно подменять English.tra.
  12. Этот редактор скорее всего не расчитан на работу с UTF-8, т.к. в AGS поддержку этой кодировки завезли не так давно и, похоже, программа не обновлялась. Пустые квадраты это хорошо, значит игра подхватила перевод. Нужно ещё подменить шрифты agsfnt0.ttf и agsfnt1.ttf для отображения кириллицы (закинуть подходящий ttf шрифт в папку с игрой и переименовать). Движок подхватывает файлы из корневой папки игры, тоесть обратно в *.ags запаковывать необязательно (и в случае с переводом не нужно).
  13. Собрал отправленный Russian.trs в tra и подменил им English.tra. Текст в игре подхватывается вроде бы без проблем (шрифт кончно нужно подгонять под разрешение игры). Вот скрины: Подменял English.tra, т.к. при старте игра переопределяет используемый язык. Вот tra файл на котором проверял: https://tempfile.org/ENwMPwML6Uv/
  14. @Jimmi Hopkins, текст оригинала в trs файле поломан из-за неправильной кодировки. Вот исправленный файл: https://tempfile.org/5BUVgCjV6CH/
  15. Unawoved

    На каком свете находится перевод? Статус тестирования у вас стоит с мая 2024 года, сейчас наступил уже 2026, игра вышла в 2018. Если есть сложности с проведением тестов, возможно стоит сделать релиз и дорабатывать по мере поступления отзывов?
  16. A Twisted Tale

    Раз вскрыты, может поделишься инструкцией с другими?
  17. Foolish Mortals

    Знаю у людей с planete-aventure.net есть инструментарий для VIS5, попробуй обратиться к Ghylard или xeland. Есть ещё "ANB by Deniz Oezmen", заявлено, что она умеет работать с версиями движка 5.1.7 и выше, но вроде как доступна только распаковка.
  18. @Amigaser у меня версия из steam v1.02. Взял на проверку версию из GOG v1.00.1 и проверил на ней тот же tra файл — тоже работает: Как вариант почистить содержимое папки “%HOMEPATH%\Saved Games\Rosewater”. Магии не бывает, что-то значит отличается
  19. Возможно у нас отличаются версии игры, тут нужно разбираться. У меня пока других идей в чем может быть дело нет
  20. function game_start() { <...> if (Language != "German") { Game.ChangeTranslation(""); } <...> }
  21. @Amigaser следует убедиться, что: trs файл сохранен в кодировке UTF-8 German.tra собран из правильного trs файла В игре язык переключен на немецкий Для предложеного trs файла игра считывает перевод и заменяет кнопки меню успешно: Ссылка на тестовые trs и tra файлы: MediaFile В случае с Rosewater это не будет работать. Игра при старте проверяет выбраный язык и если это не “German”, игнорирует tra файл.
  22. @Amigaser формат trs файла следующий: // комментарий <текст оригинала> <текст перевода> <...> Первой идет строка оригинального текста, под ней идет строка с переводом и дальше они чередуются до конца файла. Строки с комментариями игнорируются. Более развёрнуто это выглядит так: // комментарий (целая строка игнорируется) Оригинальная строка 1 Перевод оригинальной строки 1 Строка 2 Перевод строки 2 Строка 3 Строка 4 Перевод строки 4 Здесь “Оригинальная строка 1” заменяется на “Перевод оригинальной строки 1”, “Строка 2” на “Перевод строки 2” и “Строка 4” на “Перевод строки 4”. В данном примере “Строка 3” остается без перевода, т.к. за ней следует пустая строка. Грубо говоря, игра когда использует перевод смотрит на оригинальный текст и ищет его в этом файле, если находит, то берет текст со строки ниже. В случае с кнопками меню в Rosewater для немецкого языка игра ищет в этом файле не английский вариант, а немецкий, а т.к. в German.trs нет нужной строки с оригинальным текстом (на немецком) перевод не подхватывается (его там просто нет). Для удобства лучше добавить недостающие строчки в конец файла примерно в таком виде: <...> Neues Spiel+ Neues Spiel Spiel laden Einstellungen Spiel fortsetzen Spiel beenden Spiel sichern <...> Предвидя вопрос как узнать каких строчек не хватает сразу скажу, что лучше воспользоваться сгенерированым trs файлом по кнопке “Generate TRS from Assets”. В таком случае все необходимые строки уже будут добавлены (плюс всякие строчки которые не отображаются в игре, но используются в скриптах, их переводить не нужно).
  23. @Amigaser рано сдались. Сгенерированный trs файл конкретно для Rosewater должен быть в UTF-8. Если файл получен из tra, то в его начало нужно добавить строчку “//#Encoding=UTF-8”, тогда проблем с порченными символами не будет. Это бага в AGSUnpacker v08, он не считывает кодировку из tra файла если в нем есть блок настроек. Что касается непереводимости текста кнопок в меню… На самом деле все переводится, просто разработчик для немецкого языка захардкодил текст этих самых кнопок на немецком. Проще говоря, когда выбран немецкий язык, игра ищет перевод не для “New Game”, а для “Neues Spiel”. Если в trs файл добавить перевод для этой строки, то текст начинает подхватываться. Содержимое trs файла: //#GameId=1087995093 //#GameName=Rosewater //#Encoding=UTF-8 Neues Spiel+ TEST+
  24. Вскрытие Gangland

    Файлы фрагментно зашифрованны с использованием операции XOR по “ключу”. Структура файла: uint32 : dataOffset — смещение на начало секции с файлами uint8 : globalFlags — флаги характеризующие файл: 0x1 — указывает файловому менеджеру игры, что файлы нужно расшифровать сразу же при открытии архива 0x2 — указывает, что каждое вхождение файла в таблице содержит дополнительные флаги 0x4 — указывает, что таблица файлов зашифрована Структура таблицы файлов: uint16 : count — количество файлов в архиве <далее вхождения файлов> Структура вхождения файла в таблице: cstring : filename — относительный путь к файлу \ название файла uint32 : size — размер файла #if globalFlags & 0x2 uint8 : flags — дополнительные флаги файла: 0x1 — файл зашифрован #endif Что касается шифрования, это тот же самый алгоритм, что используется в игре “The Escape from Paradise City”, который представлен в скрипте для quickBMS (я так понимаю именно он и использовался для распаковки других файлов): Отличие только в используемом ключе: key = dataOffset + 0x00E6C2CF — ключ для таблицы файлов key = dataOffset + file.Offset + (file.Size * 7) — ключ для файла Удалось написать программку и распаковать представленные архивы. Найти её можно здесь: Прямая ссылка (GitHub)
  25. Добавил поддержку промежутков для задания последовательности строк (например, 1000-1100). Также сделал выходной файл не обязательным параметром. Если он не указан, то запись осуществляется во входной файл. Ссылка: zog_re-encoder_v02 Насчет неправильной конвертации у представленных программ. Проблема заключается в том, что некоторые символы Windows-1251 закодированные как UTF-8 являются, так называемыми, “управляющими символами” и многими текстовыми редакторами игнорируются или заменяются на другие. Отсюда и “пропажа” символов.
Zone of Games © 2003–2026 | Реклама на сайте.

×