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

Gray Matter

Рекомендованные сообщения

С форматом боксового pak я разобрался как и с пкшным.

с текстами сложностей возникнуть не должно.

А вот со шрифтами затык. они там не в DDS а в каком то крайне хитром боксовом формате.

Поделиться сообщением


Ссылка на сообщение

Итак. Я нашел подходящий по ширине и начертанию кириллический шрифт, попробовал впихнуть русские символы на место латиницы и дополнительных символов, вроде все отлично смотрится, но! — я не могу сохранить нестандартные символы в файлах .loc, потому что если я пытаюсь сохранить файл в юникоде, весь текст убивается при запаковке в .pak, а в ANSI таких символов нет.

Точнее, как я понимаю, в западном ANSI на месте русских символов как раз стоят эти умляуты, но как их правильно сохранить я не врубаюсь.

P.S. Боксовый формат распаковать не могу.

Изменено пользователем Нинкед

Поделиться сообщением


Ссылка на сообщение

Вношу свою лепту

В-общем, раз мы не можем конвертировать боксовский формат *.tex в *.dds, нам нужно или вставлять вместо английских символов русские - в этом случае не надо править *.fnt файлы, или вставлять их вместо умляутов - в этом случае надо править *.fnt файлы

Первый путь слишком геморный, второй - тоже, т.к. ширина умляутов не соответствует ширине символов кириллицы

Но есть ещё третий путь - нарисовать нужные шрифты, включающие кириллицу (в фотошопе или с помощью генераторов битмап-шрифтов), сохранить их в формат *.dds с альфа-каналом, затем создать к ним *.fnt файлы (файлы координат символов)

Здесь и начинается моя лепта :)

Итак, подебажил я экзешник, нашёл место, где игра читает *.fnt файл и берет оттуда координаты, по которым будет брать символы из *.dds

~~~~~~~~~~~~~~~~~~~~~~~

Примерная структура *.fnt файла:

~~~~~~~~~~~~~~~~~~~~~~~

{byte} - высота строки символов в шрифте (но не самих символов, высота символов написана в названии файла - 12,32 и т.д.) - я думаю,что символы в строке располагаются по высоте с равными промежутками сверху и снизу от них

Затем (до конца файла) идут блоки по 8 байт для каждого из 256-ти символов:

{word} = координата символа слева от края текстуры *.dds, пикс.

{word} = координата символа сверху от края текстуры *.dds, пикс.

{byte} = ??? непонятный параметр (можно попробовать записать 0 для каждого символа)

{byte} = ширина символа

{byte} = ??? непонятный параметр (можно попробовать записать 0 для каждого символа)

{byte} = 0 - всегда ноль (конец блока)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

В данный момент подбираю программу для генерации шрифта в *.dds

Попробую реализовать эту задумку

Самое плохое - то, что в игре очень много шрифтов. Это сильно замедляет работу.

Изменено пользователем kagym

Поделиться сообщением


Ссылка на сообщение
Самое плохое - то, что в игре очень много шрифтов. Это сильно замедляет работу.

надо поковырять внимательно ресурсы, там точно все шрифты используются? (я пока только теоретизировать могу..)

просто очень часто, после сборки игры разработчиками остается много "шрифтового мусора". то есть шрифты, которые входят в сборку, но не используются нигде. из последнего могу вспомнить Lost Horizon и Black Mirror 2 (из 13 использовалось только 4!).

в тех играх все просто, была "ini-шка" с перечнем шрифтов, их настроек и игровых алиасов.

Поделиться сообщением


Ссылка на сообщение

Я нашёл файлы, в которых прописано, какой шрифт где используется. Так вот, из 25 шрифтов используются 22. Но возможно, что я пропустил что-то. То есть, используется минимум 22 шрифта, максимум - 24 (у одного шрифта нет *.fnt файла).

Собрал один шрифт "Gothic Ultra OToutlined_32" (который используется в меню), меню отображается нормально, правда, с размером шрифта я напутал, шрифт стал больше, да и шрифт не очень похожий (сгенерировал его из Comic Sans MS)

Вот для примера архив с запакованными шрифтами и переводом меню:

http://zalil.ru/30061207

Осталось собрать остальные шрифты (очень рутинная работа). Кто возьмётся?

Изменено пользователем kagym

Поделиться сообщением


Ссылка на сообщение
Осталось собрать остальные шрифты (очень рутинная работа). Кто возьмётся?

а есть образцы оригинальных шрифтов (ну так, чтобы на картинке или алфавитную раскладку? а то эти dds которые совсем не dds в фотошопе отркываются как разноцветные пятна)? я мог бы помочь с подбором похожих или идентичных. ну и дальше разберемся...

игра-то стоящая? =))

Поделиться сообщением


Ссылка на сообщение

Игра очень стоящая,переведите плиз,для нас не знающих языка,каждый день захожу и просматриваю что Вы новенькое пишите насчет перевода,как я уже не раз писала,вы делаете большое дело,переводя игры для нас,вся надежда на Вас и только,неизвестно вообще когда будет локализация этой игрушки,а так поиграть хочется!!!!!!!!!!!!!!!!!

Поделиться сообщением


Ссылка на сообщение
а есть образцы оригинальных шрифтов (ну так, чтобы на картинке или алфавитную раскладку? а то эти dds которые совсем не dds в фотошопе отркываются как разноцветные пятна)? я мог бы помочь с подбором похожих или идентичных. ну и дальше разберемся...

игра-то стоящая? =))

Вот все шрифты из игры, в папке Fonts

http://zalil.ru/30062973

Отдельно в архиве лежит шрифт "Gothic Ultra OToutlined_32", который я изменил (отвечает за текст в меню игры). Я его сгенерировал прогой FontStudio 4.1 в формате *.tga, конвертнул в *.dds в фотошопе и потом изменил координаты символов в *.fnt файле вручную.

Изменено пользователем kagym

Поделиться сообщением


Ссылка на сообщение
Вот все шрифты из игры, в папке Fonts

http://zalil.ru/30062973

Отдельно в архиве лежит шрифт "Gothic Ultra OToutlined_32", который я изменил (отвечает за текст в меню игры). Я его сгенерировал прогой FontStudio 4.1 в формате *.tga, конвертнул в *.dds в фотошопе и потом изменил координаты символов в *.fnt файле вручную.

так. или лыжи не едут, или у меня что-то с dds плагном в фотошопе.

вот что я вижу, при открытии Arial_10.dds

2010-12-02_04-15-00.jpg

а такого быть не должно. у тебя как эти dds открываются, без проблем?

просто хочется увидеть, что там точно за шрифт. по названию почти все можно найти, но как выглядит "Small Fonts" однозначно надо бы как-то увидеть.

Поделиться сообщением


Ссылка на сообщение

Присоединяюсь к pumca. Ждём, надеемся, верим...

Поделиться сообщением


Ссылка на сообщение

denus, dds самые обыкновенные, открываю в CS3 плагином от nvidia

kagym, я посмотрел, что ты сделал со шрифтом, это просто супер.

Я могу собрать dds для всех шрифтов, в каком нужно виде (я уже запасся разным софтом для этих целей). Просто сообщи, как должна быть построена таблица для удобного создания fnt. Могу к оригинальным символам пририсовать русские снизу, например.

Версия для Xbox выглядит довольно стремно. Я уже подобрал более подходящие шрифты. Например, в оригинале используется Gothic Ultra, кириллической версии которого не существует, но есть довольно похожие на него — это Natali Script, MasterFlo, Hortensia, Melody, и Pallada (курсив). Я сначала выбрал Pallada, но не смог найти его в сети. Тогда я остановился на Melody, тоже рукописный гротеск с легким наклоном, только не такой готичный, зато строчные буквы по ширине и начертанию совпадают с игровым шрифтом практически один в один! (прописные, к сожалению, поуже, но это не страшно).

Изменено пользователем Нинкед

Поделиться сообщением


Ссылка на сообщение
denus, dds самые обыкновенные, открываю в CS3 плагином от nvidia

странно. скинь мне свой плагин, чтобы мне не искать, так как любые другие dds (из тех игр, что я ковырял ранее) у меня без проблем открываются той версией плагина, что кочует у меня от версии к версии фотошопов. :). ты точно пробовал именно из gray matter открывать?

короче, все-таки, лыжи не ехали. я был уверен, что спецификация dds особо не менялась и соответственно чему там меняться в плагине.

dds открыл, посмотрю, что со шрифтами можно сделать.

* * *

что-то не дочитал твою мессагу. шрифты уже не нужны?

Изменено пользователем denus

Поделиться сообщением


Ссылка на сообщение
Просто сообщи, как должна быть построена таблица для удобного создания fnt. Могу к оригинальным символам пририсовать русские снизу, например.

Проблема в том, что прога, которой сгенерил шрифт, не дает в файле настроек шрифта всех необходимых параметров - координаты и ширины символов, поэтому приходится вручную их высчитывать (есть проги, которые при генерации шрифта сохраняют в отдельном файле и координаты символов, но в создании шрифтов они ограничены функционально)

Поэтому удобного создания fnt файла никак не получается, к сожалению

Вот описание, как отредактировать fnt файл:

1. генерим шрифт с русскими буквами

2. открываем оригинальный fnt в хекс-редакторе

3. открываем созданный шрифт dds в проге XnView (чтобы видеть координаты символов)

4. суммируем высоту символов и межстрочный интервал - записываем полученное число в первый байт fnt файла

5. берём символ, например "И", его значение в хексе = C8h, умножаем на 8 = 640h, прибавляем 1 = 641h

6. переходим по смещению 641h в fnt файле, это начало 8-байтного блока символа "И"

7. в XnView смотрим координату слева от буквы, отступаем примерно на 1-2 пикселя левее, записываем в первый {word} блока

8. смотрим координату сверху от буквы - это координата самой буквы плюс примерно половина межстрочного интервала (чтобы буквы не скакали, у всех букв в этой строке должна быть одинаковая координата сверху) - записываем во второй {word} блока

9. вычисляем ширину символа - записываем в шестой {byte} блока

10. обнуляем 5-й и 7-й байты блока

11. повторяем для оставшихся символов

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Да, вариант с дорисовкой русских символов прямо на оригинальные dds выглядит многообещающе. Большой плюс в том, что не надо заново формировать координаты английских символов и цифр, да и не будет проблемы с неподходящим размером шрифта (как у меня вышло)

Главное, чтобы русские символы были максимально похожи на оригинал и не отличались размером

Тогда дорисуй к шрифту "Gothic Ultra OToutlined_32.dds" русские символы и скинь сюда, а я пошаманю с координатами

Можешь рисовать прямо на умляутах

Изменено пользователем kagym

Поделиться сообщением


Ссылка на сообщение

http://dl.dropbox.com/u/2420360/Gothic%20U...outlined_32.zip

Готово. Русские символы пририсовал снизу под всеми, с новой строки. По высоте полностью повторяют верхние буквы.

Буквы я генерил в программе HGE Font Builder, она создает свой файл .fnt, причем в текстовом формате. Например для этих русских символов код такой:

45-19221 22 21 22 25 17 38 17 23 23 27 20 29 26 18 26 22 17 30 22 24 18 26 23 32 34 25 23 17 19 34 20 16 17 15 12 14 13 29 16 17 17 17 17 25 16 15 18 16 13 25 16 21 15 18 16 24 25 20 20 15 15 22 14

 

Как я понимаю это тупо ширина букв по порядку.

P.S. Есть еще программа Bitmap Font Builder, она может сохранять ширину шрифта в трех форматах, как в текстовом, так и бинарном. Щас поэкспериментирую.

UPD. Bitmap Font Builder располагает символы строго по сетке 16х16, и не подходит для таких больших шрифтов, как 32 и 28 (поскольку они не влезают в клетки при стороне 512). Зато может подойти для более мелких.

Текстовый файл она создает вида:

[Char Widths]0=131=132=133=134=135=136=137=138=139=16810=011=1312=13...

 

Ну и так далее 256 строк. А в бинарном формате я не разберусь, извините.

Изменено пользователем Нинкед

Поделиться сообщением


Ссылка на сообщение
Готово. Русские символы пририсовал снизу под всеми, с новой строки. По высоте полностью повторяют верхние буквы.

Создал для твоего шрифта fnt-файл

Вот смотри, что получилось

http://zalil.ru/30066850

Только в твоём шрифте нет букв "ё" и "Ё"

Я не проверял, есть ли в боксовском переводе эти буквы или нет, но если они используются, то возможно появление умляутов вместо них

В более мелких шрифтах можешь добавить и их, на всякий случай

Ширины можешь не писать сюда, я их всё равно сам высчитываю, и они немного не совпадают

Изменено пользователем kagym

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: SerGEAnt
      King’s Bounty
      Разработчик: New World Computing Дата выхода: 1990 года
    • Автор: SerGEAnt
      Hapymaher: Regret End
      Платформы: PC Разработчик: Purple software Издатель: Purple software Дата выхода: 31 января 2013 года

  • Продвигаемые темы

  • Последние сообщения

    • Спасибо большое за труды!
    • Даже на англе нет. Я думал его перевели, вроде начинали в бородатые годы. Но потом перестал следить.
      Удачи вам в переводе в этом нелёгкой задаче. По символам наверное можно и хакнуть чтобы не вылетало, но тогда всё равно нужно будет править т.к. не влезет текст. Зависание в пс2 играх когда символов больше это база.
    • Здравствуйте, я перевожу эту игру на русский язык, а точнее говоря это игра это смесь визуальной новеллы и внутриигровых мини-игр. Пока что переведена 1я глава и пролог. Немного меню переведено и разные всячины в игре (например туториал к 1й мини-игре, которая открывается в 1й главе). 

      Вся игра полностью на японском языке, к сожалению английского языка пока не имеет, но когда-нибудь в будущем будет и английский перевод, а пока что в приоритете русский перевод.

      Игра имеет специфичный формат игровых архивов-контейнеров с данными, я имею ввиду файлы формата .uni, потому что большая часть текста находится в файле script.uni. Игра вроде как поддерживает английский и русский язык, но с ограничениями длины строки и кажется что игра не проверяет границы текста. Для русского языка максимальная длина строки — 24 символа, а для английского языка — 32 символа. Если пытаться уместить текст, который длиннее чем максимальная длина строки, то игра зависает. Также были попытки добавить дополнительные строки, но к сожалению игре и это не нравится. 

      Текст делятся на части которые относятся к меню, к диалогам и к внутриигровым настройкам. Часть текста в виде изображений-спрайтов, которые находятся в открытом доступе так как их ранее уже вытаскивали.

      Спрайты игры "Game ni Natta yo! Dokuro-chan: Kenko Shindan Daisakusen"
    • Это недостижимо. Это факт. “Универсальный комбайн софт” в таком случае будет состоять из кучи отдельных решений для каждого движка по отдельности, в т.ч. в случае сложных нестандартных случаев (есть различные разрабы, которые городят с ресурсами ту ещё дичь) потребуются всё равно кастомные решения для отдельных игр. В частности даже шрифты могут быть запакованы и реализованы уймой методов, включая крайне необычные, где даже сами шрифты найти может оказаться задачей нетривиальной, т.к. в файлах может не быть никаких типичных их признаков. Как следствие ни глифы не перерисуешь, ни перепаковки нормальной не получишь. Нейронки часто пишут что-то, что на первый взгляд звучит правдоподобно (особенно для людей, малознакомых с темой, про которую спрашивают у нейронки), но при этом оказывается на поверку полной чушью. Нейронка на данный момент их развития — это инструмент для помощи в задаче, а не исполнитель, способный выполнить мало-мальски сложную задачу самостоятельно от и до.   Можно добиться перевода различными обходными путями, чтобы это работало более-менее универсально для пк (различные варианты хаков с заменой вывода текста из-под памяти, например, но даже так есть свои нюансы, требующие индивидуальных решений), но с консолями эта история уже не так проста. Универсально — это разве что вообще упростить задачу вообще до использования надэкранных переводчиков. При этом софт так-то уже имеется для тех, кого устраивают все компромисы такого решения. Тогда даже паковать ничего не надо будет. Может прозвучать странно, но чаще всего куда проще создать прогу с нуля, чем пытаться разобраться в чужом легаси коде. Собственно, даже в собственном достаточно старом коде разобраться может оказаться задача настолько муторная, что может статься проще сделать заново.
    • @bruce7 чел, я не собираюсь на серьёзных щах общаться с нейронкой и читать всю эту ерунду. Не хочешь воспринимать мнение со стороны - да ок, всем пофиг. Я на последнюю инстанцию не претендую так-то. Но вот эти ответы от нейронки никто до конца даже читать не станет, они с первых слов палятся же и это лютый кринж. Я знаю что такое софт и пишу его сам, даже больше скажу, я писал его до этих самых твоих нейронок. Но не переживай, я также знаю и что такое нейронки, тоже ими пользоваться умею. Вот только крайне странно наблюдать, что для тебя это не инструмент, а буквально замена тебя самого, ибо ты даже диалог не можешь вести без помощи своих ai. Можешь не отвечать, это лишнее. 
    • Спасибо большое за перевод, хотела бы узнать, вы планируете перевести Road to Empress II?
    • Для тех у кого стимдек/линукс вероятно поможет данный способ: В свойствах игры в Steam откройте раздел «Общие» и добавьте в «Параметры запуска»: WINEDLLOVERRIDES="dinput8=n,b" %command%
    • Ну ты загнул про "полную ерунду"  Давай по фактам. На практике всё совсем наоборот: общая кодовая база — это именно то, что делает создание универсального инструментария не просто возможным, а логичным и эффективным.   Единый движок — это не теория, а подтверждённый факт Insomniac Games сознательно строила все свои игры на одной технологической базе. Они создавали один движок на поколение консолей и дорабатывали его на протяжении всего жизненного цикла. PS2: Первые четыре игры — Ratchet & Clank 1, 2, 3 и Deadlocked — работают на разных версиях одного и того же движка, который является модифицированной версией движка из игры Kinetica. Это подтверждается существованием инструментов вроде Wrench, который заявлен как «совместимый с R&C1, R&C2, R&C3 и Deadlocked». PS3: Для PS3 Insomniac использовала движок от Resistance как основу, на которой построены все части Ratchet & Clank Future. Инструменты вроде ReLunacy как раз и созданы для работы с этой общей базой, поддерживая Tools of Destruction, Quest for Booty, A Crack in Time и многие другие игры на новом движке. Поэтому общий core-модуль имеет смысл, а различия выносятся в профили/плагины под конкретную игру и ревизию. Правка исполняемого файла — это стандартная задача локализации и ромхакинга. Она не означает, что нужно делать четыре отдельные программы. Нормальный подход такой: база версий: хэши ELF/билдов, регионы, ревизии;
      база оффсетов и паттернов;
      модуль применения патчей;
      модуль извлечения/вставки текста;
      модуль работы со звуком/озвучкой;
      проверка лимитов, кодировок, шрифтов, таймингов. То есть исполняемый файл не «ломается руками каждый раз», а патчится по заранее известному профилю версии. Отдельный софт под каждую игру оправдан только тогда, когда игры полностью разные по форматам.  Существующие инструменты — лучшее доказательство Wrench: Набор инструментов для PS2, который, как уже было сказано, покрывает все четыре игры. RatchetHax: Тренер и API на Node.js, который работает «для серии Ratchet & Clank на PS2 и PS3» и может использоваться для скриптов и модов, охватывая множество игр. Replanetizer / ReLunacy: Редакторы уровней для PS3, предназначенные для работы с «Ratchet & Clank HD collection» и «Ratchet & Clank: Future Series (PS3) and Resistance», грузят уровни из ToD, QfB, ACiT. Редакторы сохранений: Инструменты вроде rac-savegame-editor поддерживают сохранения для всех игр серии на PS2, PS3 и PS Vita. 3. Size Matters — исключение Эта игра была разработана не Insomniac Games, а студией High Impact Games. Они создали собственный движок, который «эмулирует» оригинальный. Это как раз тот редкий случай, когда движок действительно отличается, и он не входит в общую линейку игр Insomniac. «Индивидуальная модификация» — это не проблема, а задача Да, для каждой игры нужно править EBOOT, подключать загрузчик, хукать функции. Но это не делает всю идею бредовой. Это просто задача на уровне плагинов: ядро софта общее (работа с архивами, текстами, звуком), а для каждой игры — свой конфиг с адресами и патчами. Именно так устроены все нормальные моддинг-инструменты (вспомни хотя бы Cheat Engine с таблицами под разные версии). Это не "перегрузка", а нормальная архитектура. "Сразу все игры никто не переводит" — ну так это же не обязательно делать за раз. Можно начать с первой, потом добавить вторую, третью — благо база общая. А если писать под каждую игру отдельный софт с нуля, то это как раз и будет геморрой: копипаст, рассинхрон багов, тройная работа. Короче, твой скепсис понятен, но практика моддеров говорит об обратном. Всё уже сделано до нас — осталось только собрать эти наработки в один удобный конвейер для перевода и озвучки. Так что идея более чем рабочая. И да, длинные простыни можно прятать под спойлер — это вопрос оформления, но он не отменяет суть идеи. Твои опасения, что софт сможет за 5 часов сделать то, на что у тебя уходит месяц - вполне реальны. AI действительно очень быстро может обесценить твой труд... Но ручной труд тут тоже требуется, например требуется вручную загружать .mp4 видео, в AI для многоголосой озвучки, вручную ещё требуется подобрать голос под каждого персонажа и голоса должны совпадать на протяжении игры. Или софт будет вырезать только звук из видео, кодируя его в удобный .mp3 или .wav и останется только отправить на озвучку. Далее софт просто сам, как видео-редактор вставляет в видео, полученный звуковой файл .wav, lipsynch + кодирует в совместимый игрой формат. Так же можно склеить intro разработчика Insomniac со своим, просто указав путь к видео с расширением .mp4, а софт сам склеит кодирует в нужные FPS и разрешение видео + пропишет новый вес, даже если на входе будет 1920x1080_intro.mp4  P.S. Люди постоянно на форумах спрашивают, “с чего начать, какого … нет мануалов с практическими примерами. Как мы должны научится озвучивать игры PS2, если форумы с нужным софтом, которые юзали пираты, удалили в 2006”. Это же не SEGA-игры, где всё проще и игры с рейтом 80%+ давно переведены на русский. Просто кому-то выгодно не делиться инфой, не себе — не другим.
       
    • Комбинированный метод.
    • @AndyFox ты вручную перевёл или машинный переводчик/ИИ использовал?
  • Изменения статусов

    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
    • serfly  »  SamhainGhost

      Доброго времени. По локализации игры Wicked Seed. Шрифт размазан и в полях, другие можно попробовать? Например arialuni_sdf_2022? Я профан в этом, но интересно.
       
      · 0 ответов
  • Лучшие авторы


×