-
Публикации
72 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
1
Все публикации пользователя 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/
-
Beyond The Edge Of Owlsgard Метки: Point & Click, Приключение, Пиксельная графика, Фэнтези Платформы: PC Движок: Adventure Game Studio Разработчик: WatchDaToast Издатель: Assemble Entertainment Дата выхода: 23.12.2022 Отзывы Steam: 268 отзывов, 95% положительных Релиз русификатора от @Jimmi Hopkins
-
Сделал фикс добавляющий возможность выбора каким образом пропускаются диалоги, так как в игре такой возможности нет: 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?
-
@Jimmi Hopkins, что подразумевается под процессом “собирается” и как определено, что “не запускается”? Есть какие-то ошибки? Для Beyond The Edge of Owlsgard нужно конвертировать существующий TRA в TRS (например “English.tra”) и в нём делать перевод с оригинала на немецком. Изначально кодировка файла Windows-1252, но используемый игрой движок поддерживает UTF-8 и при желании можно преобразовать исходник. Некоторые элементы интерфейса сделаны в виде картинок, понадобится перепаковка “acsprset.spr” (исходник без сжатия, если включить Deflate, размер уменьшится в ~5 раз).
-
Да, мой косяк, забыл включить обновление. Перепаковал с обновлением [010086901A0C4800][v65536]: https://www.mediafire.com/file/bn3omda8m5aserv/TEOHB_SW_RUS_V1%5B010086901A0C4800%5D%5Bv65536%5D.zip
-
@Patr10t_RUS, @малиновка, в русификаторе файл “room51.crm” битый из-за чего игра крешится при попытке загрузить 51 комнату (коридор после стрельбы). Исправляется заменой одного байта: haxdiff/1.0 @@ 11f,-1,+1 - 07 + 06 Прикладываю исправленный файл (положить в корневую папку игры): https://www.mediafire.com/file/lpcjkms08pvdpdq/geminirue_rus_fix.zip Должно помочь.
-
@atramentaria перепаковал русификатор от @katz_eis под switch: https://www.mediafire.com/file/dqm4xju473svrn0/hobs_barrow_rus_switch_v1.zip Switch версия использует TTF шрифты вместо спрайтовых (возможно не смогли портировать нужный плагин), подобрал более-менее подходящие по размеру и немного их подредактировал. Движок кастомный, и у этой конкретной версии нет конфигурационного файла, поэтому захардкодил принудительное “включение” русского. Есть отличия по тексту и коду, поэтому какие-то строчки могут быть не переведены, тут уже нужно дополнять TRS файл. Железки у меня нет, но на эмуляторе работает. Ковырял 010086901A0C4000.
-
GOG версия тоже обновилась. На всякий случай выкладываю архив с обновленными “game28.dta” для Steam и GOG: https://www.mediafire.com/file/fsqt9zdgjbcpr6j/TEOHBv20Update.zip
-
В Steam вышло обновление до версии 2.0, которое сломало русификатор. Выкладываю обновленный “game28.dta”: https://www.mediafire.com/file/sqehvvdbr6wlk32/game28.dta
-
Весь инструментарий и исходники патчей лежат на гитхабе. Сам русификатор уже содержит всё необходимое, чтобы сделать свой перевод на его основе, нужно только сконвертировать `tra` обратно в `trs`, чтобы получить текст.
-
Шрифт называется “IBM EGA 8x14”. На картинке он с не квадратным пикселем, если игра была бы в более высоком разрешении он бы подошел, а так получается текст слишком крупный (ещё больше, чем с оригинальным шрифтом). Попробовал шрифт “Pizel” (itch.io). В его оригинальном размере он мелковат и в игре он непропорционально растягивается, но в таком виде он вроде как больше всего подходит (если поправить косяки масштабирования). Вот он в оригинальном размере (в game28.dta выставил размер шрифта 8): И вот он же, но в оригинальном для игры размере (10): Неправильно масштабированные символы нужно будет перерисовать под новый размер, но в целом большая часть вроде бы и ничего.
-
Всё верно, потому что игра изначально не использует UTF-8 (скорее всего разработка началась на AGS 3.5.x и потом было обновление до 3.6.x). Да, всё верно. Есть возможность попробовать вот такой вариант (но в игре он может выглядеть иначе):