Gildor's Forums

Русскоязычный Форум => Локализация и модификация игр => Topic started by: 6930 on September 08, 2009, 14:11



Title: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 08, 2009, 14:11
Привет :) :)

распоковал с помощью umodel.exe CommonGame_LOC_INT.ххх там окозалось 5 tga текстур,мне нужно изменить эти текстуры и запихнуть обратно
можно ли сделать пакер  или патчер какой нибудь (не за бесплатно конечно же ;) ;))


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 08, 2009, 14:22
UPK (и XXX) файлы - это не архивы. Это пакеты со сложной внутренней структурой. Я действительно написал "распаковщик", вытаскивающий объекты в том виде, в котором они хранятся внутри пакета. "Запаковать" обратно - в общем случае очень сложная задача (может быть реализована только в частных случаях).

Что реально можно сделать (что-то вроде алгоритма)?
1) Можно убрать компрессию с пакета (LZX/ZLib/LZO, зависит от игры), пакет получится без компрессии.
2) Потом выдрать нужные ресурсы, запомнить место, где они лежали.
3) Изменить ресурсы, при этом обязательно должен сохраниться размер (вполне реализуемо для текстур и текстов, вряд ли для других типов данных)
4) подсунуть изменённые ресурсы обратно на то же место
5) дальше использовать изменённый непожатый архив

Да, совсем забыл ... В UE3 есть 2 уровня компрессии. 1й уровень - это на уровне пакета, его вполне можно распаковать (как я написал в 1м пункте). 2й уровень - на уровне BulkData - это структура, используемая непосредственно объектами ресурсов, и туда уже не залезть.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 08, 2009, 15:16
я в этом мало понимаю.просто подумал что можно запихнуть обратно вот если б была какая нибуть прога каторая всё это делала. пираты же как то запихивают обратно к примеру в игре для xbox360 Batman: Arkham Asylum они вытащили шрифт из.ххх перерисовали его и както запихнули обратно




Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 08, 2009, 15:21
Про xbox могу сказать мало ... Текстуры там не в xxx файлах, а в TFC.
А вообще я слышал, что из XBox360-игр никто пока не научился доставать ресурсы ??
В общем, у меня мало информации (или вообще нет) что и как там делается.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Teoma on September 08, 2009, 15:27
я в этом мало понимаю.просто подумал что можно запихнуть обратно вот если б была какая нибуть прога каторая всё это делала. пираты же как то запихивают обратно к примеру в игре для xbox360 Batman: Arkham Asylum они вытащили шрифт из.ххх перерисовали его и както запихнули обратно



А ты уверен что они доставали шрифт из .xxx Файлов :) ?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 08, 2009, 15:37
да я просмотрел файл (с помощью Unreal Model Viewer) CommonGame_LOC_INT.xxx там 5 файлов  шрифты в .tga и в них добавлены русские буквы. А в  оригенальной английской версии в шрифтах нету русских букв   


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 08, 2009, 15:44
да я просмотрел файл (с помощью Unreal Model Viewer) CommonGame_LOC_INT.xxx там 5 файлов  шрифты в .tga и в них добавлены русские буквы. А в  оригенальной английской версии в шрифтах нету русских букв   
А какую версию выдаёт umodel на изменённых файлах из Batman ?
(версию можно быстро посмотреть с помощью команды umodel -pkginfo <filename>)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Teoma on September 08, 2009, 15:50
да я просмотрел файл (с помощью Unreal Model Viewer) CommonGame_LOC_INT.xxx там 5 файлов  шрифты в .tga и в них добавлены русские буквы. А в  оригенальной английской версии в шрифтах нету русских букв   
Может они Хексом  ;D


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 08, 2009, 15:53
давай я тебе лутче кину файлы от ангийской версии и от пиратской русской.А ты их сам посмотриш?

PS. кстами в игре есть файл Текстуры.TFC ты случайно не знаеш чем его можно открыть


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 08, 2009, 15:58
TFC ничем не открыть. Это вспомогательный файл и без остальных файлов ничего не значит.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 08, 2009, 16:03
А насчёт версии я чего спросил ... Скорее всего, товарищи пираты сделали следующее:
1) выдрали чем-нибудь текстуры из игры
2) открыли UnrealEd от UT3
3) создали файл CommonGame_LOC_INT.xxx и затолкали туда все текстуры (формат данных - как в UT3, но Batman их должен подхватить)
4) положили файл в каталог с игрой

В UE3 есть система локализации (файлы *_LOC_LANG.ext), как она работает я никогда не интересовался. По всей видимости это что-то вроде патча для данных без необходимости менять оригинальные данные. Думаю, информация есть на UDN. Может она поможет.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 08, 2009, 16:23
РУССКИЙ CommonGame_LOC_INT.ХХХ

http://narod.ru/disk/12927440000/%D0%A0%D0%A3%D0%A1%D0%A1%D0%9A%D0%98%D0%99%20CommonGame_LOC_INT.%D0%A5%D0%A5%D0%A5.rar.html

АНГЛИЙСКИЙ CommonGame_LOC_INT.xxx

http://narod.ru/disk/12928160000/%D0%90%D0%9D%D0%93%D0%9B%D0%98%D0%99%D0%A1%D0%9A%D0%98%D0%99%20CommonGame_LOC_INT.xxx.rar.html


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 08, 2009, 16:36
Посмотрел файлы. Они пропатчены (не пересобраны - они отличаются только на 48Кб из 230) неизвестной тулзой.
Кстати, я посмотрел свой код ... формат пакетов в UT3 и Batman одинаковый (но формат текстур несколько различается). Но реально можно собрать пакет в UT3 и затолкать сюда - должно работать.

Как "пираты" это сделали - не знаю. Может спросите у них самих ?
Кстати, русского языка я там как-то не заметил.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 08, 2009, 16:57
(http://pic.ipicture.ru/uploads/090908/thumbs/1wVkU5E1S1.png) (http://ipicture.ru/Gallery/Viewfull/23427647.html)

Вот так "пираты" переводят. используют часть английских и русских букв


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 08, 2009, 19:49
Как "пираты" это сделали - не знаю. Может спросите у них самих ?

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


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 09, 2009, 00:27
За информацией - на UDN (http://udn.epicgames.com).
Сжимать пакеты не обязательно, это влияет только на размер файла. Хотя UnrealEd сжимать вроде умеет.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 15, 2009, 17:22
попробовал я сделать пакет со шрифтами с помощью UnrealEd. пакет в формате .upk делается без проблем а вот пакет в формате .ххх не хочет делать я там даже такой возможности не нашел. я особенно не разбираюсь в форматах но мне кажется что .ххх это то ли зашифрованный то ли сжатый .upk

может кто подскажет как сделать в  UnrealEd пакет в формате .ххх


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 15, 2009, 17:27
upk и xxx это одно и то же. Просто переименуйте файл.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 15, 2009, 18:02
я конечно извиняюсь но если открыть upk хексам то можно увидеть кое какие параметры пакета. а в .xxx нечего не видно 


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 15, 2009, 22:17
Разница только в том, что один файл у вас видимо запакован, а другой - нет.
Вы мне не верите?  ;)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: 6930 on September 16, 2009, 04:38
Я вам верю просто непонятки получаются  если я правильно понял .ххх пакет это сжатый upk (на предыдущий строницы я остовлял  CommonGame_LOC_INT.ХХХ судя по хексу он сжат) если это так то остаётся выяснить как его сжать


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 16, 2009, 11:44
xxx и upk - это просто расширение файла. Можно файл назвать как угодно (в смысле - любое расширение файла), подправить ini - и файл будет грузиться в игру. Пример для UT3: файл Engine/Config/BaseEngine.ini
Code:
[Core.System]
...
Extensions=upk
Extensions=u
...

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


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: boxov on September 27, 2009, 22:13
Уважаемый gildor посмотрите пожалуйста этот файл! Он не распаковывается,а файл из оригинальной версии нормально! Тот что не хочет распаковываться из версии которую перевели пираты!(Бэтмен - xbox360)

Оригинал - http://www6.zippyshare.com/v/43052740/file.html
Пиратский - http://www21.zippyshare.com/v/90709880/file.html

Буду Вам очень благодарен!
Спасибо!

Код ошибки

Code:
******** G:\XBOX360\batman aa rus\Admin_A_CH3_LOC_INT.xxx ********

ERROR: assertion failed: CompSize == H.CompressedSize && UncompSize == H.UncompressedSize

FCompressedChunkHeader<< <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- ReadNameTable <- UnPackage::UnPackage:G:\XBOX360\batman aa rus\Admin_A_CH3_LOC_INT.xxx <- Main


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 28, 2009, 00:51
Посмотрел. По-видимому, пираты как-то хитро пропатчили файл. Движок игры его спокойно воспринимает - видимо, читает не все данные или что-то вроде того, не знаю. Umodel выдаёт ошибку в структурах компрессированных данных. Если бы в Unreal Engine была бы такая же проверка - она бы тоже упала. Вполне возможно, что проверка там была, но пираты пропатчили код и её убрали, чтобы не падало.

В общем, umodel с Batman совместим. А с патчеными файлами я совместимость поддерживать не собираюсь, уж извиняйте. Уже была подобная "проблема" - не читался файл для Lineage2, созданный сторонней программой - там был мусор вместо скелета, просто сама игра за этими данными не лезла, а umodel читает всё.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: boxov on September 28, 2009, 01:13
gildor все понял :) спасибо что оперативно ответили :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on September 28, 2009, 01:18
Не за что :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Roxus on November 19, 2009, 08:45
Привет, Gildor!

Удобные утилиты распаковки и просмотра содержимого пакетов. Спасибо!

В продолжении темы о текстурах, хотел бы поинтересоваться... В UPKs ведь могут храниться различного формата текстуры, верно? Не подскажешь точный список возможных форматов RAW данных текстур для PC-платформы? Дело в том, я хотел бы изменить текстуру в одном из пакетов игры. umodel извлекает эту текстуру вроде правильно, но в самом пакете она хранится в другом формате. Пробовал просмотреть данные пакета через фильты DXT1,3,5 - безрезультатно. Чтоже за формат это может быть?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on November 19, 2009, 13:02
Привет.
Спазибо за хороший отзыв :)
Список форматов можно получить в исходниках скриптов (если они есть) - Engine/Classes/Texture.uc, тип EPixelFormat:
Code:
enum EPixelFormat
{
PF_Unknown,
PF_A32B32G32R32F,
PF_A8R8G8B8,
PF_G8,
PF_G16,
PF_DXT1,
PF_DXT3,
PF_DXT5,
PF_UYVY,
PF_FloatRGB, // A RGB FP format with platform-specific implementation, for use with render targets
PF_FloatRGBA, // A RGBA FP format with platform-specific implementation, for use with render targets
PF_DepthStencil, // A depth+stencil format with platform-specific implementation, for use with render targets
PF_ShadowDepth, // A depth format with platform-specific implementation, for use with render targets
PF_FilteredShadowDepth, // A depth format with platform-specific implementation, that can be filtered by hardware
PF_R32F,
PF_G16R16,
PF_G16R16F,
PF_G32R32F,
PF_A2B10G10R10,
PF_A16B16G16R16,
PF_D24
};
(это из UT3)

В MassEffect ещё есть PF_NormalMap_LQ и PF_NormalMap_HQ.
На XBox360 используются те же форматы, но есть некоторая обработка текстур - они в памяти расположены несколько иначе.

Для теста можете открыть любую текстуру в umodel viewer и нажать кнупку <D> - в консоль будет выведен список свойств и их значения. Там можете посмотреть, какой формат использован для данной текстуры.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Roxus on November 20, 2009, 01:42
Благодарю за подсказку! :)

umodel у меня выводит: EPixelFormat Format = PF_DXT5 (7).
Но просмотривая RAW данные этой текстуры, не скажешь, что они похожи на стандартный DXT5. Вероятно, текстурка пожата дополнительно какой-то разновидностью LZ-алгоритма. Такое может быть? В стандарте DXT5 вроде нет LZ-сжатия...


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on November 20, 2009, 02:12
Никакого дополнительного сжатия. Я приписываю заголовок DDS и распаковываю через одну из библиотечек для DXT (раньше использовал ddslib, сейчас nvimage).


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Roxus on November 20, 2009, 02:20
Хм.. странно. Хотя, я использовал библиотеки 2004 года, для преобразования DXT в обычный RGBA. Может с тех пор что-нибудь изменилось. :)
Сейчас попробую новую библиотеку.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on November 20, 2009, 02:28
Текстура содержит следующие данные (если смотреть как raw, выдернутый через extract):
  • свойства (настройки)
  • мипмапы

Каждый мипмап:
  • bulk data - текстурные данные (да, я немного ошибся, когда сказал, что непожаты - формат bulk предусматривает сжатие одним из алгоритмов, для PC это в основном LZO); bulk начинается с сигнатуры, совпадающей с сигнатурой пакета; данные могут идти и без сжатия
  • 2 x int - размеры данного mipmap


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on January 29, 2010, 11:49
Привет всем.
Ещё раз хочу сказать огромное спасибо тоарищу Gildor за его труд и софтинки.
На данный момент расматриваю один из звуковых файлов ххх из игры бетман.
После декомпрессии внутри файла ххх хорошо просматривается стандартный звуковой архив расширения FSB.Т.е. после декомпрессии в ххх файле уже достаточно легко заменить данные.
Ну и наверное как и многих сейчас интересует компрессия ххх файла.
Судя по темам в форуме понимаю что для сжатия файлов восновном используется сжатие LZO.
Может не совсем коректно,но думаю что файл сжимается не целиком а отдельными блоками иначе всё было бы легко.
Надеюсь Gildor немного приоткроет занавесу этого безнадёжного дела ;D


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on January 29, 2010, 12:49
Формат пакета (то, что связано с компрессией) разбирался здесь (/smf/index.php/topic,297.0.html).
В старых играх вроде использовалась ZLIB, в новых - LZO. Для XBox 360 используется LZX, поскольку Microsoft супер-пере-оптимизировала свою библиотеку для работы на XBox, да и компрессия у него получше.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on January 29, 2010, 13:20
спасибо...встречный вопрос..софт по LZX неподскажете где посмотреть?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on January 29, 2010, 13:23
Я использую эту библиотеку:
http://www.cabextract.org.uk/libmspack
(конкретно - lzxd.c)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on January 30, 2010, 22:02
вот скриншот 2 одинаковых файлов сжатого и несжатого в хексе.
http://tapochek.net/pictures/ae45293467dc8d3901613c7edfaee1ba.jpg
вот эти файлы http://www.sendspace.com/file/9vh3zj
Понял пока что первые 6 строк это основная бошка файла.
Дальше идёт пакет.Если я правильно понимаю то пакет это определённый блок с данными.
На смещении 60 в сжатом файле первые 4 байта 04000000 это говорит что используется сжатие LZX если стояло бы 02000000 то использовалось LZO
Следующие 4 байта говорят о количестве пакетов..в данном случае 1..на этом пока всё(если ошибаюсь поправте!) ;D

Gildor,научи пожалуйста читать основную бошку и скажи-в начале пакета сколько ещё байтов несут информацию про сжатие?
Я пока нашёл lzopack.exe,програмер обещал посмотреть тот набор библиокет что ты дал и поробовать сделать lzхpack.exe
В итоге хочется научиться читать нужную информацию компрессии и имея lzхpack.exe в ручную снять компрессию и потом сжать и если размер сжатых пакетов будет другое в отличии от оригинальных то прописать нужную информацию о сжатии таким образом чтоб файл не оказался битым.
Gildor,очень надеюсь на твою помощь! :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on January 30, 2010, 22:34
Скриншот не работает - видимо, нужно региться на tapochek.net чтобы посмотреть.

Увы, там  всё сложнее, чем просто смещения от начала файла. Структуры динамические. Например, можете заметить строку "None" - здесь на самом деле может быть любой текст, и остальные байты тогда сдвигаются.

"Научить" читать файлы практически невозможно. Посмотрите вот эту программу
http://forums.epicgames.com/showthread.php?t=597581
она умеет читать пакеты (но вроде только с LZO) и даже что-то оттуда вытаскивать.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on January 30, 2010, 22:45
ладно...тогда вот такой вопросик :)
вот к примеру в сжатом файле 6 пакетов.
каждый пакет будет начинаться с байтов 04000000( проверил хексом)
получается что у каждого пакета будет размер и адрес(офсет)
это где то прописывается?
скажем если после декомпрессии и последующем моей компрессии размеры пакетов будут отличаться от оригинальных как поступать?Если есть информация о размерах и адресах её надо будет  изменить?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on January 30, 2010, 23:00
Забудьте об идее пропатчить запакованный файл. Его можно распаковать и только затем изменить. В лучшем случае - потом по-новой запаковать (сейчас для этого никакой утилиты нет).
После запаковки 99.9% вероятность, что файл будет другого размера. Причем нельзя сказать, будет он меньше или больше - зависит от характера ("энтропии") исходных и модифицированных данных.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on January 30, 2010, 23:02
вот скриншот http://pixs.ru/showimage/Bezimyanni_9196024_442747.jpg
Так я и пытаюсь понять как сжать файл а не как заменить данные в сжатом виде :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on January 30, 2010, 23:08
Gildor, и ты так и неответил-сколько байтов в начале первого пакета несут информацию о сжатии?
Просто на взгляд у последущих пакетов начало 04000000 и потом идёт,как бы лучше сказать" такая плотная информация ;D а у первого в начале много нулевых байтов...т.е. в начале указывается метод сжатия,потом число пакетов а потом?
Пожалуйста поделись знаниями ;)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on January 30, 2010, 23:34
http://erictheturtle.blogspot.com/2009/01/dissecting-mirrors-edge.html
берёте UE3PackageViewer, там в архиве есть исходники. Чтение пакета - UPackage.cs.

Кстати, и автор этой тулзы, а хозяин того сайта - оба есть на этом форуме :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 03, 2010, 22:34
А не исключена такая возможность что ядро игры где используются ххх файлы понимает только сжатый ххх файл? или это маловероятно?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 03, 2010, 23:00
Если только программисты специально запретили загрузку несжатых файлов :)
Люди уже несколько игр локализовали с помощью decompress.exe - распаковали, пропатчили и положили обратно (без упаковки).

Вы можете даже пережать xbox-xxx по LZO (а не LZX) - движок всё равно загрузит.
Только PC-версия движка не загрузит сжатые по LZX файлы, остальное всё со всем совместимо (в пределах совместимых версий движка)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 13:31
Gildor,вот с таким вопросиком.
Предполоим я распаковал несжатый архив ххх своим методом
Получилась в начале бошка файла потом определённые блоки.
Если распаковать твоим экстратором они будут на зываться
файлами с расширением SoundNodeWave
В этих блоках в начале есть текстура(видимо субтитры к данному звуковому файлу)
потом следует сам звуковой файл.
Предположим я заменяю в этих блоках звуковые файлы на файлы меньшего размера.
Теперь я собираю архив ххх использую оригинальную бошку.
Как я должен правильно собирать файл? Блоки SoundNodeWave должны будут следовать друг за другом или нужно их поставить на прежние места,на теже смещения и между блоками получатся нулевые байты.
Иными словами в бошке прописывается размеры и адреса состовляющих SoundNodeWave файлов или нет?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 05, 2010, 16:00
Если распаковать твоим экстратором они будут на зываться
файлами с расширением SoundNodeWave
В этих блоках в начале есть текстура(видимо субтитры к данному звуковому файлу)
Никакой текстуры там нет. Узнять что лежит в SoundNodeWave можно посмотрев исходники скриптов (от UT3 или UDK) - файл Engine/Classes/SoundNodeWave.uc

Quote
Предположим я заменяю в этих блоках звуковые файлы на файлы меньшего размера.
Теперь я собираю архив ххх использую оригинальную бошку.
Собрать нечем. Можно пропатчить оригинальный (распакованный) файл.

Quote
Как я должен правильно собирать файл? Блоки SoundNodeWave должны будут следовать друг за другом или нужно их поставить на прежние места,на теже смещения и между блоками получатся нулевые байты.
Иными словами в бошке прописывается размеры и адреса состовляющих SoundNodeWave файлов или нет?
Смещение и размеры объекта прописаны в таблице экспорта пакета. Если захотеть положить объект в другое место и с другим размером - надо править эту таблицу.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 16:31
В нех-е в файлах SoundNodeWave в начале идёт информация связанная с текстом,это 100% субтитры,потом звуковой файл который в данном случае начинается как и wav файл со слов RIFF
Собрать и разобрать архив я делаю своими софтинками
Разборка идёт по заданному критерию(в данном случае определённый набор байтов с которого начинается каждый SoundNodeWave в каждом конкретном файле.
При разборе прога прописывает в имя блока его номер и смещение(адрес).
Другая софтинка упаковывает эти блоки обратно в архив по данным смещениям.

Таблица экспорта..вот о чём я тебя спрашивал.
Спасибо ещё раз. ;)
Значит вней и размеры и адреса...буду изучать :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 05, 2010, 16:44
Для хранения звуков UE3 использует специальный тип блока - bulk (в скриптах помечено как "UntypedBulkData_Mirror"). Эта структура содержит абсолютную позицию данных в файле. Именно она мешает пересобрать пакет так, чтобы данные находились по другим позициям. Она используется в SoundNodeWave и в текстурах, не говоря уж о данных, не имеющих отображения (mirror) в скрипте.

Если повнимательнее посмотреть на SoundNodeWave, там есть ещё
Code:
/** Offsets into the bulk data for the source wav data */
var    const array<int> ChannelOffsets;
/** Sizes of the bulk data for the source wav data */
var    const array<int> ChannelSizes;
т.е. если bulk пересобрать самому, эти смещения могут "съехать".
А наверняка есть ещё и другие вещи, про которые в скриптах не написано.

В общем, не всё так просто ...


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 18:02
Спасибо.
На данном этапе я просто заменю в файлах SoundNodeWave только тело звукового файла хма
которое ограничено начальной служебной информацией начинающейся на RIFF и заканчивающейся на data +4 байта и конечной информацией начинающейся на seek

Просто хотел узнать наперёд если можно заменить в файле SoundNodeWave хма файл вместе со служебной информацией на меньший размер,а это можно сделать заменив частоту скажем с 44100 на 22050 ,это не музыка,почти незаметно будет,то тогда теоритически можно собрать архив который в несжатом виде будет меньше сжатого оригинального,ну по крайне мере не больше.

http://pixs.ru/showimage/1jpg_3043075_450780.jpg
вот начало одного из файлов SoundNodeWave
а вот начало звукового файла хма в этом SoundNodeWave
http://pixs.ru/showimage/2jpg_5594723_450782.jpg

в даннных SoundNodeWave файлах не то чтоб они начинаются на байты
0000000000000026000000000000002E
а вся информация в начале по смещение 60 осатётся неизменная.
Не сможешь поконкретней указать(указать смещение в первом скриншоте) где можнт прописываться
смещение и размер?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 05, 2010, 18:07
Это всё сериализуется как "свойства" (property). Эта информация (как и всё в UE3) имеет "плавающий" формат - позиция зависит от предыдущих свойств, их размеров и т.д.
В HexEditor-е такое увидеть невозможно.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 18:19
Понятно,вообщем не стоит заморачиваться.
Просто когда изучал звуковые архивы FSB то там чёткая последовательность- в определённом месте прописывается размер бошки,дальше количество файлов(вся информация в каждых 4 байтах)
потом описывались файлы..размер,частота,число каналов и т.д.
По этой информации легко можно было раскидать файл на бошку и составляющие файлы а потом собрать.Если файлы новые были другого размера то тогда нужно было поменять эту инфу в бошке.

С файлами ххх я понял по твоим словам вся эта информация динамическая,но твой распаковщик всегда её читает?! Блин..или я во что то не вьезжаю ;D


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 19:15
http://pixs.ru/showimage/3jpg_8388920_450889.jpg
это скриншот начал одновременно 2 файлов SoundNodeWave в нех-е
размер первого файла(слево) SoundNodeWave 3DC1 размер его хма файла 3075
размер второго файла 35A1 размер хма в нём 2870
со смещения 137 видно что начинается какой то текст,дальше расматривать нечего
смещение первого SoundNodeWave файла относительно начала архива ххх 1320
Визуально не нашёл информации связанной с этими данными в началах SoundNodeWave файлах.
Возможно что информация о размерах и смещениях SoundNodeWave файлов находится только в таблице экспорта? Или она действительно есть в начале каждого SoundNodeWave файла и я её просто не вижу? :(


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 20:43
Gildor,мне кажется замучил я тебя своими вопросами ;D
Если есть ещё нервы и тепрение может подскажешь ещё немного :)
Вот нашёл таблицу экспорта в самом файле
Понял что описалово пакета начинается с флага FFFFFF и ещё байт
http://pixs.ru/showimage/1jpg_5574327_450970.jpg
окончания FD или FB характерны для файлов SoundNodeWave
Если в ххх архиве только SoundNodeWave файлы окончание FD если используются ещё файлы FSB RFMODSound то оконцовка флага FB а у FSB архива FD
обязательно после флага через 20 байтов должен быть флаг 000F0104 для SoundNodeWave и 000F0004 для FSB RFMODSound
http://pixs.ru/showimage/2jpg_3080082_450985.jpg
Дальше через 28 байт от первого флага стоит размер
http://pixs.ru/showimage/3jpg_5194066_450989.jpg
Следующие 4 байта это смещение от начала архива ххх
http://pixs.ru/showimage/4jpg_8756937_450991.jpg

Gildor,если я в чём то ошибаюсь или ещё что то не увидел подскажи пожалуйста ;)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 05, 2010, 21:33
Никаких "характерных байтов" в Unreal нет.
Единственный "ключ" - C1832A9E - идентификатор пакета. Используется также в сжатых блоках.
Больше - ничего.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 23:26
я просто не правильно написал..не пакетов а содержимых пакета


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 05, 2010, 23:46
Попробовал пересобрать вручную нех-ом небольшой ххх файл состоящий из 5 SoundNodeWave
с заменой в них хма файлов и исправить данные в таблице.
При распаковке экстратором вроде всё ок,без косяков...осталось проверить на практике :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 09, 2010, 09:49
Возник вот такой вопрос.
После сняти компрессии в конце файлов появляется строчка из 16 байт(иногда строчки)
почти вся строчка из нулей,а в конце указано конечное смещение архива
http://pixs.ru/showimage/Bezimyanni_1966150_455509.jpg

Это относится к структуре этих файлов или это своеобразный "след" который оставляют декомпрессор и экстратор и эти строчки нужно удалить перед заменой файлов в образ?
Просто если это след,то последний файл в архиве может глючить из за этого.

И забыл сказать самое главное.
Попробовал сегодня подставить в игру ххх не сжатый файл.Ядро игры схавала его.

Gildor,снимаю шляпу.....ещё раз огромное спасибо! :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 09, 2010, 10:36
Это относится к структуре этих файлов или это своеобразный "след" который оставляют декомпрессор и экстратор и эти строчки нужно удалить перед заменой файлов в образ?
decompress "следов" не оставляет.
Quote
Попробовал сегодня подставить в игру ххх не сжатый файл.Ядро игры схавала его.
Я рад :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 09, 2010, 11:55
Спасиюо за инфу.
Значит если пересобрать архив мало того чтоб изменить данные о размерах и смещениях новых состовляющих...нужно в конце архива ещё дописывать эту строчку :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 09, 2010, 13:09
Это вряд ли.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 09, 2010, 14:04
неуверен  ;D.....хотя с тобой спорить совсем не собираюсь...
можно проверить только опытным путём :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 14, 2010, 16:11
При более подробном изучении оказалось что в конце каждого SoundNodeWave есть строчка в 16 нулевых байт в 4-х последних которых прописано смещение от начала общего файла до конца этого SoundNodeWave
а в самом SoundNodeWave перед звуковым файлом есть 3 такие строчки,в двух первых смещения в конце,а третьей перед смещением 2 одинаковых размера которые чуть больше размера звукового файла,но вот с этим размером зависимость ещё не нашёл.Вроде с размером размером звукового файла зависимости нету..возможно этот размер зависит от размера информационного блока в SoundNodeWave перед звуковым файлом..


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on February 14, 2010, 17:12
блин..это размер звкового файла вместе со служеб.инфой к нему...
Gildor,ты был на 100% прав...тут кругом одна засада ;D


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: platov01 on March 01, 2010, 16:14
Выложил сегодня бетмана с русской озвучкой на тапочках.
Ещё раз скажу,что порт стал возможен из за декомпрессора от Gildor
Gildor,большое спасибо! :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on March 01, 2010, 17:02
Пожалуйста ;)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: qwertypower on February 14, 2013, 23:45
Уважаемый Гилдор. Мне удалось перепаковать *.upk из Alice madness returns с помощью пиратской проги-русификатора  эта прога основана на вашем "EXTRACTOR"е и перепаковывает эти файлы если в них есть *.soundnodewave , *.soundnodecue и текстовые файлы
но мне удалось впихнуть мелодию (заменить какой-либо файл и переименовать) и в игре попёрло!
форум  http://alice.3dn.ru/forum/21-399-1
и прога  http://www.mediafire.com/?g7b88c0zhdmlkqz


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

распаковать пакет с текстурами получилось  НО
при запаковке пакет получается урезаным и потом не распаковывается экстрактором


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 15, 2013, 18:40
Увы, в мои планы не входит написание программы для модификации пакетов.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: qwertypower on February 15, 2013, 21:04
так их всё таки можно модифицировать?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on February 15, 2013, 21:15
В теории  - да, но программа получится довольно-таки внушительной (если надо модифицировать объекты так, что их размеры будут изменены). Ну а у меня самого мотивов написания такой программы нет, так как всё что я от этого получу - новую головную боль на её поддержке ... Ни какого-то опыта, ни новых знаний и т.д. при её разработке не появится.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: qwertypower on February 15, 2013, 21:18
модифицировать звуки получается, а вот текстурки и меши-как не пытался

весь инет перерыл в поисках этих "пиратов" которые написали прогу


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: qwertypower on March 27, 2013, 01:31
Здравствуйте, GILDOR! ;)
вот такая ситуация
я где-то месяц разбирался с пакетами локализаций и  вот что узнал про абсолютную позицию файлов в пакете
Например, разобрал какой-то пак со звуками, нашёл в НЁМ! самый увесистый по размеру файл, и заменил им все остальные, изменив названия, собрал пак-и в игре заработало,
но стоит только запихнуть звук с другого пака или что-то в модифицировать в файле, или заменить своим(предварительно поколдовав в хексе)-игра падает :(
так вот, как задать в файле смещение и где находится(в хексе если рассматривать) тело файла и его конец ???

пак получился в 2 раза больше! значит размер, впринципе, не так значителен? главное правильно оформить?


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Gildor on March 31, 2013, 02:25
Здравствуйте. Я уже много раз писал на форме - в форматах unreal смещений нет. Надо парсить все данные.


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: qwertypower on March 31, 2013, 03:03
Не замечал
Спасибо за ответ :)


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: Anzor2733 on January 29, 2017, 01:31
Уважаемый Гилдор. Мне удалось перепаковать *.upk из Alice madness returns с помощью пиратской проги-русификатора  эта прога основана на вашем "EXTRACTOR"е и перепаковывает эти файлы если в них есть *.soundnodewave , *.soundnodecue и текстовые файлы
но мне удалось впихнуть мелодию (заменить какой-либо файл и переименовать) и в игре попёрло!
форум  http://alice.3dn.ru/forum/21-399-1
и прога  http://www.mediafire.com/?g7b88c0zhdmlkqz


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

распаковать пакет с текстурами получилось  НО
при запаковке пакет получается урезаным и потом не распаковывается экстрактором
Уважаемый Гилдор. Мне удалось перепаковать *.upk из Alice madness returns с помощью пиратской проги-русификатора  эта прога основана на вашем "EXTRACTOR"е и перепаковывает эти файлы если в них есть *.soundnodewave , *.soundnodecue и текстовые файлы
но мне удалось впихнуть мелодию (заменить какой-либо файл и переименовать) и в игре попёрло!
форум  http://alice.3dn.ru/forum/21-399-1
и прога  http://www.mediafire.com/?g7b88c0zhdmlkqz


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

распаковать пакет с текстурами получилось  НО
при запаковке пакет получается урезаным и потом не распаковывается экстрактором

Как ты заменил или модецефировал soundnodewave файл?



Title: Re: пакер.ххх файлов можно ли cделать??
Post by: qwertypower on February 05, 2017, 18:30
Когда-то давно качал утилиту которая может собирать обратно файлы, распакованные экстрактором. И если взять любой soundnodewave файл и заменить его любым из этого архива то игра не порушится при запуске и воспроизведёт его. Я помню игрался с тем, что диалоги продублировал одним файлом, сработало


Title: Re: пакер.ххх файлов можно ли cделать??
Post by: cantor on September 01, 2020, 17:21
Знаю, что баян, но так я и не понял, как во второй Алисе переводчики (в количестве аж 3х команд разной степени дилетантности) заменяли шрифты. Знаю, что они хранятся в .upk-архиве, файл в формате .GFx, после распаковки можно открыть с помощью FFD (заменять правда не пробовал). А вот как обратно то запаковывают? Сомневаюсь, что все эти товарищи, которым было лень довести свои переводы до ума, написали свои проприетарные софтины для замены шрифтов на кириллизованные...
З.Ы. по поводу проги для перепаковки диалогов - это с вероятностью 99% Zone of Games делали, они постоянно делают русики (Алисе правда не повезло - перевод кривой процентов на 50%).