[ Сообщений: 27 ] 
Анализ BIG-файлов 
Автор Сообщение
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus писал(а):
Сразу вопрос: можно будет как-нибудь просмотреть текстуры в Gex?


Есть некоторая информация. После распаковки BIG архива GEX'a полученные файлы не имеют точных названий и расширений. Но!

1) Файл 'bigfile_big_6.DATA' содержит перечень всех файлов BIG архива с их настоящими именами и расширениями,а так же положением (или размером, пока не знаю точно) в big файле!
2) Оказывается внутри BIG архива есть другие BIG файлы :) Архивы в архиве. И их можно распаковать (по сути просто отделить друг от друга) так же как основной big файл с помощью ZStream Reader'a.

Содержимое основного BIG архива игры GEX
grave1.big.
grave2.big.
grave3.big.
gravlev1.sng.
gravlev2.sng.
grave.tlk.
gravebos.sng.
grave4.big.
grave5.big.
grave6.big.
grave7.big.
cartoon1.big.
cartoon2.big.
cartoon3.big.
cartlev1.sng.
cartlev2.sng.
cartoon.tlk.
cartbos1.sng.
cartbos2.sng.
cartoon4.big.
cartoon5.big.
cartoon6.big.
cartoon7.big.
jungle1.big.
jungle2.big.
jungle3.big.
junglev.sng.
jungle.tlk.
jungbos1.sng.
jungbos2.sng.
jungle4.big.
jungle5.big.
jungle6.big.
jungle7.big.
rez1.big.
rez2.big.
rez3.big.
rezlev1.sng.
rezlev2.sng.
rez.tlk.
rezbos.sng.
rez4.big.
rez5.big.
rez6.big.
rez7.big.
scifi1.big.
scifi2.big.
scifi3.big.
sciflev.sng.
scifi.tlk.
scifbos1.sng.
scifbos2.sng.
scifi4.big.
scifi5.big.
scifi6.big.
scifi7.big.
kungfu1.big.
kungfu2.big.
kungfu3.big.
kunglev1.sng.
kunglev2.sng.
kungfu.tlk.
kunfubos.sng.
kungfu4.big.
kungfu5.big.
kungfu6.big.
kungfu7.big.
secret1.big.
secret2.big.
secret3.big.
secret4.big.
secret5.big.
secret6.big.
secret7.big.
mainmap1.big.
gravemap.sng.
mainmap2.big.
cartmap.sng.
mainmap3.big.
jungmap1.sng.
jungmap2.sng.
mainmap4.big.
rezmap1.sng.
rezmap2.sng.
mainmap5.big.
scifmap.sng.
mainmap6.big.
kungmap.sng.
mainmap7.big.
domemap.sng.
bonus1.big.
bonus2.big.
bonus3.big.
bonus4.big.
bonus5.big.
bonus6.big.
bonus7.big.
glue1.big.
title.sng.
glue2.big.
win.sng.
glue3.big.
glue4.big.
lose.sng.
glue5.big.
glue6.big.
glue7.big.
credits.sng.
sysfont.bin.
GXOB.ob.
Pics.big


18 ноя 2014, 13:38
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Сделал отдельную тему. Что-то еще сюда переносить? Если можно, то ссылки на сообщения.


20 июл 2016, 16:18
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus, спасибо. Там вроде ничего особенного не было из открытий.

Вот эти сообщения можно перекинуть:
ZStreamChunksReader: выдёргивание и конвертирование 3DO ресурсов
ZStreamChunksReader: выдёргивание и конвертирование 3DO ресурсов
ZStreamChunksReader: выдёргивание и конвертирование 3DO ресурсов


20 июл 2016, 19:10
Случайный аватар
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 216
Регистрация: 04 дек 2009, 12:18
Модель 3DO: Panasonic FZ-10 NTSC-J

Честно говоря не помню, но пару лет назад, когда еще эти занимался, удавалось преобразовывать файл BIG ( EA Game Data File) с помощью каких-то старых софтин, получались черно-белые обрывки изображений, набор текстовых кодов и прочая фигня. Насколько я помню, формат BIG использовал EA только в своих старых играх. Нужно искать старый маковский софт, была какая-то утилита для старых cd приводов на маке, которая открывала многие форматы. Вот еще одна подсказка, направление в котором можно что-то прояснить это EA game mod file


20 июл 2016, 22:27
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

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 раз(а).



20 июл 2016, 23:06
Случайный аватар
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 216
Регистрация: 04 дек 2009, 12:18
Модель 3DO: Panasonic FZ-10 NTSC-J

Суть одна и таже, содержимое безусловно разное, big file это оболочка своего рода может нести в себе много разных ресурсов,принцип хранения данных такой же как и EA но скорее всего надо это все ковырять, может открывать данные, но на поздние играх, которые выходили на pc или соньках, а до 1997 могли шифровать по свойму, пробовать надо все варианты

Последний раз редактировалось Atla 20 июл 2016, 23:40, всего редактировалось 1 раз.



20 июл 2016, 23:33
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Atla писал(а):
содержимое безусловно разное

Главное, что структура файла отличная, как я понял из только что прочитанного про BIG файлы EA это ZIP архивы или что-то подобное им. Утилит для открытия не попалось, одни левые программы. Скачал FinalBIG - рекомендуется для открытия big файлов. Сразу можно сказать, что будет облом, т.к. ищет заголовок 'BIGF ', чего в нашем случае нет.


20 июл 2016, 23:39
Случайный аватар
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 216
Регистрация: 04 дек 2009, 12:18
Модель 3DO: Panasonic FZ-10 NTSC-J

Облом, тоже результат))) для игр с ps была разработана утилита BigFileTool32_0.2.10 открывает некоторые big из разных игр от кристалла динамикс, не факт что работает, но нужно пробовать все варианты


21 июл 2016, 00:06
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Atla
А у тебя есть она в наличии? А то какие ссылки не проверял, все дохлые.


21 июл 2016, 00:33
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Насколько я понял из исходников 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, но так ли это?

0x026054 - стартовая позиция игрока


21 июл 2016, 10:31
Случайный аватар
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 216
Регистрация: 04 дек 2009, 12:18
Модель 3DO: Panasonic FZ-10 NTSC-J

У меня ничего почти не сохранилось из тех программ, вот нашел архив, софт дает возможность работать с некоторыми файлами игр от crystal dynamics
https://yadi.sk/d/N714N-eTtWjS2


21 июл 2016, 22:48
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

aliast писал(а):
первые четыре байта перед каждый файлом это некая CRC контрольная сумма, заменяющая собой имя файла. Преобразовать его обратно в имя судя по всему невозможно

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


21 июл 2016, 23:48
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

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


23 июл 2016, 14:21
Случайный аватар
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 216
Регистрация: 04 дек 2009, 12:18
Модель 3DO: Panasonic FZ-10 NTSC-J

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


Да есть такая программка распаковщик и упаковщик формата Bigfile, но скорее всего он работает на поздние игры, типа TR,Deux и т.д но кто может попробуйте.

вот сама программа и ссылка на материал
https://yadi.sk/d/A0RCs4I0tZEZj
http://svn.gib.me/public/crystaldynamic ... leFormats/

P.S. но все же лучше пробовать ковырять Soul Spiral там вроде с исходниками, т.к она создавалась на движке Гекса, шансов чуть больше, чем совсем ничего.


23 июл 2016, 16:27
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

aliast писал(а):
Вот тут есть некий алгоритм хеширования с упоминанием 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 файле. Надо больше посмотреть, может секрет раскроется.


25 июл 2016, 14:44
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Ранее уже говорилось что в 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 тоже непонятно что такое. Диалоги? Но какие? Гекс по прежнему произносит свои монологи.


25 июл 2016, 14:59
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

aliast писал(а):
Кто умеет работать с 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.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


25 июл 2016, 15:23
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Странно это всё. А почему тогда когда я забиваю 010 нулями в игре пропадает музыка, а когда забиваю 011 музыка остаётся? Может и правда вопрос в нумерации с нуля или единицы)


25 июл 2016, 15:53
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

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 раз(а).



25 июл 2016, 15:55
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Author писал(а):
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).


25 июл 2016, 18:25
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Добавил, что ещё нашёл в предыдущем своем сообщении.


26 июл 2016, 12:18
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Свой список я пока не выкладываю, не дошёл до конца. Но вот что заметил. Иногда при редактировании tlk-файлов Гекс может стать невидимым - на экране его нет, ходить нельзя, а враги убивают. Из чего делаю предположение что в этом файле хранится анимация Гекса. Но это так, неподтверждённая догадка. Почему-то Гекс пропадает не на всех уровнях при одних и тех же правках. Пока не могу этого объяснить.
Раньше я уже писал что каждый Level.big состоит из 2-3 файлов внутри. Выяснилось, что в самом большом по размеру (и самом первом внутри) хранятся координаты и типы врагов и объектов на карте, т.е. это главный файл уровня. Не знаю есть ли в нем текстуры, наверное есть. Во втором файле заставка с названием уровня. В третьем файле задний фон на уровне. Если BIG-файл уровня состоит из двух файлов, значит на уровне нет задника. Долго экспериментировал с задником, в итоге изменив байты где-то в середине на FF добился появления на заднике белых клякс :)


26 июл 2016, 14:31
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Author писал(а):
Надо бы проверить, у меня есть файлы весом 8.5 кб, там обрезанное начало мелодии из Kung-Fu мира и их много, в частности файлы 144, 145 и др. Проверю другой версией утилиты дёрнуть архив.
Хмм, старая версия так же выдёргивает.

У меня их не было! Не помню какой утилитой потрошил файлы, но этих огрызков там точно не было.


27 июл 2016, 13:49
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Прикол! Скачал PC-версию Гекса, захожу в папку Mus и вижу там файлы с именами типа Gex012.mus, Gex015.mus, Gex024.mus именно с такой нумерацией, т.е. без 013, 014 и т.д. Сверяем эти номера с нашими изысканиями и убеждаемся что номера в точности (?) совпадают с номерами из 3DO Bigfile (нумерация с единицы). Это касается не только музыки, но и самих файлов уровней. Внутренности файлов отличаются, но нумерация совпадает! В частности, все байты музыки просто поXORрены на 0x80. 3do-шный 0 становится 0x80, 1 = 0x81 и т.д. Размеры файлов с музыкой совпадают байт в байт, но при этом нет деления на "первые 2 секунды музыки", "всё остальное", файлы идут целиком.


29 июл 2016, 13:21
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

О! Появляется шанс обнаружить и расковырять спрайты Гекса?


29 июл 2016, 13:36
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Пока об этом рано говорить. Пока что могу лишь подтвердить, что в 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


29 июл 2016, 18:14
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Для PC-версии как-то так.
Изображение
Изображение
08 00 я думаю это палитра, но где она находится пока не знаю :(
04 00 - высота тайла, ширина всегда 32?
Каждая точка кодируется 4 битами, т.е. 1 байт = две точки. Кроме того эти байты ещё нужно перевернуть. т.е. в обычном понимании 1 байт перевернуть нельзя, но здесь это судя по всему нужно делать! 0x12 = 2 1
Осталось поискать палитру и понять как выйти на смещение к первому тайлу, он там не с самого начала файла идёт. А в начале может быть палитра, но не факт...


30 июл 2016, 20:20
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.056s | 22 Queries | GZIP : On