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

House of The Dead 4 — HNFN

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

Доброго времени суток!
Есть такой вот файлик с форматом HNFN.
По сути архив с новой шапкой, но важно его содержимое.
MFUT — таблица символов шрифта.
MFNT — текстура для шрифтов.
MBUN — сам текст в UTF-16.
Вопрос — кто может помочь разобрать всё это дело? Русский шрифт в TTF есть.
Прикладываю архив с изначальными архивом и вытащенными файлами.
Всем заранее спасибо!
https://disk.yandex.ru/d/WT6P7RRb2KXXIg

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


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

Что-то вроде файла субтитров со своим шрифтом, в котором только используемые символы? Попадалось уже такое.

Скрытый текст

Вытащено точно неправильно, ибо в графике не силён, но на текстуре что-то такое.
13-04-22-10-11-14.jpg 

Мне из этих файлов наименее понятно только устройство таблицы символов, хотя, наверное, стало бы ясней при сравнении с другими аналогичными файлами.
Но пусть более знающее подскажут.

 

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


Ссылка на сообщение
15 минут назад, XiGMA сказал:

Что-то вроде файла субтитров со своим шрифтом, в котором только используемые символы? Попадалось уже такое.

  Скрыть содержимое

Вытащено точно неправильно, ибо в графике не силён, но на текстуре что-то такое.
13-04-22-10-11-14.jpg 

Мне из этих файлов наименее понятно только устройство таблицы символов, хотя, наверное, стало бы ясней при сравнении с другими аналогичными файлами.
Но пусть более знающее подскажут.

 

Вот ещё файл.
Тут и строчек поболее.
https://disk.yandex.ru/d/X0GTY4dQCimdyQ

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


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

Что-то типо того.
Текст
0x00 4 байта - MBUN
0x04 4 байта - размер файла без учёта шапки.
0х08 4 байта - размер шапки.
0х10 4 байта - количество строк
Далее идут указатели на начало строк по 4 байта, где не учитывается шапка и весь блок с указателями. У строк же начало "FFFE", а разделяются парой нулей, считать за конец строки и всё.
"EndOfFile" скорей от общего архива, т.к. в этом он не учитывается никак.
  
Текстура шрифта
0x00 4 байта - MFNT
0x04 4 байта - размер файла без учёта шапки.
0х08 4 байта - размер шапки.
0х10 2 байта - высота ячейки.
0х12 2 байта - ширина ячейки.
0х1с (?)4 байта - ??? Даже идей нет, для чего оно, но в обоих файлах значение одинаковое.
Далее сама текстура, насчёт типа не подскажу.

Таблицу символов сейчас ещё посмотрю, но, похоже, +/- уловил суть.
 

  • Лайк (+1) 1

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


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

Таблица символов
0x00 4 байта - MFUT
0x04 4 байта - размер файла без учёта шапки.
0х08 4 байта - размер шапки.
0х10 4 байта - размер первого блока. Хотя это будет похоже на это только при умножении на 4. В обоих примерах значение одинаковое.
0х14 4 байта - размер второго блока.
Первый блок. На каждое айдиподобное значение отходит по 4 байта, идут от 0 с шагом +2. Позиции проще понять по вероятным кодам юникода из 2-го блока.
Второй блок. Делится на блоки по 16 байт, где сначала идёт вероятный код юникода (4 байта?). Далее задействовано лишь два байта. Значение на 0х05 идёт по нарастающей от 0, который у первого символа на текстуре, и далее с чередующимся шагом +4/+5, от него же и зависит предыдущее значение: +4 - 0х90, +5 - 0х10.

  • Лайк (+1) 1

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


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

Касаемо графики… Это BGRA8 (SEGA его просто обожает). Ширина — 6, высота… вот не понял как адекватно её вычислять. RAWTEX, в целом, даже видит.

Тут больше встаёт вопрос в “гениальном” форм-факторе, а именно вертикальном.

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

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


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

Больше похоже на L8, либо A8. С остальными же, да можно вытащить, но с корректным отображением в игре потом явно будут проблемы.
Тот пример я именно так вытащил, это не одна цельная текстура, хоть её и можно так вытащить. Там на каждый символ уходит 1152 байт, т.е. логичней каждый символ дампить отдельно и всё.
Если пытаться вытащить целиком, то высота = кол-во символов * 48. По крайней мере в данных примерах.

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

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


Ссылка на сообщение
45 минут назад, XiGMA сказал:

Больше похоже на L8, либо A8. С остальными же, да можно вытащить, но с корректным отображением в игре потом явно будут проблемы.
Тот пример я именно так вытащил, это не одна цельная текстура, хоть её и можно так вытащить. Там на каждый символ уходит 1152 байт, т.е. логичней каждый символ дампить отдельно и всё.
Если пытаться вытащить целиком, то высота = кол-во символов * 48. По крайней мере в данных примерах.

Такое чувство, что проще сгенерировать шрифт универсальный и не мучаться…

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


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

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

mbun<->txt v0.1

7 минут назад, Damin72 сказал:

шрифт универсальный

Чтобы в каждом файле был весь набор символов?

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


Ссылка на сообщение
18 минут назад, XiGMA сказал:

Чтобы в каждом файле был весь набор символов?

Да. Я так в Sonic Riders сделал. Один шрифт на все файлы. Удобно и меньше паришься. Текстуру шрифта могу сделать.

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


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

Там, где я видел схожий формат, шрифт для перевода был сделан также.

Скрытый текст

13-04-22-23-22-32.jpg 
Надо либо каждый символ отдельно (высота - 48, ширина 24. Изменить можно, но параметры у всех будут одинаковые.), либо горизонтальным полотном.

Я ещё пока не уверен насчёт вывода именно кириллицы, нужно тестить изменения таблицы символов, чтобы понять наверняка.


 

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


Ссылка на сообщение
15 минут назад, XiGMA сказал:

Там, где я видел схожий формат, шрифт для перевода был сделан также.

  Насчёт текстуры (Скрыть содержимое)

13-04-22-23-22-32.jpg 
Надо либо каждый символ отдельно (высота - 48, ширина 24. Изменить можно, но параметры у всех будут одинаковые.), либо горизонтальным полотном.

Я ещё пока не уверен насчёт вывода именно кириллицы, нужно тестить изменения таблицы символов, чтобы понять наверняка.


 

Сам текст изменяется…
Изменил первую же строчку на большую. Последующие отыграли нормально, так что тут, вроде, проблем нет.

YJfcW5QLm4I.jpg?size=1280x799&quality=96&sign=4c889474534eb54b9045f9a55c924626&type=album

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


Ссылка на сообщение
1 час назад, XiGMA сказал:

Там, где я видел схожий формат, шрифт для перевода был сделан также.

  Насчёт текстуры (Скрыть содержимое)

13-04-22-23-22-32.jpg 
Надо либо каждый символ отдельно (высота - 48, ширина 24. Изменить можно, но параметры у всех будут одинаковые.), либо горизонтальным полотном.

Я ещё пока не уверен насчёт вывода именно кириллицы, нужно тестить изменения таблицы символов, чтобы понять наверняка.


 

Сделал заготовку. Высота 48, ширина 24. Все буквы верхнего регистра, русские только те, которых нет в латинице (даже Ё). Плюс цифры.
https://disk.yandex.ru/d/vhK6GlJ3mVEuSA

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


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

Собрал таблицу и текстуру только с заглавными A-Z для проверки. Если ничего не упустил, то как минимум запуститься должно.
Файлы.

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


Ссылка на сообщение
1 час назад, XiGMA сказал:

Собрал таблицу и текстуру только с заглавными A-Z для проверки. Если ничего не упустил, то как минимум запуститься должно.
Файлы.

Хорошая новость — игра не вылетела.
Плохая — она решила не отображать вообще ничего, так как забыл про размеры в оригинальном архиве, однако чёт не понимаю как их правильно посчитать. Такое чувство, что размеры сбиты на пару байтов.
P.S. Обновил файл. Вроде теперь точно посчитал, но сабы так и не появились. Даже с артефактами.
https://disk.yandex.ru/d/ylIoIasjwFNxIQ

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас



Zone of Games © 2003–2024 | Реклама на сайте.

×