Перевод. Проблема с файлами UNI [PSP]

Автор Ксена, 06 декабря 2014, 07:21

« назад - далее »

Ксена

Доброго времени суток! Перевожу игру-отоме для PSP "Hakuouki Shinsengumi Kitan "(Hakuoki - Demon of the Fleeting Blossom). Столкнулась с такой проблемой: данные игры хранятся в файлах формата uni. Ранее их не встречала, а потому не могу найти файл с графикой и не знаю, как её извлечь. Очень надеюсь на вашу помощь.
 
З.Ы. Файлы слишком большие, чтобы прикрепить к сообщению

Diablo

Что по игре уже проделано? Или вы только начали разбираться со структурой?
Файлы можно залить на любой файлообменник типа Яндекс Диска и т.п.

TTEMMA

Как же мы без файла вам поможем?

Ксена

https://yadi.sk/d/9ycFQZXrdCaHT (BGM.UNI)
https://yadi.sk/d/GbRGd3RVdCa9X (BACK.UNI)
https://yadi.sk/d/qKrTfD9-dCatv (ETC.UNI)
https://yadi.sk/d/m9HSFZ-XdCavW (MEMORY.UNI)
https://yadi.sk/d/nR5G2Z5fdCb3v (SCRIPT.UNI)
https://yadi.sk/d/3T0_Hx4bdCb3x (SOUND.UNI)
https://yadi.sk/d/XdiUouxkdCb4m (SUB.UNI)
https://yadi.sk/d/ESwGs15odCb78 (SYSTEM.UNI)
https://yadi.sk/d/2hIHpn2UdCtn2 (CHARA.UNI)
 
 
Выделила папку с ресурсами - UNION. Здесь, как я поняла, хранятся все игровые ресурсы, кроме видео. Оно располагается в папке MOVIE и имеет формат PMF. С ним проблем не возникло (по крайней мере пока). 
Прошерстила  SCRIPT с помощью хекс-редактора. Полностью извлекла текст. Пришла к выводу (сравнив код скрипта и остальных файлов), что изображения персонажей (фейссеты) располагаются в файле CHARA, а фоны игры в файле SUB. В CHARA, при просмотре через хекс-редактор,  в начале файла раз пять, если не больше, повторяются русский и английский алфавиты, как из строчных, так и из заглавных букв. При прогонке через Title_Layer_Pro в том же файле (кодировка 1BPP) на этих местах нет ничего похожего на буквы. Если же просто перебить в скрипте английский на русский, то в игре просто ничего не отображается. Из чего сделала вывод, что шрифт предусмотрен только английский. Кроме того, в игре используется курсив и утолщение, так что, возможно, количество повторяющихся алфавитов связано именно с этим. Так же под подозрение на наличие шрифта попала файлы .PRX, находящиеся в папке MODULE. Пыталась представить их как архив .GZ, но успехом это не увенчалось ни через программу (PRXcompressor_v041), ни вручную. В файле SUB почти сразу начинаются игровые фоны (после пометки UNI2, она одинакова для всех файлов из папки UNION). 
 
Что касается самого формата, в интернете смогла найти только такое описание (подходящее под ситуацию): 
На некоторых игровых консолях (Sony PSP и др.) файлы с расширением .uni представляют собой объемные двоичные архивы ресурсов, которые содержат архитектурно-зависимые изображения, звуки и прочие данные, используемые игровым ПО консоли.
и больше ничего. Впрочем, эта информация не сильно отличается от того, к чему я пришла.
 
Ну вот, кажется, всё. Вроде ничего не забыла.

Ксена

Упс, файлик пропустила. 
 
https://yadi.sk/d/xPSJ8AnudD66q (V10.UNI)
 
Его назначение не выяснила. Перед каждым "отделом" пометка file data

TTEMMA

Мельком посмотрев, увидел я:
0x8 = 4 байта - Кол-во файлов
с 0x800 = идет информация о файлах, на каждый файл 16 байт, последние 4 - размер файла, другие не разбирался.

Ксена

Основная проблема - извлечь графику из файла. Может, кто-нибудь уже встречался с этим форматом и знает, что делать.

Alon

Удивлён, что девушка делает переводы приставочных игр, очень любопытно.

TTEMMA

Цитата: Ксена от 09 декабря 2014, 13:41Основная проблема - извлечь графику из файла. Может, кто-нибудь уже встречался с этим форматом и знает, что делать.
Могу "накалякать" распаковщик UNI.

SPOT

Цитата: TTEMMA от 09 декабря 2014, 21:39Могу "накалякать" распаковщик UNI.
 
Ты бы ещё в паре слов пояснил для общественности что к чему. Если это конечно можно в паре слов описать.

TTEMMA

Цитата: SPOT от 09 декабря 2014, 21:56Ты бы ещё в паре слов пояснил для общественности что к чему. Если это конечно можно в паре слов описать.
 
Так с, в начале файла 4 байта = Header, там всё время UNI2, следующие 4 байта не знаю для чего, но там всё время 0x10000, следующие 4 байта = Кол-во файлов. другие же не знаю.
Потом, новый блок начинается тогда, когда позиция делится на 2048(0х800)
Блок с информацией о файлах находится по адресу 0х800, первые 12 байт не известно для чего, но последние 4 = размер файла.
Это всё, что я узнал.

SPOT

TTEMMA, а данные пожаты или это просто собранные в один архив файлы?

Ксена

Цитата: TTEMMA от 09 декабря 2014, 21:39 

Цитата: Ксена от 09 декабря 2014, 13:41Основная проблема - извлечь графику из файла. Может, кто-нибудь уже встречался с этим форматом и знает, что делать.
Могу "накалякать" распаковщик UNI.
 
 
Пожалуйста, я Вас очень, очень прошу. 

Ксена

Цитата: Alon от 09 декабря 2014, 15:58Удивлён, что девушка делает переводы приставочных игр, очень любопытно.
 
Что же в этом удивительного?

Alon

Цитата: Ксена от 10 декабря 2014, 15:11 
Что же в этом удивительного?
 
Собственно говоря - всё, расскажите, как вы пришли к этому?

TTEMMA

Цитата: SPOT от 10 декабря 2014, 07:54TTEMMA, а данные пожаты или это просто собранные в один архив файлы?
Вроде бы не пожаты.

SPOT

TTEMMA, а как узнать какого расширения файлы? Или они там без расширения в архиве?

Ксена

Цитата: Alon от 10 декабря 2014, 20:07 

Цитата: Ксена от 10 декабря 2014, 15:11 
Что же в этом удивительного?
 
Собственно говоря - всё, расскажите, как вы пришли к этому?
 
 
Ну так и целевая аудитория игры преимущественно женская. Как по мне, так наоборот было бы странно, если бы за её перевод взялся парень. 

Ксена

TTEMMA, а не могли бы Вы, после того, как программа будет написана, объяснить принцип и алгоритм её действия?

SPOT

Цитата: Ксена от 12 декабря 2014, 19:04TTEMMA, а не могли бы Вы, после того, как программа будет написана, объяснить принцип и алгоритм её действия?
Если данные не сжаты, всё должно быть предельно просто. Просто выдрать их из архива в отдельные файлы. Теоретически это можно сделать и Hex-редактором.