-
Публикации
72 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
1
Последний раз adm-244 выиграл 10 июля
Публикации adm-244 были самыми популярными!
Репутация
83 ХорошаяО adm-244
-
Звание
Участник
Информация
-
Пол
Мужской
-
Chronicle of Innsmouth: Mountains of Madness
adm-244 ответил в тему пользователя малиновка в Русификаторы
Prometheus Project уже делали перевод: Если игра обновлялась, возможно, потребуется его обновить под новую версию.- 2 ответа
-
- 2
-
-
-
Эта надпись на заднике room14.crm. Её не было видно, потому что ячейки палитры, которые используются надписью, были черного цвета. Вот png файл с “правильной” палитрой: https://tempfile.org/8qEZbVGKA8J/
-
Размер выделяемой памяти, грубо говоря, считается как “ширина” умноженная на “высоту”. Движок считывает ровно 256 цветов по 4 байта из палитры. После чего интерпретирует последующие байты как “ширину”, “высоту” и “пожатые LZW\LZ77 байты”. Если в палитре оказалось меньше цветов, то шириной и высотой становятся какие-то байты из последнего поля, которые при интерпретации как 32-битное число дают очень большое значение. Иными словами, вместо размера 320 на 200, мы получаем, например, 1862098173 на 812238077, что потребует больше миллиона терабайт. В оригинале ровно 256 цветов в палитре, но используются только 108 ячеек. EDIT: @AndyFox вот рабочие CRM файлы с русифицированными задниками: https://tempfile.org/MXqQrNFTFtw/ Рекомендую для графики использовать GIMP. В нём может и не удобно редактировать, но он хотя бы сохраняет файл именно в том формате, в котором открыл. P.S. вообще конвертация в нужный формат автоматически (с правильной палитрой) это задача AGSUnpacker, но что есть, то есть.
-
В таком случае нужно проверить количество цветов в палитре. Должно быть строго 256 цветов, ни больше, ни меньше. Возможно графический редактор, который вы использовали, обрезал “не используемые” цвета.
-
Allegro пытается выделить память под изображение, но её не хватает, и возвращает нулевой указатель. Старый движок, естественно, не делает проверки и падает в момент попытки доступа по указателю. Есть у меня подозрения, что модифицированное изображение отличается глубиной цвета. Ширина изображения кодируется дурацким образом, путём умножения на глубину цвета в байтах (вероятно попытка скрыть реальное значение от “кулхацкеров”). Если модифицированное изображение имеет глубину, например, 32-бита, то ширина будет записана как 320*4. Так как оригинал ожидает глубину 8-бит, он честно поделит ширину на 1 и получит 1280 вместо 320. Итого: нужно сохранять изображение строго в том формате, в котором оно было изначально. В данном случае 8-бит с палитрой. На изображении комнаты 10 можно наблюдать “дефект” с черным цветом. Его можно смело игнорировать, в игре всё будет как надо, при условии, что не будет сдвигов в палитре. Связано это с разбиением движком единой палитры на две части. Одна хранится в crm файле, другая в dta. Соответственно, когда мы считываем crm файл, у нас нет информации из dta, отсюда и отсутствие некоторых цветов в палитре.
-
Руководство по русификации игр от Adventure Game Studio
adm-244 ответил в тему пользователя Tericonio в Вскрытие игровых ресурсов
Той же программой, что использовалась для распаковки. В вашем случае это AGSTool (судя по наличию sprlib.dat). Кнопка “Compile sprites”. -
Руководство по русификации игр от Adventure Game Studio
adm-244 ответил в тему пользователя Tericonio в Вскрытие игровых ресурсов
agsutils запаковывает в CLIB версии 20 и выше, а для этого старого движка нужна версия 6. Запаковывать файлы обратно не обязательно, движок подхватывает файлы из папки. Достаточно положить acsprset.spr в корень, по аналогии с wfn шрифтами. -
Ох уж этот Кент Одессит и его похождения... Старые версии AGS не переводили текст хранящийся в массиве "global messages". Они использовались для всех стандартных GUI. Сделал бинарный патч движка исправляющий это недоразумение (добавил в нужное место вызов "get_translation"): https://tempfile.org/SBMDeWRVuti/ На всякий случай diff патча (применять к распакованному через djp (mlp) COFF файлу): Вывод текста хромает из-за разницы в начертании букв "Ю, А, Ф, И, Й, Л, О, Р, С, Ж, З, Ч" между шрифтами agsfnt1 и agsfnt2. Причем "И" и "Й" — в agsfnt2 шире на 1 пиксель из-за чего контур смещается в тексте где они есть. Исправляется путём перерисовки букв.
-
Сдвинуть или удалить символ в WFN-FontEditor нельзя. Перерисовывать не нужно, но придется копировать по одному символу влево заменяя соседний. В данном случае это никакой погоды не делает, но если важно сохранить символ — открываем шрифт в двух разных окнах и копируем из одного в другое.
-
Старые версии AGS довольно чувствительны к файлу конфигурации, в acsetup.cfg обязательно должны присутствовать обе секции “[sound]” и “[misc]” (хотя бы пустые). Шрифты должны быть в кодировке KOI7-N1, ваши же просто заменяют латиницу в алфавитном порядке. Поправил порядок в одном из шрифтов чтобы было понятно как он должен выглядеть. Также в TRS файле текст закодирован в основном в верхнем регистре, что соответствует заглавным символам латиницы, а не кириллицы. В остальном всё вроде бы в норме. По ссылке файл корректный файл конфига и исправленный шрифт: https://tempfile.org/okRFVZjte6x/
-
Сделал фикс добавляющий возможность выбора каким образом пропускаются диалоги, так как в игре такой возможности нет: Owlsgard_SpeechSkipFix.zip Изначально выставлен пропуск только по клику мышки или нажатию кнопки. Выбор осуществляется нажатием Ctrl+T, в игре будет выведено соответствующее сообщение. При загрузке сохранения будет использован тот вариант, который был на момент создания файла. Содержимое архива закинуть в корневую папку игры. Как бонус, если поправить один байт в SpeechSkipFix, можно активировать режим “специального издания”: @@ 7f8,-1,+1 - 00 + 01
-
Сделал шрифт приближенный к оригиналу: agsfnt1.ttf Взял за основу Commodore 64, слегка убил его в размерах и поправил буквы “ж” и “ы”.
-
Поправил патчи трех crm файлов, теперь должно всё работать. Надеюсь, это финальный вариант: TEOHB_SW_RUS_V2[010086901A0C4800][v65536].zip Во всех трёх случаях забыл отредактировать размер блока. В этот раз перепроверил бегло пройдясь вначале первого дня по всем 3 локациям, которые вызывали ошибку (в лесу возле норы, к северу от кладбища и дом Шоулдера) — всё работает. По-хорошему надо было сразу это проверить, но я, честно говоря, подзабил
-
Новых обновлений игры пока не было. Всё должно работать. Для GOG версии файл game28.dta нужно поместить в корневую папку игры с заменой существующего (после установки русификатора). Если игра ранее запускалась, то править нужно "acsetup.cfg" НЕ в корневой папке игры, а по пути "%USERPROFILE%\Saved Games\The Excavation of Hob's Barrow\acsetup.cfg". В этом файле "=russian" нужно приписать к "translation", а не "language". Должно выглядеть так: [language] translation=russian Желательно скопировать полный текст ошибки или сделать скриншот. Вероятно русификатор был установлен не правильно, либо не на ту версию игры.
-
@Jimmi Hopkins, а зачем всё запаковывать? Достаточно положить измененные файлы в корень игры. Похоже нет разрешения на запись в папку или файл. agsutils собран под windows или запускается через прослойку типа WSL?