Правила, действующие в этом форуме и всех его подфорумах:
1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)! 2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)! 3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить! 4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума! 5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен! 6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение. 7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме! 8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения. 9) Использование смайликов разрешается не более 3-х подряд!
Сразу вопрос: можно будет как-нибудь просмотреть текстуры в Gex?
Есть некоторая информация. После распаковки BIG архива GEX'a полученные файлы не имеют точных названий и расширений. Но!
1) Файл 'bigfile_big_6.DATA' содержит перечень всех файлов BIG архива с их настоящими именами и расширениями,а так же положением (или размером, пока не знаю точно) в big файле! 2) Оказывается внутри BIG архива есть другие BIG файлы :) Архивы в архиве. И их можно распаковать (по сути просто отделить друг от друга) так же как основной big файл с помощью ZStream Reader'a.
Честно говоря не помню, но пару лет назад, когда еще эти занимался, удавалось преобразовывать файл BIG ( EA Game Data File) с помощью каких-то старых софтин, получались черно-белые обрывки изображений, набор текстовых кодов и прочая фигня. Насколько я помню, формат BIG использовал EA только в своих старых играх. Нужно искать старый маковский софт, была какая-то утилита для старых cd приводов на маке, которая открывала многие форматы. Вот еще одна подсказка, направление в котором можно что-то прояснить это EA game mod file
Atla, а почему Electronic Arts, когда BIG архивы используются в играх Crystal Dynamics?? Вероятней всего, просто совпадение названий типов файлов, формат которых отличается. Я уже упоминал в другой теме (кстати, те сообщения тоже можно было сюда кинуть, но ладно, повторюсь) про Souls Spiral из комплекта утилит для работы с ресурсами игр от Crystal Dynamics. http://www.thelostworlds.net/Software/Soul_Spiral.html Она понимает BIG архивы, в том числе из Gex'a для PSOne, и то судя по результатам Versus'a она тянет файлы не лучше, чем мы из 3DO версии. Дальше их смотреть всё равно нечем, хотя и viewer'ы на сайте выше есть. Есть исходники, но 3DO архив она не понимает.
Последний раз редактировалось Author 20 июл 2016, 23:36, всего редактировалось 2 раз(а).
Суть одна и таже, содержимое безусловно разное, big file это оболочка своего рода может нести в себе много разных ресурсов,принцип хранения данных такой же как и EA но скорее всего надо это все ковырять, может открывать данные, но на поздние играх, которые выходили на pc или соньках, а до 1997 могли шифровать по свойму, пробовать надо все варианты
Последний раз редактировалось Atla 20 июл 2016, 23:40, всего редактировалось 1 раз.
Главное, что структура файла отличная, как я понял из только что прочитанного про BIG файлы EA это ZIP архивы или что-то подобное им. Утилит для открытия не попалось, одни левые программы. Скачал FinalBIG - рекомендуется для открытия big файлов. Сразу можно сказать, что будет облом, т.к. ищет заголовок 'BIGF ', чего в нашем случае нет.
Облом, тоже результат))) для игр с ps была разработана утилита BigFileTool32_0.2.10 открывает некоторые big из разных игр от кристалла динамикс, не факт что работает, но нужно пробовать все варианты
Насколько я понял из исходников Souls Spiral первые четыре байта перед каждый файлом это некая CRC контрольная сумма, заменяющая собой имя файла. Преобразовать его обратно в имя судя по всему невозможно. В Souls Spiral на каждые такие байты прописано имя файла. Ещё могу добавить что карта первого уровня находится в 015.big. В этом файле мне удавалось изменять координаты первого дерева (в самом начале уровня), ставить вместо него другие объекты, убирать и перемещать врагов. Формат трёх файлов внутри 015.big разобрать не смог.
то что нарыл
Файл первого левела Где-то со смещения 0x026000 начинается расстановка объектов на карте. Всего их здесь 341 штука. На это указывает содержимое смещения 0x26000 (равная 0x155). struct object { int32 unknown1; int16 CoordX; int16 coordY; int32 unknown2; int32 unknown3; }; unknown2 похоже на некий указатель на объект, а unknown3 на его ID, но так ли это?
У меня ничего почти не сохранилось из тех программ, вот нашел архив, софт дает возможность работать с некоторыми файлами игр от crystal dynamics https://yadi.sk/d/N714N-eTtWjS2
первые четыре байта перед каждый файлом это некая CRC контрольная сумма, заменяющая собой имя файла. Преобразовать его обратно в имя судя по всему невозможно
Может тогда это хэш, хотя какая разница. В любом случае не ясно как эту CRC привязать к имени и разобраться где нужный файл.
Вот тут есть некий алгоритм хеширования с упоминанием CrystalDynamics. Пока не разбирался в коде, не знаю подходит ли для Гекса.
Да есть такая программка распаковщик и упаковщик формата Bigfile, но скорее всего он работает на поздние игры, типа TR,Deux и т.д но кто может попробуйте.
P.S. но все же лучше пробовать ковырять Soul Spiral там вроде с исходниками, т.к она создавалась на движке Гекса, шансов чуть больше, чем совсем ничего.
Вот тут есть некий алгоритм хеширования с упоминанием CrystalDynamics
Там кроме этого есть и кое-что ещё. Вот например:
namespace Gibbed.CrystalDynamics.FileFormats.Big { public class Entry { public uint NameHash; public uint UncompressedSize; public uint Offset;/// <summary> /// Locale is a bitmask representing what languages this resource is /// valid for. 'Default' indicates all languages. /// /// Typically languages that are not implemented will have their bits set /// for all non-'Default' resources. /// </summary> public uint Locale; public uint CompressedSize; public override string ToString() { return string.Format("{0:X8}:{1:X8} @ {2} ({3} bytes)", this.NameHash, this.Locale, this.Offset, this.UncompressedSize); } } } Выделенное жирным это как раз порядок хранения в нашем BIG файле. Надо больше посмотреть, может секрет раскроется.
Ранее уже говорилось что в 006.big лежат имена файлов. Проблема в том, что имён там 111, а файлов в bigfile 244 :( Однако похоже на правду, просто имена не для всех файлов. Я сейчас составляю соответствие этих имён к файлам. Получается что первое имя grave1.big это файл 007.big. Обратили внимание? Имена лежат в 006.big, а первый файл с именем это 007.big! Интересно, что лежит в 000-005?
Вот список того что я успел проверить
... 007.big - grave1.big 008.big - grave2.big 009.big - grave3.big 010.big - gravlev1.sng (музыка на 1-ом уровне) 011.big - gravlev2.sng (какая-то музыка) 012.big - grave.tlk (неизвестно что) 013.big - gravebos.sng (музыка на уровне 1-го босса) 014.big - файл без имени, назначение неизвестно 015.big - grave4.big 016.big - grave5.big 017.big - grave6.big 018.big - grave7.big 019.big - cartoon1.big 020.big - cartoon2.big 021.big - cartoon3.big 022.big - cartlev1.sng (музыка на 2-ом уровне) 023.big - cartlev2.sng 024.big - cartoon.tlk 025.big - cartbos1.sng (музыка на уровне 2-го босса) 026.big - файл без имени, назначение неизвестно 027.big - cartoon4.big
Кто умеет работать с 3DO SDK попробуйте открыть музыку из 010.big, 011.big, может получится. Хотя подозреваю что там опять заголовки могут быть порезаны. Также интересно за что отвечают файлы без имени 014, 026. Пробовал забивать их нулями, игра работает, ничего незаметно. Может плохо искал... Файлы tlk тоже непонятно что такое. Диалоги? Но какие? Гекс по прежнему произносит свои монологи.
Кто умеет работать с 3DO SDK попробуйте открыть музыку из 010.big, 011.big,
Так вся музыка из Гекса конвертится любым вменяемым редактором, там даже сжатия нет, просто RAW данные (11050 Гц, 16 бит моно). Голос (tlk файлы) тоже конвертится, только он вперемешку с чем-то ещё и поэтому проскакивет шип вместе с голосовыми кусками (если я правильно помню). Скомпилировал алгоритм хэширования, проверил на нескольких именах. Хэш не совпадает. Идея с нумерацией интересная, но. Как я уже где-то писал 244 куска это вероятно полностью разобранный big файл. А т.к. в нём же лежат big архивы целых 71 штука в которых ещё по сколько-то файлов, то из 111 вполне может набежать 244. Например в PICS.big - 5 картинок, две-три из которых без заголовка.
aliast писал(а):
Также интересно за что отвечают файлы без имени 014, 026.
014 - музыка из битвы с боссом в Graveyard land 026 - музыка из битвы с боссом в Cartoon land на сколько я помню, там две фазы битвы и вот эти файлы похоже из вторых фаз оба.
aliast писал(а):
010.big - gravlev1.sng (музыка на 1-ом уровне)
Вообще тут у меня звуковые эффекты, с не звуковыми данными. Я сейчас переделал ZStream чтобы нумерация с 1 начиналась, это не музыка точно. Музыка с 011.big начинается. Притом 011.big это не целиковая мелодия, а только её вступление.
aliast писал(а):
012.big - grave.tlk (неизвестно что)
Ну, так и есть, при нумерации с 1 это будет 013.big - grave.tlk. Там сначала очень много какой-то инфы, а потом начинается болтовня Гекса , причём видимо данные на более низкой частоте чем 11 кГц либо 8 битные, а на 16 битах моно получается голос Буратино.
Приложил версию ZStreamReader'a с измененной нумерацией для архива bigfile.
Странно это всё. А почему тогда когда я забиваю 010 нулями в игре пропадает музыка, а когда забиваю 011 музыка остаётся? Может и правда вопрос в нумерации с нуля или единицы)
aliast, да, уж, странно. Ведь по идее в первом случае ты забил нулями только вступление, а во втором всю мелодию.
Добавлено спустя 21 минуту 17 секунд: Файлы (нумерация с 1) 36 - junglev.sng 37 - jungle.tlk 38 - jungbos1.sng 39 - jungbos2.sng 40 - данные jungle4.big 41 - данные jungle5.big 42 - данные jungle6.big 43 - эффекты jungle7.big 44 - эффекты rez1.big 45 - эффектыrez2.big 46 - эффекты rez3.big 47 - rezlev1.sng (вступление) 48 - rezlev2.sng 49 - rez.tlk 50 - rezbos.sng 51 - данные предположительно из scifi4.big 52 - данные и эффекты предположительно из scifi5.big 53 - данные предположительно из scifi6.big. 54 - эффекты предположительно из scifi7.big. 55,56,57 - спец.эффекты (kungfu1.big,kungfu2.big, kungfu3.big) 58 - kunglev1.sng 59 - kunglev2.sng 60 - kungfu.tlk. 61 - kunfubos.sng. 62, 63 - спец.эффекты 64 - ??? 65, 66 - спец.эффекты 68 - пустой файл с заголовком (secret3.dir/dumdum.map) 69 - grave.tlk видимо данные уровня и болтовня Гекса 70-72 - спец.эффекты 73 - пустой файл с заголовком (secret7.dir/dumdum.map) 74 - спец.эффекты 75, 76 - gravemap.sng. (почему-то два одинаковых, странно) 77 - cartoon.tlk данные и болтовня Гекса 78 - cartmap.sng (без вступления всё остальное) 79 - cartmap.sng (видимо вступление) 80-81 - спец.эффекты 82 - jungmap1.sng 83 - jungmap2.sng 84 - 85 - rezmap1.sng 86 - rezmap2.sng (короткий) 87 - эффекты и данные 88 - эффекты и данные 89 - scifmap.sng (Планета Х) 92 , 93 - Kung-Fu level.sng 98 - музыка из выбора мира domemap.sng 100 - музыка из бонусного уровня 110 - музыка из главного меню title.sng 165 - текст, точно не помню, возможно из финальных титров под музыку из файла 202 202 - длинная музыка из титров когда пройдена планета Х (в списке её нет) 237 - credits.sng (точно) 238 - вероятно sysfont.bin 239 - песня, где Гекс произносит "Secrets, I just love secrets" из уровня Планеты Х, по списку это должен быть GXOB.ob (ЧТО НЕВЕРНО!!! это же по идее сама модель гекса), потому что потом идут 240-244 файлы изображений PICS.BIG 204 - 227 в конце содержат фразу "Ya man! Ya man!". Что это? :)) В заголовке постоянно, то "N.9v", то "L.9v" к чему это относится. Надо бы проверить, у меня есть файлы весом 8.5 кб, там обрезанное начало мелодии из Kung-Fu мира и их много, в частности файлы 144, 145 и др. Проверю другой версией утилиты дёрнуть архив. Хмм, старая версия так же выдёргивает. Зачем такие мусорные файлы с огрызком???
Последний раз редактировалось Author 26 июл 2016, 14:07, всего редактировалось 10 раз(а).
204 - 227 в конце содержат фразу "Ya man! Ya man!". Что это? :))
Ну это тоже big с одним файлом внутри. N.9v это хэш этого единственного файла. К чему относится файл кто бы знал. Фраза Ya man во всех этих файлах только добавляет загадочности :)
Добавлено спустя 10 минут 34 секунды:
Author писал(а):
В заголовке постоянно, то "N.9v", то "L.9v"
Это не совсем так. Они там кучкуются по 10 штук. Только на месте точки разные непечатаемые байты.
Добавлено спустя 13 минут 46 секунд:
Author писал(а):
в первом случае ты забил нулями только вступление, а во втором всю мелодию.
Подтверждаю. Невнимательно проверял. 010 играет первые 3-5 секунд и глохнет (если 011 забит нулями), а 011 играет без первых секунд (с затёртым 010).
Свой список я пока не выкладываю, не дошёл до конца. Но вот что заметил. Иногда при редактировании tlk-файлов Гекс может стать невидимым - на экране его нет, ходить нельзя, а враги убивают. Из чего делаю предположение что в этом файле хранится анимация Гекса. Но это так, неподтверждённая догадка. Почему-то Гекс пропадает не на всех уровнях при одних и тех же правках. Пока не могу этого объяснить. Раньше я уже писал что каждый Level.big состоит из 2-3 файлов внутри. Выяснилось, что в самом большом по размеру (и самом первом внутри) хранятся координаты и типы врагов и объектов на карте, т.е. это главный файл уровня. Не знаю есть ли в нем текстуры, наверное есть. Во втором файле заставка с названием уровня. В третьем файле задний фон на уровне. Если BIG-файл уровня состоит из двух файлов, значит на уровне нет задника. Долго экспериментировал с задником, в итоге изменив байты где-то в середине на FF добился появления на заднике белых клякс :)
Надо бы проверить, у меня есть файлы весом 8.5 кб, там обрезанное начало мелодии из Kung-Fu мира и их много, в частности файлы 144, 145 и др. Проверю другой версией утилиты дёрнуть архив. Хмм, старая версия так же выдёргивает.
У меня их не было! Не помню какой утилитой потрошил файлы, но этих огрызков там точно не было.
Прикол! Скачал PC-версию Гекса, захожу в папку Mus и вижу там файлы с именами типа Gex012.mus, Gex015.mus, Gex024.mus именно с такой нумерацией, т.е. без 013, 014 и т.д. Сверяем эти номера с нашими изысканиями и убеждаемся что номера в точности (?) совпадают с номерами из 3DO Bigfile (нумерация с единицы). Это касается не только музыки, но и самих файлов уровней. Внутренности файлов отличаются, но нумерация совпадает! В частности, все байты музыки просто поXORрены на 0x80. 3do-шный 0 становится 0x80, 1 = 0x81 и т.д. Размеры файлов с музыкой совпадают байт в байт, но при этом нет деления на "первые 2 секунды музыки", "всё остальное", файлы идут целиком.
Пока об этом рано говорить. Пока что могу лишь подтвердить, что в PC-версии спрайты лежат внутри lev-файлов. Правда ещё нужно распотрошить первые шесть lev-файлов. Без них игра не стартует, а что в них непонятно... То же самое относится и к первым шести файлам в 3DO. Методом исключения получается что больше спрайтам лежать негде. Gex000.idl - 48 файлов с анимацией Гекса, когда долго не нажимаешь кнопок. Mus - музыка, Sfx - эффекты, Vfx - монологи. Остаётся одна папка LEV. Поковырялся в Gex.exe, нашёл функцию со строками типа "Loaded Tile Texture data... Transferring" и ещё кучей упоминаний слова Tile. Бряк на функции привёл меня в секцию "ile" внутри lev-файла уровня. ile = Tile, скорее всего это и есть спрайты. В 3DO никакой секции "ile" нет, однако похожие байты вроде бы встречаются. В крайнем случае можно расковырять pc-версию. Сейчас надо ковырять отладчик. Адрес функции в Gex.exe 0x004405B0
Для PC-версии как-то так. 08 00 я думаю это палитра, но где она находится пока не знаю :( 04 00 - высота тайла, ширина всегда 32? Каждая точка кодируется 4 битами, т.е. 1 байт = две точки. Кроме того эти байты ещё нужно перевернуть. т.е. в обычном понимании 1 байт перевернуть нельзя, но здесь это судя по всему нужно делать! 0x12 = 2 1 Осталось поискать палитру и понять как выйти на смещение к первому тайлу, он там не с самого начала файла идёт. А в начале может быть палитра, но не факт...
Сейчас этот форум просматривают: Yandex [Bot] и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения